A software-defined edge controller feeling calculation integrated design system supporting synchronous development

By supporting the integrated design system of software-defined edge controllers that supports synchronous development, the efficient development and flexible configuration of sensing-computing-control loops in industrial production have been realized, solving the problems of low efficiency and insufficient reliability in existing technologies and improving the flexibility and safety of production.

CN119806492BActive Publication Date: 2025-11-18SHANGHAI JIAOTONG UNIV
View PDF 6 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, the development efficiency of sensing-computing-control loops in industrial production is low, the configuration cost is high, and the maintenance is complex. Furthermore, traditional industrial controllers cannot process unstructured data, which limits production flexibility and security.

Method used

This paper presents a software-defined edge controller integrated design system that supports synchronous development, including a configuration programming platform and a runtime environment. It supports synchronous development using text-based and graphical programming languages, decouples functional modules through virtualization technology to achieve rapid process reconfiguration and unified equipment management, and utilizes containerized encapsulation and synchronous tools to ensure the efficiency and security of multi-user collaborative development.

Benefits of technology

It improves development efficiency and system reliability, simplifies equipment interaction and configuration processes, shortens development cycles, enhances system flexibility and stability, supports rapid adaptation to process changes, and reduces reconfiguration workload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806492B_ABST
    Figure CN119806492B_ABST
Patent Text Reader

Abstract

The application discloses a software-defined edge controller sensing and control integrated design system supporting synchronous development, relates to the industrial field, and comprises a configuration programming platform and a running environment two parts, the configuration programming platform is characterized by web and modularization, mainly comprises two parts of an IDE component library and an IDE building module, is arranged in a server, has the functions of easy extension, customizable development, support of synchronous development of a text programming language and a graphical programming language, interface debugging, and the running environment is characterized by virtualization, has the functions of function module decoupling, quick reconfiguration of process requirements, and dynamic updating. The application is based on the sensing and control integrated configuration platform, can effectively improve the development efficiency, the usability and stability of the system, and reduces the reconfiguration workload.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the industrial field, and more particularly to a software-defined edge controller integrated design system that supports synchronous development and sensing / computing / control. Background Technology

[0002] With rapid global economic development and technological advancements, industrial transformation is flourishing in the industrial sector. The deep integration of next-generation information technology (IT) and operational technology (OT) has become a key characteristic of advanced industrial production system architectures. However, how to further apply artificial intelligence and big data technologies to the production process, intelligently transform the sensing-computing-control loop, reduce the time to implement new applications, and improve production efficiency remains a critical issue that major industrial manufacturers are still exploring. In the development of sensing, computing, and control programs, numerous engineers or manufacturers with diverse professional backgrounds often need to develop different software for different devices. This dedicated development model requires the creation of complex unified interfaces, and the environment configuration and final assembly debugging during integration require a significant workload. Interface changes in the later stages of project development are costly. Furthermore, the tight binding of programs, applications, and equipment from different manufacturers makes direct data interaction difficult, easily hindering information exchange across multiple processes and production lines in smart factories, severely limiting production flexibility. Regarding the operation of sensing, computing, and control programs, currently widely used traditional industrial controllers cannot handle unstructured data. High-performance sensing and computing tasks, such as image processing and deep learning, require additional dedicated equipment, increasing the execution latency of control loops, reducing production stability and safety, and limiting the application of intelligent algorithms in production. To address these issues, high-performance industrial edge controllers are gradually being introduced into production sites, but an integrated R&D, debugging, and execution solution for sensing, computing, and control programs is still lacking. This results in low development efficiency, high configuration costs, complex maintenance and support, and an inability to quickly adapt to changes in process requirements.

