Software-defined edge controller sensing, calculation and control integrated design system supporting synchronous development

Through the software-defined integrated design system for sensing computing and control of edge controllers, the problems of low development efficiency, high configuration cost and complex maintenance in the existing technology are solved, and an efficient, stable and flexible perception-computing-control system is achieved.

CN119806492AActive Publication Date: 2025-04-11SHANGHAI JIAOTONG UNIV
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510013013.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-03
Publication Date
2025-04-11
Estimated Expiration
2045-01-03

AI Technical Summary

Technical Problem

In the intelligent transformation of perception-computing-control loops, the problems of low development efficiency, high configuration cost, complex maintenance and support, and the inability to quickly adapt to changes in process requirements.

Method used

Provides a software-defined edge controller sensor computing and control integrated design system that supports synchronous development, including configuration programming platform and operating environment. The configuration programming platform is characterized by webization and modularization, and supports synchronous development of textual programming languages ​​and graphical programming languages, and interface debugging functions; the operating environment is characterized by virtualization, and has functions of decoupling of functional modules, rapid reconstructible process requirements, and dynamic updates.

Benefits of technology

It improves development efficiency and system stability, reduces configuration and maintenance costs, realizes rapid response to process requirements changes and fine-grained backup of the system, ensuring efficient and safe program back-up.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806492A_ABST
    Figure CN119806492A_ABST
Patent Text Reader

Abstract

The invention discloses a software-defined edge controller sensing, calculation and control integrated design system supporting synchronous development, and relates to the industrial field, the software-defined edge controller sensing, calculation and control integrated design system comprises a configuration programming platform and an operating environment, the configuration programming platform is characterized by web and modularization, mainly comprises an IDE component library and an IDE construction module, and is deployed in a server, and the operating environment is connected with the server. The system has the functions of easy expansion, customizable development, support of synchronous development of textual programming language and graphical programming language, and interface debugging; the operation environment is characterized by virtualization, and has the functions of function module decoupling, process requirement rapid reconfiguration and dynamic updating. According to the invention, on the basis of the sensing, calculation and control integrated configuration platform, the development efficiency and the availability and stability of the system can be effectively improved, and the reconfiguration workload is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the industrial field, and in particular to a software-defined edge controller sensing, computing and control integrated design system supporting synchronous development. Background Art

[0002] With the rapid development of the global economy and technological progress, industrial transformation is booming in the industrial world. The deep integration of the new generation of information technology (IT) and industrial operation technology (OT) has become an important feature of the advanced industrial production system architecture. However, how to further apply artificial intelligence technology, big data technology, etc. to the production process, intelligently transform the perception-computation-control loop, reduce the time for new applications to land, and improve production efficiency is a key issue that major industrial manufacturers are still exploring. In the research and development of sensing, computing and control programs, it is often necessary for many engineers or manufacturers with different professional backgrounds to develop different software for different equipment. This special machine-specific research and development model requires the formulation of complex unified interfaces, and the environmental configuration and assembly debugging during integration require a large workload. The cost of interface changes in the later stage of project development is high, and the programs, applications and equipment of different manufacturers are closely bound, making it difficult for data to interact directly, which easily leads to the obstruction of information exchange in the coordination of multiple processes and multiple production lines in smart factories, seriously limiting production flexibility. In terms of the operation of sensing, computing and control programs, the currently widely used traditional industrial controllers cannot process unstructured data. High-performance sensing and computing tasks represented by image processing and deep learning need to be run on additional dedicated equipment, which increases the execution delay of the control loop, reduces the stability and safety of production, and limits the application of intelligent algorithms in production. In the face of these problems, high-performance industrial edge controllers have been gradually introduced into production sites, but there is still a lack of integrated R&D, debugging, and execution solutions for sensing, computing and control programs, resulting in low development efficiency, high configuration costs, complex maintenance and support, and inability to quickly adapt to changes in process requirements.

[0003] Industrial edge control includes two parts: configuration programming platform and controller operating environment. Users first use text or graphic language to write programs corresponding to production processes through the configuration programming platform, and then send them to the operating environment of the edge controller hardware. The input information is obtained from the sensor device through the hardware interface, further analyzed in the computing device, and the results are sent to the control device for control calculation. The control signal is obtained and output to the execution device to complete the perception, calculation, and control process. Recently, software definition has achieved great success in the fields of network communication and automobile production. Its core idea is to break the dedicated architecture, virtualize the basic hardware, provide standardized basic functions, control its basic functions with software, and give the hardware different capabilities. In order to improve the R&D efficiency and flexibility of intelligent manufacturing and provide more open and efficient management and control capabilities, a design method for the integrated system of industrial edge controller sensing, computing and control is provided based on software definition, which is of great significance to promoting the deep integration of IT and OT and the transformation of industrial intelligence.

