Logic configuration software system supporting multi-user cooperation

By designing a logic configuration software system that supports multi-person collaboration, the problem of difficulty in maintaining complex control logic in the existing technology is solved, more efficient development and debugging efficiency is achieved, and the reliability and maintainability of the system are improved.

CN119597301AActive Publication Date: 2025-03-11BEIJING SIFANG JIBAO ENG TECH +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411821079.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-11
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

The existing technology is difficult to support multi-person collaborative development of logic configuration software, resulting in increased complexity of control logic and difficulty in maintaining.

Method used

Design a logical configuration software system that supports multi-person collaboration, including the server and client. The server includes resource management module, compilation management module, permission management module and pre-communication management module. The client includes pre-communication client module, login management module, logical configuration resource editing module and logical configuration compilation module to realize multi-person collaborative development and resource management.

Benefits of technology

Improve the efficiency of control logic development and debugging, and enhance the reliability and maintainability of control algorithms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597301A_ABST
    Figure CN119597301A_ABST
Patent Text Reader

Abstract

A logic configuration software system supporting multi-user cooperation is composed of a server side and a plurality of clients, after the clients are started, a front communication client automatically establishes network link with a front communication management module of the server side, a login management module is used for login, login information is sent to an authority management module of the server side for authentication, and the authority management module is connected with the server side. After the authentication is passed or the client obtains the authority of the corresponding resource, the client uses a logic configuration resource editing module to edit the related logic configuration resource, and after the editing is completed, the client uses the logic configuration compiling module to send a logic compiling instruction to the server; after the server side receives the compiling instruction, the compiling management module starts compiling work on the whole logic project, and after compiling is completed, the compiling result is sent to the logic configuration compiling module of the client side. According to the scheme, the industrial automation control efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of industrial automation, and in particular relates to a logic configuration software system supporting multi-person collaboration. Background Art

[0002] In the field of industrial automation control, logic configuration software is mainly used for programming industrial production control process flow. With the continuous advancement of industrial production technology, production processes are becoming increasingly complex, and the number of controlled objects is increasing. The resulting complexity of control logic is also continuously increasing. It is difficult for a single developer to maintain a set of complex control logic. There is an urgent need for a logic configuration software that can support collaborative development by multiple people. Summary of the invention

[0003] In order to solve the deficiencies in the prior art, the present invention provides a logic configuration software system supporting multi-person collaboration to solve the technical problem of multi-person collaboration in logic configuration software.

[0004] In order to solve the above technical problems, the present invention adopts the following technical solutions.

[0005] The present invention firstly discloses a logic configuration software system supporting multi-person collaboration, the system is composed of a server and multiple clients, the server comprises a resource management module, a compilation management module, a permission management module and a front-end communication management module, the client comprises a front-end communication client module, a login management module, a logic configuration resource editing module and a logic configuration compilation module;

[0006] The front-end communication management module is used to create a TCP service according to the pre-configured IP address and port information, establish a server based on the TCPIP network protocol, bind a specified network port, and wait for a connection request from the client. After receiving a request from the client, a thread is created to process subsequent service requests from the TCP.

[0007] The authority management module is used to uniformly manage user authority and resource authority;

[0008] The resource management module is used to manage type resources, POU resources, variable resources, task resource management and device resources in the logic configuration project;

[0009] The compilation management module is used to manage the entire compilation process, including type collection, POU collection, variable collection, task collection, IO resource collection, pre-compilation, compilation and linking;

[0010] The front-end communication client module is used to automatically initiate a TCP link according to the pre-configured server IP address and port number after the software is started, actively link to the front-end communication management module of the server, and set the channel available flag according to the pre-configured IP address and port number after the link is successful, continuously send heartbeat messages to maintain the link state, mark the channel as available, and then send corresponding messages to the server according to the user's operation, and parse the results returned from the server;

