Head system, control method, and program
By connecting the controller and multiple head modules in series via a communication cable, the head system efficiently transmits drive commands to distant head modules, addressing the challenge of delayed command transmission and enhancing operational speed.
Patent Information
- Application Number
- JP2023187084
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-15
AI Technical Summary
Existing head systems face challenges in quickly transmitting drive commands to head modules located far from the controller, leading to delays in operation.
A head system where the controller and multiple head modules are connected in series via a communication cable, allowing the controller to transmit drive commands through a series of head modules, with each module responsible for forwarding the command to the next until it reaches the intended head module.
This configuration enables rapid transmission of drive commands to head modules located far from the controller, improving operational efficiency and reducing latency.
Smart Images

Figure 2025075714000001_ABST
Abstract
Description
[Technical field]
[0001] The present technology relates to a head system, a control method, and a program. [Background technology]
[0002] A head system has been proposed that includes a main control circuit, a plurality of head units each having a nozzle, and a sub-control circuit connected to each of the plurality of head units, the main control circuit and each sub-control circuit being connected in series via wiring (for example, Patent Document 1). The sub-control circuit ejects liquid corresponding to an image indicated by an image signal received from the main control circuit from the nozzle of the head unit to which it is connected.
[0003] It takes a long time to send a drive command to drive a connected head unit (head) to a head module that is connected far from the controller among multiple sub-control circuits (head modules) that are connected in series from a main control circuit (controller). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2023-011385 A Summary of the Invention [Problem to be solved by the invention]
[0005] The present disclosure has been made in consideration of such circumstances, and aims to provide a head system etc. that is capable of quickly sending drive commands to a head module that is connected to a location far from a controller. [Means for solving the problem]
[0006] A head system according to one embodiment of the present disclosure comprises a controller, a plurality of heads, and a plurality of head modules, each of which drives the connected head when a drive command is received, the controller and the plurality of head modules are connected in series from upstream to downstream via a communication cable, the plurality of head modules include a first head module to an nth head module (n is a natural number greater than or equal to 2), the first head module is connected to the controller on the upstream side, and the nth head module is located at the downstream end of the plurality of head modules connected in series, the controller performs a process of transmitting the drive command to the first head module via the communication cable, and an sth head module (s is a natural number greater than or equal to 2 and less than or equal to n) identified from among the second head module to the nth head module performs a process of transmitting the drive command to the s-1th module or the s+1th module.
[0007] A control method according to one embodiment of the present disclosure is a control method for a head system comprising a controller, a plurality of heads, and a plurality of head modules each driving the connected head when a drive command is received, the controller and the plurality of head modules being connected in series from upstream to downstream via a communication cable, the plurality of head modules including a first head module to an nth head module (n is a natural number equal to or greater than 2), the first head module being connected to the controller on the upstream side, and the nth head module being located at the downstream end of the plurality of serially connected head modules, the control method causing the controller to execute a process of transmitting the drive command to the first head module via the communication cable, and causing an sth head module (s is a natural number equal to or greater than 2 and equal to or less than n) identified from among the second head module to the nth head module to execute a process of transmitting the drive command to an s-1th module or an s+1th module.
[0008] A program according to one embodiment of the present disclosure includes a controller, a plurality of heads, and a plurality of head modules that drive the heads connected thereto when a drive command is received, the controller and the plurality of head modules are connected in series from upstream to downstream via a communication cable, the plurality of head modules include a first head module to an nth head module (n is a natural number of 2 or more), the first head module is connected to the controller on the upstream side, and the nth head module is located at the downstream end of the plurality of serially connected head modules. The program causes a computer to execute control of a head system, the program causing the controller to execute a process of transmitting the drive command to the first head module via the communication cable, and the program causes the computer to execute control of an sth head module (s is a natural number of 2 or more and n or less) identified from among the second head module to the nth head module to execute a process of transmitting the drive command to the s-1th module or the s+1th module. Effect of the Invention
[0009] In a head system according to an embodiment of the present disclosure, it is possible to quickly transmit drive commands to a head module that is connected to a location far from the controller. [Brief description of the drawings]
[0010] [Figure 1] FIG. 2 is a schematic plan view of the printer. [Diagram 2] FIG. 2 is a block diagram of a control device and an inkjet head. [Diagram 3] FIG. 2 is a block diagram of the kth head module. [Figure 4] FIG. 4 is an explanatory diagram showing a head module table. [Diagram 5] 5A and 5B are schematic diagrams showing an outline of a start command and a drive command. [Figure 6] 5 is a timing diagram illustrating transmission and reception of a start command and a drive command. FIG. [Figure 7] 11 is a flowchart illustrating a process by a controller. [Figure 8] 13 is a flowchart illustrating processing by a head module (SoC). [Figure 9] 13 is a flowchart illustrating processing by a head module (SoC). [Figure 10] FIG. 11 is a timing diagram for explaining transmission and reception of a start command and a drive command according to the second embodiment. [Figure 11] 10 is a flowchart illustrating a process performed by a controller according to the second embodiment. [Figure 12] 10 is a flowchart illustrating a process performed by a controller according to the second embodiment. [Figure 13] 11 is a flowchart illustrating a process of adding a scheduled processing time by a head module (SoC). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] (Embodiment 1)
[0012] The present invention will be described below with reference to the drawings showing a printer according to a first embodiment. Fig. 1 is a schematic plan view of printer 1. In Fig. 1, the conveying direction of recording paper 100 corresponds to the front-rear direction of printer 1. The width direction of recording paper 100 corresponds to the left-right direction of printer 1. The direction perpendicular to the front-rear and left-right directions, i.e., the direction perpendicular to the paper surface of Fig. 1, corresponds to the up-down direction of printer 1. Printer 1 corresponds to a liquid ejection device.
[0013] 1, the printer 1 includes a platen 3 housed in a case 2, four inkjet heads 4, two transport rollers 5 and 6, and a control device 7. The printer 1 corresponds to a liquid ejection device, and the transport rollers 5 and 6 correspond to a transport device.
[0014] The recording paper 100 passes over the upper surface of the platen 3. The four inkjet heads 4 are lined up in the transport direction above the platen 3. Each inkjet head 4 is a so-called line-type head. Ink is supplied to the inkjet heads 4 from an ink tank (not shown). Different color inks are supplied to the four inkjet heads 4.
[0015] 1, the two transport rollers 5, 6 are disposed on the rear and front sides, respectively, of the platen 3. The two transport rollers 5, 6 are each driven by a motor (not shown) and transport the recording paper 100 on the platen 3 forward. The transport rollers 5, 6 correspond to a transport device. The control device 7 is connected to an external device 9 such as a PC so as to be able to communicate data with the external device 9, and controls each section of the printer 1 based on print data sent from the external device 9.
[0016] FIG. 2 is a block diagram of the control device 7 and the inkjet head 4. The control device 7 and the inkjet head 4 constitute a head system. The control device 7 includes a controller 7a. The controller 7a includes a control unit 7b, a storage unit 7c, and a communication interface (communication I / F) 7d. The control unit 7b includes a logic circuit, for example, an FPGA. The control unit 7b may include a processor, for example, a CPU, or an ASIC. The storage unit 7c includes a main storage device and an auxiliary storage device. An example of the main storage device is a RAM. An example of the auxiliary storage device is a ROM and a rewritable storage medium, for example, an EEPROM, a Flash ROM, a hard disk, etc. A control program is stored in the auxiliary storage device. The control unit 7b reads the control program from the auxiliary storage device to the main storage device and executes it. The control program may be installed in the auxiliary storage device from a recording medium 70 (see FIG. 1), for example, an optical disk or a portable flash memory. The control program may be downloaded to the auxiliary storage device from a server connected to the printer 1 via a communication network. The communication I / F 7d is connected to a communication cable 50. The control device 7 controls the printer 1 based on the control program.
[0017] The storage unit 7c of the controller 7a stores a head module table T. The head module table T will be described in detail later.
[0018] The inkjet head 4 includes a plurality of head modules 40. The plurality of head modules 40 are arranged, for example, in the left-right direction and connected in series via a communication cable 50. The plurality of head modules 40 include, for example, a first head module 40(1), a second head module 40(2), a third head module 40(3), ..., an nth head module 40(n) (n is a natural number). The first head module 40(1) is located on the leftmost side, and the nth head module 40(n) is located on the rightmost side. The first head module 40(1) is located closest to the control device 7 among all the head modules 40, and the nth head module 40(n) is located farthest from the control device 7 among all the head modules 40.
[0019] When a transaction is started, the controller 7a of the control device 7 transmits a drive command (see FIG. 5) to the first head module 40(1) and transmits a start command (see FIG. 5) to the sth head module 40(s) (s is a natural number between 2 and n). The sth head module 40(s) is identified based on the number of head modules 40 provided in the inkjet head 4 (i.e., the numerical value of n). The controller 7a also receives a delivery completion notification from the eth head module 40(e) and ends the transaction (e is a natural number between 1 and s-1). The eth head module 40(e) is identified based on the number of head modules 40 provided in the inkjet head 4 (i.e., the numerical value of n). Details of the sth head module 40(s) and the eth head module 40(e) will be described later.
[0020] Note that the left in Figure 2 corresponds to upstream and the right corresponds to downstream. The leftmost head module 40 (first head module 40(1)) shown in Figure 2 is the most upstream head module 40, and the rightmost head module 40 (nth head module 40(n)) is the most downstream head module 40.
[0021] A head 42 is connected to each head module 40. Hereinafter, the head 42 connected to the k-th head module 40(k) will also be referred to as head 42(k) (k is a natural number less than or equal to n). When a head module 40 receives a drive command (see FIG. 5), it drives the head 42 connected to its own head module 40. Note that the head module 40 itself refers to each head module 40.
[0022] FIG. 3 is a block diagram of the kth head module 40(k). The kth head module 40(k) is configured by an SoC. Hereinafter, the kth head module 40(k) is also referred to as SoC(k). The SoC(k) includes a control unit 41a, a storage unit 41b, a communication interface (communication I / F) 41c, and a communication interface (communication I / F) 41d. The control unit 41a includes, for example, a logic circuit or a processor. The storage unit 41b includes a volatile memory such as SDRAM, an EEPROM, a FlashROM, a rewritable non-volatile storage medium such as a hard disk, and the like. The communication I / Fs 41c and 41d are connected to a communication cable 50.
[0023] FIG. 4 is an explanatory diagram showing the head module table T. In the head module table T, the sth head module 40(s) (the numerical value of s) and the eth head module 40(e) (the numerical value of e) specified for the number of head modules 40 (the numerical value of n) provided in the inkjet head 4 are recorded. The management items (fields) of the head module table T include an n field, an s field, and an e field. In the n field, the number of head modules 40 provided in the inkjet head 4 is stored. In the s field, the numerical value of s corresponding to the numerical value of n is stored. In the e field, the value of e corresponding to the value of n is stored. In this embodiment, when n is 2 or more, s is a numerical value obtained by rounding up the decimal point of the value obtained by dividing n by 3 and multiplying it by 2. Also, when n is 2 or more, e is a numerical value obtained by rounding up the decimal point of the value obtained by dividing n by 3. Note that when n=1, the above-mentioned calculation method cannot be applied, and therefore, s=1 and e=1 are previously defined. Furthermore, the value of s or the value of e relative to the value of n is not limited to those mentioned above.
[0024] 5 is a schematic diagram showing an overview of a start command and a drive command. The start command and the drive command are PDUs (Protocol Data Units) including a first header (first area), a second header (second area), and a payload. The first header of the start command includes information indicating the SoC(s). The second header of the start command includes information indicating the SoC(e). The payload of the start command includes drive instruction information for causing the head module 40 to drive the head 42.
[0025] The first header of the drive command stores information (null value) that does not indicate any SoC. The second header of the drive command includes information indicating SoC(e). The payload of the drive command includes drive instruction information for causing the head module 40 to drive the head 42. That is, the information included in the payload of the start command is the same as the information included in the payload of the start command. When the SoC(s) receives the start command, it generates a drive command by changing the first header from the information indicating SoC(s) to a null value.
[0026] The command received by the SoC is either an origin command or a drive command. Each SoC determines whether the received command is an origin command or a drive command by determining whether information indicating the SoC(s) is stored in the first header.
[0027] FIG. 6 is a timing diagram for explaining the transmission and reception of the start command and the drive command. In FIG. 6, the upper side indicates the past, and the lower side indicates the future. That is, time flows from the upper side to the lower side in FIG. 6. The left side indicates the upstream side, and the right side indicates the downstream side. The solid white square indicates the time slot in which the controller 7a or the SоC transmits. The black square indicates the time slot in which the SоC drives the head based on the drive instruction information. The time in which the SоC drives the head 42 differs depending on the SоC or the transaction in which the drive instruction information is obtained. In this example, the case of n=6 will be described. When n=6, s=4 and e=2. In the following, for example, SoC(6), which is SoC(n), will be expressed as SoC(n:6). The same applies to FIG. 10.
[0028] When the controller 7a starts a transaction, it generates a start command by referring to the head module table T, and transmits the generated start command to the downstream side. The SoC that receives the start command executes a first determination process to determine whether or not the first header of the start command indicates its own SoC. When the SoC(1) to SoC(s-1:3) receive the start command, they determine that the first header of the start command does not indicate their own SoC, and execute a transfer process to transfer the start command to the downstream SoC without transmitting a drive command to the upstream or downstream side. The SoC(s:4) determines that the first header of the start command indicates its own SoC, stores drive instruction information included in the start command in the storage unit 41b, and drives the head 42 connected to the SoC(s:4) based on the stored drive information.
[0029] The controller 7a also transmits a drive command to the downstream side. The SoC that receives the drive command from the upstream side executes a second determination process to determine whether the second header of the drive command indicates its own SoC or not. SoC(1) to SoC(e-1:1) determine that the second header of the drive command does not indicate its own SoC, and transmit the drive command to the downstream SoC. SoC(e:2) determines that the second header of the drive command indicates its own SoC, and after receiving the drive command and arrival information from the downstream side, transmits a delivery completion notification to the controller 7a, which will be described later. The SoC that receives the drive command also stores the drive instruction information included in the drive command in the storage unit 41b, and drives the head 42 connected to its own SoC based on the stored drive information.
[0030] Upon receiving the start command, SoC(s:4) generates a drive command by changing the first header of the received start command to a null value. SoC(s:4) transmits the generated drive command to upstream SoC(s-1:3) and downstream SoC(s+1:5).
[0031] The SoC that receives the drive command from the downstream side executes a second determination process to determine whether the second header of the drive command indicates its own SoC. SoC(s-1:3) to SoC(e+1:3) determine that the second header of the drive command does not indicate their own SoC, and transmit the drive command to the upstream SoC. SoC(e:2) determines that the second header of the drive command indicates its own SoC, and after receiving the drive command and arrival information from the upstream side, transmits a delivery completion notification to the controller 7a, which will be described later. In addition, the SoC that receives the drive command stores the drive instruction information included in the drive command in the storage unit 41b, and drives the head 42 connected to its own SoC based on the stored drive information.
[0032] The SoC that receives the drive command from the upstream side executes a second determination process to determine whether the second header of the drive command indicates its own SoC. SoC(s+1:5) to SoC(n-1:5) determine that the second header of the drive command does not indicate their own SoC, and transmit the drive command to the downstream SoC. SoC(n:6) determines that the second header of the drive command does not indicate its own SoC, and transmits arrival information to the upstream side. In addition, the SoC that receives the drive command stores the drive instruction information included in the drive command in memory unit 41b, and drives head 42 connected to its own SoC based on the stored drive information.
[0033] The PDU of the arrival information includes, for example, a header and a payload. SoC(n:6) stores information indicating SoC(e:2) stored in the second header of the received drive command in the header of the arrival information. In addition, information indicating that SoC(n:6) has received the drive command is stored in the payload of the arrival information. The SoC that receives the arrival information from the upstream side judges whether the header of the arrival information indicates its own SoC or not. SoC(n-1:5) to SoC(e+1:3) judge that the header of the arrival information does not indicate its own SoC, and transfer the arrival information to the upstream SoC. SoC(e:2) judges that the header of the arrival information indicates its own SoC, and transmits a delivery completion notification to the controller 7a after receiving the drive commands from the upstream and downstream sides.
[0034] When SoC(e:2) receives the drive command from the downstream side, the drive command from the upstream side, and the arrival information, that is, when all SoCs have stored the drive instruction information in the storage unit 41b, it transmits a delivery completion notification to the controller 7a. That is, the delivery completion notification is transmitted to the upstream side. The PDU of the delivery completion notification includes, for example, a header and a payload. The header of the delivery completion notification stores information indicating the controller 7a. The payload of the delivery completion notification stores information indicating that SoC(e:2) has received the drive command from the downstream side, the drive command from the upstream side, and the arrival information. SoC(e-1:1) to SoC(1) determine that the header of the delivery completion notification does not indicate their own SoC, and transfer the received delivery completion notification to the upstream side. The controller 7a that receives the delivery completion notification ends the transaction.
[0035] Fig. 7 is a flow chart for explaining the process by the controller 7a. For example, when the controller 7a receives a notification from the external device 9 that the printer 1 is in a maintenance state, the controller 7a starts the following process. That is, the following process of the controller 7a is executed when the printer 1 is in a maintenance state. The process of the controller 7a shown in Fig. 7 constitutes one transaction.
[0036] The controller 7a refers to the head module table T and identifies (S1) SoC(s) and SoC(e) (the numerical values of s and e) based on the number of head modules 40 (SoC) included in the inkjet head 4. The controller 7a generates a start command based on the identified SoC(s) and SoC(e) (S2). The controller 7a also generates a drive command based on the identified SoC(e) (S3).
[0037] The controller 7a transmits the start command downstream (S4). The controller 7a transmits the drive command downstream (S5). The controller 7a determines whether or not a delivery completion notification has been received (S6). If a delivery completion notification has not been received (S6: NO), the controller 7a returns the process to S6 and waits until a delivery completion notification is received. If a delivery completion notification has been received (S6: YES), the controller 7a ends the process.
[0038] 8 and 9 are flowcharts for explaining the process by the head module 40 (SoC). The SoC receives a command (S11). The SoC determines whether the received command is a starting command based on the first header of the received command (S12).
[0039] If the received command is an origin command (S12: YES), the SoC determines whether or not the first header of the received origin command indicates its own SoC (S13). If the first header of the origin command indicates its own SoC (S13: YES), that is, if its own SoC is SoC(s), the SoC(s) changes the first header of the received origin command to a null value (S14) and generates a drive command (S15). In addition, the SoC(s) determines whether or not its own SoC is SoC(n) (S16). If its own SoC is SoC(n) (S16: YES), the SoC(s) transmits the generated drive command only upstream (S17), transmits arrival information to SoC(e) (S18), and proceeds to S20. If the own SoC is not SoC(n) (S16: NO), the SoC(s) transmits the generated drive command to the upstream and downstream sides (S19), and the process proceeds to S20.
[0040] The SoC stores the drive instruction information included in the received start command in the storage unit 41b (S20). The SoC drives the head 42 connected to its own SoC based on the stored drive instruction information (S21), and ends the process. If the first header of the start command does not indicate its own SoC (S13: NO), the SoC executes a transfer process to transfer the start command to the downstream SoC without sending a drive command to the upstream or downstream side (S22), and ends the process.
[0041] If the received command is not a starting command (S12: NO), that is, if the received command is a drive command, the SoC judges whether the second header of the received drive command indicates its own SoC (S23). If the second header of the drive command indicates its own SoC (S23: YES), that is, if its own SoC is SoC(e), the SoC(e) judges whether it has received the drive command from the upstream side, the drive command from the downstream side, and the arrival information (whether it has received all of them) (S24). If it has not received any of the drive command from the upstream side, the drive command from the downstream side, and the arrival information (S24: NO), the SoC(e) returns the process to S24 and waits until it receives all of the drive command from the upstream side, the drive command from the downstream side, and the arrival information. If it has received all of the drive command from the upstream side, the drive command from the downstream side, and the arrival information (S24: YES), the SoC(e) transmits a delivery completion notification to the controller 7a (S25). The SoC stores the drive instruction information included in the received drive command in the storage unit 41b (S26). The SoC drives the head 42 connected to the SoC based on the stored drive instruction information (S27), and ends the process.
[0042] If the second header of the drive command does not indicate its own SoC (S23: NO), the SoC judges whether its own SoC is SoC(n) (S28). If its own SoC is SoC(n) (S28: YES), the SoC(n) transmits the arrival information to SoC(e) (S29) and proceeds to S26. If its own SoC is not SoC(n) (S28: NO), the SoC transmits the drive command to an upstream or downstream SoC (S30) and proceeds to S26. Note that if a command (drive command) has been received from the upstream side in S1, the SoC transmits the drive command to the downstream side in S30. Also, if a command (drive command) has been received from the downstream side in S1, the SoC transmits the drive command to the upstream side in S30.
[0043] In the head system according to the first embodiment, a drive command is generated in a specific head module 40 among the multiple head modules 40 connected in series, and the generated drive command is transmitted upstream and downstream, making it possible to transmit the drive command quickly to a head module 40 connected to a location far from the controller 7a. Also, after all head modules 40 acquire the drive instruction information, a delivery completion notification is transmitted to the controller 7a, so that the controller 7a can acquire information that all head modules 40 have acquired the drive instruction information and end the transaction simply by receiving the delivery completion notification.
[0044] (Embodiment 2) The present invention will be described below with reference to the drawings showing a printer 1 according to embodiment 2. Among the configurations according to embodiment 2, the same configurations as those in embodiment 1 are given the same reference numerals, and detailed description thereof will be omitted.
[0045] The controller 7a according to the second embodiment starts the second transaction after completing the first transaction. When the head module 40 according to the second embodiment receives a start command or a drive command in the first transaction, it calculates the estimated processing time required to drive the head 42 based on the drive instruction information included in the start command or the drive command. The head module 40 transmits the calculated estimated processing time together with the drive command, the arrival information, or the delivery completion notification. The controller 7a acquires the estimated processing time of each head module 40, and identifies the sth head module 40(s) and the eth head module 40(e) in the second transaction based on the acquired estimated processing time.
[0046] Fig. 10 is a timing diagram for explaining the transmission and reception of the start command and the drive command according to the second embodiment. Fig. 10 shows the transmission and reception of the start command and the drive command in the first transaction and the second transaction. The time slot in which the head 42 is driven based on the drive instruction information belongs to the transaction including the time slot related to the transmission immediately before the time slot. In addition, each SoC can transfer the start command and the arrival information and the delivery completion notification during the time slot in which the head 42 is driven, but when a drive command is received, the SoC transmits the drive command to the upstream or downstream SoC or transmits the delivery completion notification after the driving of the head 42 is completed.
[0047] In this embodiment, each SоC calculates the expected processing time required to drive the head 42 based on the acquired drive instruction information before transmitting the drive command, the arrival information, or the delivery completion notification. That is, in this embodiment, each SоC calculates the expected processing time and transmits the drive command, the arrival information, or the delivery completion notification in the time slot of the solid-line white square. Each SоC adds the expected processing time of the other SоC received together with the received drive command and the calculated expected processing time of its own SоC to the drive command, the arrival information, or the delivery completion notification and transmits it. That is, the expected processing time of the other SоC received together with the received drive command and the calculated expected processing time of its own SоC are transmitted together with the drive command, the arrival information, or the delivery completion notification. Note that information indicating the expected processing time may be included in the drive command, the arrival information, or the delivery completion notification. Each SоC cumulatively adds the expected processing time to the received drive command. That is, in the first transaction shown in Fig. 10, the planned processing time of SOC(1) is added to the drive command that SOC(e:2) receives from the upstream side, and the planned processing times of SOC(3) and (4) are added to the drive command that it receives from the downstream side. In addition, the planned processing times of SOC(4), (5), and (6) are added to the arrival information. The planned processing times of all SOCs are added to the delivery completion notice.
[0048] The first transaction is similar to the transaction shown in Fig. 6. In this embodiment, a case will be described in which, among the time slots in which each SoC drives the head in the first transaction, the time slot of SoC(5) is the longest.
[0049] In the first transaction, SоC(s) is SоC(4), whereas in the second transaction, SоC(s) is SоC(n:6). Also, in the first transaction, SоC(e) is SоC(2), whereas in the second transaction, SоC(e) is SоC(5).
[0050] The controller 7a according to this embodiment identifies SOC(s) and SOC(e) in the second transaction based on the estimated processing time of each SOC received together with the delivery completion notification of the first transaction. Specifically, the controller 7a refers to the head module table T and executes a tentative identification process to identify SOC(s) and SOC(e) based on the number of SOC. The controller 7a also calculates the remaining processing time from when the controller 7a transmits the start command of the second transaction until when each SOC finishes driving the head 42 related to the first transaction based on the estimated processing time of each SOC, the elapsed time from when each SoC starts the process of driving the head 42, and the scheduled time of transmitting the start command in the second transaction. In addition, the controller 7a calculates a tentative required communication time by adding the time required for the controller 7a to transmit a start command to the SoC(s) (tentative SoC(s)) identified in the tentative identification process and the time required for the SoC(e) (tentative SoC(e)) identified in the tentative identification process to receive the drive command after the tentative SoC(s) transmits the drive command. The controller 7a uses the tentative required communication time as a threshold, and when the SoC (SoC(m)) having the longest remaining processing time is located upstream of the tentative SoC(s) and the remaining processing time of SoC(m) is greater than the threshold, the controller 7a executes an s correction process to correct SoC(n) in the second transaction to SoC(s) and an e correction process to correct SoC(m) in the second transaction to SoC(e). In cases other than the above, the controller 7a identifies the tentative SoC(s) as the SoC(s) in the second transaction and identifies the tentative SoC(e) as the SoC(e) in the second transaction.
[0051] The SOC that receives the start command for the second transaction can determine whether the received start command indicates its own SoC or not, even if the driving of the head 42 for the first transaction has not been completed, and can execute the transfer process if the received start command does not indicate its own SoC. In other words, SOC(s) can receive the start command regardless of whether there is an SOC upstream of SOC(s) that has not yet completed the driving of the head 42 for the first transaction.
[0052] In addition, when SOC(n:6) in the second transaction receives the start command, it transmits the drive command only to the upstream side, since there is no SOC connected downstream of SOC(n:6). In addition, when SOC(n:6) receives the start command, it obtains the drive instruction information, and transmits the arrival information to SOC(e:5).
[0053] When SOC(e:5) in the second transaction receives the drive command from the upstream side, the drive command from the downstream side, and the arrival information, it transmits a delivery completion notification to the controller 7a. Note that, if the drive of the head 42 related to the first transaction has not been completed at the time when SOC(e) in the second transaction receives the drive command from the upstream side, the drive command from the downstream side, and the arrival information, it transmits a delivery completion notification to the controller 7a after the drive of the head 42 is completed.
[0054] 11 and 12 are flowcharts for explaining the processing by the controller 7a according to the second embodiment. The controller 7a refers to the head module table T and identifies SoC(s) and SoC(e) (the numerical values of s and e) in the first transaction based on the number of SoCs included in the inkjet head 4 (S41). The processing in S42 to S46 is similar to the processing in S2 to S6 shown in FIG. 7. The processing in S41 to S46 is included in the first transaction. In addition, the delivery completion notification received by the controller 7a in this embodiment includes a scheduled processing time for each SoC.
[0055] The processes from S47 onwards are included in the second transaction. The controller 7a refers to the head module table T and executes a provisional specification process to specify a provisional SoC(s) and a provisional SoC(e) (the numerical values of s and e) in the second transaction based on the number of SoCs included in the inkjet head 4 (S47). The controller 7a executes a remaining processing time specification process to calculate the remaining processing time of each SoC based on the scheduled processing time of each SoC, the elapsed time from the time when each SoC started the processing to drive the head 42, and the scheduled time when the start command is transmitted in the second transaction (S48).
[0056] The controller 7a executes a threshold calculation process to calculate a tentative required communication time (threshold) based on the numerical value of s of the tentative SoC(s) and the numerical value of e of the tentative SoC(e) (S49). As described above, the tentative required communication time is a value obtained by adding the time required for the controller 7a to transmit a start command to the tentative SoC(s) and the time required for the tentative SoC(s) to receive the drive command after the tentative SoC(s) transmits the drive command. The tentative required communication time depends on the length of the communication cable 50 related to the communication. In addition, the time related to the communication between the controller 7a and SoC(1) and the time related to the communication between adjacent SoCs are constant times (tx). Therefore, the tentative required communication time (threshold) is calculated by multiplying the numerical value of s of the tentative SoC(s) and the numerical value of e of the tentative SoC(e) by (s+s-e+1) by tx.
[0057] The controller 7a determines whether or not the SoC(m) is located downstream of the tentative SoC(s) (S50). If the SoC(m) is located downstream of the tentative SoC(s) (S50: YES), the controller 7a determines whether or not the remaining processing time in the SoC(m) is greater than a threshold (S51). If the remaining processing time in the SoC(m) is greater than the threshold (S51: YES), the controller 7a executes an s correction process to correct the SoC(n) to the SoC(s) in the second transaction (S52), and executes an e correction process to correct the SoC(m) to SoC(e) (S53).
[0058] If SoC(m) is not located downstream of the tentative SoC(s) (S50: NO), or if the remaining processing time in SoC(m) is less than or equal to a threshold (S51: NO), the controller 7a identifies the tentative SoC(s) as the SoC(s) in the second transaction (S54), and identifies the tentative SoC(e) as the SoC(e) in the second transaction (S55).
[0059] After executing S53 or S55, the controller 7a generates a starting command based on the SoC(s) identified in S52 or S54 and the SoC(e) identified in S53 or S55 (S56). The controller 7a also generates a drive command based on the SoC(e) identified in S53 or S55 (S57). The controller 7a transmits the starting command to the downstream side (S58). The controller 7a transmits the drive command to the downstream side (S59). The controller 7a judges whether or not a delivery completion notification has been received (S60). If the delivery completion notification has not been received (S60: NO), the controller 7a returns the process to S60 and waits until the delivery completion notification is received. If the delivery completion notification has been received (S60: YES), the controller 7a returns the process to S47. When the process is returned to S47, the controller 7a continues the process by regarding the transaction in the previous process cycle (before the process is returned) as the first transaction and the transaction in the cycle after the process is returned as the second transaction. The controller 7a repeats the above process, for example, until it receives a notification that the printer 1 is no longer in the maintenance state.
[0060] FIG. 13 is a flowchart for explaining the processing schedule time addition process by the head module 40 (SoC). The SoC executes the processing schedule time addition process, for example, before transmitting the drive command in S17 or S19 shown in FIG. 8 or S30 shown in FIG. 9, before transmitting the delivery completion notification in S25 shown in FIG. 9, or before transmitting the arrival information in S29 shown in FIG. 9. The SoC calculates the processing schedule time required to drive the head 42 based on the drive instruction information included in the received start command or drive command (S71). The SoC determines whether the calculated processing schedule time is longer than a predetermined time (S72). If the processing schedule time is longer than the predetermined time (S72: YES), the SoC adds the processing schedule time calculated in S71 to the drive command, the arrival information, or the delivery completion notification (S73), and ends the process. If the expected processing time is equal to or shorter than the predetermined time (S72: NO), the SoC adds a value of “0” to the drive command, arrival information, or delivery completion notification as the expected processing time of the SoC itself (S74), and ends the process. Note that the SoC may execute expected processing time addition processing before S18 shown in FIG.
[0061] In the head system according to the first embodiment, by setting the head module 40 with the longest remaining processing time as the e-th head module 40(e), it is possible to minimize the effect of the time lag until the driving of the head 42 is completed when the head module 40 receives a driving command while the head module 40 is in the process of driving the head 42. This makes it possible to shorten the time from when the controller 7a transmits the start command until when it receives a delivery completion notification.
[0062] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The technical features described in each embodiment can be combined with each other, and the scope of the present invention is intended to include all modifications within the scope of the claims and equivalents to the scope of the claims. In addition, the independent claims and dependent claims described in the claims can be combined with each other in all combinations regardless of the reference format. Furthermore, the claims use a format in which a claim references two or more other claims (multiple claim format), but this is not limited to this. A format in which a multiple claim (multi-multi claim) that references at least one multiple claim may be used. [Explanation of symbols]
[0063] 1. Printer 2 Cases 3 Platen 4 Inkjet head 5 Transport roller 6 Transport roller 7 Control Device 7a Controller 7b Control section 7c storage section 7d Communication Interface (Communication I / F) 9 External device 40 Head module (SoC) 41a Control section 41b Storage section 42 Head 50 Communication Cable 70 Recording media 100 Recording Paper T-head module table
Claims
1. A controller; Multiple heads and a plurality of head modules each for driving the head connected thereto when a drive command is received; Equipped with the controller and the plurality of head modules are connected in series from upstream to downstream via a communication cable; The plurality of head modules include a first head module to an nth head module (n is a natural number equal to or greater than 2), The first head module is connected to the upstream controller, the nth head module is located at a downstream end of the plurality of head modules connected in series, The controller executes a process of transmitting the drive command to the first head module via the communication cable; The s-th head module (s is a natural number between 2 and n) identified from the second head module to the n-th head module executes a process of transmitting the drive command to the s-1-th module or the s+1-th module. Head system.
2. The controller executes a process of transmitting a starting command to the s module for transmitting the drive command to the upstream side or the downstream side; When the s module receives the starting command, the s module executes a process of transmitting the drive command to the s-1 module or the s+1 module; When the first head module to the s-1st head module receive the start command, the first head module to the s-1st head module execute a transfer process to transfer the start command to the downstream head module without transmitting the drive command to the upstream or downstream side. The head system of claim 1 .
3. the starting command includes a first region indicating the sth head module, When each of the head modules receives the start command, the head module executes a determination process to determine whether or not the first area indicates the head module itself; When it is determined in the determination process that the first region indicates the head module itself, each of the head modules executes a process of transmitting the drive command to the upstream side or the downstream side; When it is determined in the determination process that the first region does not represent the head module itself, the head module executes the transfer process, When the first head module to the s-1 head module receive the start point command, the first head module to the s-1 head module determine in the determination process that the first area does not indicate the head module itself and execute the transfer process; When the s module receives the start command, the s module determines in the determination process that the first region indicates the head module itself, and executes a process of transmitting the drive command to the s-1 module or the s+1 module. The head system according to claim 2 .
4. When the head modules other than the nth head module receive the drive command from the upstream, the head modules transmit the drive command downstream.
3. A head system according to claim 1 or 2.
5. When the head modules other than the nth head module receive the drive command from downstream, the head modules transmit the drive command upstream.
3. A head system according to claim 1 or 2.
6. The controller transmits the drive command to the first head module, The head modules excluding the nth head module are When the drive command is received from the upstream, the drive command is transmitted downstream; When the drive command is received from the downstream, the drive command is transmitted to the upstream; The e-th head module (e is a natural number between 1 and s-1) identified from the first head module to the s-1 head module transmits a delivery completion notification to the controller when the drive command is received from the upstream and downstream. The head system according to claim 2 .
7. The command including the starting command or the drive command includes a first region and a second region, the first area of the start command includes information indicating the sth head module, the first region of the drive command includes information that does not indicate any of the head modules; the second area of the start command and the drive command includes information indicating the e head module, When the s module receives the start command, the s module generates the drive command by changing the information included in the first area from information indicating the s head module to information not indicating any of the head modules; Each of the head modules determines whether the received command is the start command or the drive command based on the first region. The head system according to claim 6.
8. When the received command is the start command, each of the head modules executes a first determination process to determine whether or not the first area indicates the head module itself; When it is determined in the first determination process that the first region represents the head module itself, each of the head modules generates the drive command and transmits it to the upstream side or the downstream side; When it is determined in the first determination process that the first region does not represent the head module itself, the head module executes the transfer process. The head system according to claim 7.
9. When the received command is the drive command, each of the head modules executes a second determination process to determine whether or not the second area indicates the head module itself; When it is determined in the second determination process that the second area indicates the head module itself, each of the head modules transmits the delivery completion notification to the controller; When it is determined in the second determination process that the second region does not represent the head module itself, each of the head modules transmits the drive command to the upstream side or the downstream side.
9. A head system according to claim 7 or 8.
10. When the nth head module receives the drive command or the start command, the nth head module transmits arrival information to the eth head module, When the e-head module receives the arrival information, the e-head module transmits the delivery completion notification to the controller. The head system according to claim 6.
11. The controller identifies the sth head module and the eth head module based on the number of the head modules. The head system according to claim 6.
12. The controller: a first transaction from transmitting the first origin command to receiving the delivery completion notification; a second transaction from transmitting the second starting command after the execution of the first transaction to receiving the delivery completion notification; Run In the first transaction, Each of the head modules calculates a scheduled processing time required to drive the head when the drive command is received, Among the head modules, the head module other than the e head module transmits the received scheduled processing time of the other head modules and the calculated scheduled processing time together with the drive command to the upstream or downstream head module, the e head module transmits the planned processing time in each of the head modules included in the received drive command and the calculated planned processing time in the e head module together with the delivery completion notification to the controller; In the second transaction, The controller executes an s identification process for identifying the s head module in the second transaction from the plurality of head modules based on the scheduled processing time of each of the head modules in the first transaction. The head system according to claim 6.
13. The controller: A tentative identification process is executed to identify the sth head module in the second transaction based on the number of the head modules; After executing the provisional identification process, execute the s identification process; The s specification process is a remaining processing time calculation process for calculating a remaining processing time for each of the head modules based on the scheduled processing time for each of the head modules and the elapsed time from the start of processing; A threshold calculation process for calculating a threshold based on a time required for communication between the controller and each of the head modules; a determination process for determining whether the head module having the longest remaining processing time in the first transaction is disposed downstream of the s head module identified in the tentative identification process, and whether the remaining processing time of the head module having the longest remaining processing time in the first transaction is equal to or greater than the threshold value; an s correction process for correcting the nth head module to the sth head module in the second transaction when the head module having the longest remaining processing time in the first transaction is arranged downstream of the sth head module identified in the tentative identification process and the remaining processing time in the head module having the longest remaining processing time is greater than the threshold value; Includes The head system of claim 12.
14. The controller: a first transaction from transmitting the first origin command to receiving the delivery completion notification; a second transaction from transmitting the second starting command after the execution of the first transaction to receiving the delivery completion notification; Run In the first transaction, Each of the head modules calculates a scheduled processing time required to drive the head when the drive command is received, Among the head modules, the head module other than the e head module transmits the received scheduled processing time of the other head modules and the calculated scheduled processing time together with the drive command to the upstream or downstream head module, the e head module transmits the planned processing time in each of the head modules included in the received drive command and the calculated planned processing time in the e head module together with the delivery completion notification to the controller; In the second transaction, The controller executes an e-identification process for identifying the e-th head module in the second transaction from the plurality of head modules based on the scheduled processing time of each of the head modules in the first transaction. The head system according to claim 6.
15. The controller: A tentative identification process is executed to identify the sth head module in the second transaction based on the number of the head modules; After the provisional identification process is performed, the e identification process is performed; The e-specification process includes: a remaining processing time calculation process for calculating a remaining processing time for each of the head modules based on the scheduled processing time for each of the head modules and the elapsed time from the start of processing; A threshold calculation process for calculating a threshold based on a time required for communication between the controller and each of the head modules; a determination process for determining whether the head module having the longest remaining processing time in the first transaction is disposed downstream of the s head module identified in the tentative identification process, and whether the remaining processing time of the head module having the longest remaining processing time in the first transaction is equal to or greater than the threshold value; an e correction process of correcting the head module with the longest remaining processing time to the e head module in the second transaction when the head module with the longest remaining processing time in the first transaction is disposed downstream of the s head module identified in the tentative identification process and the remaining processing time in the head module with the longest remaining processing time is greater than the threshold value; Includes The head system of claim 14.
16. The controller: In the second transaction, an s identification process for identifying the nth head module as the sth head module in the second transaction; The e-specification process Run The e-specification process includes: A process of calculating a remaining processing time for each of the head modules based on the scheduled processing time for each of the head modules and the elapsed time from the start of processing; a process of identifying the head module having the longest remaining processing time as the e-th head module in the second transaction; Includes The head system of claim 14.
17. A controller; Multiple heads and a plurality of head modules each for driving the head connected thereto when a drive command is received; Equipped with the controller and the plurality of head modules are connected in series from upstream to downstream via a communication cable; The plurality of head modules include a first head module to an nth head module (n is a natural number equal to or greater than 2), The first head module is connected to the upstream controller, The nth head module is located at the downstream end of the plurality of head modules connected in series. A method for controlling a head system, comprising: causing the controller to execute a process of transmitting the drive command to the first head module via the communication cable; The s-th head module (s is a natural number between 2 and n) identified from the second head module to the n-th head module is made to execute a process of transmitting the drive command to the s-1-th module or the s+1-th module. Control methods.
18. A controller; Multiple heads and a plurality of head modules each for driving the head connected thereto when a drive command is received; Equipped with the controller and the plurality of head modules are connected in series from upstream to downstream via a communication cable; The plurality of head modules include a first head module to an nth head module (n is a natural number equal to or greater than 2), The first head module is connected to the upstream controller, The nth head module is located at the downstream end of the plurality of head modules connected in series. A program for causing a computer to control a head system, causing the controller to execute a process of transmitting the drive command to the first head module via the communication cable; The s-th head module (s is a natural number between 2 and n) identified from the second head module to the n-th head module is made to execute a process of transmitting the drive command to the s-1-th module or the s+1-th module. A program that causes a computer to execute control.
Citation Information
Patent Citations
Head system, liquid discharge device and liquid discharge method
JP2023011385A