A programmable function block generation method and system based on a device information model

By using a programmable function block generation method based on the device information model, the problem of complex communication protocols for industrial control equipment is solved, efficient utilization of the device information model is achieved, and the development efficiency and maintainability of industrial control systems are improved.

CN119960366BActive Publication Date: 2026-02-24UNIV OF SCI & TECH BEIJING
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411927678.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2026-02-24
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

In the existing technology, the communication protocols of industrial control equipment are complex and the operation semantics are defined by the manufacturers themselves, which leads to complex control program design processes, poor reusability and maintainability, and a lack of efficient use of equipment information models in the control application development process.

Method used

This paper provides a method and system for generating programmable function blocks based on a device information model. The method reads device information through a device management shell, generates programmable function blocks with clear semantics, and uses a device function manager to automatically register and map devices, thereby achieving efficient generation and maintenance of function blocks.

Benefits of technology

It simplifies the industrial control application development process, improves system refactoring efficiency, enhances development efficiency, maintainability, and reusability, and supports real-time dynamic monitoring of equipment functional status.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119960366B_ABST
    Figure CN119960366B_ABST
Patent Text Reader

Abstract

The application provides a programmable function block generation method and system based on a device information model, and relates to the technical field of industrial process control.The method comprises the following steps: uploading industrial device information to obtain a device information model; uploading an industrial controller control execution standard to obtain a function block execution standard; automatically registering a device through a device management shell according to the device information model to obtain device registration information; and generating mapping through a device function manager based on the function block execution standard and according to the device registration information to obtain a programmable device function block.The application is a programmable function block generation method based on a device information model, which has high development efficiency, high maintainability and high reusability.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of industrial process control, and particularly to a programmable function block generation method and system based on a device information model. BACKGROUND

[0002] A typical industrial automation system is composed of controllers, actuators, sensors and other devices. The controller is the core device in the system, which connects with actuators, sensors and other industrial control devices using fieldbus or industrial Ethernet, and is responsible for executing control programs to achieve automation control of devices. However, the communication protocol of current industrial control devices is complex, and the operation semantics is defined by the manufacturer, which leads to a very complex design process of control programs, and poor reusability and maintainability of programs.

[0003] With the advancement of technology and the increasing demand of consumer market, manufacturing industry has begun to change from mass production to personalized intelligent manufacturing, and the drawbacks of traditional industrial control systems have become increasingly prominent, which cannot meet the demand of rapid reconstruction of systems. Therefore, the International Organization for Standardization (ISO) has proposed a series of technical solutions to unify the communication interface and operation semantics of industrial control devices to improve the interoperability between devices. For example, Asset Administration Shell (AAS) and Module Type Package (MTP) solutions.

[0004] MTP is to develop the production process unit of process industry into a series of modules with specific functions, and to arrange and combine the modules by an arrangement tool to create a production process. Based on the unified standard, it realizes the function description independent of the manufacturer and the standardized interface, and improves the system integration efficiency. The design process of MTP-based industrial control system is divided into two stages of module engineering and arrangement engineering. Usually in the module engineering stage, MTP files describing the functions and interfaces of modules are formed, and the MTP files are manually imported into the arrangement tool for arrangement engineering design. On the hardware side, MTP is based on existing Programmable Logic Controller (PLC) and Distributed Control System (DCS), and the PLC and the industrial control devices connected with the PLC are packaged as a whole as a module. The integration and development work between PLC and industrial control devices still depends on the traditional mode.

[0005] AAS is a standardized digital representation of assets in a manufacturing system, which supports the establishment of information models to describe the related characteristics and technical functions of assets, and realizes the open interconnection and unified management of assets. The application field of AAS focuses on asset maintenance management and high-level production arrangement, and does not provide a configuration design scheme for field-level industrial control systems.

[0006] Existing technologies support the establishment of standardized information models for industrial control equipment, thereby shielding it from heterogeneous information from manufacturers. However, these technologies focus on encapsulating equipment functions and attributes, without proposing further technical solutions to endow equipment with autonomous integration capabilities. Current technologies typically rely on manual import methods to integrate equipment description files into system engineering, lacking a real-time dynamic monitoring mechanism for the equipment's functional status.