[0011] The login management module receives the username and password information input by the user, and sends the information to the server for verification through the TCP channel established by the front-end communication client module, and prompts the user whether the login is successful or failed according to the result returned by the server;

[0012] The logic configuration resource editing module is used to obtain authorized logic configuration resources from the server, edit the resources, submit the edited results to the server for storage, and submit the locking operation of the resource to the server before editing;

[0013] The logic configuration compiling module is used to send compiling instructions to the server through the TCP channel established by the front-end communication client, and receive the compiling results from the server and complete the display of the results.

[0014] The present invention further includes the following preferred embodiments:

[0015] The authority management module includes a user authority submodule and a resource authority submodule; the user authority submodule divides user authority into managers, developers, and observers; the manager has the highest authority and can access all resources, and at the same time determines the resource authority that developers and observers can access; developers have the authority to access some resources, and the specific accessible resources are allocated by the manager, including the addition, deletion, modification, query, and triggering of logic compilation of resources; observers only have the right to view authorized resources, and the specific authority scope is determined by the manager; the resource authority submodule manages all resources in groups, creates resource groups through users with manager authority, and authorizes developers and observers to access resource groups.

[0016] The resource management module includes a type system submodule, a program management submodule, a variable management submodule, a task management submodule, and a device management submodule; wherein the type system submodule is used to manage the type resources in the entire logic configuration project, and the type resources include structures, arrays, enumerations, unions, function blocks, and the addition, deletion, modification, and query of the above complex types; the program management module is used to manage all POU resources in the entire logic configuration project, and the POU resources are divided into two categories: public POU resources and device POU resources, as well as the addition, deletion, modification, and query of all POU resources; the variable management submodule is used to manage all variable resources in the entire logic configuration project, and the variable resources are divided into two categories: global variable table resources and POU variable table resources, as well as the addition, deletion, modification, and query of all variable table resources; the task management submodule is used for the task resource management in the entire logic configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used for the management of device resources in the entire logic configuration project, and the device resources include controllers, IO plug-ins, communication plug-ins, and the addition, deletion, modification, and query operations of the above resources.

[0017] The logic configuration resource editing module is further used for:

[0018] If the resource has been locked by other clients, a prompt message indicating that it is currently unavailable is returned to the user, prompting the user to edit it later; when the same resource is edited by other clients, the user is prompted that the resource has been changed and whether to update the local copy.

[0019] The logic configuration resource editing module includes a type editor, a POU editor, a variable editor, a task configurator, and a device manager. The data source of each editor comes from the data requested from the server, and the data is submitted to the server for storage after editing.

[0020] The operation process of the logic configuration software includes establishing a communication link, client login, logic resource acquisition and logic compilation;

[0021] The establishing of the communication link comprises:

[0022] After the server is started, a TCP service is established and waits for the client's connection. After the client is started, it actively initiates a TCP connection according to the preset IP address and port number. After the connection is established, the client periodically sends heartbeat messages to maintain the link. When the heartbeat message is lost for more than a predefined time, the connection is considered to be disconnected.

[0023] The logical resource acquisition includes:

[0024] The logical configuration resource editing module requests the logical configuration resources that need to be edited. The request is sent to the client's resource management module. The resource management module sends the relevant resources to the client according to the user's permissions. After the client receives the resources sent by the server, it uses the editor of the relevant resources to edit them. After the client completes the resource editing, it submits the relevant data to the server. After receiving the data, the server updates the background data.

[0025] The logic compilation further includes:

[0026] The client uses the logic configuration compilation module to send a compilation logic request to the server. After receiving the request, the compilation module first performs authentication, and then starts the logic compilation after the authentication is passed. After the compilation is completed, if the compilation passes, the compiled logic binary file will be sent to the client. If the compilation fails, the compilation error information will be sent to the client.

[0027] Accordingly, the present application also discloses a terminal, including a processor and a storage medium;

[0028] The storage medium is used to store instructions;