[0004] After searching and investigating, the domestic patent application number 202011356569.3 and the name “A software-defined industrial intelligent control system” describes a software-defined edge computing platform at the software level and a software-defined edge intelligent controller at the hardware level. It supports real-time industrial control tasks and non-real-time edge intelligent computing tasks based on container technology. However, there is no unified development architecture for the configuration programming platform, and no consideration of the unified management of perception, computing, and control equipment and the communication configuration method between containers. It also does not consider the method to improve the development efficiency of the program and the rapid reconstruction capability. The domestic patent application number 201711098557.3 and the name “Software-defined control system and control method” patent designs a configuration platform based on modular thinking, and uses a reconfigurable and transplantable controller operating system core module to form a controller operating system for different types of CPUs. However, it is aimed at traditional programmable logic controllers. The patent is named “A software-defined industrial control system architecture and task offloading method” with domestic patent application number 202410491659.5, which defines the control system architecture and cloud server architecture, and realizes the decoupling of software and hardware based on virtualization technology. However, when facing different process requirements and development scenarios, it does not consider the flexible expansion of the development components of the configuration programming platform, and when the application requirements change, it cannot realize the rapid reconstruction of processes and programs; the patent is named “Software-defined process control system and method for industrial process plants” with domestic patent application number 202210737702.2, which realizes the resource separation and dynamic asset change conditions of software and hardware platforms based on virtualization and container technology, but does not consider the development efficiency, reconstruction efficiency, backup and recovery of the program and other issues.

[0005] Therefore, technicians in this field are committed to developing a system with high efficiency and high reliability. Summary of the invention

[0006] In view of the above-mentioned defects of the prior art, the technical problem to be solved by the present invention is how to improve reliability and efficiency.

[0007] To achieve the above-mentioned purpose, the present invention provides a software-defined edge controller sensing, computing and control integrated design system that supports synchronous development, which is characterized by comprising two parts: a configuration programming platform and an operating environment. The configuration programming platform is characterized by webization and modularization, and mainly comprises two parts: an IDE component library and an IDE building module. It is deployed in a server and has the functions of easy expansion, customizable development, support for synchronous development of textual programming languages ​​and graphical programming languages, and interface debugging. The operating environment is characterized by virtualization, and has the functions of decoupling of functional modules, rapid reconfiguration according to process requirements, and dynamic updating.

[0008] Furthermore, in the early stage of project development, users can select functional components required for project development in the IDE component library, generate an integrated development environment that only contains the functions required for the project, instantiate it to the server, allocate some storage space for the storage of code files and resource files, and bind the storage space to the IDE resource manager. The default project creation user is the administrator. After the IDE is instantiated, a unique URL is generated. Multiple users can use any operating system terminal to access the internal network and access the same project through the URL. Users can operate the same program file in the project, or they can operate different program files separately. The synchronization tool can display the user name and operation location of the operating user.

[0009] Furthermore, the functional components mainly include source code editor components, compiler components, interpreter components, performance testing components, document reading components, resource management components, etc. of different programming languages, which are deployed to the server in a modular manner and support embedding and removal in the web development framework;

[0010] The arbitrary operating system terminal includes a desktop operating system such as Windows, Linux, and a mobile operating system such as Android, IOS, etc. that supports browser applications;

[0011] The internal network refers to a network in the same local area network as the server, and all devices connected to the internal network should have the same network segment IP address;

[0012] The program files include two types: text programs and graphical programs. They are converted into unified intermediate data through mapping in the server background. Modification of text content or graphical content will change the intermediate data accordingly.

[0013] When multiple users access the synchronization tool, the synchronization tool creates an intermediate data copy for each user, records the user name, operation location and operation content, and feeds back to the source file in real time, preventing content conflicts or data inconsistencies among multiple users through optimistic locking or pessimistic locking mechanisms.

[0014] Further, a plain text data format intermediate file is defined. For the textual programming language, the programming language type, source code and other information are recorded in the intermediate file. For the graphical programming language, the programming language type, location, connection relationship, input and output, identifier and other information are recorded. The synchronization tool uses the intermediate file as the source file for synchronization, and renders all modifications to the source file to the user program file.