[0007] Existing technical solutions are mainly applied to the system control layer and above. In field-level industrial control systems with PLC / DCS as the core, there is a lack of technical solutions to map equipment information models to the control program development environment. This makes it impossible to efficiently utilize standardized equipment information models during control application development, hindering further improvements in system open interconnection capabilities and reconfiguration speed.

[0008] In the existing technology, there is a lack of a method for generating programmable function blocks based on device information models that offers high development efficiency, high maintainability, and high reusability. Summary of the Invention

[0009] To address the technical problems of existing industrial control equipment, such as complex communication protocols, vendor-defined operational semantics leading to highly complex control program design processes, and poor reusability and maintainability of industrial control programs, this invention provides a method and system for generating programmable function blocks based on a device information model. The technical solution is as follows:

[0010] On the one hand, a method for generating programmable function blocks based on a device information model is provided. This method is implemented by a programmable function block generation device and includes:

[0011] Based on the equipment management shell, read industrial equipment information to obtain the equipment information model; upload the industrial controller control execution standard to obtain the function block execution standard;

[0012] Based on the device information model, the device is automatically registered through the device management shell to obtain device registration information;

[0013] Based on the function block execution standard, and according to the device registration information, a mapping is generated through the device function manager to obtain programmable device function blocks.

[0014] On the other hand, a programmable function block (FPC) generation system based on a device information model is provided. This system is applied to the FPC generation method based on the device information model. The system includes an industrial controller, a device management shell, and electronic devices, wherein:

[0015] The industrial controller is used to upload the industrial controller control execution standard to obtain the function block execution standard;

[0016] The device management shell is used to read industrial equipment information based on the device management shell to obtain an equipment information model; and to automatically register the equipment through the device management shell according to the equipment information model to obtain equipment registration information.

[0017] The electronic device is used to execute the standard based on the function block, and generate a mapping through the device function manager according to the device registration information to obtain a programmable device function block.

[0018] On the other hand, a programmable function block generation device is provided, the programmable function block generation device comprising: a processor; a memory storing computer-readable instructions, wherein when the computer-readable instructions are executed by the processor, any one of the programmable function block generation methods based on the device information model described above is implemented.

[0019] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction is stored therein, the at least one instruction being loaded and executed by a processor to implement any of the above-described methods for generating programmable function blocks based on a device information model.

[0020] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following:

[0021] This invention proposes a method for generating programmable function blocks based on a device information model. The method involves a device function manager receiving an online registration request from a device management shell, obtaining the management shell server address and the device information model, and then creating function blocks for each node in the model that matches the mapping rules. These generated function blocks are stored in a library. The manager continuously monitors the device status and synchronizes the device's online status and functional availability to the device function library. The development environment can use the function blocks in the library to write device control applications. The function blocks inherit the semantic information of the information model, providing industrial control application developers with device function blocks with clear semantics, simplifying the application development process and improving system refactoring efficiency. This invention is a highly efficient, maintainable, and reusable method for generating programmable function blocks based on a device information model. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a flowchart of a method for generating programmable function blocks based on a device information model, provided by an embodiment of the present invention.

[0024] Figure 2 This is a schematic diagram of the internal program structure of a device function block based on the IEC 61131-3 PLC standard provided in an embodiment of the present invention;

[0025] Figure 3 This is a block diagram of a programmable function block generation system based on a device information model provided in an embodiment of the present invention;

[0026] Figure 4 This is a schematic diagram of the structure of a programmable function block generation device provided in an embodiment of the present invention. Detailed Implementation

[0027] The technical solution of the present invention will now be described with reference to the accompanying drawings.

[0028] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.

[0029] In the embodiments of this invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning. Similarly, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning.

[0030] In this embodiment of the invention, sometimes a subscript such as W1 may be written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.

[0031] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.

[0032] This invention provides a method for generating programmable function blocks (FPCs) based on a device information model. This method can be implemented by a FPC generation device, which can be a terminal or a server. Figure 1 The flowchart shown is for a method to generate programmable function blocks based on a device information model. The processing flow of this method may include the following steps:

[0033] S1. Based on the equipment management shell, read industrial equipment information to obtain the equipment information model; upload the industrial controller control execution standard to obtain the function block execution standard.

[0034] Among them, the equipment information model is a structured description of industrial equipment information using a modeling language; the modeling language includes automation markup language or open platform communication unified architecture;