[0029] The processor is used to operate according to the instructions to execute operations according to the aforementioned logic configuration software system supporting multi-person collaboration.

[0030] Correspondingly, the present application also discloses a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the operation of the aforementioned logic configuration software system supporting multi-person collaboration is implemented.

[0031] The beneficial effect of the present invention is that, compared with the prior art, the present invention provides a logic configuration software system that supports multi-person collaboration, improves the efficiency of control logic development and debugging, and improves the reliability and maintainability of the control algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 It is a system block diagram of the present invention.

[0033] Figure 2 User login sequence diagram in the present invention.

[0034] Figure 3 The resource list in the present invention obtains the timing diagram.

[0035] Figure 4 POU resource acquisition timing diagram in the present invention.

[0036] Figure 5 The POU resource in the present invention edits and saves the timing diagram.

[0037] Figure 6Timing diagram of the compilation process in the present invention. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solution and advantages of the present invention more clear, the technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0039] The embodiments described in this application are only some embodiments of the present invention, not all embodiments. Based on the spirit of the present invention, other embodiments obtained by ordinary technicians in this field without creative work are all within the protection scope of the present invention.

[0040] In view of the shortcomings of the prior art, the present invention proposes a logic configuration software system that supports multi-person collaboration. Figure 1 As shown, the logic configuration software system consists of a server and multiple clients. The server of the logic configuration software includes a resource management module, a compilation management module, a permission management module and a front-end communication management module. The client of the logic configuration software includes a front-end communication client module, a login management module, a logic configuration resource editing module and a logic configuration compilation module.

[0041] The front-end communication management module is used to create a TCP service according to the pre-configured IP address and port information, establish a server based on the TCPIP network protocol, bind a specified network port, and wait for a connection request from the client. After receiving a request from the client, a thread is created to process subsequent service requests from the TCP channel.

[0042] The authority management module is composed of a user authority submodule and a resource authority submodule. The user authority submodule divides user authority into managers, developers, and observers; managers have the highest authority and can access all resources, and at the same time determine the resource authority that developers and observers can access; developers have the authority to access some resources, and the specific accessible resources are allocated by managers, including the addition, deletion, modification, query, and triggering of logic compilation of resources; observers only have the right to view authorized resources, and the specific authority scope is determined by the manager. The resource authority submodule manages all resources in groups, and users with manager authority can create resource groups and grant developers and observers access to resource groups. Developers in the same project group only need to specify the same resource group access rights, which simplifies resource management.

[0043] The resource management module is composed of a type system submodule, a program management submodule, a variable management submodule, a task management submodule, and a device management submodule. The resource management module is the core of the entire system, wherein the type system submodule is used to manage the type resources in the entire logic configuration project, and these type resources include structures, arrays, enumerations, unions, function blocks, and the addition, deletion, modification, and query of the above complex types; wherein the program management module is used to manage all POU resources in the entire logic configuration project, and these resources are divided into two categories: public POU resources and device POU resources, and the addition, deletion, modification, and query of all POU resources; wherein the variable management submodule is used to manage all variable resources in the entire logic configuration project, and these resources are divided into two categories: global variable table resources and POU variable table resources, and the addition, deletion, modification, and query of all variable table resources; the task management submodule is used for the task resource management in the entire logic configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used for the device resource management in the entire logic configuration project, and these resources include controllers, IO plug-ins, communication plug-ins, etc., and the addition, deletion, modification, and query operations of the above resources.

[0044] The compilation management module is used to manage the entire compilation process, including type collection, POU collection, variable collection, task collection, IO resource collection, pre-compilation, compilation, and linking.