[0003] Industrial edge control comprises two parts: a configuration programming platform and a controller runtime environment. Users first write programs corresponding to the production process using text or graphical languages ​​on the configuration programming platform. These programs are then deployed to the runtime environment on the edge controller hardware. Input information is acquired from sensing devices via the hardware interface, further analyzed in the computing device, and the results are sent to the control device for control calculations. Control signals are then output to the execution device, completing the sensing, calculation, and control process. Recently, software-defined networking has achieved great success in fields such as network communication and automotive manufacturing. Its core idea lies in breaking away from dedicated architectures, virtualizing basic hardware, providing standardized basic functions, and controlling these basic functions with software, thus endowing the hardware with different capabilities. To improve the R&D efficiency and flexibility of intelligent manufacturing and provide more open and efficient management capabilities, this paper presents a design methodology for an integrated sensing, computing, and control system for industrial edge controllers based on software definition. This is of great significance for promoting the deep integration of IT and OT and the intelligent transformation of industry.

[0004] Research revealed that domestic patent application number 202011356569.3, entitled "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, it lacks a unified development architecture for the configuration programming platform, does not consider unified management of sensing, computing, and control devices, or methods for configuring communication between containers, nor does it consider methods to improve program development efficiency or rapid reconfiguration capabilities. Domestic patent application number 201711098557.3, entitled "Software-Defined Control System and Control Method," designs a configuration platform based on modular thinking, utilizing reconfigurable and portable controller operating system core modules to form controller operating systems for different types of CPUs. However, it is geared towards traditional programmable logic controllers. The current system is inadequate for meeting the computational demands of modern industrial production environments and fails to consider rapid adaptation methods in response to process changes. Domestic patent application number 202410491659.5, entitled "A Software-Defined Industrial Control System Architecture and Task Offloading Method," defines a control system architecture and a cloud server architecture, achieving hardware and software decoupling based on virtualization technology. However, it does not consider the flexible expansion of development components of the configuration programming platform when facing different process requirements and development scenarios, nor does it enable rapid reconfiguration of processes and programs when application requirements change. Domestic patent application number 202210737702.2, entitled "Software-Defined Process Control System and Method for Industrial Process Plants," achieves resource separation and dynamic asset changes for hardware and software platforms based on virtualization and container technology, but it does not consider issues such as program development efficiency, reconfiguration efficiency, backup, and recovery.

[0005] Therefore, those skilled in the art are dedicated to developing a highly efficient and reliable system. Summary of the Invention

[0006] In view of the above-mentioned deficiencies 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 objectives, this invention provides a software-defined edge controller integrated design system supporting synchronous development. The system comprises two parts: a configuration programming platform and a runtime environment. The configuration programming platform is characterized by web-based and modular features, mainly consisting of an IDE component library and IDE building modules, deployed on a server. It features easy expansion, customizable development, support for simultaneous development using text-based and graphical programming languages, and interface debugging capabilities. The runtime environment is characterized by virtualization, featuring functional module decoupling, rapid reconfigurability based on process requirements, and dynamic update capabilities.

[0008] Furthermore, in the early stages of project development, users can select the functional components required for project development from the IDE component library to generate an integrated development environment (IDE) containing only the necessary functions. This IDE is then instantiated on the server, allocating some storage space for code and resource files and binding this storage space to the IDE resource manager. By default, the user who created the project is the administrator. After the IDE is instantiated, a unique URL is generated. Multiple users can access the internal network using any operating system terminal and access the same project through this URL. Users can operate on the same program file within the project or operate on different program files. The synchronization tool can display the username and location of the currently operating user.

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

[0010] The arbitrary operating system terminal includes desktop operating systems such as Windows and Linux, as well as mobile operating systems such as Android and iOS that support browser applications.

[0011] The internal network refers to the network that is on the same local area network as the server, and all devices that access the internal network should have IP addresses in the same network segment.

[0012] The program files include two types: text-based programs and graphical programs. They are converted into unified intermediate data through mapping in the server backend. Modifications to the text or graphical content will correspondingly change the intermediate data.

[0013] When multiple users access the system, the synchronization tool creates an intermediate data copy for each user, records the user's name, operation location, and operation content, and feeds it back to the source file in real time. It uses optimistic locking or pessimistic locking mechanisms to prevent content conflicts or data inconsistencies caused by multiple users' modifications.