[0015] The text-based programming languages ​​include high-level languages ​​such as Python and C / C++, and also include ST and IL languages ​​specified in IEC 61131-3;

[0016] The graphical programming language includes LD, FBD, SFC languages ​​specified in IEC 61131-3, and also includes any graphical configuration language consisting of elements and connections;

[0017] During the program writing process, all currently available sensing, computing, and control devices can be viewed in the device tree, which provides a basic operation interface for unified management and testing, facilitating the correct configuration of program input and output;

[0018] The device tree is a list of devices registered through the device discovery component. In the present invention, all devices connected to the edge controller, including the edge controller itself, need to define a device information model. After startup, they actively register with the device discovery component deployed on the server. The registered device information will be maintained for a long time. The device discovery component will periodically send a heartbeat detection signal to confirm the online status of the device, and query the device information model for basic information such as device name, address, online status, etc., and render it in the device tree, providing a basic operation method calling interface defined in the device information model.

[0019] Furthermore, after the application is developed, the containerized packaging module is used to package programs with different functions into perception containers, computing containers, and control containers, and store them in the server;

[0020] The sensing container receives input from the physical sensor, including functions such as input signal acquisition, storage, conversion, data cleaning, and preprocessing;

[0021] The computing container can perform functions such as feature extraction, data fusion, identification, analysis, and prediction on the input information;

[0022] The control container performs control law calculation, performance optimization, safety, abnormality alarm and other functions according to the input information, and needs to output the control signal to the actuator;

[0023] When performing containerization packaging, the information of the "container fingerprint" data structure is filled in, including category, function, performance, input, output, connection physical device identifier, etc. All container fingerprint information is collected through the containerization packaging module.

[0024] Furthermore, in the container fingerprint data structure, category information includes perception, calculation, and control; functional information includes data acquisition, data analysis, control signal generation, etc.; performance information includes key algorithm parameters, processing delay, throughput, resource utilization, etc.; input and output information includes input data format, output data format, interface type, communication protocol, etc., and the physical device identifier is the device name, address, etc. defined in the device information model.

[0025] Furthermore, after the development and packaging of different categories of programs are completed, the user draws a process flow chart in the configuration programming platform, selects all the edge controllers that need to execute the process in the device tree and sends them in batches. After the edge controller receives them, the process resolution service performs node resolution to obtain all required container nodes, parses the node connection relationship in the process flow chart, extracts the hardware connection relationship between the perception container and the control container, and then sends it to the container management service to match the container nodes in the image repository, and pulls the containers corresponding to the associated nodes in the process flow chart to the edge controller. At the same time, the communication configuration file and hardware access script between containers are automatically generated according to the container fingerprint, node connection relationship and hardware connection relationship.

[0026] Furthermore, in the process flow diagram, each node represents a container or a physical hardware device, and the connection between them represents the data flow direction, and a node has at least one connection in the process flow diagram;

[0027] When the process requirements change, the user updates the process flow chart in the configuration programming platform, determines the container information that needs to be changed and the new container matching information through the container management service, pulls the new container from the server to all the edge controllers that need to be changed without stopping the system, and adaptively modifies the corresponding communication configuration parameters and hardware access configuration, removes the container that needs to be changed, generates a new communication configuration file and hardware access script, and completes the complete program update corresponding to the new process flow.

[0028] Furthermore, during the application development process, access to the program files requires an identification code, which is divided into read-only and writable, defined by the creator of the program files. The default creator is the administrator of the program files. When no settings are made, all users are readable and writable by default. Other users can see all the program files and encrypted program file identifiers that can be directly accessed in the program tree. By entering identification codes with different permissions for the encrypted program files, the program files can be read or modified. At the same time, the user name and operation are synchronized to other user terminals, improving the security of collaboration;

[0029] The interface debugging component tests information interaction between functions in the same program file and different program files, and supports temporary storage of return values ​​of upstream programs, so that downstream programs can be tested using real values.

[0030] Furthermore, the interface debugging component needs to bind and store the variables returned by the upstream program and the variables called by the downstream program. When the return variable is empty, the user can create a test value of the calling variable through the component; when the return variable is not empty, the user has two options. The first option is to use the created test value of the calling variable to check the interface consistency by type consistency comparison, structure consistency comparison, etc. The second option is to directly use the real return variable value to perform functional testing of the downstream program and provide log generation service to record historical data.