[0045] The compilation management module is used for the compilation of the entire logical configuration project. The compilation management module contains the following submodules: type collection submodule, POU collection submodule, variable collection submodule, task collection submodule, IO resource collection submodule, pre-compilation submodule, compilation submodule, and link submodule. Among them, the type collection submodule is used to collect the data types used in the entire logic configuration project; the POU collection submodule is used to collect the POU resources used in the entire logic configuration project; the variable collection submodule is used to collect the variable resources used in the entire logic configuration project; the task collection submodule is used to collect the task resources used in the entire logic group project; the IO resource collection submodule is used to collect the IO resources used in the entire logic configuration project; the pre-compilation submodule pre-compiles the POU collected by the POU collection submodule, which will reference the type information provided by the type collection submodule, the variable information collected by the variable collection submodule and other resources; the compilation submodule further compiles the resources provided by the pre-compilation module to generate binary instructions; the linking submodule links the logical binary instructions generated by the compilation submodule, the task information collected by the task collection submodule, and the IO information collected by the IO resource collection submodule to generate the final logical binary file.

[0046] The front-end communication client module is used to automatically initiate a TCP link according to the pre-configured server IP address and port number after the software is started, actively link to the front-end communication management module of the server, and set the channel available flag according to the pre-configured IP address and port number after the link is successful, continuously send heartbeat messages to maintain the link state, mark the channel as available, and then send corresponding messages to the server according to the user's operation, and parse the results returned from the server;

[0047] The login management module receives the username and password information input by the user, and sends this information to the server for verification through the TCP channel established by the front-end communication client module, and prompts the user whether the login is successful or failed according to the result returned by the server.

[0048] The logic configuration resource editing module is used to obtain authorized logic configuration resources from the server, edit these resources, and submit the edited results to the server for saving. Before editing, submit the locking operation of the resource to the server to ensure that the resource is not used by other clients at the same time. If the resource has been locked by other clients, it will return the current unavailable prompt information to the user, prompting the user to edit it later; when the same resource is edited by other clients, the user will be prompted whether to update the local copy because the resource has changed. The logic configuration resource editing module consists of a type editor, a POU editor, a variable editor, a task configurator, and a device manager. The data source of each editor comes from the data requested from the server, and the data must also be submitted to the server for saving after editing.

[0049] The logic configuration compiling module is used to send compiling instructions to the server through the TCP channel established by the front-end communication client, and receive the compiling results from the server and complete the display of the results.

[0050] The operation process of the logic configuration software includes establishing communication links, client login, logic resource acquisition, and logic compilation.

[0051] The establishment of the communication link specifically includes: after the server is started, a TCP service is established, and the client is waited for the connection; after the client is started, a TCP connection is actively initiated according to a preset IP address and port number, and after the connection is established, the client periodically sends a heartbeat message to maintain the link, and when the heartbeat message is lost for more than a predefined time, the connection is determined to be interrupted.

[0052] The client login specifically includes performing a login operation through a login management module on the client side, and sending the user's login information to a rights management module on the server side to complete authentication.

[0053] The logical resource acquisition specifically includes: the logical configuration resource editing module requests the logical configuration resources that need to be edited, and the request is sent to the resource management module of the client. The resource management module sends the relevant resources to the client according to the user's authority. After the client receives the resources sent by the server, it uses the editor of the relevant resources to edit them. After the client completes the resource editing, it submits the relevant data to the server. After receiving the data, the server updates the background data.

[0054] The logic compilation specifically includes that the client uses the logic configuration compilation module to send a compilation logic request to the server. After receiving the request, the compilation module first performs authentication, and starts the logic compilation after the authentication is passed. After the compilation is completed, if the compilation passes, the logic binary file generated by the compilation is sent to the client. If the compilation fails, the compilation error information is sent to the client.