[0035] Equipment information models include the attributes, functions, operating status, and geometry of industrial equipment.

[0036] In one feasible implementation, the overall architecture of this invention can be divided into a device layer, an execution layer, and a management layer. The device information model is a structured description of device attributes, functions, operating status, geometric structure, and other information using an object-oriented modeling language. Suitable modeling languages ​​include Open Platform Communications Unified Architecture (OPC UA) and Automation Markup Language (AML). The device information model needs to be instantiated in the model address space to provide accessible device objects to external users. An OPC UA server can be used to establish the address space and create device object instances within it.

[0037] S2. Based on the equipment information model, automatically register the equipment through the equipment management shell to obtain equipment registration information.

[0038] The device management shell includes a registration unit, a server, a model space, device function programs, an industrial protocol stack, and peripheral drivers.

[0039] The deployment methods for device management shells include integrated device deployment or separate deployment.

[0040] In one feasible implementation, the device layer of this invention includes all industrial equipment, referring to field-level physical equipment used in industrial manufacturing systems. This includes both traditional Operation Technology (OT) domain devices and emerging Information Technology (IT) domain devices, all of which achieve standardized representation of device attributes, functions, and other information by loading a device management shell. Physically, the device management shell can be deployed integrated with the equipment or separately across the factory network, allowing for flexible selection of the deployment method based on the interface between the management shell and the equipment. The functionality of the device management shell revolves around the device information model.

[0041] The device management shell uses a semantic information model to encapsulate the set of device functions. The device management shell consists of a registrar, a server, a model space, device function programs, and industrial protocol stacks or peripheral drivers. After the management shell program starts, it automatically sends the server address and the information model of the device objects in the address space to the device function manager of the system management layer, completing the automatic registration of the device.

[0042] Optionally, based on the device information model, the device is automatically registered through the device management shell to obtain device registration information, including:

[0043] In the model space, the device information model is instantiated to obtain a device object; the device object includes object nodes, variable nodes, and method nodes.

[0044] Based on the registration tool, the device is registered according to the device object and the server address, and the device registration information is obtained.

[0045] In one feasible implementation, within the device management shell, a model space is used to maintain instances of the device information model, i.e., device objects. In the model space, the instantiation of the device information model creates device objects. The device information model is a static file, while the device objects are accessible objects within the model space.

[0046] The structure of a device object is consistent with that of the device information model. A device object consists of object nodes, variable nodes, and method nodes, and nodes can be nested in multiple levels. Nodes are connected through references. Each node has a node name that describes its purpose, and each node has a node identifier, which is unique within the same model space.

[0047] A device object is a virtualized representation of industrial equipment, describing its attributes, configuration, functions, and status. It provides semantically informative access interfaces externally and is bound to specific device function programs internally. External devices can access any node under a device object to trigger the device function programs bound to those nodes, enabling operations such as reading device attributes, modifying device configurations, monitoring device status, or invoking device functions.

[0048] Device function programs are bound to each node within a device object, providing each node with the functionality corresponding to its name. When a node is accessed by an external device, the bound function program is triggered and executed to complete the node's function. For example, if a device object created using a conveyor belt's device information model contains node information for controlling the conveyor belt's forward rotation, then a function program needs to be written for that node. The program uses the data formats and communication methods supported by the conveyor belt to control its forward rotation.

[0049] Industrial protocol stacks / peripheral drivers are used to connect to industrial equipment. Device function programs establish data connections with industrial equipment through the industrial protocol stacks or peripheral drivers supported by the industrial equipment, enabling data interaction between the device function programs and the industrial equipment to execute the required functions.

[0050] The server is the communication interface provided by the device management shell to external devices. External devices can connect to the server inside the device management shell via a client to access various nodes under the device object in the model space. The client / server communication mode can be established based on communication protocols such as OPC UA.

[0051] The registrar is used to send a registration request to the programmable function block generator. The registration request includes the device information model, the identifiers of all nodes under the device object in the model space, and the server address of the device management shell.

[0052] S3. Based on the function block execution standard, the programmable device function blocks are obtained by generating mappings through the device function manager according to the device registration information.

[0053] In one feasible implementation, the management layer of the present invention includes a device function manager, a device function library, and a control program development environment, which completes the discovery of field device functions, the generation and storage of programmable device function blocks, and the development of control programs based on the device function blocks.