[0014] Furthermore, a plain text data format intermediate file is defined. For the text-based 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.

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

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

[0017] During the program writing process, the device tree displays all available sensing, computing, and control devices, providing basic operation interfaces for unified management and testing, and facilitating the correct configuration of program inputs and outputs.

[0018] The device tree is a list of devices registered through the device discovery component. In this 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 in the long term. The device discovery component will periodically send heartbeat detection signals to confirm the online status of the devices and query the device information model for basic information such as device name, address, and online status, which will be rendered in the device tree. It also provides the basic operation method call interface defined in the device information model.

[0019] Furthermore, once the application development is complete, containerization modules are used to encapsulate programs with different functions into perception containers, computing containers, and control containers, and then store them on the server.

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

[0021] The computing container is capable of performing functions such as feature extraction, data fusion, recognition, analysis, and prediction on the input information;

[0022] The control container performs functions such as control law calculation, performance optimization, safety, and abnormal alarm based on the input information, and needs to output control signals to the actuator.

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

[0024] Furthermore, in the container fingerprint data structure, the category information includes three categories: perception, calculation, and control; the functional information includes data acquisition, data analysis, control signal generation, etc.; the performance information includes key algorithm parameters, processing latency, throughput, resource utilization, etc.; the 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 different types of programs are developed and packaged, the user draws a process flow diagram in the configuration programming platform, selects all edge controllers that need to execute the process in the device tree, and distributes them in batches. After receiving the data, the edge controller performs node parsing by the process parsing service to obtain all the required container nodes, parses the node connection relationship in the process flow diagram, extracts the hardware connection relationship between the sensing container and the control container, and then sends it to the container management service to match the container nodes in the image repository. The container corresponding to the associated node in the process flow diagram is pulled to the edge controller. At the same time, the inter-container communication configuration file and hardware access script are automatically generated based on the container fingerprint, node connection relationship and hardware connection relationship.

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

[0027] When process requirements change, the user updates the process flow diagram in the configuration programming platform. The container management service determines the container information that needs to be changed and the new container matching information. Without stopping the system, the new container is pulled from the server to all the edge controllers that need to be changed, and the corresponding communication configuration parameters and hardware access configuration are adaptively modified. The container that needs to be changed is removed, and a new communication configuration file and hardware access script are generated to complete the full program update corresponding to the new process flow.

[0028] Furthermore, during application development, access to the program files requires an identification code, which is divided into read-only and write-only types. This is defined by the creator of the program file, with the default creator being the administrator of the program file. When no settings are made, all users are allowed to read and write by default. Other users can see all the program files that can be directly accessed and the encrypted program file identifiers in the program tree. By entering identification codes with different permissions for the encrypted program files, users can read or modify the program files. At the same time, usernames and operations are synchronized to other users' terminals, improving collaboration security.

[0029] Functions in the same program file and different program files can exchange test information through the interface debugging component, and support the temporary storage of return values ​​from the upstream program, so that the downstream program can use real values ​​for testing.

[0030] Furthermore, the interface debugging component needs to bind and store variables returned by the upstream program and variables called by the downstream program. When the returned variable is empty, the user can create test values ​​for the called variables through this component. When the returned variable is not empty, the user has two options: first, the user can use the created test values ​​for the called variables to check interface consistency, such as type consistency comparison and structure consistency comparison; second, the user can directly use the actual returned variable values ​​to perform functional testing of the downstream program and provides a log generation service to record historical data.

[0031] Using function blocks as the smallest backup unit, when a user modifies a function block, the interface debugging component tests the correctness of the function block as an interface between upstream and downstream programs. It further tests the correctness of the function block itself within the given interface. If all tests pass, the modification is backed up; otherwise, the function name is highlighted in red. If a program error occurs, a program recovery option is provided. Based on all function backup units, and aiming for successful execution, a version rollback strategy with the minimum number of modified functions is generated, reverting the selected functions to the most recently successfully backed-up content.