[0055] In a specific embodiment, the logic configuration software adopts the new generation of general logic configuration software NUCLIDE (hereinafter referred to as NUCLIDE) developed by Sifang Company. Figure 1 As shown, in this embodiment, the NUCLIDE software is separated into a server (hereinafter referred to as NuServer) and multiple clients (hereinafter referred to as NuClient), and the open source communication framework gRPC is used to communicate between NuServer and NuClient; NuServer uses the open source database redis to implement resource storage and management, and creates multiple tables in the redis database, namely user permission table, resource permission table, resource status table, data type table, POU table, variable definition table, task table, device table, etc., wherein the user permission table is used to save the user permission information of the system, the resource permission table saves resource grouping and user access permission information, the resource status table saves whether the current resource is in a locked state, the data type table saves all data type information defined in the current logical project, the POU table saves all POU information defined in the current logical project, the variable definition table saves the variable information of all current projects, the task table saves all task information in the current project, and the device table defines all hardware device information defined in the current project;

[0056] The compile module of NUCLIDE software is also integrated on the server side, which is used to compile the current logic project after receiving the compile instruction. The compilation process includes type collection, POU collection, variable collection, task collection, IO resource collection, pre-compilation, compilation, linking, etc.

[0057] The front-end communication management module on the server side uses the gRPC communication framework as the server side of the network communication to receive the connection request from NuClient. The permission management submodule is used to process the user login request from NuClient and complete the identification of user permissions. The resource access submodule is used to process the resource access request from NuClient. The compilation control submodule is used to process the compilation request from NuClient and return the compilation result to NuClient.

[0058] NuClient's front-end communication client module uses the client of the gRPC communication framework to establish communication with the gRPC server of NuServer; NuClient's login management module is used to initiate project loading, permission verification, permission configuration and other requests to NuServer; NuClient's resource editor is used to edit resources such as data types, POUs, variables, devices, tasks, and save the edited data to NuServer; NuClient's logic configuration compilation module is used to send a request to start logic compilation to NuServer and display the logic editing results fed back by NuServer.

[0059] Figure 2 The complete login process initiated by NuClient is shown. First, the user enters the username / password on the NuClient login interface. The NuClient login interface passes the obtained username / password to the front-end communication client module. The front-end communication client module uses the username / password to build a login message and passes the login message to the gRPC client module. The gRPC client actively connects to the gRPC server of NuServer to complete the establishment of the TCP communication channel and sends the login message to the gRPC server. After receiving the login message, the gRPC server parses the message and sends the username / password in it. The information is passed to the front-end communication management module, which sends a request to the redis database to query the user permission table, verifies the username / password based on the queried information, and then sends the verification success / failure information to the front-end communication management module. The front-end communication management module constructs a login result message and passes the message to the gRPC server to feed back the login result to the gRPC client of NuClient. The gRPC client of NuClient parses the login result message and passes it to the front-end communication client module. The front-end communication client module passes the result to the login interface of NuClient, prompting the user that the login is successful / failed.

[0060] Figure 3The process of NuClient obtaining the logical resource list is shown. The whole process is basically the same as the login process, except that the transmitted message is changed to summon the resource list. In addition, since the login process has completed the establishment of the channel, there is no need to re-establish the link in this link to directly send and receive data. After receiving the resource list data, NuClient displays it in the project management window.

[0061] Figure 4 Taking the acquisition of a POU resource as an example, the process of acquiring logical resources is demonstrated. The user triggers a request to acquire the resource by double-clicking a POU in the previously acquired resource list. The request is constructed into a POU resource request message and then transmitted to NuServer through the gRPC communication network. NuServer obtains the requested POU resource data by accessing the redis database, and constructs this data into a resource data message, which is passed to NuClient through the rRPC communication network. After receiving the data message, NuClient parses the requested POU data from it and finally displays the data on the interface.

[0062] Figure 5 This shows the process of saving a POU resource after it is edited by NuClient and submitted to NuServer.

[0063] Figure 6 It shows the process of NuClient initiating a logic compilation. The compilation command is transmitted to NuServer through the gRPC network. The logic compilation module on NuServer obtains the resources required for compilation from the redis database and completes the compilation process. Finally, the compilation result is fed back to NuClient through the gRPC network. NuClient displays the result to the user through the human-computer interface.

