Drive waveform provision system
The drive waveform providing system addresses the inefficiencies of conventional methods by using cloud-based estimation to determine suitable waveforms for inkjet heads, reducing time and effort while ensuring high-quality image formation.
Patent Information
- Application Number
- JP2024043851
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-10-02
AI Technical Summary
Conventional methods for determining a drive waveform for inkjet heads require significant time and effort due to the need for ejection observations using actual ink and inkjet heads.
A drive waveform providing system that includes a communication unit and a response unit, utilizing a drive waveform estimation algorithm and dedicated database to estimate and provide a suitable drive waveform for inkjet heads via cloud communication, allowing administrators to update the system without user intervention.
Minimizes labor and time required to determine a suitable drive waveform for inkjet heads by leveraging cloud-based estimation and data processing, enabling efficient image formation with high-quality results.
Smart Images

Figure 2025144189000001_ABST
Abstract
Description
[Technical Field]
[0001] SUMMARY OF THE INVENTION An embodiment of the present invention relates to a drive waveform providing system. [Background technology]
[0002] A liquid ejection device having an inkjet head generally forms an image on a print medium being transported by inputting a drive signal to a drive element such as a piezoelectric element of the inkjet head to eject a liquid such as ink from a nozzle.
[0003] To form high-quality images, it is necessary to determine a drive waveform suitable for the inkjet head, taking into account the drive conditions of the inkjet head and the physical properties of the ink, so that the ink ejection characteristics from the nozzles will be as desired.
[0004] Conventionally, the drive waveform suitable for an inkjet head is determined by performing ejection observations using the ink actually used, such as measuring the flight state of ink droplets and print quality while varying the drive waveform parameters. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2022-26566 Summary of the Invention [Problem to be solved by the invention]
[0006] This method requires a lot of time and effort because the ejection observation is carried out using actual ink and an inkjet head.
[0007] The problem to be solved by the present invention is to provide a drive waveform providing system that provides a drive waveform suitable for an inkjet head while minimizing the labor and time required. [Means for solving the problem]
[0008] A drive waveform providing system according to an embodiment includes a communication unit that communicates with an external terminal via a cloud, and a response unit that creates response information in response to received information received by the communication unit from the external terminal and provides the response information to the external terminal via the communication unit. The response unit has a drive waveform estimation algorithm and a dedicated database for estimating a drive waveform of an inkjet head, and allows an administrator user to update the drive waveform estimation algorithm and the dedicated database, but does not allow a user user to update the drive waveform estimation algorithm and the dedicated database. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of a droplet ejection device that operates using drive waveform data provided by a drive waveform providing system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing an example of the configuration of a head controller of the liquid ejection device shown in FIG. [Figure 3] FIG. 3 is a block diagram showing an example of the configuration of the inkjet head of the liquid ejection device shown in FIG. [Figure 4] FIG. 4 is a block diagram showing a second example of the configuration of the head controller of the liquid ejection device shown in FIG. [Figure 5] FIG. 5 is a block diagram showing a second example of the configuration of the inkjet head of the liquid ejection device shown in FIG. [Figure 6] FIG. 6 is a block diagram showing the functional configuration of a driving waveform providing system according to an embodiment. [Figure 7] FIG. 7 is a block diagram showing an example of the configuration of a firewall router in the driving waveform providing system shown in FIG. [Figure 8] FIG. 8 is a block diagram showing an example of the configuration of an authentication server of the driving waveform providing system shown in FIG. [Figure 9] FIG. 9 is a block diagram showing an example of the configuration of a web server of the driving waveform providing system shown in FIG. [Figure 10] FIG. 10 is a block diagram showing an example of the configuration of a gateway in the driving waveform providing system shown in FIG. [Figure 11] FIG. 11 is a block diagram showing an example of the configuration of a web API server of the driving waveform providing system shown in FIG. [Figure 12] FIG. 12 is a block diagram showing an example of the configuration of a database server of the driving waveform providing system shown in FIG. [Figure 13] FIG. 13 is a block diagram showing the hardware configuration of a computer that constitutes the driving waveform providing system shown in FIG. [Figure 14] FIG. 14 is a flowchart showing the initial flow of processing from accessing the driving waveform providing system according to the embodiment to obtaining register data. [Figure 15] FIG. 15 is a flowchart showing the flow of processing following FIG. [Figure 16] FIG. 16 is a flowchart showing the flow of processing following FIG. [Figure 17] FIG. 17 is a flowchart showing the flow of processing following FIG. [Figure 18] FIG. 18 is a flowchart showing the flow of processing following FIG. [Figure 19] FIG. 19 is a flowchart showing the flow of processing following FIG. [Figure 20] FIG. 20 is a diagram showing an example of a home screen of the driving waveform providing system displayed on the screen of a PC. [Figure 21] FIG. 21 is a diagram showing an example of a coefficient database management screen displayed on a PC screen. [Figure 22] FIG. 22 is a diagram showing an example of a serial number input screen displayed on a PC screen. [Figure 23] FIG. 23 shows a waveform provision parameter input screen displayed on the PC screen. [Figure 24] FIG. 24 shows a one-time password input screen displayed on the screen of a PC. DETAILED DESCRIPTION OF THE INVENTION
[0010] A drive waveform providing system according to an embodiment will be described below with reference to the drawings. The drive waveform providing system receives parameters related to an inkjet head and ink from an external terminal via the cloud, estimates a drive waveform for the inkjet head based on the received parameters, calculates setting value data for generating the estimated drive waveform, and provides the calculated setting value data to the external terminal via the cloud.
[0011] Here, the set value data is digital data, and the drive waveform is a digital waveform pulse. Hereinafter, the set value data for generating the drive waveform may be simply referred to as drive waveform set value data, or simply as drive waveform or set value data.
[0012] In addition, the drive waveform providing system can convert the setting value data to create register data that is compatible with the format of the driver IC installed in the inkjet head, and can provide the register data of the setting value data of the drive waveform to an external terminal.
[0013] Hereinafter, when there is no need to distinguish between the drive waveform setting value data and the register data of the drive waveform setting value data, both may be collectively referred to as drive waveform data.
[0014] The external terminal generates a drive waveform for the inkjet head from the received drive waveform data (setting value data, register data), generates an analog drive signal from the generated drive waveform to drive the drive element of the inkjet head, and drives the inkjet head by applying the generated drive signal to the drive element.
[0015] Before describing the drive waveform providing system, a liquid ejection apparatus that operates using setting value data provided by the drive waveform providing system will be described below.
[0016] (Liquid discharge device) 1 is a block diagram showing an example of the configuration of a liquid ejection apparatus 10 that operates using setting value data provided by a drive waveform providing system according to an embodiment. The liquid ejection apparatus 10 is, for example, an inkjet recording apparatus. However, the liquid ejection apparatus 10 is not limited to this, and may be another apparatus such as a copier.
[0017] The liquid ejection device 10 performs various processes such as image formation while transporting a print medium, which is a recording medium.
[0018] The liquid ejection device 10 includes a control unit 11, a display 14, an operation unit 15, a communication interface 16, a transport motor 21, a motor drive circuit 22, a pump 23, a pump drive circuit 24, a plurality of inkjet heads 25, a head controller 26, a system bus 27, and a power supply circuit 28. The liquid ejection device 10 also includes a transport mechanism, a paper feed cassette, a paper discharge tray, etc., which are not shown. Note that in the drawings, the interface is abbreviated as "IF."
[0019] The power supply circuit converts AC power supplied from a commercial power source into DC power, and supplies the DC power to each component in the liquid ejection device .
[0020] The system bus 27 is a communication path between the control unit 11, the display 14, the operation unit 15, the communication interface 16, the motor drive circuit 22, the pump drive circuit 24, and the head controller 26. The control unit 11, the display 14, the operation unit 15, the communication interface 16, the motor drive circuit 22, the pump drive circuit 24, and the head controller 26 are able to send and receive information, data, addresses, control signals, commands, responses, etc. via the system bus 27.
[0021] The control unit 11 performs various controls on the liquid ejection device 10. The control unit 11 includes a processor 12 and a memory 13. The processor 12 is an arithmetic element that executes arithmetic processing. The processor 12 performs various processes based on, for example, programs stored in the memory 13 and data used in the programs. The memory 13 stores the programs, data used in the programs, etc. in a rewritable manner.
[0022] The display 14 is, for example, a display device such as a liquid crystal display, etc. The display 14 displays an image in response to a video signal input from the processor 12, a graphic controller (not shown) for performing image processing, etc.
[0023] The operation unit 15 has an operation member that generates an operation signal based on a user's operation. The operation member may be, for example, a touch sensor, a numeric keypad, a power key, a paper feed key, various function keys, a keyboard, or the like. The touch sensor may be, for example, a resistive touch sensor or a capacitive touch sensor. The touch sensor acquires information indicating a specified position within a certain area. The touch sensor may also be used as a touch panel that is disposed on the top surface of the display 14 and integrated with it. In this case, the touch sensor generates a signal that indicates the touched position on the screen displayed on the display 14.
[0024] The communication interface 16 is an interface for communicating with external devices. The communication interface 16 is used, for example, for communication with an external terminal 30 that transmits print data and register values of setting data to the liquid ejection device 10. The communication interface 16 communicates with the external terminal 30 via a wired or wireless network, for example, a LAN (Local Area Network). The external terminal 30 is a control server, a PC, or the like that controls the liquid ejection device 10.
[0025] The transport motor 21 rotates to operate transport members of a transport mechanism (not shown) for transporting the print medium. The transport members include a transport belt that transports the print medium, multiple rollers (drive rollers and driven rollers) around which the transport belt is stretched, and guides. The transport motor 21 rotates the drive roller to move the transport belt that holds the print medium. The print medium moves along a transport path defined by guides arranged near the transport belt.
[0026] The motor drive circuit 22 is a circuit that drives the transport motor 21. The motor drive circuit 22 drives the transport motor 21 in accordance with a transport control signal input from the control unit 11. The motor drive circuit 22, the transport motor 21, and the transport mechanism transport the print medium taken out from a paper feed cassette (not shown) via multiple inkjet heads 25 to an output tray (not shown). The paper feed cassette is a cassette that stores multiple print media. The output tray is a tray that stores the print media discharged from the liquid ejection device 10.
[0027] The pump 23 supplies ink from an ink tank through an ink supply path to a pressure chamber of the inkjet head 25. The pump 23 is disposed on the ink supply path, which is made up of a tube (not shown) that connects the ink tank and the pressure chamber of the inkjet head 25.
[0028] The pump drive circuit 24 drives the pump 23 in accordance with an ink supply control signal input from the processor 12. The pump 23 supplies ink from an ink tank to a pressure chamber of the inkjet head 25.
[0029] The inkjet head 25 is an image forming unit that ejects ink onto a print medium to form an image. Although not shown, the inkjet head 25 includes actuators, which are driving elements such as piezoelectric elements that eject ink from nozzles, sensors for detecting ink temperature, and a drive circuit for driving the actuators. The inkjet head 25 forms an image by ejecting ink onto a print medium transported by a transport mechanism based on a drive power source and control signals supplied from a head controller 26. A plurality of inkjet heads 25 are provided, each corresponding to a different ink color, such as cyan, magenta, yellow, and black.
[0030] The liquid ejection device 10 receives print data and register values of setting value data from the external terminal 30 via the communication interface 16 and stores them in the memory 13. When setting (configuring) the inkjet head 25, the processor 12 reads the print data and register values of setting value data from the memory 13 and transmits them to the head controller 26.
[0031] The head controller 26 is a circuit that controls the multiple inkjet heads 25 based on the print data and the register values of the setting data. The head controller 26 supplies multiple drive voltages to the inkjet heads 25 based on the register values of the setting data. The head controller 26 also generates control signals based on the print data. The head controller 26 supplies the drive voltages and control signals to the inkjet heads 25 to operate actuators in the inkjet heads 25, thereby ejecting ink from the nozzles of the inkjet heads 25 and forming an image on the print medium.
[0032] (First configuration example of head controller and inkjet head) 2 and 3, a first configuration example of the head controller 26 and inkjet head 25 of the liquid ejection device 10 will be described. Fig. 2 is a block diagram showing the first configuration example of the head controller 26 of the liquid ejection device 10. Fig. 3 is a block diagram showing the first configuration example of the inkjet head 25 of the liquid ejection device 10.
[0033] (head controller) The head controller 26 has a bus bridge 261, a setting value data buffer 262, a print data buffer 263, a control signal generation unit 264, and a drive control unit 265. The drive control unit 265 has a setting value data transfer unit 266, a print data transfer unit 267, and a control signal transfer unit 268.
[0034] The setting value data is input from the system bus 27 to the setting value data buffer 262 via the bus bridge 261. The setting value data buffer 262 temporarily stores the setting value data, performs necessary processing on the setting value data as appropriate, and outputs the setting value data to a setting value data transfer unit 266 of the drive control unit 265. The setting value data transfer unit 266 transfers the setting value data to the inkjet head 25.
[0035] Print data is input from system bus 27 to print data buffer 263 via bus bridge 261. Print data buffer 263 temporarily stores the print data, processes it as needed, and outputs it to print data transfer unit 267 of drive control unit 265. Print data transfer unit 267 transfers the print data to inkjet head 25.
[0036] The control signal generation unit 264 generates a control signal for the inkjet head 25 and outputs it to a control signal transfer unit 268 of the drive control unit 265. The control signal includes a clock signal for determining operation timing, etc. The control signal generation unit 264 also generates a drive voltage to be supplied to the inkjet head 25 and outputs it to the control signal transfer unit 268 of the drive control unit 265. The control signal transfer unit 268 transfers the control signal and drive voltage to the inkjet head 25.
[0037] (inkjet head) The inkjet head 25 has a driver IC 251 and an actuator group 256. The actuator group 256 has a plurality of actuators. Each actuator is a driving element that expands and contracts a pressure chamber that contains ink, and ejects ink droplets from a nozzle that communicates with the pressure chamber. For example, each actuator is a piezoelectric driving element made of PZT (lead zirconate titanate).
[0038] The driver IC 251 is a drive circuit for the inkjet head 25. More specifically, the driver IC 251 is a drive circuit that drives the actuator group 256. The driver IC 251 has a drive signal generation circuit 252 and a data processing circuit 255. The drive signal generation circuit 252 has a drive waveform generation circuit 253 and an analog switch circuit 254.
[0039] The drive signal generation circuit 252 receives set value data from the set value data transfer unit 266. The data processing circuit 255 receives print data from the print data transfer unit 267, and receives a control signal and a drive voltage from the control signal transfer unit 268. The data processing circuit 255 supplies the drive voltage to the drive signal generation circuit 252. The data processing circuit 255 also generates a control signal for the drive signal generation circuit 252 based on the print data and the control signal, and outputs the control signal to the drive signal generation circuit 252. Under the control of the data processing circuit 255, the drive signal generation circuit 252 generates an analog drive signal from the set value data input from the set value data transfer unit 266, and outputs the drive signal to the actuator group 256.
[0040] More specifically, the analog switch circuit 254 has a plurality of switch elements, and the data processing circuit 255 supplies drive voltages of a plurality of levels to the plurality of switch elements in the analog switch circuit 254. The drive waveform generation circuit 253 generates a digital drive waveform in accordance with the set value data and print data, and outputs the drive waveform to the analog switch circuit 254. The analog switch circuit 254 generates an analog drive signal by selectively turning on one of a plurality of switch elements to which different drive voltages are supplied in accordance with the input digital drive waveform. The driver IC 251 outputs the drive signal to the actuator group 256.
[0041] Each actuator of the actuator group 256 operates in accordance with a drive signal input from the driver IC 251, expanding and contracting a pressure chamber that contains ink, and ejecting ink droplets from the nozzle.
[0042] (Second configuration example of head controller and inkjet head) A second configuration example of the head controller 26 and inkjet head 25 of the liquid ejection device 10 will be described below with reference to Figures 4 and 5. Figure 4 is a block diagram showing a second configuration example of the head controller 26 of the liquid ejection device 10. Figure 5 is a block diagram showing a second configuration example of the inkjet head 25 of the liquid ejection device 10. In Figures 4 and 5, components with the same reference numerals as those shown in Figures 2 and 3 are similar components, and detailed description thereof will be omitted. The following description will focus on the differences.
[0043] (head controller) The head controller 26 has a bus bridge 261, a setting value data buffer 2621, a print data buffer 263, a control signal generation unit 264, and a drive control unit 2651. The drive control unit 2651 has a drive waveform generation circuit 2661, a print data transfer unit 267, and a control signal transfer unit 268.
[0044] The setting value data is input from the system bus 27 via the bus bridge 261 to the setting value data buffer 2621. The setting value data buffer 2621 temporarily stores the setting value data, performs necessary processing on the setting value data as appropriate, and outputs the setting value data to the drive waveform generation circuit 2661 of the drive control unit 2651. The drive waveform generation circuit 2661 generates a digital drive waveform in accordance with the setting value data and outputs the drive waveform to the inkjet head 25.
[0045] (inkjet head) The inkjet head 25 has a driver IC 2511 and an actuator group 256. The actuator group 256 has a plurality of actuators. Each actuator is a driving element that expands and contracts a pressure chamber that contains ink, and ejects ink droplets from a nozzle that communicates with the pressure chamber.
[0046] The driver IC 2511 is a drive circuit for the inkjet head 25. More specifically, the driver IC 2511 is a drive circuit that drives the actuator group 256. The driver IC 2511 has an analog switch circuit 2521 and a data processing circuit 2551. The analog switch circuit 2521 receives a digital drive waveform from a drive waveform generation circuit 2661. The data processing circuit 2551 receives print data from a print data transfer unit 267 and a control signal and a drive voltage from a control signal transfer unit 268. The data processing circuit 2551 supplies a drive voltage to the analog switch circuit 2521. More specifically, the analog switch circuit 2521 has multiple switch elements, and the data processing circuit 2551 supplies drive voltages of multiple levels to the multiple switch elements in the analog switch circuit 2521. The data processing circuit 2551 also generates a control signal for the analog switch circuit 2521 based on the print data and the control signal, and outputs the control signal to the analog switch circuit 2521. The analog switch circuit 2521 , under the control of the data processing circuit 2551 , generates an analog drive signal from the digital drive waveform input from the drive waveform generation circuit 2661 , and outputs the drive signal to the actuator group 256 .
[0047] Specifically, the analog switch circuit 2521 generates an analog drive signal by selectively turning on one of a plurality of switch elements to which different drive voltages are supplied. The driver IC 2511 outputs the drive signal to the actuator group 256.
[0048] Each actuator of the actuator group 256 operates in accordance with a drive signal input from a driver IC 2511, expanding and contracting a pressure chamber that contains ink, and ejecting ink droplets from the nozzle.
[0049] (Setting value data selection using conventional methods) The selection of set value data according to the conventional method is carried out as follows.
[0050] First, the inkjet head 25 is driven by the basic drive waveform to eject ink and form an image on the print medium.
[0051] Next, the ink ejection is evaluated based on the size, speed, shape, etc. of the ejected ink droplets, and on the image formed on the printing medium, such as resolution, color reproducibility, clarity, and dot position accuracy.
[0052] Next, the evaluation results are checked. For example, the evaluation results are checked by converting each of the above parameters into a numerical value and comparing the numerical value with a threshold value. For example, if the numerical value of each parameter is found to be better than the threshold value, the evaluation result is deemed OK, and if not, the evaluation result is deemed NG.
[0053] If the evaluation result is NG, the drive waveform is reselected, the inkjet head 25 is driven with the reselected drive waveform to eject ink, an image is formed, and the ink ejection is evaluated. This series of operations is repeated until the evaluation result is OK.
[0054] If the evaluation result is OK, the drive waveform at that time is recognized as the target drive waveform, and the setting value data that generates this drive waveform is selected as the target setting value data.
[0055] (Functional configuration of the driving waveform providing system) Next, the functional configuration of the drive waveform providing system 50 will be described with reference to Fig. 6. Fig. 6 is a block diagram showing the functional configuration of the drive waveform providing system 50 according to an embodiment. The drive waveform providing system 50 is configured from a server and the like on the cloud. In other words, the drive waveform providing system 50 can also be said to be a drive waveform providing server.
[0056] The drive waveform providing system 50 receives information from the external terminal 30 via the cloud, creates response information in response to the received information received from the external terminal 30, and provides the response information to the external terminal 30 via the cloud.
[0057] In one example, the external terminal 30 is a PC 31 that controls the liquid ejection device 10. In this case, a user operating the PC 31 sends a request to the driving waveform providing system 50, for example, by HTTPS communication, through a user interface screen (UI screen) of a web application (for example, a web browser) displayed on the screen of the PC 31, and receives a response from the driving waveform providing system 50. The UI screen of the web application is created using, for example, HTML, CSS, JavaScript (registered trademark), etc.
[0058] In another example, the external terminal 30 is a control server 32 that controls the liquid ejection device 10. In this case, the control server 32 sends a request to the drive waveform providing system 50 using an API published as a web API, and receives a response from the drive waveform providing system 50.
[0059] The driving waveform providing system 50 includes a firewall 51, a router 52, an authentication server 54, a cache server 55, a web server 56, a gateway 57, a web API server 58, a database server 59, and a database 60. In the drawings, the database is abbreviated as "DB." The abbreviation "DB" is not limited to that shown in FIG. 6.
[0060] The firewall 51 is the first entrance for access from the external terminal 30 to the driving waveform providing system 50, and is responsible for restrictions using a whitelist, port management, etc. The firewall 51 also functions to block attacks such as SQL injection from the outside.
[0061] In response to access from the external terminal 30, the router 52 is responsible for setting and monitoring routes between the web server 56 and the web API server 58.
[0062] The authentication server 54 is responsible for session management, token management, and various authentication functions (user authentication, API authentication), and securely stores authentication keys and manages and grants access rights after authentication.
[0063] The web server 56 provides a front-end service for the web service, and handles displaying screens on the web browser for users and communication with the waveform providing service.
[0064] The cache server 55 is located in front of the web server 56 and prevents the web server 56 from stopping due to a large amount of access as a countermeasure against DDoS (Distributed Denial of Service) attacks, etc. The combination of the web server 56, cache server 55 and domain name server is called a CDN (Content Delivery Network), and is one countermeasure against DDoS attacks.
[0065] Even with the above measures in place, it is difficult to detect "spoofing." The gateway 57 acts as a checkpoint to protect against such threats. The gateway 57 separates the drive waveform providing system 50 into a public network that can be accessed from outside and a private network that cannot be accessed directly, and acts as a bridge between them. The gateway 57 also checks the details of communication to prevent "spoofing."
[0066] The web API server 58 is accessed via an access route that is session-managed and token-managed by the authentication server 54, router 52, etc. Each function is called via screen operations from the user's web browser or via the API, and the function cooperates with the database server 59 in the background, returning the execution results of each function to the user.
[0067] The database 60 includes databases for each server (authentication server 54, web server 56, web API server 58), etc., and stores various data. The database server 59 manages the database 60. The database server 59 exchanges data in cooperation with each server, etc., and performs data management, user management, coefficient management, operation log management, etc. The database server 59 also provides data maintenance functions for each database to users with administrator privileges.
[0068] The firewall 51 and router 52 operate in cooperation with each other. For convenience, the firewall 51 and router 52 will be collectively referred to as the firewall router 53 below. An example of the configuration of the firewall router 53 is shown in Figure 7. The firewall router 53 has an application firewall function and a function to implement SQL injection countermeasures. The firewall router 53 also has a firewall function, and uses a whitelist, for example, to eliminate unauthorized access and attacks. The firewall router 53 also has a function to perform route management and port management.
[0069] An example configuration of the authentication server 54 is shown in FIG. 8. The authentication server 54 has a user authentication function. The authentication server 54 performs user authentication using, for example, a user ID and password. The authentication server 54 also has authentication information. The authentication information includes, for example, an API authentication key and database authentication information. The authentication server 54 also has a session management function and a token management function.
[0070] The authentication server 54 receives login information for the external terminal 30 from the firewall router 53, and permits login for authorized external terminals 30 through cooperation between the login function and a whitelist that holds information on authorized external terminals 30. Furthermore, for new external terminals 30, the authentication server 54 requests input of necessary information using the login function, identifies the access source domain, and permits login after registering the necessary information and the access source domain in the whitelist. The authentication server 54 outputs the authentication result to the firewall router 53.
[0071] The authentication server 54 allows users with administrator privileges to perform operations that are authorized by the administrator, such as registering users in the user database and accessing each database. After logging in, the authentication server 54 checks the input serial number of the inkjet head against the customer database and serial number database.
[0072] An example configuration of the web server 56 is shown in FIG. 9. The web server 56 has a web server function and performs front-end control. The front-end control is performed using, for example, JavaScript, HTML5, and CSS. The web server 56 also has a CDN as a countermeasure against DDoS attacks. The CDN is configured to include a cache server 55.
[0073] 10 shows an example of the configuration of the gateway 57. The gateway 57 includes an internet gateway, a NAT (Network Address Translation) gateway, and a web API gateway.
[0074] An example configuration of the web API server 58 is shown in Figure 11. The web API server 58 has a drive waveform providing function. The web API server 58 operates as a back-end API. The web API server 58 also has an ink temperature and viscosity calculation engine, which executes calculations of ink temperature and viscosity. The web API server 58 also has a drive waveform estimation algorithm, which estimates drive waveforms, calculates setting value data, and creates register data. For example, the ink temperature and viscosity calculation engine and drive waveform estimation algorithm are configured as programs.
[0075] FIG. 12 shows an example configuration of the database server 59. The database server 59 operates in cooperation with the web API server 58 and has a data management function, a data update function, and a user management function under the control of the web API server 58. The data management function, the data update function, and the user management function are executed using, for example, SQL (Structured Query Language). The database server 59 provides the data update function and the user management function to users with administrator privileges. The database server 59 also operates in cooperation with each server (the authentication server 54, the web server 56, and the web API server 58) and controls the database 60. The database 60 has a coefficient database, a serial number database, a customer database, master data, a user database, an operation log database, a check database, and the like, as dedicated databases for each server. These databases, etc., are configured, for example, by an RDB (Relational Database).
[0076] The web API server 58 receives parameters, including the inkjet head 25 usage conditions and ink physical property values, from the logged-in and authenticated external terminal 30. The web API server 58 calculates the ink temperature and viscosity from the usage conditions and physical property values using an ink temperature and viscosity calculation engine and a dedicated database. The web API server 58 also estimates the drive waveform of the inkjet head 25 using a drive waveform estimation algorithm based on data analysis. The drive waveform estimation algorithm estimates the drive waveform using input variables such as the ink type, ink specific gravity, and inkjet head type. The web API server 58 also provides setting value data for generating the estimated drive waveform. The web API server 58 also corrects the setting value data based on the ink viscosity or temperature. The web API server 58 also converts the setting value data to create register data.
[0077] In the driving waveform providing system 50 configured in this manner, the firewall 51 and the router 52, as well as the authentication server 54, the cache server 55, and the gateway 57, function as a communication unit that communicates with the external terminal 30 via the cloud. In addition, the web server 56 and the web API server 58 work in cooperation with the database server 59 and the database 60 to create response information in response to received information from the external terminal 30 and function as a response unit that provides the response information to the external terminal 30.
[0078] The external terminal 30 transmits to the driving waveform providing system 50 parameters including the usage conditions of the inkjet head 25 of the liquid ejection device 10 and the physical properties of the ink, as well as a request for providing a driving waveform.
[0079] If the access from the external terminal 30 is appropriate, the drive waveform providing system 50 receives parameters via a firewall 51 or the like, calculates a drive waveform (setting value data, register data) for generating a drive waveform for the inkjet head 25 in the web API server 58, and transmits the calculated drive waveform (setting value data, register data) to the external terminal 30 via the firewall 51 or the like.
[0080] When the external terminal 30 is a PC 31 that controls the liquid ejection device 10, the web server 56 receives parameters including the usage conditions of the inkjet head 25 and the physical property values of the ink. The web server 56 outputs the parameters to the web API server 58 via the gateway 57.
[0081] The web API server 58 calculates, from the parameters, a drive waveform (setting value data, register data) for generating a drive waveform for the inkjet head 25. The web API server 58 also outputs the drive waveform (setting value data, register data) to the web server 56. The web server 56 creates a user interface that reflects the drive waveform (setting value data, register data), and sends it to the PC 31 via the firewall 51, etc.
[0082] The PC 31 transmits the received drive waveform (setting value data, register data) to the liquid ejection device 10 automatically or under command of the user of the PC 31. The liquid ejection device 10 receives the drive waveform (setting value data, register data) via the communication interface 16 and stores it in the memory 13. When setting (configuring) the inkjet head 25, the processor 12 reads the drive waveform (setting value data, register data) from the memory 13 and transmits it to the head controller 26.
[0083] When the external terminal 30 is the control server 32 that controls the liquid ejection device 10, the web API server 58 receives parameters including the usage conditions of the inkjet head 25 and the physical property values of the ink.
[0084] The web API server 58 calculates a drive waveform (setting value data, register data) for generating a drive waveform for the inkjet head 25. The web API server 58 transmits the drive waveform (setting value data, register data) to the control server 32 via the firewall 51 or the like.
[0085] The control server 32 transmits the received drive waveform (setting value data, register data) to the liquid ejection device 10. The liquid ejection device 10 receives the drive waveform (setting value data, register data) via the communication interface 16 and stores it in the memory 13. When setting (configuring) the inkjet head 25, the processor 12 reads the drive waveform (setting value data, register data) from the memory 13 and transmits it to the head controller 26.
[0086] (Hardware configuration of the driving waveform providing system) The driving waveform providing system 50 may be configured by a computer. Hereinafter, the hardware configuration of a computer 70 that may configure the driving waveform providing system 50 will be described with reference to Fig. 13. Fig. 13 is a block diagram showing an example of the hardware configuration of the driving waveform providing system 50.
[0087] The computer 70 includes a processor 71 , a read only memory (ROM) 72 , a random access memory (RAM) 73 , an auxiliary storage device 74 , an input device 75 , an output device 76 , and a communication device 77 .
[0088] The processor 71, ROM 72, RAM 73, auxiliary memory device 74, input device 75, output device 76, and communication device 77 are electrically connected to each other via a bus 78, and are capable of sending and receiving data and information via the bus 78.
[0089] The processor 71 is configured by a general-purpose hardware processor including, for example, a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), etc. The processor 71 controls the ROM 72, the RAM 73, the auxiliary storage device 74, the input device 75, the output device 76, and the communication device 77 as a whole.
[0090] The ROM 72 is a non-volatile memory that constitutes part of the main storage device. The ROM 72 non-temporarily stores a startup program required when the processor 71 is started. The processor 71 starts up by executing a program in the ROM 72. The ROM 72 is configured, for example, with an EPROM (Erasable Programmable Read Only Memory), and stores various startup settings in addition to the startup program.
[0091] The RAM 73 is a volatile memory that constitutes part of the main storage device. The RAM 73 temporarily stores programs required for processing by the processor 71 and data required for executing the programs. The processor 71 executes the programs in the RAM 73 to perform operations on the data in the RAM 73 and store the results of the operations in the RAM 73.
[0092] The auxiliary storage device 74 is configured by a non-volatile memory such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The auxiliary storage device 74 non-temporarily stores programs to be executed by the processor 71 and data required for executing the programs. The processor 71 loads the programs and data in the auxiliary storage device 74 into the RAM 73 and executes the programs to perform various functions.
[0093] For example, the input device 75 is configured with a keyboard, a mouse, a touch panel, etc. The input device 75 is not limited to this and may be configured with any other input device. For example, the output device 76 is configured with a display, etc. The output device 76 is not limited to this and may be configured with any other output device. The input device 75 and the output device 76 may be configured with an input / output device having the functions of both devices. For example, the input / output device is configured with a tablet, a disk drive, etc.
[0094] The communication device 77 has a function of transmitting and receiving data and information to and from the external terminal 30. For example, the communication device 77 has a receiving device and a transmitting device.
[0095] The program non-temporarily stored in the auxiliary storage device 74 is provided to the computer via, for example, a computer-readable recording medium on which the program is non-temporarily recorded. Such a recording medium is called a non-temporarily computer-readable recording medium. For example, the non-temporarily computer-readable recording medium is a disk such as a flexible disk, an optical disk (CD-ROM, CD-R, DVD-ROM, DVD-R, etc.), a magneto-optical disk (MO, etc.), or a semiconductor memory.
[0096] The program non-temporarily stored in the auxiliary storage device 74 is read into the auxiliary storage device 74 via a disk drive, for example, if the recording medium is a disk, and then non-temporarily stored therein via the input device 75. Alternatively, the program may be stored in a server on a network, downloaded from the server, and non-temporarily stored in the auxiliary storage device 74.
[0097] Upon startup, the processor 71 executes a program in the ROM 72 and loads and starts the OS into the RAM 73. Under control of the OS, the processor 71 monitors input instructions, connections to external devices, and the like. Under control of the OS, the processor 71 also sets up a program area and a data area in the RAM 73. In response to an instruction to start the driving waveform providing system 50, the processor 71 loads the driving waveform providing program from the auxiliary storage device 74 into the program area of the RAM 73, and loads data required for executing the driving waveform providing program from the auxiliary storage device 74 into the data area of the RAM 73. The processor 71 calculates data in the data area in accordance with the driving waveform providing program and writes the calculation results to the data area. Through these operations, the processor 71, RAM 73, and auxiliary storage device 74 work together to perform the functions of the firewall 51, router 52, authentication server 54, cache server 55, web server 56, gateway 57, web API server 58, database server 59, and database 60 of the driving waveform providing system 50.
[0098] The external terminal 30 may also be configured as a computer. The hardware configuration of the external terminal 30 is similar to the hardware configuration of the computer 70.
[0099] (Example of operation of the driving waveform providing system) Next, an example of the operation of the driving waveform providing system 50 will be described with reference to Figs. 14 to 19. Figs. 14 to 19 are flowcharts showing the processing flow of an example of the operation of the driving waveform providing system 50. In detail, the flowcharts show an example from accessing the driving waveform providing system 50 to obtaining register data. For convenience, the description here will be given assuming that the external terminal 30 is a PC 31. In the flowcharts of Figs. 14 to 19, the processing on the external terminal 30 (PC 31 and user) side is shown on the left, and the processing on the driving waveform providing system 50 side is shown on the right. In Figs. 14 to 19, the driving waveform providing system is abbreviated as "system."
[0100] When a user inputs an instruction to start using the driving waveform providing system 50 into the PC 31, the PC 31 sends a request to start using the driving waveform providing system 50. In ACT 11, the driving waveform providing system 50 uses the firewall 51 to determine the source of the access, and in ACT 12, checks the determination result. The firewall 51 consults a whitelist and permits access only to specific addresses registered on the whitelist.
[0101] If the access permission is not permitted (NG in ACT 12), the driving waveform providing system 50 instructs the PC 31 to display an access error. In ACT 13, the PC 31 displays the access error on the screen.
[0102] If access is permitted (if it is permitted in ACT12), the driving waveform providing system 50 performs an authorization role determination for the access source of the specific address for which access is permitted using the database server 59 in ACT14, and checks the determination result in ACT15.
[0103] For example, the database server 59 consults the authorized roles in the user database and determines whether the access source of a specific address is role 1 (internal access) or role 2 (external access). The driving waveform providing system 50 treats users determined to be role 2 as "users." Furthermore, for users determined to be role 1, the driving waveform providing system 50 consults the user information in the user database via the database server 59 and treats users who have been granted administrator privileges as "administrators" and users who have not been granted administrator privileges as "internal users."
[0104] Next, the driving waveform providing system 50 creates a UI screen for login processing using the web server 56. Hereinafter, the UI screen for login processing will be abbreviated as login screen. Next, the driving waveform providing system 50 provides the login screen to the PC 31 and instructs it to display the login screen. The PC 31 receives the login screen from the driving waveform providing system 50, and in ACT16 displays the login screen to prompt the user to perform the login processing.
[0105] When the user performs the login process, in ACT17, the driving waveform providing system 50 inquires about the user database using the authentication server 54 to perform user authentication process, and in ACT18, checks the authentication result.
[0106] A user database stores, for example, user IDs and passwords associated with those user IDs. Both user IDs and passwords are unique identification information. User IDs and passwords are associated one-to-one.
[0107] If the user ID and password entered on the login screen match the user ID and password stored in the user database, the authentication server 54 determines that the authentication result is OK; if they do not match, the authentication result is NG.
[0108] If the authentication result is NG (NO in ACT18), the driving waveform providing system 50 instructs the PC 31 to display an error message. In ACT19, the PC 31 displays the error message on the screen and waits for confirmation from the user. When the user confirms the error message, the PC 31 returns to the processing of ACT16 and displays the login screen again to prompt the user to perform the login process.
[0109] If the authentication result is OK (YES in ACT18), the driving waveform providing system 50 permits the login and creates a UI screen for the home screen of the driving waveform providing web service via the web server 56. Hereinafter, the UI screen for the home screen of the driving waveform providing web service will be abbreviated as the home screen. Next, the driving waveform providing system 50 provides the home screen to the PC 31 and instructs it to display the home screen. In ACT20, the PC 31 displays the home screen and prompts the user to select a desired service.
[0110] Figure 20 shows an example of a home screen. The home screen is an interface that accepts the selection of the service desired by the user. The home screen includes a menu icon, a waveform provision icon, a user management option, and a master management option. The user management option includes a user management icon and an API issuance management icon. The master management option includes a coefficient DB icon, an S / N_DB icon, and a head registration icon. Clicking or pressing each icon displays the corresponding UI screen.
[0111] For example, when you click the menu icon, various menus will pop up. When you click the waveform provision icon, it will switch to the UI screen for the waveform provision service. When you click the user management icon, it will switch to the UI screen for user management. When you click the API issuance management icon, it will switch to the UI screen for API issuance management. When you click the coefficient DB icon, it will switch to the UI screen for coefficient DB management. When you click the S / N_DB icon, it will switch to the UI screen for S / N_DB management. When you click the head registration icon, it will switch to the UI screen for head registration management.
[0112] The home screen shown in Fig. 20 is the screen that is displayed on the screen of PC 31 when the administrator logs in. On this home screen, the display of the management menu (user management, API issuance management, coefficient DB management, S / N_DB management, and head registration management) is enabled. On the other hand, on the home screen that is displayed on the screen of PC 31 when the user logs in, the display of the management menu is disabled, and the management menu is not displayed.
[0113] FIG. 21 shows an example of a UI screen for managing the coefficient DB. Hereinafter, the UI screen for managing the coefficient DB will be abbreviated as the coefficient DB management screen. The coefficient DB management screen is an interface that allows an administrator to manage the coefficient database. On the coefficient DB management screen, it is possible to instruct the driving waveform providing system 50 to check and register registered contents, and to register and download all at once in file format.
[0114] In the following description, the user is assumed to be a user. When the user clicks or presses the drive waveform provision icon on the home screen displayed on the screen of PC 31 in ACT20, PC 31 sends a request for providing a drive waveform to drive waveform providing system 50. In response, drive waveform providing system 50 creates a UI screen for inputting the serial number of inkjet head 25 via web server 56. Hereinafter, the UI screen for inputting the serial number of inkjet head 25 will be abbreviated as the serial number input screen. Next, drive waveform providing system 50 provides the serial number input screen to PC 31 and instructs it to display the serial number input screen. In ACT21, PC 31 displays the serial number input screen on its screen to prompt the user to input the serial number.
[0115] 22 shows the serial number input screen. The serial number input screen is an interface that accepts input of the serial number of the inkjet head 25. The serial number input screen includes a serial number input field, an OK button, and a Cancel button.
[0116] When the user presses the Cancel button, the PC 31 transmits a request to stop providing the drive waveform to the drive waveform providing system 50, and the drive waveform providing system 50 stops processing the drive waveform providing service.
[0117] When the user enters the serial number in the serial number input field and presses the OK button, the driving waveform providing system 50, in ACT23, queries the serial number database using the authentication server 54 to perform a serial number verification process, and in ACT24, checks the verification results.
[0118] The serial number matching process verifies whether the user of PC 31 is a legitimate user who is authorized to use the drive waveform providing system 50. More specifically, the serial number database and customer database are used to check whether the customer linked to the serial number matches the customer linked to the user ID.
[0119] The serial number database stores serial number linking information that links the serial numbers of the inkjet heads 25 with customers. The serial number linking information links serial numbers with customers on a one-to-one basis. A customer is a specific user who is authorized to use the driving waveform providing system 50, such as a legitimate purchaser of the inkjet head 25.
[0120] The customer database stores user ID linking information that links user IDs with customers. The user ID linking information links user IDs with customers on a one-to-one basis.
[0121] The serial number linking information is registered in the serial number database when the inkjet head 25 is purchased. The user ID linking information is newly registered or added and updated in the customer database when the inkjet head 25 is purchased.
[0122] If the customer linked to the serial number matches the customer linked to the user ID, the authentication server 54 determines that the user of the driving waveform providing system 50 is a legitimate user and the matching result is OK, and if the customer linked to the serial number does not match the customer linked to the user ID, the authentication server 54 determines that the user of the driving waveform providing system 50 is an unauthorized user and the matching result is NG.
[0123] If the collation result is NG (NO in ACT24), the driving waveform providing system 50 determines in ACT25 whether the collation has failed three or more times.
[0124] If the matching fails less than three times (if NO in ACT25), the driving waveform providing system 50 instructs the PC 31 to display an error message. In ACT26, the PC 31 displays the error message on the screen and waits for confirmation from the user. When the user confirms the error message, the PC 31 returns to the processing of ACT21 and again displays the serial number input screen on the screen to prompt the user to input the serial number.
[0125] If the verification fails three or more times (if YES in ACT25), the driving waveform providing system 50 instructs the PC 31 to display an error message. The error message at this time includes, for example, information that the verification of the serial number has failed three times and therefore the driving waveform providing service will be forcibly terminated.
[0126] If the serial number verification result is OK (OK in ACT24), the driving waveform providing system 50 creates a UI screen for inputting parameters for providing a driving waveform using the web server 56. Hereinafter, the UI screen for inputting parameters for providing a driving waveform will be abbreviated as the parameter input screen. Next, the driving waveform providing system 50 provides the parameter input screen to the PC 31 and instructs the PC 31 to display the parameter input screen. The parameter input screen is an interface that accepts input of parameters including the operating conditions of the inkjet head 25 and the physical properties of the ink. In ACT28, the PC 31 displays the parameter input screen that accepts parameter input on the screen and prompts the user to input the parameters.
[0127] The parameter input screen is shown in Figure 23. The parameter input screen includes a message display area, a head selection field, an AL rank selection field, an ink selection field, an operating conditions selection field, an ink temperature and viscosity input field, a drive voltage display field, a waveform creation button, a register data creation button, and a head and waveform type and waveform value display field.
[0128] The head selection field includes a head type selection field and a serial number display field. The head type selection field allows the head type to be selected using a pull-down function. The serial number display field displays the serial number entered on the serial number input screen displayed in ACT21.
[0129] The AL rank field includes a database selection field, a surface selection field, and an AL rank selection field. The database selection field has options (S / N_DB, Coefficient DB) for selecting whether to use the serial number database or the coefficient database, and either the S / N_DB or the coefficient DB can be selected using a radio button or option button. The surface selection field allows the selection of a surface using a pull-down function. The AL rank selection field allows the selection of an AL rank using a pull-down function.
[0130] When selecting the AL rank, selecting the serial number database applies the AL rank linked to the serial number. In other words, when "From S / N_DB" in Figure 23 is selected, the AL rank linked to the serial number is applied. Since the AL rank of the inkjet head 25 is measured before shipping, the AL rank of the inkjet head 25 linked to the serial number is determined before shipping. The AL rank of the inkjet head 25 linked to the serial number is managed in the S / N_DB.
[0131] AL (acoustic length) is half the natural vibration period of the ink in the pressure chamber of the inkjet head 25, and is also called the pressure propagation time. AL has a different value depending on the inkjet head 25. The inkjet heads are ranked according to the AL value, and an AL rank is assigned.
[0132] The ink selection field includes an ink type selection field and an ink specific gravity input field. The ink type field allows you to select the ink type using a pull-down function. The ink specific gravity input field allows you to directly input the ink specific gravity value. In addition, the ink specific gravity input field displays a message prompting you to input the recommended range (0.70 to 3.0) in advance.
[0133] The usage condition selection field includes a drop number selection field and a frequency input field. The drop number selection field allows the drop number to be selected using a pull-down function. The drop number selection field may allow the drop number value to be directly input. The frequency input field allows the drive frequency value to be directly input. Furthermore, the frequency input field displays a message in advance prompting the user to input a value within the recommended range (1.0 to 30.0).
[0134] The ink temperature and viscosity input field includes a temperature and viscosity selection field, an input and display field, and a calculation and input field. The temperature and viscosity selection field has options for recommended temperature, desired temperature, and desired viscosity, and users can select one of the options using radio buttons or option buttons. The input and display field changes its display content depending on the selection in the temperature and viscosity selection field. The calculation and input field includes a calculation and input selection field and an ink temperature and viscosity calculation input button. The calculation and input selection field has options for either value input or value calculation (value input, value calculation), and users can select either value input or value calculation using radio buttons or option buttons. The ink temperature and viscosity calculation input button is a UI element that confirms the selection in the temperature and viscosity selection field and the input in the input and display field, and instructs the execution of a calculation of the ink temperature, viscosity, or both, based on those selections and the input values.
[0135] In the example of Figure 23, in response to the recommended temperature being selected in the temperature / viscosity selection field, the input / display field displays the ink temperature at a viscosity of 10 mPa·s. In this case, the user can simply click the ink temperature / viscosity calculation input button to execute the calculation without entering any information. As a result, the calculation result is displayed in the display field for the ink temperature at a viscosity of 10 mPa·s.
[0136] Also, for example, if a desired temperature is selected in the temperature / viscosity selection field, the following input / display fields are displayed: a display field for the ink temperature at a viscosity of 10 mPa·s, a display field for the desired ink temperature, and a display field for the viscosity at the desired ink temperature. The user enters the ink temperature in the input field for the desired ink temperature and clicks the ink temperature / viscosity calculation input button to instruct the execution of the calculation. As a result, the calculation results are displayed in the display field for the ink temperature at a viscosity of 10 mPa·s and the display field for the viscosity at the desired ink temperature.
[0137] The drive voltage display field can display the drive voltage value. The waveform creation button is a UI element that instructs the drive waveform providing system 50 to provide drive waveform setting value data. The register data creation button is a UI element that instructs the drive waveform providing system 50 to provide register data for the drive waveform setting value data.
[0138] The head waveform type and waveform value display field displays the waveform type and its elements estimated based on various parameters, and the pulse value of the waveform value calculated based on various parameters.
[0139] The user inputs ink physical property values and inkjet head 25 usage conditions from the parameter input screen shown in Fig. 23. The ink physical property values and inkjet head 25 usage conditions also include values related to printing conditions and print quality, and are not limited to those shown on the parameter input screen. In other words, the parameter input screen is an example of a UI screen and may be changed as appropriate.
[0140] 23, the PC 31 transmits the parameters to the driving waveform providing system 50. In response to this, the driving waveform providing system 50, in ACT30, acquires the input parameters for the parameter input screen using the web server 56 and outputs them to the web API server 58, which then checks the input parameters. The input parameters checked in ACT30 are the input parameters for the ink selection field and the usage condition selection field.
[0141] If the check result of the input parameters is NG (NG in ACT30), the web server 56 corrects the parameters to values within the input restriction range in ACT31. The web server 56 also updates the parameter input screen based on the corrected parameters. The web server 56 also updates the parameter input screen so that, for example, a message indicating that the parameters have been corrected is displayed in the message display area of the parameter input screen. The driving waveform providing system 50 provides the updated parameter input screen to the PC 31 and instructs the PC 31 to display the updated parameter input screen. The PC 31 displays the updated parameter input screen on the screen in ACT32.
[0142] If the input parameter check result is OK (OK in ACT30), the web server 56 does not update the parameter input screen, and the driving waveform providing system 50 does not issue any new instructions to the PC 31. Therefore, in ACT32, the PC 31 continues to display the parameter input screen that was displayed up to that point.
[0143] The drive waveform providing system 50 can also receive a request from the PC 31 to calculate the ink temperature and viscosity, calculate the ink temperature and viscosity in response, and return the calculation results to the PC 31.
[0144] In this case, in ACT 33, the user inputs the necessary parameters into the ink temperature and viscosity input fields on the parameter input screen shown in Fig. 23, selects, for example, recommended temperature and value calculation, and clicks or presses the ink temperature and viscosity calculation input button. This causes the PC 31 to send an instruction to execute the ink temperature and viscosity calculation to the driving waveform providing system 50. In response to this, in ACT 34, the driving waveform providing system 50 uses the web server 56 to check the input parameters for the parameter input screen.
[0145] If the input parameter check result is NG (NG in ACT34), the web server 56 updates the parameter input screen so that, for example, a message indicating that the input parameters in the ink temperature and viscosity input fields are inappropriate is displayed in the message display area of the parameter input screen. The drive waveform providing system 50 provides the updated parameter input screen to the PC 31 and instructs the PC 31 to display the updated parameter input screen. As a result, the PC 31 displays an error message in the message display area of the parameter input screen in ACT35 and prompts the user to re-input the parameters in ACT33 and re-click, i.e., re-press, the ink temperature and viscosity calculation input button.
[0146] If the input parameter check result is OK (NG in ACT34), in ACT36 the web API server 58 executes ink temperature and viscosity calculation, and in ACT37 checks whether an error has occurred in the ink temperature and viscosity calculation.
[0147] If an error occurs in the ink temperature / viscosity calculation (if YES in ACT37), the web server 56 updates the parameter input screen so that a message indicating that an error has occurred in the ink temperature / viscosity calculation is displayed in the message display area of the parameter input screen. The drive waveform providing system 50 provides the updated parameter input screen to the PC 31 and instructs the PC 31 to display the updated parameter input screen. As a result, the PC 31 displays an error message in the message display area of the parameter input screen in ACT35.
[0148] If no error occurs in the ink temperature and viscosity calculation (NO in ACT37), the web server 56 updates the parameter input screen so that the calculation results of the ink temperature and viscosity are displayed on the parameter input screen. The drive waveform providing system 50 provides the updated parameter input screen to the PC 31 and instructs the PC 31 to display the updated parameter input screen. As a result, the PC 31 displays the calculation results of the ink temperature and viscosity on the parameter input screen in ACT38.
[0149] In ACT 39, when the user clicks or presses the waveform creation button on the parameter input screen shown in FIG. 23, the PC 31 sends a waveform creation instruction to the drive waveform providing system 50. In response, in ACT 40, the drive waveform providing system 50, via the web server 56, acquires the waveform creation instruction and the input parameters for the parameter input screen, outputs them to the web API server 58, and the web API server 58 performs waveform estimation. The waveform estimation uses a waveform estimation algorithm that uses the input parameters for the parameter input screen as input variables to estimate setting value data and drive voltage for generating an appropriate drive waveform for the inkjet head 25. In the flowchart, the estimated setting value data and drive voltage are referred to as the estimated drive waveform and estimated drive voltage, respectively. The estimated setting value data, i.e., the estimated drive waveform, includes each element and each pulse value of the appropriate drive waveform.
[0150] The web API server 58 outputs the estimated drive waveform and estimated drive voltage to the web server 56, and the web server 56 updates the parameter input screen based on the estimated drive waveform and estimated drive voltage. The drive waveform providing system 50 provides the updated parameter input screen to the PC 31 and instructs the PC 31 to display the updated parameter input screen. The PC 31 displays the updated parameter input screen on the screen in ACT 41. As a result, the PC 31 displays the estimated drive waveform and estimated drive voltage on the screen in ACT 42. The estimated drive voltage is displayed in the drive voltage display field. The estimated drive waveform is displayed in the head waveform type and waveform value display fields.
[0151] In ACT43, when the user clicks or presses the register data creation button on the parameter input screen shown in Fig. 23, the PC 31 transmits an instruction to create register data to the driving waveform providing system 50. In response to this, the driving waveform providing system 50 performs one-time password processing using the authentication server 54 in ACT44.
[0152] That is, the driving waveform providing system 50 generates a one-time password using the authentication server 54 and transmits the one-time password in ACT45. The driving waveform providing system 50 also creates a UI screen for one-time password input processing using the web server 56. Hereinafter, the UI screen for one-time password input processing will be abbreviated as the one-time password input screen. Next, the driving waveform providing system 50 provides the one-time password input screen to the PC 31 and instructs it to display the one-time password input screen.
[0153] In ACT 46, when the PC 31 receives the one-time password, it notifies the user of the receipt of the one-time password. In addition, the PC 31 receives a one-time password input screen from the driving waveform providing system 50, and in ACT 47, it displays the one-time password input screen and prompts the user to input the one-time password.
[0154] Figure 24 shows the one-time password input screen. The one-time password input screen includes a one-time password input field, a reissue button, a send button, and a cancel button. When the user presses the cancel button, PC 31 sends a cancel instruction to driving waveform providing system 50, and driving waveform providing system 50 cancels processing of the waveform providing service. When the user presses the reissue button, PC 31 sends a request to reissue the one-time password to driving waveform providing system 50, and driving waveform providing system 50 processes the one-time password reissue. When the user enters the one-time password in the one-time password input field and presses the send button, PC 31 sends the one-time password to driving waveform providing system 50.
[0155] When the PC 31 transmits the one-time password to the driving waveform providing system 50, the driving waveform providing system 50 receives the one-time password, and the authentication server 54 performs a process of verifying the one-time password in ACT48, and performs authentication in ACT49.
[0156] If the authentication result is NG (NG in ACT49), the driving waveform providing system 50 instructs the PC 31 to display an error message. In ACT50, the PC 31 displays the error message on the screen.
[0157] If the authentication result is OK (OK in ACT49), the drive waveform providing system 50, in ACT51, uses the web API server 58 to perform register conversion on the estimated drive waveform, estimated drive voltage, etc. using a register conversion program. In the register conversion, the estimated drive waveform, estimated drive voltage, etc. are converted into register data for controlling the driver IC 251 mounted on the inkjet head 25. The register data is data that conforms to the format of the driver IC 251. In addition, the web API server 58 records a log of the register conversion in an operation log database.
[0158] Next, the driving waveform providing system 50 checks the register data in ACT 52 using the web API server 58, and confirms the check results in ACT 53. The register data is checked by a check mechanism to reconfirm that there are no problems with the input operating conditions (head type, etc.). The information to be checked is managed in a check DB. For example, it is checked whether the register data is outside the specification range of the inkjet head 25 being used. In one example, it is checked whether the driving voltage is outside the operating range. In another example, it is checked whether there are any restrictions on the setting values of the register data due to electrical restrictions of the inkjet head 25 being used.
[0159] If the confirmation result is NG (NO in ACT53), the driving waveform providing system 50 instructs the PC 31 to display an error message. In ACT54, the PC 31 displays the error message on the screen.
[0160] If the confirmation result is OK (OK in ACT53), the driving waveform providing system 50 performs encryption and compression processing on the register data file using the web API server 58 in ACT55. In the encryption and compression processing, the register data file is encrypted and compressed to create an encrypted compressed register data file, and a decompression password is generated for the encrypted compressed register data file. In addition, the web API server 58 records a log of the encryption and compression processing in the operation log database.
[0161] Furthermore, the driving waveform providing system 50 uses the web server 56 to create a UI screen for specifying the save destination of the encrypted compressed register data file. Hereinafter, the UI screen for specifying the save destination of the encrypted compressed register data file will be abbreviated as the save destination designation screen. Next, the driving waveform providing system 50 provides the save destination designation screen to the PC 31 and instructs it to display a login screen. The PC 31 receives the save destination designation screen from the driving waveform providing system 50, and in ACT 56 displays the save destination designation screen to prompt the user to save the encrypted compressed register data file.
[0162] In ACT57, when the user saves the encrypted compressed file of register data to a specified location, PC31 sends a notification of the save to driving waveform providing system 50. When the driving waveform providing system 50 receives the notification of the save from web server 56 in ACT58, it queries the operation log database in ACT59 and sends an email notification of the decompression password corresponding to the received notification of the save. That is, the driving waveform providing system 50 obtains the decompression password corresponding to the received notification of the save from the operation log database and sends it to PC31.
[0163] When the PC 31 receives the decompression password email in ACT60, it uses the received decompression password email to decompress the previously saved encrypted compressed register data file in ACT61, and acquires the register data.
[0164] Through this series of processes, the user is provided with register data of setting values for generating a drive waveform suitable for the inkjet head 25.
[0165] (effect) The drive waveform providing system 50 according to the embodiment receives parameters such as the operating conditions of the inkjet head 25 and the physical properties of the ink from the external terminal 30 via the cloud, calculates drive waveform data suitable for the inkjet head 25, and provides the drive waveform data to the external terminal 30 via the cloud. This allows the user of the external terminal 30 to receive drive waveform data suitable for the inkjet head 25 without having to perform ejection observation. This eliminates the need for ejection evaluation, thereby reducing evaluation costs. In other words, the drive waveform providing system 50 according to the embodiment can provide drive waveform data suitable for the inkjet head 25 with minimal effort and time. Furthermore, because register data is checked, setting value data can be provided more safely for the inkjet head 25 being used.
[0166] (others) The program executed by the driving waveform providing system according to the embodiment may be transferred in a state stored in an electronic device, or may be transferred in a state not stored in an electronic device. In the latter case, the program may be transferred via a network, or may be transferred in a state stored in a storage medium. The storage medium is a non-transitory tangible medium. The storage medium is a computer-readable medium. The storage medium may be in any form, such as a CD-ROM or a memory card, as long as it is capable of storing the program and is computer-readable.
[0167] Although the embodiments of the present invention have been described, they are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the inventions and their equivalents as defined in the claims. [Explanation of symbols]
[0168] 10...liquid ejection device, 11...controller, 12...processor, 13...memory, 14...display, 15...operation unit, 16...communication interface, 21...conveyor motor, 22...motor drive circuit, 23...pump, 24...pump drive circuit, 25...inkjet head, 26...head controller, 27...system bus, 28...power supply circuit, 30...external terminal, 31...PC, 32...control server, 50...drive waveform providing system, 51...firewall, 52...router, 53...firewall / router, 54...authentication server, 55...cache server, 56...web server, 57...gateway, 58...web API server, 59...database server, 60...database, 70...computer, 71...processor 261...bus bridge, 262...setting value data buffer, 263...print data buffer, 264...control signal generation unit, 265...drive control unit, 266...setting value data transfer unit, 267...print data transfer unit, 268...control signal transfer unit, 2521...analog switch circuit, 2551...data processing circuit, 2621...setting value data buffer, 2651...drive control unit, 2661...drive waveform generation circuit, 2511...IC driver.
Claims
1. A drive waveform providing system for providing drive waveform data for generating a drive waveform for an inkjet head, a communication unit that communicates with an external terminal via a cloud; a response unit that generates response information in response to reception information received by the communication unit from the external terminal and provides the response information to the external terminal via the communication unit; and The response unit a drive waveform estimation algorithm and a dedicated database for estimating a drive waveform of the inkjet head; permitting an administrator user to update the drive waveform estimation algorithm and the dedicated database; The user of the user is not permitted to update the drive waveform estimation algorithm and the dedicated database. Drive waveform providing system.
2. the response unit refers to the dedicated database for the received information on parameters including the physical properties of the liquid used and the usage conditions of the inkjet head, estimates the drive waveform using the drive waveform estimation algorithm, checks the drive waveform data, and provides it securely to the external terminal. The driving waveform providing system according to claim 1 .
3. the response unit provides the drive waveform data to the external terminal via an API. The driving waveform providing system according to claim 2 .
4. the response unit provides the drive waveform data to the external terminal that controls the inkjet head, the external terminal having a driver IC that outputs the drive waveform based on the drive waveform data. The driving waveform providing system according to claim 2 .
5. the response unit creates register data that is compatible with a format of the driver IC based on the drive waveform data, and provides the register data to the external terminal. The driving waveform providing system according to claim 4 .
Citation Information
Patent Citations
Drive waveform determination method, drive waveform determination program, liquid ejection device and drive waveform determination system
JP2022026566A