Device and method for dynamic generation of machine tool numerical controller software
By managing software function specifications and dynamically generating machine tool numerical controller software through module synthesis units, the fixed architecture problem of machine tool numerical controller software in the prior art is solved, and the dynamic generation of machine tool numerical controller software that can be flexibly combined and quickly relocated to the factory is realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-19
- Publication Date
- 2026-03-24
AI Technical Summary
The fixed architecture of existing machine tool numerical controller software results in strong hardware integration, which cannot be flexibly combined and deployed. Furthermore, the software needs to be recompiled when replacing hardware, increasing costs and wasting resources.
The system employs a software function specification management unit, a function module storage unit, and a function module synthesis unit. Function modules are described through text description files and their specifications are parsed to dynamically generate machine tool numerical controller software. The required modules are then confirmed and synthesized using the function module storage unit.
It enables flexible combination and rapid dynamic generation of numerical controller software for machine tools, reduces resource waste and costs during hardware replacement, and supports rapid relocation of factories during reconstruction in different locations.
Smart Images

Figure CN114385115B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of machine tools, in particular to a machine tool numerical controller software dynamic generation device and method. BACKGROUND
[0002] Global economic changes have led to an increase in the demand for rapid relocation and reconstruction of production plants. If numerical control machine tools (CNC machine tools) in the plant are to be relocated, the controller parameters must be reconfigured, and the processing program and processing setting parameters must be re-established, which requires a large amount of manpower and time.
[0003] With regard to the existing controller software architecture, the existing deficiencies include: the controller software is fixed, a few functions are adjusted using internal parameters or variables, the software storage space is large, and multiple control software is stored independently and completely, resulting in strong combination of machine tool numerical controller software and controller hardware, and the inability to flexibly combine and deploy. Once a decision is made to use a controller for a specific type of machine tool (e.g., a milling machine controller or a lathe controller), it cannot be changed.
[0004] Alternatively, if a numerical control machine tool originally purchases a three-axis controller, it must purchase a complete new five-axis controller when it wants to expand to five axes. This consumes a large amount of money, resulting in increased costs.
[0005] In addition, even if the numerical control machine tool software is cloud-based, it will be complete software in the form of a virtual machine, i.e., a three-axis milling machine controller requires a complete software, a five-axis controller requires a complete software, a two-axis lathe requires a complete software, etc., which consumes a considerable amount of cloud storage space.
[0006] Overall, the existing machine tool numerical controller software executable files are written in two ways, one of which is to compile the controller source code into a function library and then link it into a single executable file, and the other is to compile the function module library into a single executable file suitable for each operating system. However, regardless of the method used, it does not deviate from the "compiled function library" mode. When the hardware architecture of the machine tool changes, a new executable file must be recompiled.
[0007] Accordingly, how to develop a machine tool numerical controller software dynamic generation device and method that can quickly and dynamically generate various machine tool numerical controller software is a problem that needs to be solved by those skilled in the relevant technical field. SUMMARY
[0008] In one embodiment, the present application proposes a machine tool numerical controller software dynamic generation device, which comprises:
[0009] a software function specification management unit describes the function modules required by the machine tool numerical controller software using a text description file, and analyzes the text description file to generate a function module list containing a plurality of function modules;
[0010] a function module storage unit stores and manages a plurality of function modules different from each other, and confirms whether the function module list contains all the function modules required by the machine tool numerical controller software from the function module storage unit; and
[0011] a function module synthesis unit takes out the required function modules from the function module storage unit and sets the links between the function modules to synthesize the machine tool numerical controller software.
[0012] In an embodiment, the present application provides a dynamic generation method of machine tool numerical controller software, comprising the following steps:
[0013] a software function specification management unit describes the function modules required by the machine tool numerical controller software using a text description file, and analyzes the text description file to generate a function module list containing a plurality of function modules;
[0014] a function module storage unit stores and manages a plurality of function modules different from each other, and confirms whether the function module list contains all the function modules required by the machine tool numerical controller software from the function module storage unit; and
[0015] a function module synthesis unit takes out the required function modules from the function module storage unit and sets the links between the function modules to synthesize the machine tool numerical controller software.
[0016] a function module synthesis unit takes out the required function modules from the function module storage unit and sets the links between the function modules to synthesize the machine tool numerical controller software. BRIEF DESCRIPTION OF DRAWINGS
[0017] Figure 1 is a structural schematic diagram of an embodiment of the dynamic generation device of the machine tool numerical controller software of the present application.
[0018] Figure 2 is a flowchart of the dynamic generation method of the machine tool numerical controller software of the present application.
[0019] Figure 3A and 3B is an embodiment schematic diagram of the text description file describing the function modules required by different machine tool numerical controller software.
[0020] Figure 4 An example diagram of a function module list.
[0021] Figure 5 An example diagram of synthesizing function modules.
[0022] List of reference numerals
[0023] 100: machining system conforming to surface of object to be machined
[0024] 10: software function specification management unit
[0025] 11: function module list
[0026] 20: function module storage unit
[0027] 21-28: function modules
[0028] 30: function module synthesizing unit
[0029] 40: software and hardware carrier
[0030] 200: flow of tool machine numerical controller software dynamic generation method
[0031] 202-212: steps of flow of tool machine numerical controller software dynamic generation method DETAILED DESCRIPTION
[0032] Referring to Figure 1 the drawing, a tool machine numerical controller software dynamic generation apparatus 100 according to the present application is shown, which includes a software function specification management unit 10, a function module storage unit 20, and a function module synthesizing unit 30.
[0033] The software function specification management unit 10 functions to describe the function modules required by a tool machine numerical controller software using a text description file, and to perform specification analysis on the text description file to generate a function module list including a plurality of function modules.
[0034] The function module storage unit 20 functions to store and manage a plurality of function modules 21-28 that are different from each other in function, and to confirm whether the function module list has all the plurality of function modules required by the tool machine numerical controller software.
[0035] The function module synthesizing unit 30 functions to extract the required function modules 21-28 from the function module storage unit 20 and to set the connection between the function modules 21-28 to synthesize the tool machine numerical controller software.
[0036] The software function specification management unit 10, the function module storage unit 20 and the function module synthesis unit 30 communicate with each other by a network protocol.
[0037] A software and hardware carrier 40 can be provided to carry the software function specification management unit 10, the function module storage unit 20 and the function module synthesis unit 30.
[0038] It must be noted that, Figure 1 The eight function modules 21-28 are only illustrative examples and are not limited to eight. The function modules 21-28 stored in the function module storage unit 20 of the present application have different functions and can be applied to different machine tools, such as milling machines, lathes, grinding machines, etc. The desired machine tool numerical controller software can be obtained by synthesizing the different function modules 21-28 as desired.
[0039] Referring to Figure 1 and Figure 2 , a machine tool numerical controller software dynamic generation device 100 provided by the present application shown in Figure 1 can obtain Figure 2 a flowchart 200 of a machine tool numerical controller software dynamic generation method provided by the present application, which comprises the following steps:
[0040] Step 202: The software function specification management unit 10 describes the function modules required by a machine tool numerical controller software by using a text description file, and then performs specification analysis on the text description file to generate a function module list comprising a plurality of function modules 21-28.
[0041] Step 204: The function module storage unit 20 confirms whether the function module storage unit 20 has all the plurality of function modules 21-28 required by the machine tool numerical controller software; if yes, the next step is entered; if no, an error report is generated and the process is ended (step 212).
[0042] Step 206: The function module synthesis unit 30 takes out the plurality of function modules 21-28 required from the function module storage unit 20 and sets the connection between each function module 21-28, and generates a machine tool numerical controller software to be confirmed; and
[0043] Step 208: The function module synthesis unit 30 confirms whether the machine tool numerical controller software to be confirmed is successfully synthesized; if yes, a success report is generated, confirming that the machine tool numerical controller software is an executable machine tool numerical controller software (step 210); if no, an error report is generated and the process is ended (step 212).
[0044] As for step 202, the function modules required by the machine tool numerical controller software are described by using a text description file. The format of the text description file is not limited, and any text description file that can be parsed by a programming language can be used. For example, as shown in Figure 3A and Figure 3B , the JSON (JavaScript Object Notation) format is used.
[0045] As shown in Figure 3A , it is a text file for describing the specifications of the three-axis milling center controller software, in which:
[0046] “hmi”: “milling” represents the milling center human-machine interface module (HMI);
[0047] “op”: “milling” represents the milling center operation module (OP);
[0048] “plc”: “cnc_normal” represents the milling center programmable logic module (PLC);
[0049] “mot”: “milling” represents the milling center motion control module (MOT);
[0050] “kinematics”: “milling_3axis” represents the milling center three-axis kinematics calculation module (AXIS 3);
[0051] “param”: “cnc_full” represents the milling center configuration file and parameter module (PARAM).
[0052] As shown in Figure 3B , it is a text file for describing the specifications of the five-axis milling center controller software, in which:
[0053] “hmi”: “milling” represents the milling center human-machine interface module (HMI);
[0054] “op”: “milling” represents the milling center operation module (OP);
[0055] “plc”: “cnc_normal” represents the milling center programmable logic module (PLC);
[0056] “mot”: “milling” represents the milling center motion control module (MOT);
[0057] "kinematics": "milling_5axis" represents the three-axis kinematics calculation module for milling centers (AXIS 5);
[0058] "param": "cnc_full" represents the milling center configuration file and parameter module (PARAM).
[0059] The terms HMI, OP, PLC, MOT, AXIS 3, and PARAM mentioned above are user-defined abbreviations used to assign abbreviations to different functional modules. These can be set as needed and are not limited to the above-mentioned modes. However, the above modes are the more commonly known names in the relevant technical field.
[0060] Comparison Figure 3A and Figure 3B It can be seen that the only difference between the two lies in the three-axis kinematics calculation module and the five-axis kinematics calculation module of the milling center; other functional modules are the same. That is, if we assume... Figure 1 The functional modules 21 to 25 shown represent HMI, OP, PLC, MOT, and PARAM, respectively. Functional module 26 can represent AXIS 3, and functional module 27 can represent AXIS 5. As for functional module 28, it can represent other modules that may be needed by default.
[0061] At once Figure 3A and Figure 3B In this embodiment, only seven functional modules need to be set in the functional module storage unit 20 for use by the three-axis and five-axis milling center controller software. Five of these functional modules are shared, thus significantly reducing the storage space of the functional module storage unit 20. In other words, the functional module storage unit 20 already stores functional modules that can be used by various machine tools. Only one set of shared functional modules is needed, and other different functional modules can be set separately.
[0062] by Figure 3A For example, after the software functional specification management unit 10 parses the text description file, it can generate a file like... Figure 4 The functional module list 11 shown contains six functional modules named "HMI_MODULE_CNC_MILLING", "OP_MODULE_CNC_MILLING", "PLC_MODULE_CNC_NOMAL", "MOT_MODULE_MILLING", "KINEMATICS_MODULE_MILLIN_3", and "PARA_MODULE_CNC_FULL".
[0063] Then, proceed to step 204, where the function module storage unit 20 confirms whether it contains all the function modules required by the three-axis milling machine numerical controller software in function module list 11. If yes, proceed to step 206; otherwise, generate an error report and end (step 212).
[0064] Please see Figure 5 As shown, after entering step 206, the functional module synthesis unit 30 retrieves the six functional modules listed in the functional module list 11, namely "HMI_MODULE_CNC_MILLING", "OP_MODULE_CNC_MILLING", "PLC_MODULE_CNC_NOMAL", "MOT_MODULE_MILLING", "KINEMATICS_MODULE_MILLIN_3", and "PARA_MODULE_CNC_FULL", from the functional module storage unit 20 and synthesizes them, that is, to generate a machine tool numerical controller software to be confirmed.
[0065] The synthesis method can be, for example, to synthesize a Docker Compose file, such as... Figure 5 The example on the right shows how to use the `docker-compose up` command to start all the functional modules and services of the controller. However, it is not limited to the above composition method.
[0066] When completed Figure 5 After the synthesized machine tool numerical controller (CNC) software is ready for verification, step 208 can be executed for confirmation. As mentioned above, the `docker-compose up` command can be used to start all functional modules and services of the controller and drive the three-axis milling machine to operate. If it can be driven successfully, it means that the generated machine tool CNC software is correct and executable, and proceed to step 210. If it cannot be driven successfully, it means that the generated machine tool CNC software still needs improvement, and proceed to step 212. The reason for the failure to execute will be identified by engineers, and modifications will be made as needed.
[0067] In summary, the machine tool numerical controller software dynamic generation device provided by this invention allows each functional module to be regarded as an independent system, communicating at high speed through network protocols. Utilizing the concept of modular assembly, functional modules can be flexibly combined and replaced according to specification requirements, quickly and dynamically generating various machine tool numerical controller software.
[0068] The machine tool numerical controller software dynamic generation device provided by this invention can keep the control core and important parameters in the cloud. In the future, when a factory is relocated, only the basic mechanical equipment and electrical control devices need to be built. The relevant machine tool numerical controller software and processing parameters can be connected through the network to achieve the purpose of rapid factory relocation and reconstruction.
[0069] Although the present invention has been disclosed above with reference to embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the scope defined in the claims of the present invention.
Claims
1. A dynamic software generation device for a machine tool numerical controller, comprising: The software function specification management unit uses a text description file to describe the functional modules required by the machine tool numerical controller software, and then performs specification parsing on the text description file to generate a list of functional modules that contain multiple functional modules. The function module storage unit is used to store and manage multiple functional modules that are different from each other and are pre-compiled as independently executable modules. These multiple functional modules correspond to at least two of the following: human-machine interface modules, operation modules, programmable logic modules, motion control modules, or multi-axis kinematics calculation modules applicable to different types of machine tools. The function module storage unit confirms whether it has all the multiple functional modules required by the numerical controller software of the machine tool. as well as The functional module synthesis unit, in response to confirming that the functional module storage unit possesses all the multiple functional modules required by the machine tool numerical controller software, retrieves the required multiple functional modules from the functional module storage unit and sets the links between the functional modules to synthesize the machine tool numerical controller software, without compiling the source code of the multiple functional modules. The functional module storage unit stores and manages at least some of the functional modules that are shared by different machine tool numerical controller software.
2. The machine tool numerical controller software dynamic generation device as described in claim 1, wherein the software function specification management unit, the function module storage unit, and the function module synthesis unit communicate with each other via a network protocol.
3. The machine tool numerical controller software dynamic generation device as described in claim 1 further includes a hardware and software carrier for carrying the software function specification management unit, the function module storage unit, and the function module synthesis unit.
4. A method using the machine tool numerical controller software dynamic generation device as described in claim 1, comprising the following steps: The software function specification management unit uses text description files to describe the functional modules required by the machine tool numerical controller software, and then performs specification parsing on the text description files to generate a list of functional modules that contain multiple functional modules. The function module storage unit is used to confirm whether it contains all the multiple function modules required by the machine tool numerical controller software. If yes, proceed to the next step; if no, generate an error report and end. The functional module synthesis unit retrieves the required multiple functional modules from the functional module storage unit, sets the links between the functional modules, and generates the machine tool numerical controller software to be confirmed. as well as The functional module synthesis unit confirms whether the machine tool numerical controller software to be confirmed has been successfully synthesized; if so, a success report is generated, confirming that the machine tool numerical controller software is executable machine tool numerical controller software. If not, an error report will be generated and the process will end.
5. The method of claim 4, wherein the text description file is in JSON format.
6. The method of claim 4, wherein the functional module synthesis unit uses Docker Compose to synthesize the multiple functional modules into a Docker Compose file.
Citation Information
Patent Citations
An application program generation method and device
CN109885311A