[0032] In terms of technological advantages, the integrated sensing, computing, and control configuration platform provided by this invention enables the development of intelligent control applications. Users do not need to worry about compatibility issues between different platforms and programming environments during development, effectively reducing the workload of early planning and later testing. Text-based and graphical programs are updated in real-time during multi-user development, eliminating the need to wait for other users to submit code before testing, thus transforming static programming into dynamic programming. The integrated development environment's functions can be customized for different projects, reducing unnecessary redundancy and improving loading speed. The development process displays a real-time list of available devices, providing status, address, and other attributes, as well as basic operation method call interfaces, helping users plan their interaction with devices in advance when writing sensing, computing, and control programs, facilitating correct input and output configuration, and effectively improving development efficiency.

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

[0034] In terms of production implementation, the integrated sensing, computing, and control design based on this invention can effectively support various complex production scenarios. For example, in automated production line control, traditional production line control systems often face compatibility issues and difficulties in coordinating different platforms, resulting in long development cycles. The configuration programming platform provided by this invention supports simultaneous programming of text-based and graphical programs on the same platform. Multiple users can choose their familiar language for synchronous development, while simultaneously displaying available device information in real time, simplifying interface debugging, device interaction, and configuration processes. Users can directly adjust the control program during development, avoiding the bottleneck of waiting for integration before testing, which can greatly improve the development efficiency of production line automation systems and shorten the product production cycle. With the widespread application of industrial automation and intelligent control systems, the demand for intelligent transformation of the sensing-computing-control loop is constantly increasing. Reducing the time to implement new applications and improving production efficiency are urgent problems that major industrial manufacturers need to solve. This invention can meet this demand and has broad application prospects and potential economic benefits.

[0035] The following will further explain the concept, specific structure, and technical effects of the present invention in conjunction with the accompanying drawings, so as to fully understand the purpose, features, and effects of the present invention. Attached Figure Description

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

[0037] Figure 2 This is a schematic diagram of the synchronous development module architecture of a preferred embodiment of the present invention.

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

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

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

[0041] Figure 6 This is a flowchart of a single material flow sorting process according to a preferred embodiment of the present invention;

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

[0043] Figure 8 This is a flowchart illustrating the safety assurance of a dual-material flow sorting process according to a preferred embodiment of the present invention. Detailed Implementation

[0044] The following description, with reference to the accompanying drawings, illustrates several preferred embodiments of the present invention to make its technical content clearer and easier to understand. The present invention can be embodied in many different forms, and the scope of protection of the present invention is not limited to the embodiments mentioned herein.

[0045] In the accompanying drawings, components with the same structure are indicated by the same numerical designation, and components with similar structures or functions are indicated by similar numerical designations. The dimensions and thicknesses of each component shown in the drawings are arbitrary, and the present invention does not limit the dimensions and thicknesses of each component. To make the illustrations clearer, the thickness of some components has been appropriately exaggerated in the drawings.

[0046] This invention provides a software-defined edge controller integrated sensing, computing, and control design that supports synchronous development, which can be divided into two parts: a configuration programming platform and a runtime environment. The configuration programming platform is characterized by web-based and modular features, and has functions such as easy expansion, customizable development, support for simultaneous development using text-based and graphical programming languages, and interface debugging. The runtime environment is characterized by virtualization, and has functions such as decoupling of functional modules, rapid reconfigurability based on process requirements, and dynamic updates.

[0047] In the configuration programming platform, "software-defined" means that users can arbitrarily select, expand, and modify functional components according to their needs, generating an integrated development environment for the configuration programming platform based on the basic development environment framework, tailored to specific fields and projects. In the runtime environment, it means that the hardware can achieve flexible and varied functions based on different user-defined functional containers and process flow diagrams without any modification to the hardware itself. "Integrated sensing, computing, and control" in the configuration programming platform means that sensing algorithms, computing algorithms, and control algorithms are developed synchronously on the same platform, and that the device tree provides unified registration and display of sensing, computing, and control devices. In the runtime environment, it means that sensing, computing, and control devices are uniformly accessed based on an information model, and that sensing, computing, and control devices and containers are adaptively associated based on process analysis services and container management services.

