Method for programming an equipment control unit

By abstracting control device functions into reusable descriptors and generating code artifacts for interfaces and ports, the method simplifies and streamlines the programming of facility control units, reducing complexity and maintenance efforts in industrial automation.

JP7715734B2Active Publication Date: 2025-07-30ムシッチ·ゴラン
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022564770
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-25
Filing Date
2021-04-26
Publication Date
2025-07-30
Estimated Expiration
2041-04-26

AI Technical Summary

Technical Problem

Existing methods for programming facility control units in industrial automation are complex, error-prone, and require significant test and maintenance efforts due to the large number of components and data links, making them difficult to manage and maintain.

Method used

The method involves abstracting control device functions into reusable function descriptors and interface descriptors, which are stored in a component template memory, allowing for the creation of component program code that can be tested on the target platform without repeated generation, using a code compiler to generate code artifacts for interfaces and ports, thereby simplifying the programming process.

Benefits of technology

This approach reduces programming time and maintenance effort by enabling efficient, reliable, and maintainable programming of facility control units, allowing for easier management and testing of complex systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007715734000001
    Figure 0007715734000001
  • Figure 0007715734000002
    Figure 0007715734000002
Patent Text Reader

Abstract

The present invention relates to a method for programming an installation control having a plurality of control devices connected to each other and to a plurality of sensors and / or actuators, in which several component templates from a plurality of component templates are called from a component template memory, several components are created from the several component templates and linked to each other in a system descriptor, and one component program code for each component of the system descriptor is sent to an assigned control device. In order to configure such a method in a way that the installation control can be programmed easily and quickly with as little testing and maintenance effort as possible, even for complex installations (systems), the features of claim 1 are proposed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for programming a facility control unit (system control unit) having a plurality of control devices connected to each other and connected to a plurality of sensors and / or a plurality of actuators. In this case, some of the plurality of component templates are called from one component template memory, a plurality of components are created from the some component templates, linked to each other within a system descriptor (Anlagenbeschreibung), and for each component of the system descriptor, one component program code is transmitted to one control device to which it is assigned.

Background Art

[0002] In industrial automation solutions, methods of the above kind are known, for example, from European Patent Application Publication No. 2533148. In this case, the components may be a plurality of components of a facility, such as an actuator, which are controlled by a control device of a facility control unit (Anlagesteuerung) based on the measured values of sensors. For this reason, on the one hand, a large number of various control data and sensor data need to be exchanged between the plurality of control devices and the plurality of sensors or actuators, and on the other hand, between the plurality of control devices. In this case, generally, such a plurality of data links are required between individual components. Thus, for example, in the case of a manufacturing machine as a facility, the manufacturing machine has a plurality of components as a plurality of controllable axes (Achsen) each including at least one drive unit. In order to provide a reproducible production process in this case, for example, as program code defined by a sequence of a plurality of axes driven variably at specific respective rotational speeds, first, the individual data links of these components need to be linked to each other. Thereafter, the component program code is created by a code compiler and transmitted to the facility control unit. However, in the case of a complex facility (system), due to a large number of components and a large number of links to which these components can also be linked, in order to enable the creation of program code from the large number of components and the large number of links, it is necessary to form a large number of links and signal flows that are often difficult for the user to check. As a result, the programming of the facility control unit becomes complex and error-prone. This is because the creation of individual data links between the plurality of components needs to be performed manually from the beginning. This creation has an adverse effect on the overall testability and maintainability of the facility control unit.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Therefore, even for complex equipment (systems), it is an object to improve the above types of methods so that the equipment control unit can be programmed simply and in a short period with as little test effort and maintenance effort as possible.

Means for Solving the Problems

[0005] This problem is solved in that a plurality of component templates include a plurality of function descriptors and a plurality of interface descriptors each having one or more port descriptors for data exchange, the plurality of created components include a plurality of interfaces corresponding to the plurality of descriptors, a plurality of interfaces of a plurality of different components that match are linked via a plurality of component links, one control device of the equipment control unit is selected for each component of the system descriptor, and then, one component program code adapted to the control device and a plurality of sensors and / or a plurality of actuators connected to this control device is generated by one code compiler from the function descriptor of the component template of the plurality of components and the plurality of linked interfaces, and is transmitted to the selected control device. Interface