[0064] The beneficial effect of the present invention is that, compared with the prior art, the present invention provides a logic configuration software system that supports multi-person collaboration, improves the efficiency of control logic development and debugging, and improves the reliability and maintainability of the control algorithm.

[0065] Based on the spirit of the present invention, those skilled in the art can easily think that a computer program product can be obtained based on the aforementioned logical configuration software system supporting multi-person collaboration. The computer program product may include a computer-readable storage medium, which carries computer-readable program instructions for enabling a processor to implement various aspects of the present disclosure. That is, the present application also includes a terminal, including a processor and a storage medium; the storage medium is used to store instructions; the processor is used to operate according to the instructions to perform operations according to the aforementioned logical configuration software system supporting multi-person collaboration.

[0066] Computer readable storage medium can be a tangible device that can keep and store the instructions used by the instruction execution device. Computer readable storage medium can be, for example, - but not limited to - electrical storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device or any suitable combination of the above. More specific examples (non-exhaustive list) of computer readable storage medium include: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, punch card or groove protrusion structure with instructions stored thereon and any suitable combination of the above. Computer readable storage medium used here is not interpreted as instantaneous signal itself, such as radio wave or other free propagating electromagnetic wave, electromagnetic wave propagated by waveguide or other transmission medium (for example, light pulse by optical fiber cable) or electrical signal transmitted by wire.

[0067] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0068] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages-such as Smalltalk, C++, etc., and conventional procedural programming languages-such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network-including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may be personalized by utilizing the state information of a computer-readable program instruction, and the electronic circuit may execute a computer-readable program instruction, thereby realizing various aspects of the present disclosure.

[0069] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the relevant field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents, and any modifications or equivalent replacements that do not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.

Claims

1. A logic configuration software system supporting multi-person collaboration, consisting of a server and multiple clients, characterized in that: The server includes a resource management module, a compilation management module, a permission management module and a front-end communication management module, and the client includes a front-end communication client module, a login management module, a logic configuration resource editing module and a logic configuration compilation module; The front-end communication management module is used to create a TCP service according to the pre-configured IP address and port information, establish a server based on the TCPIP network protocol, bind a specified network port, and wait for a connection request from the client. After receiving a request from the client, a thread is created to process subsequent service requests from the TCP. The authority management module is used to uniformly manage user authority and resource authority; The resource management module is used to manage type resources, POU resources, variable resources, task resource management and device resources in the logic configuration project; The compilation management module is used to manage the entire compilation process, including type collection, POU collection, variable collection, task collection, IO resource collection, pre-compilation, compilation and linking; The front-end communication client module is used to automatically initiate a TCP link according to the pre-configured server IP address and port number after the software is started, actively link to the front-end communication management module of the server, and set the channel available flag according to the pre-configured IP address and port number after the link is successful, continuously send heartbeat messages to maintain the link state, mark the channel as available, and then send corresponding messages to the server according to the user's operation, and parse the results returned from the server; The login management module receives the username and password information input by the user, and sends the information to the server for verification through the TCP channel established by the front-end communication client module, and prompts the user whether the login is successful or failed according to the result returned by the server; The logic configuration resource editing module is used to obtain authorized logic configuration resources from the server, edit the resources, submit the edited results to the server for storage, and submit the locking operation of the resource to the server before editing; The logic configuration compiling module is used to send compiling instructions to the server through the TCP channel established by the front-end communication client, and receive the compiling results from the server and complete the display of the results.

2. The logic configuration software system supporting multi-person collaboration according to claim 1, characterized in that: The authority management module includes a user authority submodule and a resource authority submodule; the user authority submodule divides user authority into managers, developers, and observers; The manager has the highest authority and can access all resources, and decides the resource permissions that developers and observers can access. Developers have access to some resources, and the specific accessible resources are allocated by the manager, including adding, deleting, modifying, querying, and triggering logic compilation of resources. Observers only have viewing permissions to authorized resources, and the specific scope of permissions is determined by the manager. The resource permission submodule manages all resources in groups, creates resource groups through users with manager permissions, and authorizes developers and observers to access resource groups.