[0054] The device function manager includes a model parser, a node mapper, a template filler, and a state synchronizer.

[0055] In one feasible implementation, the model parser in this invention is used to parse the information model, extracting from the device information model the node type, node name, node nesting level, reference relationships between the node and adjacent nodes, node input data, and node output data for each node. After parsing the above information for each node from the device information model, the node information and node identifier are sent to the node mapper.

[0056] The node mapper is used to determine whether a node in the device information model can be mapped to a device function block. The node mapper stores mapping rules that define the mapping relationship between nodes and device function blocks. When the node mapper receives node information from the model parser, it iterates through the mapping rules to check if the node information conforms to them. If it does, the node information and its identifier are sent to the template filler; otherwise, the information is discarded.

[0057] The template filler populates the device function block template based on the node information, generating a programmable device function block file. The programmable device function block file includes a function block description file and the internal program of the function block.

[0058] The state synchronizer obtains the node identifiers of all nodes that match the mapping rules from the node mapper, connects to the device management shell server, continuously monitors the node status, and synchronizes the available node status to the database.

[0059] The device manager receives the online registration information of the device, generates programmable device function blocks that conform to the standards supported by industrial controllers based on the device information model, and continuously monitors the online status of the device management shell and synchronizes the status information to the device function library.

[0060] The device function library provides the development environment with description files for device function blocks and program files within those blocks. Device function blocks can be directly called within the development environment for efficient industrial control program development. The library stores the names of all registered devices, along with the names of all function blocks for each device, their description files, and their program files. The storage structure of the device function library is shown in Table 1 (Device Function Library Storage Structure Table).

[0061] Table 1

[0062]

[0063] The programmable device function block also includes an input reading module, an output writing module, an enable judgment module, a node access module, and a result processing module.

[0064] In one feasible implementation, the programmable device function block generated in this invention includes, in addition to the function block description file and the control logic program inside the function block necessary for running the industrial control program, some functional modules that work together with it.

[0065] The input reading module reads the input variables of the function block and passes them to subsequent function programs. The input reading module consistently reads the Boolean-type `Execute` input variable. During the execution of the programmable device function block, the input reading module passes the value of the `Execute` variable to the enable decision module. The template filler adds other input variables to the input reading module based on node information. During the execution of the programmable device function block, the input reading module passes the values ​​of these other input variables to the node access module.

[0066] The output writing module is used to write processing results to the output variables of the function block. The output writing module consistently writes data to the Done, Busy, Error, and ErrorID output variables. The template filler adds output variables to the output writing module based on node information. During the execution of the device function block, data is received from the result processing module and written to the corresponding output variables.

[0067] The enable judgment module continuously receives the Execute input variable. When it receives the enable signal, it enables the subsequent functions of the function block. Otherwise, it will not enable the subsequent functions.

[0068] The node access module connects to the device management shell server and accesses nodes within device objects. The template filler writes the device management shell server address and node identifier into the node access module. Based on the node information, it populates the node access module with functions for reading / writing node values ​​or calling node methods. During the execution of a device function block, the node access module receives other input variable values, connects to the device management shell, and performs node access to complete operations such as writing values, reading values, or calling method nodes. After the access is complete, the access result is sent to the result processing module.

[0069] The result processing module processes the access results, which include an access operation execution status identifier and the data returned after the node was accessed. The template filler, based on the node information, fills in the processing program for the node's returned data into the result processing module. During the execution of the device function block, the result processing module first determines whether the access operation was successfully executed based on the access operation execution status identifier. If successful, it executes the processing program for the node's returned data; otherwise, it does not. Then, the output writing module writes the result data to the corresponding output variable.

[0070] Optionally, based on the function block execution standard and according to the device registration information, a mapping is generated through the device function manager to obtain programmable device function blocks, including:

[0071] The device registration information is read to obtain a device information model;

[0072] Based on the equipment information model, the node information is obtained by parsing the information through the model parser;

[0073] Based on preset mapping rules, the node information is filtered by the node mapper to obtain the filtered node information.

[0074] Based on the function block execution standard and the description template of the template filler, a description is generated according to the filtered node information to obtain the function block description file; the function block description file includes the function block name, input variable name, output variable name and data type;

