Procedure for setting up a machine control system
The described method uses cryptographic validation of certificate files to automate the setup of machine controls, addressing the inefficiencies and complexity of manual data transfer, ensuring secure and efficient machine control setup across different systems.
Patent Information
- Application Number
- DE102023206741
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-17
- Publication Date
- 2025-01-23
AI Technical Summary
Setting up and transferring machine controls, such as CNC controls or PLCs, is time-consuming and requires specialized knowledge, with manual data selection and compatibility issues, and lacks efficient methods for archiving settings across different machines.
A procedure using certificate files with cryptographic signatures to authenticate and validate machine data on external data carriers, allowing automated setup and transfer of machine data without manual operator intervention, ensuring authenticity and integrity through symmetrical or asymmetrical cryptographic processes.
Facilitates efficient and secure setup of machine controls by automating the process, reducing the need for manual data handling and ensuring compatibility, while maintaining data integrity and authenticity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a method for setting up a machine control, in particular a machine tool, as well as a machine control and a computer program for carrying out the same. Background of the invention
[0002] Setting up, i.e., configuring or parameterizing, a control system for an industrial machine, especially a CNC control system or a programmable logic controller (PLC), takes a significant amount of time. Commissioning or setting up a machine control system requires programming and parameterizing, which involves programming and configuring machine parameters, drive parameters, RAM files, ROM files, tool tables, system data, CPL or PLC variables, etc.
[0003] For example, it is problematic to archive settings once they have been made for subsequent production runs or to transfer them to other machine control systems. Archiving and subsequent backup, for example, requires connecting a suitably prepared PC to the machine control system. Data transfer requires a high level of expertise from the operator, who must be aware of the compatibility requirements of different machine control systems and different file archives. The operator must manually select the data to be saved and save it in individual files using the conventional method.
[0004] DE 10 2008 008 646 A1 describes a CNC control for a machine tool with a write / read device for a removable storage device for storing and reading machine data. The write / read device can be connected to a removable storage device, and the CNC control is configured to transfer machine data to a removable storage device connected to the write / read device or from a removable storage device connected to the write / read device. Disclosure of the invention
[0005] According to the invention, a method for setting up a machine control system, as well as a machine control system and a computer program for implementing the method, are proposed, having the features of the independent patent claims. Advantageous embodiments are the subject of the dependent claims and the following description.
[0006] The invention makes use of the measure of providing machine data with which the machine control is to be set up in at least one machine data file on a removable data storage device, wherein the machine control is only set up in accordance with the at least one machine data file if the validity of a certificate file stored on the removable data storage device is confirmed by means of certificate information stored in the machine control and, if applicable, further conditions are met. The proposed method can simplify the setup of the machine control. In particular, a connection to an external computing unit (e.g. laptop) and execution of the setup by an operator using a user interface executed on the external computing unit, as well as the input of authentication information (e.g. password) by the operator, are not necessary.
[0007] The machine control system is intended, in particular, for controlling an industrial machine, e.g., a machine tool. The machine control system is, in particular, a computer numerical control (CNC) and / or a programmable logic controller (PLC). The removable storage device can be a USB stick, external hard drive, SD card, etc.
[0008] In particular, the certificate file includes a cryptographic or digital signature for the certificate file, and the certificate information includes a cryptographic key. When checking the first condition (i.e., checking the validity of the certificate file), the validity of the signature is checked using the key to determine whether the certificate file is valid. Symmetric or asymmetric methods can be used here. In an asymmetric method, a key pair consisting of a secret and a public key is used, whereby the signature for the certificate file is calculated using the secret key, and the machine control uses the public key (contained in the certificate information) to check the validity of the signature. In a symmetric method, the same key is used for both, which can then, for example,should also be kept secret by the machine control system (i.e. it cannot be read out from it).
[0009] The term "cryptographic key" or "key" is to be understood as a character string suitable for cryptographic procedures or algorithms. Accordingly, a cryptographic key should be a random character string or similar that, if unknown, can be guessed only by trying all possible characters (a so-called brute-force attack). The term "cryptographic signature" or "signature" refers to a character string calculated using a cryptographic method for data to be signed, here for parts of the certificate file (in particular, excluding the signature itself). The data to be signed and the signature calculated for it are contained in the certificate file and can be verified using the cryptographic method using the key, or the digital signature can be checked for validity.As already mentioned, symmetric or asymmetric cryptographic methods can be used. Well-known asymmetric cryptographic methods that can be used include RSA (Rivest-Shamir-Adleman) or DSA (Digital Signature Algorithm). A signature based on symmetric cryptographic methods can, for example, use well-known MAC (message authentication code) methods.
[0010] The certificate information is stored in a secure environment, for example, at the manufacturer of the machine control system or the machine or machine tool, or by an authorized user (administrator) using an external processing unit connected to the machine control system. The certificate information can be deleted from the machine control system, for example, by an authorized user (to prevent unauthorized access, e.g., in the event of loss of the removable storage device) and replaced with new certificate information if necessary.
[0011] It is possible to store the same certificate information on different machine controllers or to use individual certificate information for each machine controller. The external removable storage device can contain one or more certificate files.
[0012] The certificate file can contain information about the machine control system for which it is intended and / or information about machine data files that must be considered during setup. For example, multiple certificate files and machine data files for multiple machine controls can be stored on a removable storage device, with the machine data files to be used in the setup being selected for each machine control system based on the respective information.
[0013] It is possible that at least one certificate file is stored in the machine control system's memory. A binary comparison is used to check whether the certificate file read from the removable storage device matches the certificate file in the machine control system's memory. This confirms the validity of the certificate file stored on the removable storage device. It is also possible that multiple certificate files are stored in the machine control system's memory or on the storage device. If one of the certificate files on the storage device matches a certificate file on the removable storage device, the validity of a certificate file stored on the removable storage device is confirmed.
[0014] Setting up the machine control system includes, for example, one or more of the following: storing and / or updating computer programs or firmware stored in the machine control system, storing and / or updating configuration values, and storing and / or updating control data. The machine control system includes, for example, one or more memories and / or registers in which corresponding data can be or is stored.
[0015] According to one embodiment, after and / or during setup, setup information indicating that the setup has been fully completed or that the setup has not been fully completed is stored in the machine control system and / or on the removable storage device. Once setup has been fully completed, it is conceivable to create a predetermined file on the removable storage device as setup information. The setup information can be used to identify whether the setup process (or setup process) was successfully completed or whether errors occurred. A repeat execution of the method can be enforced, for example, by manually deleting the file created as setup information from the removable storage device.
[0016] According to one embodiment, the one or more conditions include a second condition, wherein, when checking the second condition, it is checked whether the setup information is stored in the machine controller and / or on the removable data storage device, wherein the second condition is met if the setup information is not stored in the machine controller and / or on the removable data storage device or if the setup information indicates that the setup has not been fully completed. This embodiment can prevent multiple setups with the same at least one machine data file, for example, if the removable data storage device is reconnected to the machine controller by an operator or if the removable data storage device has not been removed from the data interface after setup.
[0017] According to one embodiment, the certificate file includes at least one reference check value, wherein the one or more conditions include a third condition, wherein, upon checking the third condition, at least one comparison check value is calculated for the at least one machine data file; wherein the third condition is met if the at least one comparison check value is equal to the at least one reference check value. This allows the integrity of the at least one machine data file to be checked, i.e., changes to the at least one machine data file that, for example, lead to damage to the machine can be detected. Changes may be caused by data errors or be the result of a manipulation attempt.
[0018] According to one embodiment, a restart of the machine control system is triggered after setup. This makes it possible to change machine control settings or configurations that cannot be changed during operation.
[0019] A machine control system according to the invention, e.g., a computer numerical control system and / or a programmable logic controller, of a machine tool is configured, particularly in terms of programming, to carry out a method according to the invention. The machine control system has a data interface for connection to an external removable data storage device. The data interface can comprise a USB interface, a card reader (e.g., for SD cards), etc.
[0020] Implementing a method according to the invention in the form of a computer program or computer program product with program code for performing all method steps is also advantageous, as this entails particularly low costs, especially if an executing control unit is also used for additional tasks and is therefore already present. Suitable data storage devices for providing the computer program include, in particular, magnetic, optical, and electrical storage devices, such as hard disks, flash memories, EEPROMs, DVDs, and others. Downloading a program via computer networks (Internet, intranet, etc.) is also possible.
[0021] Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
[0022] It is understood that the features mentioned above and those to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.
[0023] The invention is illustrated schematically in the drawing using exemplary embodiments and is described in detail below with reference to the drawing. Character description Fig. 1 shows a schematic representation of an embodiment of a machine control according to the invention. Fig. 2 shows a flowchart according to an embodiment of a method according to the invention. Detailed description of the drawing
[0024] Fig. 1 shows a schematic representation of an embodiment of a machine control according to the invention.
[0025] The machine controller 2 is intended for controlling an industrial machine. The industrial machine has, for example, several drives that are controlled by the machine controller. The machine controller is, in particular, a CNC controller (CNC: Computer Numeric Control) or a PLC (programmable logic controller). The machine controller 2 has a processing unit 4 (e.g., a processor with one or more processing cores), a memory 6, and a data interface 8. The processing unit 4 implements the control of the machine using machine data stored in the memory 6. The machine data includes, for example, computer programs (which are executed by the processing unit) and / or control data (e.g., for the machine's drives) and / or configuration data (e.g., certain machine settings). Based on the machine data, the machine can be controlled to implement a specific function, e.g.,the production of a workpiece with a specific geometry.
[0026] The machine data are typically present in the form of one or more machine data files 12, which are stored in or loaded onto the machine control 2 as part of a setup. For this purpose, the data interface 8, e.g. a USB interface (USB: Universal Serial Bus), can be used, wherein the machine data are on a removable data storage device 10 (e.g. a USB stick), which is connected to the data interface 8 for data exchange (by an operator or user) and from which the machine data can be read. The setup is carried out in particular by carrying out a method according to the invention, as described below in connection with Fig. 2. The method uses a certificate file 14 stored in the removable storage device 10 and certificate information 16 stored in the memory 6 of the machine control unit 2.
[0027] Fig. Figure 2 shows a flowchart according to an embodiment of a method according to the invention for setting up a machine control system of a machine. The steps of the method are carried out by a machine control system (e.g., as shown in Fig. 1), for example, by executing corresponding computer programs or computer program modules of the setup program in the processing unit. It is assumed that a removable storage medium on which a certificate file and at least one machine data file are stored is or will be connected to the machine control system (e.g., by a machine operator).
[0028] In step 110, it is detected that a data connection between the machine control system and an external removable storage device has been or is being established via the data interface. Depending on the specifications of the data interface, the data interface generates corresponding signals, for example, to indicate this. In response to such a signal, a setup program can be called and executed, which implements the subsequent steps. The detection that the removable storage device is connected to the data interface of the machine control system can be carried out or initiated, for example, after a restart of the machine control system.
[0029] In step 120, the certificate file is read from the removable storage device. The certificate file may contain data or information that confirms the authenticity and / or integrity of the removable storage device and / or the data stored thereon (e.g., machine data).
[0030] In step 130, a first condition is checked, namely whether the certificate file is valid. For this purpose, certificate information stored in the memory of the machine controller is used. In one embodiment, at least one certificate file is stored in the memory of the machine controller. A binary comparison is used to check whether the certificate file read from the removable data storage device matches the certificate file in the memory of the machine controller. If so, the first condition is met. It is also conceivable that multiple certificate files are stored in the memory of the machine controller or on the data storage device. If one of the certificate files on the data storage device matches a certificate file on the removable data storage device, the first condition is met.The first condition is therefore met if the certificate file on the data storage device is valid or matches a certificate file in the machine controller's memory. If the certificate file on the data storage device is invalid or does not match any of the certificate files in the machine controller's memory, the first condition is not met (in this case, you can proceed directly to step 190). If no certificate file is stored on the removable storage device, i.e., if no certificate file (empty certificate file) can be read in step 120, the certificate file is considered invalid.
[0031] The certificate information may also include a cryptographic key with which a cryptographic or digital signature contained in the certificate file can be verified using suitable symmetric or asymmetric cryptographic methods. The certificate file is valid if the signature is valid. Otherwise, the certificate file is not valid. In particular, the signature is calculated over the entire certificate file, so that if it is valid, the authenticity and integrity of the certificate file are confirmed. The certificate file may include further information, e.g., for which machine control system (such as type, serial number, identification number, etc.) is to be configured with machine data stored on the removable storage device.In this case, the certificate information may contain corresponding information, so that as part of the validity check, it is checked whether this information (in the certificate file and in the certificate information) matches. The certificate file is then only considered valid if this information matches.
[0032] In optional step 140, a second condition is checked, namely whether no setup information is stored in the machine control system and / or on the removable data storage device or, if the setup information is stored, whether this indicates that the setup has not been fully completed (cf. step 170). Accordingly, the second condition is met if no setup information is stored in the machine control system and / or on the removable data storage device. The second condition is also met if the setup information is stored and this indicates that the setup (during a previous execution of the method) has not been fully completed. Otherwise, i.e. if the setup information is stored and this indicates that the setup has been fully completed, the second condition is deemed not to be met (in this case, the process can proceed directly to step 190).This procedure (step 140 together with step 170) can prevent machine data that has already been loaded onto the machine control from being loaded repeatedly, e.g. if the removable storage device has not been removed or is connected again.
[0033] In an optional step 150, a third condition is checked, namely whether at least one comparison check value of the at least one machine data file matches at least one reference check value contained in the certificate file. The third condition is met if the at least one comparison check value is equal to the at least one reference check value. If this is not the case, i.e. if the at least one comparison check value is not equal to the at least one reference check value, the third condition is not met (in this case, it is possible to continue directly to step 190). In step 150, the comparison check value for the at least one machine data file is calculated. For the calculation (during which the at least one machine data file is read, for example, from a removable storage device), a suitable function, in particular a cryptographic hash function (e.g. SHA-1, SHA-2), is used.The term "suitable function" is to be understood in the sense that it can be used to detect changes to the at least one machine data file (i.e., in the event of a non-conformity). The at least one reference check value is calculated for the at least one machine data file in a secure environment (e.g., before or during storage on the removable storage device). Since the at least one reference check value is contained in the certificate file, its authenticity and integrity are also verified with the validity check of the certificate file (first condition).
[0034] The tests of the conditions (steps 130, 140, 150) can, where provided, also be carried out in a different order than the one specified and / or at least partially.
[0035] In step 160, if the above one or more conditions (all) are met, the machine control is set up according to the at least one machine data file or the at least one machine data file is loaded onto the machine control. For this purpose, the at least one machine data file is first read from the removable storage device, if this has not already happened. The at least one machine data file can generally comprise various types of data. In particular, the at least one machine data file can contain one or more executable computer programs and / or firmware, in particular a new firmware version, which are stored in the machine control, its memory, during setup so that they can be executed by the machine control or its processing unit.Furthermore, the at least one machine data file can contain configuration data, whereby the machine control system and / or the machine controlled by it is configured according to the configuration data. Likewise, the at least one machine data file can contain control data that is stored in the machine control system during setup. Control data is, in particular, data that specifies (in a suitable format) how actuators of the controlled machine are to be moved and / or how the actuators are to be controlled. In the case of a machine control system of a CNC machine, this is, for example, data with which a point, line, or path control of the CNC machine can be implemented.
[0036] After setup, it can be specified that the procedure is prevented from being carried out again until the removable storage device is disconnected from the data interface.
[0037] In an optional step 170, after and / or during setup, setup information is stored in the machine controller (e.g., in its memory) and / or on the removable storage device. The setup information indicates whether or that the setup (step 160) was fully completed (i.e., whether the at least one machine data file was fully uploaded) or whether the setup was not fully completed (i.e., whether the at least one machine data file was only partially uploaded or not uploaded at all). If the setup information is stored in the machine controller, it can contain an identifier for the at least one machine data file, which indicates for which at least one machine data file the setup was performed (e.g., a version number and / or a time index of the at least one machine data file, or similar).If the setup information is stored on the removable storage device, it can include an identifier of the machine controller. Together with the above step 140 (second condition), this embodiment can prevent multiple setups with the same at least one machine data file.
[0038] In optional step 180, a restart of the machine control system is initiated. This is particularly useful if certain settings or configurations made during setup only take effect after a restart. For example, the certificate file and / or the at least one machine data file may contain information indicating whether a restart should be performed or not.
[0039] If at least one of the above one or more conditions is not met, the process continues with optional step 190, in which no setup of the machine control system takes place or setup is prevented. In this case, it can be provided that the method is prevented from being executed again until the removable storage device is disconnected from the data interface.
[0040] While the process is running, a display on the machine control system, e.g. one or more status LEDs (LED: light-emitting diode), can indicate that the process is being carried out. This is useful because an operator who connects the removable data storage device can then see that the process has actually been carried out or started. Furthermore, the progress of the process can be shown by various displays, e.g. different status LEDs or different flashing sequences of a status LED. Once the process has been completed, it can be shown that the process has been completed successfully (so that it can be recognized that the machine can be used with the loaded machine data). If the process was not completed successfully, this can also be displayed. It can also be provided that an indication is given as to whether a condition has not been met and / or which condition has not been met. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] DE 10 2008 008 646 A1
[0004]
Claims
[1] Method for setting up a machine control system (2) with an external removable data storage device (10) on which at least one machine data file (12) is stored, comprising the following steps carried out by the machine control system: Detecting (110) that the removable data storage device (10) is connected to a data interface (8) of the machine control; Reading (120) a certificate file (14) from the removable storage device; Checking (130, 140, 150) whether one or more conditions are met, which include a first condition, wherein, when checking (130) the first condition, the validity of the certificate file (14) is checked by means of certificate information (16) stored in the machine control (2), wherein the first condition is met if the certificate file is valid; and, if the one or more conditions are met, setting up (160) the machine control (2) according to the at least one machine data file (12). [2] The method according to claim 1, wherein the certificate information (16) stored in the machine controller (2) is a certificate file, and wherein the first condition is met when the certificate file (14) binary matches the certificate information (16). [3] Method according to claim 1 or claim 2, wherein after and / or during the setup (160) setup information indicating that the setup (160) has been fully completed or that the setup has not been fully completed is stored (170) in the machine control (2) and / or on the removable data storage device (10). [4] Method according to claim 3, wherein when the device (150) has been completely completed, a predetermined file is created on the removable storage device (10) as device information (160). [5] The method of claim 3 or claim 4, wherein the one or more conditions include a second condition; wherein checking (140) the second condition includes checking whether the setup information is stored in the machine controller (2) and / or on the removable storage medium (10); wherein the second condition is met if the setup information is not stored in the machine controller (2) and / or on the removable storage medium (10) or if the setup information indicates that the setup has not been fully completed. [6] Method according to one of the preceding claims, wherein the certificate file (14) includes at least one reference check value; wherein the one or more conditions include a third condition; wherein, upon checking (150) the third condition, at least one comparison check value is calculated for the at least one machine data file (12); wherein the third condition is met if the at least one comparison check value is equal to the at least one reference check value. [7] A method according to any one of the preceding claims, wherein the certificate file (14) includes a cryptographic or digital signature for the certificate file (14); wherein the certificate information (16) includes a cryptographic key; wherein, in checking the first condition, the validity of the signature is checked using the key to determine whether the certificate file (14) is valid. [8] Method according to one of the preceding claims, wherein the setting (160) comprises at least one step selected from storing and / or updating computer programs stored in the machine control (2); storing and / or updating configuration values; storing and / or updating control data. [9] Method according to one of the preceding claims, wherein after the setting (160) a restart (180) of the machine control (2) is triggered. [10] Method according to one of the preceding claims, wherein the machine control (2) is a computer numerical control and / or a programmable logic controller. [11] Method according to one of the preceding claims, wherein the detection (110) that the removable data storage device is connected to the data interface (8) of the machine control is initiated after a restart of the machine control (2). [12] Machine control (2), in particular computer numerical control and / or programmable logic control, comprising a data interface (8) for connection to an external removable data storage device (10), wherein the machine control (2) is configured to carry out the method according to one of the preceding claims. [13] A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to claims 1 to 11. [14] A computer-readable data carrier on which the computer program according to claim 13 is stored.
Citation Information
Patent Citations
cnc control and data transfer method
DE102008008646A1
METHOD AND SYSTEM FOR PROVIDING PROCESSING DATA ON A NUMERICALLY CONTROLLED MACHINE TOOL
DE102018214840A1
Secure deployment of software on industrial control systems
EP3848794A1