3. The logic configuration software system supporting multi-person collaboration according to claim 2, characterized in that: The resource management module includes a type system submodule, a program management submodule, a variable management submodule, a task management submodule, and a device management submodule; wherein the type system submodule is used to manage the type resources in the entire logic configuration project, and the type resources include structures, arrays, enumerations, unions, function blocks, and the addition, deletion, modification, and query of the above complex types; the program management module is used to manage all POU resources in the entire logic configuration project, and the POU resources are divided into two categories: public POU resources and device POU resources, as well as the addition, deletion, modification, and query of all POU resources; the variable management submodule is used to manage all variable resources in the entire logic configuration project, and the variable resources are divided into two categories: global variable table resources and POU variable table resources, as well as the addition, deletion, modification, and query of all variable table resources; the task management submodule is used for the task resource management in the entire logic configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used for the management of device resources in the entire logic configuration project, and the device resources include controllers, IO plug-ins, communication plug-ins, and the addition, deletion, modification, and query operations of the above resources.

4. The logic configuration software system supporting multi-person collaboration according to claim 3, characterized in that: The logic configuration resource editing module is further used for: If the resource has been locked by other clients, a prompt message indicating that it is currently unavailable is returned to the user, prompting the user to edit it later; when the same resource is edited by other clients, the user is prompted that the resource has been changed and whether to update the local copy.

5. The logic configuration software system supporting multi-person collaboration according to claim 4, characterized in that: The logic configuration resource editing module includes a type editor, a POU editor, a variable editor, a task configurator, and a device manager. The data source of each editor comes from the data requested from the server, and the data is submitted to the server for storage after editing.

6. The logic configuration software system supporting multi-person collaboration according to claim 5, characterized in that: The operation process of the logic configuration software includes establishing a communication link, client login, logic resource acquisition and logic compilation; The establishing of the communication link comprises: After the server is started, a TCP service is established and waits for the client's connection. After the client is started, it actively initiates a TCP connection according to the preset IP address and port number. After the connection is established, the client periodically sends heartbeat messages to maintain the link. When the heartbeat message is lost for more than a predefined time, the connection is considered to be disconnected.

7. The logic configuration software system supporting multi-person collaboration according to claim 6, characterized in that: The logical resource acquisition includes: The logical configuration resource editing module requests the logical configuration resources that need to be edited. The request is sent to the client's resource management module. The resource management module sends the relevant resources to the client according to the user's permissions. After the client receives the resources sent by the server, it uses the editor of the relevant resources to edit them. After the client completes the resource editing, it submits the relevant data to the server. After receiving the data, the server updates the background data.

8. The logic configuration software system supporting multi-person collaboration according to claim 7, characterized in that: The logic compilation further includes: The client uses the logic configuration compilation module to send a compilation logic request to the server. After receiving the request, the compilation module first performs authentication, and then starts the logic compilation after the authentication is passed. After the compilation is completed, if the compilation passes, the compiled logic binary file will be sent to the client. If the compilation fails, the compilation error information will be sent to the client.

9. A terminal comprising a processor and a storage medium; characterized in that: The storage medium is used to store instructions; The processor is used to operate according to the instructions to execute the operation of the logic configuration software system supporting multi-person collaboration according to any one of claims 1-8.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the operation of the logic configuration software system supporting multi-person collaboration as described in any one of claims 1 to 8 is realized.

Citation Information

Patent Citations

  • Cloud compiling system and method for PLC development tool of power system

    CN114020259A

  • Engineering configuration data access authority control method and device, equipment and medium

    CN114462005A

  • System and method for generating a digital edition

    WO2014107808A1

  • Cooperative configuration implementation method and apparatus for batch recording system, device, and storage medium

    WO2022142655A1