[0075] Based on the function block execution standard and the program template of the template filler, the program template is filled according to the filtered node information to obtain the internal program of the function block.

[0076] In one feasible implementation, the model parser is used to parse the information model, extracting from the device information model the node type, node name, node nesting level, reference relationships between the node and adjacent nodes, node input data, and node output data for each node. After parsing the above information for each node from the device information model, the node information and node identifier are sent to the node mapper.

[0077] like Figure 2 The diagram shows the internal program structure of a device function block based on the IEC 61131-3 PLC standard. The mapping rules specify the mapping relationship between the device information model designed based on a custom modeling standard and the function blocks based on the IEC 61131-3 PLC standard.

[0078] The function block description file describes the name of the function block, the names of the input and output variables, and their data types. The file format uses a format supported by the industrial controller development environment; for example, the PLCOpenXML format can be used for the IEC 61131 PLC standard. The device function manager integrates a description template; the mapping module fills the template with node information conforming to the mapping rules to generate the function block description file.

[0079] The program within a function block implements the execution logic of the programmable device's function block. The device manager integrates program templates, which are populated by the mapping module based on node information to complete the internal program of the function block. The structure of the program template must conform to industrial controller development environment standards.

[0080] In one feasible implementation, the execution layer serves as the runtime environment for the industrial control program, and the developed industrial control program can be downloaded to this environment for execution. During program execution, the device function blocks run their internal programs, accessing device nodes within the device management shell to achieve the required functions.

[0081] When the device function block automatic generation process is executed, the device function manager stores the device information and the generated function block files in the device function library. It also continuously accesses the device management shell using the device management shell server address from the registration information to monitor the device's online status and synchronize the status information to the device function library.

[0082] After the device function library is loaded into the development environment of the industrial control program, the device function blocks in the library can be called. Users can call the required device function blocks in the development environment, add processing logic, and assemble the industrial control program. The industrial control program can then be downloaded to the runtime environment and run. During the execution of the industrial control program, when a device function block is triggered, the device function block connects to the corresponding device management shell server, accesses the nodes in the device object, and controls the device to complete the required functions.

[0083] This invention proposes a method for generating programmable function blocks based on a device information model. The method involves a device function manager receiving an online registration request from a device management shell, obtaining the management shell server address and the device information model, and then creating function blocks for each node in the model that matches the mapping rules. These generated function blocks are stored in a library. The manager continuously monitors the device status and synchronizes the device's online status and functional availability to the device function library. The development environment can use the function blocks in the library to write device control applications. The function blocks inherit the semantic information of the information model, providing industrial control application developers with device function blocks with clear semantics, simplifying the application development process and improving system refactoring efficiency. This invention is a highly efficient, maintainable, and reusable method for generating programmable function blocks based on a device information model.

[0084] Figure 3 This is a block diagram of a programmable function block (FPC) generation system based on a device information model, illustrated according to an exemplary embodiment. This system is used in a method for generating FPCs based on a device information model. (Refer to...) Figure 3 The system includes an industrial controller 310, an equipment management housing 320, and an electronic device 330, wherein:

[0085] Industrial controller 310 is used to upload the industrial controller control execution standard and obtain the function block execution standard;

[0086] The equipment management shell 320 is used to read industrial equipment information based on the equipment management shell to obtain an equipment information model; and to automatically register the equipment through the equipment management shell according to the equipment information model to obtain equipment registration information.

[0087] Electronic device 330 is used to obtain programmable device function blocks by generating mappings through a device function manager based on the function block execution standard and according to device registration information.

[0088] Among them, the equipment information model is a structured description of industrial equipment information using a modeling language; the modeling language includes automation markup language or open platform communication unified architecture;

[0089] Equipment information models include the attributes, functions, operating status, and geometry of industrial equipment.

[0090] The device management shell includes a registration unit, a server, a model space, device function programs, an industrial protocol stack, and peripheral drivers.

[0091] The deployment methods for device management shells include integrated device deployment or separate deployment.

[0092] Optionally, the device management housing 320 is further used for:

[0093] In the model space, the device information model is instantiated to obtain a device object; the device object includes object nodes, variable nodes, and method nodes.

[0094] Based on the registration tool, the device is registered according to the device object and the server address, and the device registration information is obtained.

[0095] The programmable device function block also includes an input reading module, an output writing module, an enable judgment module, a node access module, and a result processing module.