[0048] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Figures 1 to 4 The overall architecture and key component architecture of this invention are described. Figures 5 to 8 The implementation details of a simulated case are described. Among them, Figure 1 To support the integrated design architecture of the software-defined edge controller for simultaneous development, Figure 2 To develop the module architecture diagram in a synchronized manner, Figure 3 Device discovery service architecture diagram, Figure 4 For the interface debugging component architecture diagram, Figure 5 This is a schematic diagram illustrating an application case of a material defect sorting control system. Figure 6 This is a flowchart of a single material flow sorting process. Figure 7 This is a flowchart of a dual-material flow sorting process. Figure 8 A flowchart illustrating the dual-material flow sorting process for safety assurance. The following describes the main steps of project development under this invention.

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

[0050] Step 2: Multiple users can access the project collaboratively via the project URL using any operating system terminal.

[0051] When multiple users access the module, an intermediate data copy is created for each user, recording the user's name, operation location, and operation content. This copy is then fed back to the source file in real time. Optimistic or pessimistic locking mechanisms are used to prevent content conflicts or data inconsistencies caused by multiple users' modifications. Figure 2As shown, program files can be divided into two categories: text-based programs and graphical programs. Text-based programs include high-level language programs such as Python and C / C++, as well as ST and IL language programs specified in IEC 61131-3. Graphical programming languages ​​include LD, FBD, and SFC languages ​​specified in IEC 61131-3, as well as any graphical configuration language composed of elements and connections, such as process flow diagrams composed of nodes and edges. To facilitate synchronization, both types of language programs are uniformly converted into text-based data format intermediate files, recording information such as programming language type, location, input / output, and identifiers. Access to each program file requires an identification code, which can be either read-only or writable. This code is defined by the program file's creator, who is the default administrator. By default, all users have read and write access when no settings are configured. Other users can see all directly accessible program files and encrypted program file identifiers in the program tree. By entering identification codes with different permissions, users can read or modify encrypted program files. Users in the same field can obtain the same access permissions for the same program file using the identification code, while users in different fields can access program files with different functions, combining efficiency and security.

[0052] The edge controller described in this invention features integrated sensing, computing, and control capabilities, involving three types of devices: sensing, computing, and control. To enable users to understand the available device categories, quantities, status, and addresses during program development, all devices connected to the edge controller, including the edge controller itself, need to define a device information model. This model is managed uniformly by a device registration service and actively registers with the device discovery component deployed on the server upon startup. Registered device information is maintained long-term. The device discovery component periodically sends heartbeat detection signals to confirm the device's online status and queries the device information model for basic information such as device name, address, and online status, rendering it in the device tree. It also provides basic operation method call interfaces defined in the device information model. When a device goes offline, the user can remove the device from the local discovery server by clicking the delete button on the interface.

[0053] Thirdly, during project development, users can verify the syntax, logic, and interface correctness through the compiler, interpreter, debugger, and interface debugging component. The interface debugging component needs to bind and store variables returned by the upstream program and variables called by the downstream program. When the returned variable is empty, users can create test values ​​for the called variables through this service; when the returned variable is not empty, users have two options: first, they can use the created test values ​​for the called variables to check interface consistency through services such as type consistency comparison and structure consistency comparison; second, they can directly use the actual returned variable values ​​for functional testing of the downstream program, and a log generation service is provided to record historical data, such as... Figure 4 As shown.