[0031] Taking the function block as the minimum backup unit, when a user modifies the function block, the interface debugging component is used to test the correctness of the function block as the interface of the upstream program and the downstream program, and the operation correctness of the function block of the given interface is further tested. If all pass, the modification is backed up, otherwise the function name is marked in red. When a program error occurs, a program recovery option is provided. Based on the backup unit of all functions, with the goal of successful operation, a version rollback strategy with the least number of modified functions is generated, and the selected function is rolled back to the content of the most recent successful backup.

[0032] In terms of technical advantages, when developing intelligent control applications based on the integrated sensing, computing and control configuration platform provided by the present invention, users do not need to pay attention to the compatibility of different platforms and programming environments during the development process, which effectively reduces the workload of early planning and later testing; text programs and graphical programs are updated in real time during the multi-user development process, and there is no need to wait for other users to submit code before testing, which changes static programming to dynamic programming; the functions of the integrated development environment can be customized for different projects, reducing unnecessary redundancy and increasing loading speed; the development process displays a list of available devices in real time, provides attributes such as status and address, and basic operation method calling interfaces, helping users to plan the interaction method with the equipment in advance when writing sensing, computing and control programs, facilitating the correct configuration of input and output, and effectively improving development efficiency.

[0033] In terms of performance indicators, the present invention decouples functional modules through virtualization technology, achieving a significant improvement in system flexibility, scalability and maintainability. Through process flow charts and container fingerprint data structures, users can quickly build programs for new process requirements, shortening the development cycle. The ability to develop text and graphical programs simultaneously ensures real-time updates during the development process, avoiding the tedious steps of waiting for other users to submit code before testing; the dynamic update mechanism not only improves system stability and greatly reduces the workload of reconfiguration, but the system's fine-grained backup mechanism can reduce the impact of program rollback on other unrelated functions, ensuring the efficiency and safety of the rollback process, and further improving the overall system performance.

[0034] In terms of production implementation, the integrated sensing, computing and control design based on the present invention can effectively support a variety of complex production scenarios. For example, in the control of automated production lines, traditional production line control systems usually face compatibility issues and difficulty in coordination between different platforms, and have a long development cycle. The configuration programming platform provided by the present invention can support textual and graphical program programming on the same platform, and multiple users can choose the language they are familiar with for synchronous development. At the same time, it can display the available device information in real time, simplifying the interface debugging, device interaction and configuration process; users can directly adjust the control program during the development process, avoiding the bottleneck of waiting for integration before testing, which can greatly improve the development efficiency of the production line automation system and shorten the production cycle of the product. With the widespread application of industrial automation and intelligent control systems, the demand for intelligent transformation of perception-computing-control loops continues to increase. Reducing the time for new applications to land and improving production efficiency are issues that major industrial manufacturers are in urgent need of solving. The present invention can meet this demand and has broad application prospects and potential economic benefits.

[0035] The concept, specific structure and technical effects of the present invention will be further described below in conjunction with the accompanying drawings to fully understand the purpose, characteristics and effects of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 This is a software-defined edge controller sensing, computing and control integrated system architecture diagram of a preferred embodiment of the present invention;

[0037] Figure 2 It is a synchronous development module architecture diagram of a preferred embodiment of the present invention;

[0038] Figure 3 It is a device discovery service architecture diagram of a preferred embodiment of the present invention;

[0039] Figure 4 It is an interface debugging component architecture diagram of a preferred embodiment of the present invention;

[0040] Figure 5 This is a schematic diagram of an application case of a material defect sorting control system according to a preferred embodiment of the present invention;

[0041] Figure 6 It is a single material flow sorting process flow chart of a preferred embodiment of the present invention;

[0042] Figure 7 It is a dual material flow sorting process flow chart of a preferred embodiment of the present invention;

[0043] Figure 8 It is a process flow chart of dual material flow sorting with safety assurance of a preferred embodiment of the present invention. DETAILED DESCRIPTION

[0044] The following describes several preferred embodiments of the present invention with reference to the drawings in the specification, so that the technical content is clearer and easier to understand. The present invention can be embodied in many different forms of embodiments, and the protection scope of the present invention is not limited to the embodiments mentioned in the text.

[0045] In the drawings, components with the same structure are indicated by the same numerical reference numerals, and components with similar structures or functions are indicated by similar numerical reference numerals. The size and thickness of each component shown in the drawings are arbitrarily shown, and the present invention does not limit the size and thickness of each component. In order to make the illustration clearer, the thickness of the components is appropriately exaggerated in some places in the drawings.