[0096] The device function manager includes a model parser, a node mapper, a template filler, and a state synchronizer.

[0097] Optionally, the electronic device 330 is further used for:

[0098] The device registration information is read to obtain a device information model;

[0099] Based on the equipment information model, the node information is obtained by parsing the information through the model parser;

[0100] Based on preset mapping rules, the node information is filtered by the node mapper to obtain the filtered node information.

[0101] Based on the function block execution standard and the description template of the template filler, a description is generated according to the filtered node information to obtain the function block description file; the function block description file includes the function block name, input variable name, output variable name and data type;

[0102] Based on the function block execution standard and the program template of the template filler, the program template is filled according to the filtered node information to obtain the internal program of the function block.

[0103] This invention proposes a method for generating programmable function blocks based on a device information model. The method involves a device function manager receiving an online registration request from a device management shell, obtaining the management shell server address and the device information model, and then creating function blocks for each node in the model that matches the mapping rules. These generated function blocks are stored in a library. The manager continuously monitors the device status and synchronizes the device's online status and functional availability to the device function library. The development environment can use the function blocks in the library to write device control applications. The function blocks inherit the semantic information of the information model, providing industrial control application developers with device function blocks with clear semantics, simplifying the application development process and improving system refactoring efficiency. This invention is a highly efficient, maintainable, and reusable method for generating programmable function blocks based on a device information model.

[0104] Figure 4This is a schematic diagram of the structure of a programmable function block generation device provided in an embodiment of the present invention, as shown below. Figure 4 As shown, the programmable function block generation device may include the above-mentioned Figure 3 The illustrated programmable function block (FPC) generation system is based on a device information model. Optionally, the FPC generation device 410 may include a first processor 2001.

[0105] Optionally, the programmable function block generation device 410 may also include a memory 2002 and a transceiver 2003.

[0106] The first processor 2001, memory 2002, and transceiver 2003 can be connected via a communication bus.

[0107] The following is combined Figure 4 The various components of the programmable function block generation device 410 are described in detail below:

[0108] The first processor 2001 is the control center of the programmable function block generation device 410. It can be a single processor or a collective term for multiple processing elements. For example, the first processor 2001 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement embodiments of the present invention, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).

[0109] Optionally, the first processor 2001 can execute various functions of the programmable function block generation device 410 by running or executing software programs stored in the memory 2002 and calling data stored in the memory 2002.

[0110] In a specific implementation, as one example, the first processor 2001 may include one or more CPUs, for example... Figure 4 CPU0 and CPU1 are shown in the diagram.

[0111] In a specific implementation, as one example, the programmable function block generation device 410 may also include multiple processors, for example... Figure 4The first processor 2001 and the second processor 2004 are shown in the diagram. Each of these processors can be a single-core processor or a multi-core processor. Here, a processor can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0112] The memory 2002 is used to store the software program that executes the present invention, and is controlled by the first processor 2001 to execute it. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.

[0113] Optionally, the memory 2002 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 2002 may be integrated with the first processor 2001 or may exist independently, and may be connected to the interface circuit of the programmable function block generation device 410. Figure 4 (Not shown in the image) is coupled to the first processor 2001, and this embodiment of the invention does not specifically limit this.

[0114] The transceiver 2003 is used to communicate with network devices or with terminal devices.

[0115] Alternatively, transceiver 2003 may include a receiver and a transmitter. Figure 4 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.

[0116] Optionally, the transceiver 2003 can be integrated with the first processor 2001 or exist independently, and the interface circuit of the device 410 can be generated through programmable function blocks. Figure 4 (Not shown in the image) is coupled to the first processor 2001, and this embodiment of the invention does not specifically limit this.

[0117] It should be noted that, ​ The structure of the programmable function block generation device 410 shown does not constitute a limitation on the router. The actual knowledge structure identification device may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0118] Furthermore, the technical effects of the programmable function block generation device 410 can be referred to the technical effects of the programmable function block generation method based on the device information model described in the above method embodiments, and will not be repeated here.

[0119] It should be understood that the first processor 2001 in the embodiments of the present invention may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0120] It should also be understood that the memory in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0121] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable system. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.

[0122] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.

[0123] In this invention, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be a single item or multiple items.