[0054] The fourth step, after project development is complete, involves using a containerization module to encapsulate the sensing, computing, and control applications into images and storing them on a server. Each container, upon creation, needs to be populated with a "container fingerprint" data structure, including: sensing, computing, and control category information; functional information such as data acquisition, data analysis, and control signal generation; performance information such as key algorithm parameters, processing latency, throughput, and resource utilization; input and output information such as input data format, output data format, interface type, and communication protocol; and physical device identifiers, i.e., the device name and address defined in the device information model. This is used to generate inter-container communication configurations and hardware access scripts, enabling them to access hardware.

[0055] The fifth step involves drawing the process flow diagram in the configuration programming platform. For registered and online edge controllers, users can select all edge controllers that need to execute the process in the device tree and issue them in batches. After receiving the data, the edge controllers undergo node parsing by the process parsing service to obtain all necessary container nodes. The service then parses the node connection relationships in the process flow diagram, extracts the hardware connection relationships between sensing and control containers, and sends this data to the container management service. This service matches container nodes in the image repository and pulls the containers corresponding to the associated nodes in the process flow diagram to the edge controllers. Simultaneously, based on container fingerprints, node connection relationships, and hardware connection relationships, the service automatically generates inter-container communication configuration files and hardware access scripts. After these operations are completed, the container service is automatically started, and the project code begins execution.

[0056] Step 6: If process requirements change, such as the need to add new functions, the user writes new code files and containers them according to steps 2 to 4. Then, the process flow diagram is updated and distributed in the configuration development platform. The process flow is parsed through process analysis and container management services and compared with the running process flow to determine the container location that needs to be changed. Based on the global container fingerprint information, the container that meets the new process requirements is selected. Without stopping the system, the new container is unloaded from the server to all edge controllers that need to be changed. After unloading, the corresponding communication configuration parameters and hardware access scripts are modified, the container that needs to be changed is removed, and the new container is started to complete the incremental or full update of the program corresponding to the process flow.

[0057] by Figure 5 Taking the defect sorting control system shown below as an example, the configuration programming platform is deployed on a server and has an edge controller connected to three industrial cameras and two photoelectric sensors as sensing devices, two conveyor belts and a robotic arm as execution devices. The edge controller itself acts as a computing and control device. The conveyor belts transfer materials, the cameras determine the defect type of the materials, the photoelectric sensors detect whether the materials have reached the robotic arm's gripping position, and the robotic arm sorts and places the materials according to the defect type. Figures 6 to 8The process flow diagrams for three different requirements consist of nodes and edges.

[0058] Assuming the current working condition requires only one material flow, i.e., only conveyor belt 1, camera 1, photoelectric sensor 1, and robotic arm movement, the sorting program can be divided into four parts: image preprocessing, defect detection, conveyor belt control, and robotic arm control. It should be developed and packaged according to the methods described in steps one to four, respectively packaged into a sensing container, a computing container, and two control containers, and stored on the server. The drawing should follow step five. Figure 6 The process flow diagram shown is sent to the edge controller, parsed, and then the corresponding container is pulled from the server to generate communication configuration and hardware access scripts. The container is then started to implement the process flow.

[0059] When the process requirements change to require two material flows, namely conveyor belt 2, camera 2, and photoelectric sensor 2, the sorting program adds conveyor belt control 2, image preprocessing control 2, and defect detection 2. The program logic is the same as that of 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 diagram needs to be redrawn. Figure 7 As shown, the grabbing scheduling container is the calculation container added according to steps two to four. Since there is only one robotic arm, when materials from both conveyor belts need to be grabbed at a certain time, the robotic arm will act according to the grabbing scheduling rules. Figure 7 After the process flow diagram shown is sent to the edge controller, the process parsing service and container management service will pull containers from the image repository and generate new communication configurations and hardware access scripts. The original process does not need to be stopped during the process of adding containers, pulling containers, and configuring communication. After the process is completed, the container is started to implement the new process flow.