[0046] The present invention provides a software-defined edge controller sensing, computing and control integrated design supporting synchronous development, which can be divided into two parts: a configuration programming platform and an operating environment. The configuration programming platform is characterized by web-based and modularization, and has the functions of easy expansion, customizable development, support for synchronous development of textual programming languages ​​and graphical programming languages, interface debugging, etc. The operating environment is characterized by virtualization, and has the functions of decoupling of functional modules, rapid reconfiguration of process requirements, dynamic update, etc.

[0047] Among them, "software definition" is reflected in the configuration programming platform as users can arbitrarily select, expand, and modify functional components according to their needs, and generate an integrated development environment for the configuration programming platform for specific fields and projects based on the basic development environment framework; in the operating environment, it is reflected in the realization of flexible and changeable hardware functions based on different functional containers and process flow charts defined by users, without making any changes to the hardware itself. "Integration of sensing, computing, and control" is reflected in the configuration programming platform as the simultaneous development of perception algorithms, computing algorithms, and control algorithms on the same platform, as well as the unified registration and display of perception devices, computing devices, and control devices in the device tree; in the operating environment, it is reflected in the unified access of perception devices, computing devices, and control devices based on information models, and the adaptive association of perception, computing, and control devices with containers based on process analysis services and container management services.

[0048] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Figures 1 to 4 Describes the overall architecture and key component architecture of the present invention, Figures 5 to 8 The implementation details of a simulation case are described. Figure 1 To support the synchronous development of software-defined edge controller sensing, computing and control integrated design architecture diagram, Figure 2 To develop the module architecture diagram synchronously, Figure 3 This is the device discovery service architecture diagram. Figure 4 This is the architecture diagram of the interface debugging component. Figure 5 This is a schematic diagram of the application case of the material defect sorting control system. Figure 6 This is a single material flow sorting process flow chart. Figure 7 This is the process flow chart for dual material flow sorting. Figure 8 The following is a flow chart of the dual material flow sorting process for safety assurance. The main steps of the project development under the scheme of the present invention are described step by step.

[0049] Step 1: In the early stage of project development, users can freely select necessary development function components in the IDE component library, mainly including source code editor components, compiler components, interpreter components, performance testing components, document reading components, resource management components, etc. for different programming languages. Through the IDE construction module, an integrated development environment that only contains the functions required for the project is generated, and a project URL is generated. The default project creation user is the administrator.

[0050] Step 2: Multiple users use any operating system terminal to access the project collaborative development through the project URL.

[0051] When multiple users access the synchronous development module, an intermediate data copy is created for each user, recording the user name, operation location and operation content, and feeding back to the source file in real time. The optimistic locking or pessimistic locking mechanism is used to prevent content conflicts or data inconsistencies modified by multiple users. Figure 2As shown. Program files can be divided into two categories: textual programs and graphical programs. Textual programs include high-level language programs such as python, C / C++, and also include ST and IL language programs specified in IEC 61131-3; graphical programming languages ​​include LD, FBD, and SFC languages ​​specified in IEC 61131-3, and also include any graphical configuration language composed of elements and lines, such as process flow charts composed of nodes and edges. To facilitate synchronization, these two types of language programs are uniformly converted into textual data format intermediate files to record information such as programming language type, location, input and output, and identifiers. Access to each program file requires an identification code, which is divided into read-only and writable, and is defined by the creator of the program file. The default creator is the administrator of the program file. When no settings are made, all users can read and write by default. Other users can see all program files that can be directly accessed and encrypted program file identifiers in the program tree. By entering identification codes with different permissions for the encrypted files, the program files can be read or modified. Users in the same field can obtain the same program file operation permissions through identification codes, and users in different fields can access program files with different functions respectively, which is both efficient and secure.

[0052] The edge controller described in the present invention has the characteristics of integrated sensing, computing and control, involving three types of devices: perception, computing and control. In order to enable users to understand the available device categories, quantities, status and addresses when developing programs, all devices connected to the edge controller in the present invention, including the edge controller itself, need to define a device information model, which is uniformly managed by the device registration service and actively registers with the device discovery component deployed on the server after startup. The registered device information will be maintained for a long time. The device discovery component will periodically send a heartbeat detection signal to confirm the online status of the device, and query the device information model for basic information such as device name, address, online status, etc., and render it in the device tree, providing a calling interface for the basic operation methods defined in the device information model. When a device is offline, the user can click the delete button on the interface to remove the device from the local discovery server.