[0124] It should be understood that, in various embodiments of the present invention, the order of the above-mentioned process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0125] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0126] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, systems, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0127] In the embodiments provided by this invention, it should be understood that the disclosed devices, systems, and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or units may be electrical, mechanical, or other forms.

[0128] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0129] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0130] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0131] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for generating programmable function blocks based on a device information model, characterized in that, The method includes: Based on the equipment management shell, read industrial equipment information to obtain the equipment information model; upload the industrial controller control execution standard to obtain the function block execution standard; Based on the device information model, the device is automatically registered through the device management shell to obtain device registration information; Based on the function block execution standard, and according to the device registration information, a mapping is generated through the device function manager to obtain a programmable device function block; The device function manager includes a model parser, a node mapper, a template filler, and a state synchronizer. The step of generating a mapping based on the function block execution standard and the device registration information, and obtaining a programmable device function block through the device function manager, includes: The device registration information is read to obtain a device information model; Based on the device information model, the node information is obtained by parsing the information through the model parser. Based on preset mapping rules, the node information is filtered through the node mapper according to the node information to obtain filtered node information. Based on the function block execution standard and the description template of the template filler, a description is generated according to the filtered node information to obtain a function block description file; the function block description file includes the function block name, input variable name, output variable name, and data type; Based on the function block execution standard and the program template of the template filler, the control program template is filled according to the filtered node information to obtain the internal program of the function block.

2. The method for generating programmable function blocks based on a device information model according to claim 1, characterized in that, The equipment information model is a structured description of industrial equipment information using a modeling language; the modeling language includes an automation markup language or an open platform communication unified architecture. The equipment information model includes the attributes, functions, operating status, and geometric structure of the industrial equipment.

3. The method for generating programmable function blocks based on a device information model according to claim 1, characterized in that, The device management shell includes a registry, server, model space, device function program, industrial protocol stack, and peripheral driver; The deployment methods for the device management shell include integrated device deployment or separate deployment.

4. The method for generating programmable function blocks based on a device information model according to claim 3, characterized in that, The step of automatically registering devices through the device management shell based on the device information model to obtain device registration information includes: In the model space, a device object is obtained by instantiating the device information model; the device object includes object nodes, variable nodes, and method nodes. Based on the registration tool, the device is registered according to the device object and the address of the server, and device registration information is obtained.

5. The method for generating programmable function blocks based on a device information model according to claim 1, characterized in that, The programmable device functional block also includes an input reading module, an output writing module, an enable judgment module, a node access module, and a result processing module.

6. A programmable function block generation system based on a device information model, wherein the programmable function block generation system based on the device information model is used to implement the programmable function block generation method based on the device information model as described in any one of claims 1-5, characterized in that, The system includes an industrial controller, an equipment management housing, and electronic devices, wherein: The industrial controller is used to upload the industrial controller control execution standard to obtain the function block execution standard; The device management shell is used to read industrial equipment information based on the device management shell to obtain an equipment information model; and to automatically register the equipment through the device management shell according to the equipment information model to obtain equipment registration information. The electronic device is used to execute the standard based on the function block, and generate a mapping through the device function manager according to the device registration information to obtain a programmable device function block; The device function manager includes a model parser, a node mapper, a template filler, and a state synchronizer. The step of generating a mapping based on the function block execution standard and the device registration information, and obtaining a programmable device function block through the device function manager, includes: The device registration information is read to obtain a device information model; Based on the device information model, the node information is obtained by parsing the information through the model parser. Based on preset mapping rules, the node information is filtered through the node mapper according to the node information to obtain filtered node information. Based on the function block execution standard and the description template of the template filler, a description is generated according to the filtered node information to obtain a function block description file; the function block description file includes the function block name, input variable name, output variable name, and data type; Based on the function block execution standard and the program template of the template filler, the control program template is filled according to the filtered node information to obtain the internal program of the function block.

7. A programmable function block generation device, characterized in that, The programmable function block generation device includes: processor; A memory storing computer-readable instructions that, when executed by the processor, implement the method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium contains program code that can be invoked by a processor to execute the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Industrial equipment control method and device and computer readable storage medium

    CN115720233A

  • Function block calling method and device of industrial control configuration software, equipment and medium

    CN116009994A

  • Smart function block for integration of plcs into a control system and methods for the same

    US20190103763A1