[0060] Similarly, when process requirements change again, i.e., when gesture recognition is needed using camera 3, and a safety officer makes a specified gesture, the production process is considered to be in danger, and all equipment operations are immediately stopped, thus ensuring a safe process flow. In the proposed system, only a computational container for gesture recognition needs to be added to the configuration programming platform, and the diagram is redrawn... Figure 8 The process flow diagram shown allows for modification of communication configurations and hardware access scripts. Once deployed, incremental updates of functions are adaptively performed without downtime, enabling rapid development and deployment of software-defined integrated sensing, computing, and control applications.

[0061] The preferred embodiments of the present invention have been described in detail above. It should be understood that those skilled in the art can make numerous modifications and variations based on the concept of the present invention without creative effort. Therefore, all technical solutions that can be obtained by those skilled in the art based on the concept of the present invention through logical analysis, reasoning, or limited experimentation on the basis of existing technology should be within the scope of protection defined by the claims.

Claims

1. A software-defined edge controller integrated design system supporting synchronous development, characterized in that, It consists of two parts: a configuration programming platform and a runtime environment. The configuration programming platform is characterized by web-based and modular features, mainly including an IDE component library and IDE building modules. It is deployed on a server and features easy expansion, customizable development, support for simultaneous development of text-based and graphical programming languages, and interface debugging functions. The runtime environment is characterized by virtualization and features decoupling of functional modules, rapid reconfiguration of process requirements, and dynamic update capabilities. Once the application is developed, a containerization encapsulation module is used to encapsulate programs with different functions into perception containers, computing containers, and control containers, and then store them on the server. The sensing container receives input from physical sensors, including the acquisition, storage, conversion, data cleaning, and preprocessing of input signals; The computing container is capable of feature extraction, data fusion, recognition, analysis, and prediction of input information; The control container performs control law calculations, performance optimization, safety checks, and abnormal alarms based on the input information, and needs to output control signals to the actuator. When performing containerization encapsulation, information is filled into the "container fingerprint" data structure, including category, function, performance, input, output, and connected physical device identifier. All container fingerprint information is collected through the containerization encapsulation module. After different types of programs are developed and packaged, the user draws the process flow diagram in the configuration programming platform, selects all the edge controllers that need to execute the process in the device tree and sends them out in batches. After receiving the process flow diagram, the edge controller performs node parsing to obtain all the required container nodes, parses the node connection relationship in the process flow diagram, extracts the hardware connection relationship between the sensing container and the control container, and then sends it to the container management service to match the container nodes in the image repository. The container corresponding to the associated node in the process flow diagram is pulled to the edge controller. At the same time, the container communication configuration file and hardware access script are automatically generated based on the container fingerprint, node connection relationship and hardware connection relationship. In the process flow diagram, each node represents a container or physical hardware device, and the connection between them represents the data flow direction. Each node has at least one connection in the process flow diagram. When process requirements change, the user updates the process flow diagram in the configuration programming platform. The container management service determines the container information that needs to be changed and the new container matching information. Without stopping the system, the new container is pulled from the server to all the edge controllers that need to be changed, and the corresponding communication configuration parameters and hardware access configuration are adaptively modified. The container that needs to be changed is removed, and a new communication configuration file and hardware access script are generated to complete the full program update corresponding to the new process flow.

2. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 1, characterized in that, In the early stages of project development, users can select the functional components required for project development from the IDE component library to generate an integrated development environment (IDE) containing only the necessary functions. This IDE is then instantiated on the server, allocating storage space for code and resource files and binding this storage space to the IDE resource manager. By default, the user who created the project is the administrator. After the IDE is instantiated, a unique URL is generated. Multiple users can access the internal network using any operating system terminal and connect to the same project through this URL. Users can operate on the same program file within the project or operate on different program files. The synchronization tool can display the username and location of the currently operating user.

3. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 2, characterized in that, The functional components mainly include source code editor components, compiler components, interpreter components, performance testing components, document viewing components, and resource management components for different programming languages. They are deployed to the server in a modular manner and support embedding and removal in web development frameworks. The arbitrary operating system terminal includes desktop operating systems such as Windows and Linux, as well as mobile operating systems such as Android and iOS, and terminals that support browser applications. The internal network refers to the network that is on the same local area network as the server, and all devices that access the internal network should have IP addresses in the same network segment. The program files include two types: text-based programs and graphical programs. They are converted into unified intermediate data through mapping in the server backend. Modifications to the text or graphical content will correspondingly change the intermediate data. When multiple users access the system, the synchronization tool creates an intermediate data copy for each user, records the user's name, operation location, and operation content, and feeds it back to the source file in real time. It uses optimistic locking or pessimistic locking mechanisms to prevent content conflicts or data inconsistencies caused by multiple users' modifications.

4. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 3, characterized in that, Define a plain text data format intermediate file. For the text-based programming language, the intermediate file records the programming language type and source code information. For the graphical programming language, the intermediate file records the programming language type, location, connection relationship, input and output, and identifier information. 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 Python, C / C++ high-level languages, and also ST and IL languages ​​specified in IEC 61131-3; The graphical programming languages ​​include LD, FBD, and SFC languages ​​specified in IEC 61131-3, as well as any graphical configuration language consisting of elements and connections; During the program writing process, the device tree displays all available sensing, computing, and control devices, providing basic operation interfaces for unified management and testing, and facilitating the correct configuration of program inputs and outputs. The device tree is a list of devices registered through the device discovery component. In this 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 in the long term. The device discovery component will periodically send heartbeat detection signals to confirm the online status of the devices and query the device information model for device name, address, and basic online status information, which will be rendered in the device tree. It also provides the basic operation method call interface defined in the device information model.

5. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 4, characterized in that, The container fingerprint data structure includes three categories of category information: perception, computation, and control; functional information includes data acquisition, data analysis, and control signal generation; and performance information includes key algorithm parameters, processing latency, throughput, and resource utilization. Input and output information includes input data format, output data format, interface type, and communication protocol. The physical device identifier is the device name and address defined in the device information model.

6. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 5, characterized in that, During application development, access to the program files requires an identification code, which is divided into read-only and write-only types. This is defined by the creator of the program file, with the default creator being the administrator of the program file. When no settings are made, all users are allowed to read and write by default. Other users can see all the program files that can be directly accessed and the encrypted program file identifiers in the program tree. By entering identification codes with different permissions for the encrypted program files, users can read or modify the program files. At the same time, usernames and operations are synchronized to other users' terminals, improving collaboration security. Functions in the same program file and different program files can exchange test information through the interface debugging component, and support the temporary storage of return values ​​from the upstream program, so that the downstream program can use real values ​​for testing.

7. The integrated design system for sensing, computing, and control of a software-defined edge controller supporting synchronous development as described in claim 6, characterized in that, The interface debugging component needs to bind and store variables returned by the upstream program and variables called by the downstream program. When the returned variable is empty, the user can create test values ​​for the called variables through this component. When the returned variable is not empty, the user has two options: the first is to use the created call variable test value to perform type consistency comparison and structure consistency comparison; the second is to directly use the real returned variable value to perform functional testing of downstream programs, and provide a log generation service to record historical data. Using function blocks as the smallest backup unit, when a user modifies a function block, the interface debugging component is used to test the correctness of the function block as an interface between the upstream and downstream programs. The correctness of the function block itself is further tested. If all tests pass, the modification is backed up; otherwise, the function name is highlighted in red. If a program error occurs, a program recovery option is provided. Based on the backup units of all functions, a version rollback strategy with the minimum number of modified functions is generated with the goal of successful execution. The selected functions are rolled back to the most recently successfully backed-up content.

Citation Information

Patent Citations

  • Software-defined control systems and control methods

    CN107861716B

  • A software-defined industrial intelligent control system

    CN112181382B

  • Software defined process control system and method for industrial process plant

    CN115480540A

  • Software-defined industrial control system architecture and task unloading method

    CN118413549A

  • System and method for collaborative cloud-based development of industrial applications, and readable medium

    CN114764232A