[0053] In the third step, during the project development process, users can verify the grammatical correctness, logical correctness and interface correctness through compilers, interpreters, debuggers and interface debugging components. The interface debugging component needs to bind and store the variables returned by the upstream program and the variables called by the downstream program. When the return variable is empty, the user can create a test value for the call variable through the service; when the return variable is not empty, the user has two options. The first option is to use the created call variable test value to perform type consistency comparison, structure consistency comparison and other services to check interface consistency. The second option is to directly use the real return variable value to perform functional testing of the downstream program, and provide log generation services to record historical data, such as Figure 4 shown.

[0054] The fourth step is to package the perception, computing, and control applications into images and store them on the server through the containerized packaging module after the project development is completed. Each container needs to be filled with the "container fingerprint" data structure when it is generated, including perception, computing, and control category information; functional information such as data collection, data analysis, and control signal generation; performance information such as key algorithm parameters, processing delays, throughput, and resource utilization; input and output information such as input data format, output data format, interface type, and communication protocol, as well as physical device identifiers, i.e., device names and addresses defined in the device information model. It is used to generate communication configurations between containers and hardware access scripts, enabling them to access hardware.

[0055] The fifth step is to draw a process flow chart in the configuration programming platform. For edge controllers that have been registered and are online, users can select all edge controllers that need to execute the process in the device tree and send them in batches. After the edge controller receives it, the process parsing service performs node parsing to obtain all required container nodes, parses the node connection relationship in the process flow chart, extracts the hardware connection relationship between the perception container and the control container, and then sends it to the container management service to match the container nodes in the image warehouse, pulls the container corresponding to the associated node in the process flow chart to the edge controller, and automatically generates the communication configuration file and hardware access script between containers based on the container fingerprint, node connection relationship and hardware connection relationship. After the above operations are completed, the container service is automatically started and the project code begins to execute.

[0056] In the sixth step, if the process requirements change, such as the need to add new functions, the user writes a new code file according to steps 2 to 4 and encapsulates it in a container. Then, the process flow chart is updated and distributed in the configuration development platform. It is analyzed through process analysis and container management services, and compared with the running process flow to determine the location of the container that needs to be changed. Based on the global container fingerprint information, the container that meets the new process requirements is selected. The new container is unloaded from the server to all edge controllers that need to be changed without shutting down. After the unloading is complete, the corresponding communication configuration parameters and hardware access scripts are modified, the container that needs to be changed is removed and a new container is started to complete the incremental update or full update of the program corresponding to the process flow.

[0057] by Figure 5 The defect sorting control system shown in the figure is used as an example to further illustrate the configuration and programming platform, which is deployed in the server and has an edge controller, connected to three industrial cameras, two photoelectric sensors as sensing devices, two conveyor belts and a robotic arm as execution devices, and the edge controller itself as a computing device and control device. The conveyor belt transports materials, the camera determines the defect category of the material, the photoelectric sensor detects whether the material has reached the gripping position of the robotic arm, and the robotic arm sorts and places the materials according to the defect category. Figures 6 to 8The process flow diagram for three different requirements consists of nodes and edges.

[0058] Assuming that the current working condition only requires one material flow, that is, only conveyor belt 1, camera 1, photoelectric sensor 1 and robot arm action, the sorting program can be divided into four parts: image preprocessing, defect detection, conveyor belt control and robot arm control. According to the methods described in steps 1 to 4, they are developed and packaged into a perception container, a computing container and two control containers, respectively, and stored in the server. Draw the following in step 5 Figure 6 The process flow diagram shown is sent to the edge controller, which pulls the corresponding container from the server after parsing, generates communication configuration and hardware access scripts, and starts the container to implement the process flow.

[0059] When the process requirements change and two material flows are required, that is, conveyor belt 2, camera 2 and photoelectric sensor 2 are also involved in the action, and the sorting program is added with conveyor belt control 2, image preprocessing control 2 and defect detection 2. The program logic is the same as conveyor belt control 1, image preprocessing control 1 and defect detection 1. Therefore, only the hardware access script and communication configuration file of the newly added container need to be changed, and the process flow chart is redrawn as shown in the figure. Figure 7 As shown, the grabbing scheduling container is the calculation container added according to steps 2 to 4. Since there is only one robot arm, when the materials on the two conveyor belts need to be grabbed at a certain moment, the robot arm acts according to the grabbing scheduling rules. Figure 7 After the process flow chart shown in the figure is sent to the edge controller, the process parsing service and container management service will pull the container from the image repository and generate a new communication configuration and hardware access script. The original process does not need to be shut down during the process of adding a container, pulling a container, and configuring the communication. After the execution is completed, the container is started to implement the new process flow.