[0006] ​The present invention is based on the idea that, in order to shorten the programming period and reduce the test effort and maintenance effort, a plurality of functions of a plurality of control devices and functions of a plurality of components executed by these functions are abstracted into a plurality of reusable function descriptors (Funktionsbeschreibungen), and are not only stored in a component template memory, but also these functions require interaction with a plurality of ports of these control devices. In order to facilitate the mutual assignment of these ports that generally transmit only primitive data types and the assignment of these ports to a part of the component program code representing these functions, in the present invention, the individual ports are abstracted into a plurality of port identifiers and aggregated into a plurality of interface descriptors representing complex functions. These interface descriptors are stored in the component template memory together with a plurality of function descriptors for each component template. Then, in order to program the facility control unit, these component templates are called from the component template memory, and one or more components are created from each component template by a plurality of interfaces. These component templates are linked to each other via a plurality of component links within one system descriptor. In this case, one physical control device is assigned to each component. In this case, one control device may basically include a plurality of components. In this case, each component link represents, in particular, a complete communication that can proceed via a plurality of physical ports of the selected control device between two components. Starting from such a system descriptor, then, by using one code compiler for each component, one component program code is created for the control device assigned to these components. This component program code describes the function descriptor and the interface linked to a plurality of component links defined in the system descriptor in a program code executable by the control device.Such program code, for example, corresponds to the European standard 61131. If such program code does not spontaneously support abstracting these ports into a plurality of interfaces in the layer of the control device according to the present invention, it is proposed that the code compiler create both a plurality of port code artifacts for these interfaces and a plurality of code artifacts for a plurality of ports of these interfaces during the generation of the component program code. In this case, these code artifacts for these interfaces enable one response common to the plurality of ports. According to this means, the code artifact corresponding to the function descriptor can also access the code artifacts for these interfaces. As a result, the function descriptor has a lower, i.e., more easily maintainable, complexity. For example, an analog preset value for an adjustment cylinder and an analog measurement value of an incremental encoder that records the movement range of this adjustment cylinder can be aggregated into one common interface as two ports. This common interface provides the function of the adjustment cylinder to one component or the function descriptor of this component.

[0007] While the function descriptor can be abstracted and stored in basically the same way and can be compiled into program code only by a code compiler, if the function descriptor of the component template has function program code that is compiled into component program code before being sent to the selected control device based on the linked interface for the component generated from the component template, very reliable programming can be obtained. This means that the function program code can already be directly controlled by the selected control device. In this case, different corresponding function program codes may be stored by the function descriptor for a plurality of different control devices. As already described above, the code artifacts for the interface called by the function program code are generated by the code compiler together with the code artifacts for the ports and are output as component program code together with the function program code only when this function program code is compiled before being sent to the control device. Thus, the function program code can already be tested on the target platform without the need to be newly generated each time.

[0008] According to the present invention, it is proposed that a plurality of component templates include a plurality of parameter descriptors, a plurality of components include a plurality of preset parameters corresponding to these parameter descriptors, and these parameter descriptors and parameters are transmitted to the plurality of selected control devices together with the component program code, so that the complexity of the system descriptor can be reduced, and thus the time required for programming can be shortened. Thereby, an individual component template can be used for a plurality of components of a number of different facilities. In this case, during the creation of the system descriptor, only a small number of parameters need to be adapted. Such parameters may be, for example, the maximum movement range of a cylinder, or the type of motor used, or information regarding whether a hydraulic cylinder is controlled or a linear drive is controlled. The parameters can be directly embedded in the component program code or transmitted to the selected control device as a so-called data set.

[0009] However, the parameters may be used such that a code compiler adapts the component program code based on the preset parameters before transmitting to the selected control device. Thus, for example, depending on the drive unit to be controlled, a part of the function program code can be deactivated or activated.

[0010] Certainly, various data formats can be selected for the system descriptor to represent components and component links. However, if the system descriptor constitutes a graph, and a plurality of nodes of the graph are a plurality of components linked to each other via one protruding line portion existing between these nodes, very efficient data storage is achieved. The protruding line portion is a component link. In this case, when only one component link is provided between two components, data exchange within one component can be synchronized very easily. That is, if a plurality of component links are allowed between two components, the data exchange between the two component links needs to be synchronized so that reliable control can be performed by the control device.

[0011] The subject matter of the present invention is illustrated in the drawings.

Brief Description of the Drawings

[0012]

Figure 1

Figure 2

Embodiments for Carrying Out the Invention