[0060] Similarly, when the process requirements change again, that is, the camera 3 needs to be used for gesture recognition, when the safety officer detects that the production process is dangerous after making a specified gesture, all the execution equipment actions are immediately stopped to achieve the process flow under safety assurance. In the proposed system, only the calculation container for gesture recognition needs to be added in the configuration programming platform, and the Figure 8 As shown in the process flow chart, the communication configuration and hardware access script are modified, and after being issued, the incremental update of functions is adaptively performed without downtime, realizing the rapid development and deployment of software-defined integrated sensing, computing and control applications.

[0061] The preferred specific embodiments of the present invention are described in detail above. It should be understood that ordinary technicians in the field can make many modifications and changes based on the concept of the present invention without creative work. Therefore, all technical solutions that can be obtained by technicians in the technical field based on the concept of the present invention through logical analysis, reasoning or limited experiments on the basis of the prior art should be within the scope of protection determined by the claims.

Claims

1. A software-defined edge controller sensing, computing and control integrated design system supporting synchronous development, characterized in that: It includes two parts: a configuration programming platform and an operating environment. The configuration programming platform is characterized by webization and modularization, and mainly includes two parts: an IDE component library and an IDE building module. It is deployed in a server and has the functions of easy expansion, customizable development, support for simultaneous development of textual programming languages ​​and graphical programming languages, and interface debugging. The operating environment is characterized by virtualization, and has the functions of decoupling of functional modules, rapid reconfiguration according to process requirements, and dynamic updating.

2. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 1, characterized in that: In the early stage of project development, users can select functional components required for project development in the IDE component library, generate an integrated development environment that only contains the functions required for the project, instantiate it to the server, allocate some storage space for the storage of code files and resource files, and bind the storage space to the IDE resource manager. The default project creation user is the administrator. After the IDE is instantiated, a unique URL is generated. Multiple users can use any operating system terminal to access the internal network and access the same project through the URL. Users can operate the same program file in the project, or they can operate different program files separately. The synchronization tool can display the user name and operation location of the operating user.

3. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 2, characterized in that: The functional components mainly include source code editor components, compiler components, interpreter components, performance testing components, document reading components, resource management components, etc. of different programming languages, which are deployed to the server in a modular manner and support embedding and removal in the web development framework; The arbitrary operating system terminal includes a desktop operating system such as Windows, Linux, and a mobile operating system such as Android, IOS, etc. that supports browser applications; The internal network refers to a network in the same local area network as the server, and all devices connected to the internal network should have the same network segment IP address; The program files include two types: text programs and graphical programs. They are converted into unified intermediate data through mapping in the server background. Modification of text content or graphical content will change the intermediate data accordingly. When multiple users access the synchronization tool, the synchronization tool creates an intermediate data copy for each user, records the user name, operation location and operation content, and feeds back to the source file in real time, preventing content conflicts or data inconsistencies among multiple users through optimistic locking or pessimistic locking mechanisms.

4. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 3, characterized in that: Define an intermediate file in a plain text data format. For the textual programming language, the intermediate file records information such as the programming language type and source code. For the graphical programming language, the intermediate file records information such as the programming language type, location, connection relationship, input and output, and identifier. The synchronization tool uses the intermediate file as the source file for synchronization and renders all modifications to the source file to the user program file. The text-based programming languages ​​include high-level languages ​​such as Python and C / C++, and also include ST and IL languages ​​specified in IEC 61131-3; The graphical programming language includes LD, FBD, SFC languages ​​specified in IEC 61131-3, and also includes any graphical configuration language consisting of elements and connections; During the program writing process, all currently available sensing, computing, and control devices can be viewed in the device tree, which provides a basic operation interface for unified management and testing, facilitating the correct configuration of program input and output; The device tree is a list of devices registered through the device discovery component. In the present invention, all devices connected to the edge controller, including the edge controller itself, need to define a device information model. After startup, they actively register with the device discovery component deployed on the server. The registered device information will be maintained for a long time. The device discovery component will periodically send a heartbeat detection signal to confirm the online status of the device, and query the device information model for basic information such as device name, address, online status, etc., and render it in the device tree, providing a basic operation method calling interface defined in the device information model.

5. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 4, characterized in that: After the application is developed, the containerized packaging module is used to package programs with different functions into perception containers, computing containers, and control containers, and store them on the server. The sensing container receives input from the physical sensor, including functions such as input signal acquisition, storage, conversion, data cleaning, and preprocessing; The computing container can perform functions such as feature extraction, data fusion, identification, analysis, and prediction on the input information; The control container performs control law calculation, performance optimization, safety, abnormality alarm and other functions according to the input information, and needs to output the control signal to the actuator; When performing containerization, fill in the "container fingerprint" data structure with information including category, function, performance, input, output, connected physical device identifier, etc. All container fingerprint information is collected through the containerization module.

6. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 5, characterized in that: In the container fingerprint data structure, category information includes perception, calculation, and control; functional information includes data acquisition, data analysis, control signal generation, etc.; performance information includes key algorithm parameters, processing delay, throughput, resource utilization, etc.; input and output information includes input data format, output data format, interface type, communication protocol, etc. The physical device identifier is the device name, address, etc. defined in the device information model.

7. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 6, characterized in that: After the development and packaging of different categories of programs are completed, the user draws a process flow chart in the configuration programming platform, selects all the edge controllers that need to execute the process in the device tree and sends them in batches. After the edge controller receives them, the process parsing service performs node parsing to obtain all required container nodes, parses the node connection relationship in the process flow chart, extracts the hardware connection relationship between the perception container and the control container, and then sends it to the container management service to match the container nodes in the image warehouse, and pulls the containers corresponding to the associated nodes in the process flow chart to the edge controller. At the same time, the communication configuration file and hardware access script between containers are automatically generated according to the container fingerprint, node connection relationship and hardware connection relationship.

8. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 7, characterized in that: In the process flow diagram, each node represents a container or a physical hardware device, and the connection between them represents the data flow direction. A node has at least one connection in the process flow diagram; When the process requirements change, the user updates the process flow chart in the configuration programming platform, determines the container information that needs to be changed and the new container matching information through the container management service, pulls the new container from the server to all the edge controllers that need to be changed without stopping the system, and adaptively modifies the corresponding communication configuration parameters and hardware access configuration, removes the container that needs to be changed, generates a new communication configuration file and hardware access script, and completes the complete program update corresponding to the new process flow.

9. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development as claimed in claim 8, characterized in that: During the application development process, access to the program files requires an identification code, which is divided into read-only and writable, defined by the creator of the program files. The default creator is the administrator of the program files. When no settings are made, all users are readable and writable by default. Other users can see all the program files and encrypted program file identifiers that can be directly accessed in the program tree. By entering identification codes with different permissions for the encrypted program files, the program files can be read or modified. At the same time, the user name and operation are synchronized to other user terminals to improve the security of collaboration; The interface debugging component tests information interaction between functions in the same program file and different program files, and supports temporary storage of return values ​​of upstream programs, so that downstream programs can be tested using real values.

10. The software-defined edge controller sensing, computing and control integrated design system supporting synchronous development according to claim 9, characterized in that: The interface debugging component needs to bind and store the variables returned by the upstream program and the variables called by the downstream program. When the returned variable is empty, the user can create a test value of the calling variable through the component; When the return variable is not empty, the user has two options. The first option is to use the created call variable test value to check the interface consistency by type consistency comparison, structure consistency comparison, etc. The second option is to directly use the real return variable value to perform functional testing of the downstream program and provide log generation service to record historical data. Taking the function block as the minimum backup unit, when a user modifies the function block, the interface debugging component is used to test the correctness of the function block as the interface of the upstream program and the downstream program, and the operation correctness of the function block itself of the given interface is further tested. If all pass, the modification is backed up, otherwise the function name is marked in red. When a program error occurs, a program recovery option is provided. Based on the backup units of all functions and with the goal of successful operation, a version rollback strategy with the least number of modified functions is generated, and the selected function is rolled back to the content of the most recent successful backup.

Citation Information

Patent Citations

  • Software-defined control systems and control methods

    CN107861716B

  • A software-defined industrial intelligent control system

    CN112181382B

  • Software definition type control system and method

    CN107861716A

  • Container-based distributed identification analysis enterprise node rapid deployment method

    CN111897547A

  • Industrial intelligent control system based on software definition

    CN112181382A