[0013] One component template memory 1 is provided for the method of the present invention. A plurality of individual component templates 2 are stored in this component template memory 1. As indicated by reference numerals in FIG. 1, these component templates 2 include both a function descriptor and an interface descriptor. A plurality of components 4 are generated from these component templates 2 within a system descriptor 3. These components 4 are linked to each other within the system descriptor 3 via a plurality of component links 5. The system descriptor 3 is configured particularly as a graph, with a plurality of nodes of the graph constituting a plurality of components 4 and a plurality of protruding line portions of the graph constituting a plurality of component links 5.

[0014] As described in detail above, one control device 6 is assigned to each component 4. Component program code is generated from each component via a single code compiler 7. Thereafter, the component program code is transmitted to the assigned control device 6. A plurality of single ports 8 are illustrated in FIG. 1.

[0015] This component program code includes a code artifact generated from the function descriptor of the component template 2 of each component 4 and a code artifact generated from the interface of each component 4 linked via the component link 5. Further, this component program code also includes a code artifact that links the single port 8 of the control device 6 to the code artifact of the interface as glue logic.

[0016] The method of the present invention for programming an equipment control unit includes a plurality of steps shown in the preferred embodiment of FIG. 2. First, a plurality of component templates are called from one component template memory (9), and one or more components are created from their respective component templates by a plurality of interfaces linked to each other via a plurality of component links within a system descriptor (10). In this case, one physical control device is assigned to each component. In this case, one control device may basically include a plurality of components. In this case, each component link represents a complete communication that can proceed via a plurality of physical ports of the selected control device, particularly between two components. Starting from such a system descriptor, then, for each component, by using one code compiler, one component program code is created for the control device assigned to these components. This component program code describes the function descriptor and the interface linked to a plurality of component links defined within the system descriptor in program code executable by the control device. For example, an analog preset value for an adjustment cylinder and an analog measurement value of an incremental encoder recording the movement range of this adjustment cylinder can be aggregated into one common interface as two ports. This common interface provides the function of the adjustment cylinder for one component or the function descriptor of this component. Thereafter, the respective program code is transmitted to the individual control devices (14, 15, 16).

Explanation of Signs

[0017] 1 Component template memory 2 Component template 3 System descriptor 4 Component 5 Component link 6 Control device 7-code compiler 8 single port 9-16 steps

Claims

1. A method for programming a facility control unit having a plurality of control devices (6) that are connected to each other and are connected to a plurality of sensors and / or a plurality of actuators, comprising: Some component templates (2) of a plurality of components of a facility are called from one component template memory (1), a plurality of components (4) are created from the some component templates (2), and are linked to each other within a system descriptor (3); In the method, for each component (4) of the system descriptor (3), one component program code is transmitted to one assigned control device (6); The some component templates (2) include a plurality of function descriptors and a plurality of interface descriptors having one or more port descriptors for data exchange, the created plurality of components (4) include a plurality of interfaces corresponding to the plurality of interface descriptors, and matching interfaces of a plurality of different components (4) are linked via a plurality of component links (5); One control device (6) of the facility control unit is selected for each component (4) of the system descriptor (3), and then one component program code adapted to the control device (6) and a plurality of sensors and / or a plurality of actuators connected to the control device (6) is generated by one code compiler (7) from the function descriptors of the component templates (2) of the plurality of components (4) and the linked plurality of interfaces, and is transmitted to the selected control device (6).

2. The method according to claim 1, wherein the function descriptors of the component templates (2) have function program code, and the function program code is compiled into component program code by the code compiler (7) for the plurality of components (4) generated from the component templates (2) based on the linked plurality of interfaces before being transmitted to the selected control device (6).

3. The component template (2) includes parameter descriptors, and the component (4) includes parameters corresponding to the parameter descriptors, and these are transmitted to the selected control device (6) together with the component program code, according to the method of claim 1 or 2, characterized in that.

4. The code compiler (7) adapts the component program code to the selected control device (6) before transmission based on the preset parameters, according to the method of claim 3, characterized in that.

5. The system descriptor (3) constitutes a graph, and a plurality of nodes of the graph are linked to each other via one protruding line portion existing between these nodes, according to the method of any one of claims 1 to 4, characterized in that.

Citation Information

Patent Citations

  • Graphical editor for developing programs for process control based on templates and detecting the differences between hierarchical data structures

    EP2533148A1

  • Apparatus and method for control program generation, and program product

    JP2004199524A

  • Device and method for automatically generating automation software

    WO2003083650A2

  • Programming automation in a 3D graphical editor with tightly coupled logic and physical simulation

    WO2016053337A1