A logical configuration software system supporting multi-person collaboration

CN119597301BActive Publication Date: 2025-09-02BEIJING SIFANG JIBAO ENG TECH +1
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

[0003]为了解决现有技术中存在的不足,本发明提供了一种支持多人协作的逻辑组态软件系统,以解决逻辑组态软件多人协作的技术问题

Benefits of technology

[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.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597301B_ABST
    Figure CN119597301B_ABST
Patent Text Reader

Abstract

A logic configuration software system supporting multi-person collaboration consists of a server and multiple clients. After a client is started, the front-end communication client automatically establishes a network link with the server's front-end communication management module. The client then logs in using a login management module, with the login information sent to the server's rights management module for authentication. After authentication, the client obtains access to the corresponding resource and uses the logic configuration resource editing module to edit the relevant logic configuration resource. After editing is complete, the client uses the logic configuration compilation module to send logic compilation instructions to the server. Upon receiving the compilation instructions, the server's compilation management module initiates compilation of the entire logic project. After compilation is complete, the compilation results are sent to the client's logic configuration compilation module. This solution improves industrial automation control efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present 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 flows. With the continuous advancement of industrial production technology, production processes have become increasingly complex, and the number of controlled objects has increased. As a result, the complexity of control logic has continued to increase. It is no longer possible for a single developer to maintain a complex set of control logic. There is an urgent need for 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, so as 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 first discloses a logic configuration software system supporting multi-person collaboration, which consists of a server and multiple clients. The server includes a resource management module, a compilation management module, a permission management module, and a front-end communication management module. 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.

[0006] The front-end communication management module is used to create a TCP service based on the pre-configured IP address and port information, establish a server based on the TCP / IP 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 logical 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 status, 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 this information to the server through the TCP channel established by the pre-communication client module for verification, 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; among them, managers have the highest authority and can access all resources, and at the same time determine the resource permissions 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 authority 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 grants developers and observers access to 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 logical 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 logical 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 logical 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 to manage task resources in the entire logical configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used to manage device resources in the entire logical 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 to:

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

[0019] The logical 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 after editing, the data is submitted to the server for storage.

[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, it establishes a TCP service and waits for the client's connection. After the client is started, it actively initiates a TCP connection based on 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 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. After the authentication is passed, the logic compilation is started. After the compilation is completed, if the compilation is successful, 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. When the program is executed by a processor, the operation of the aforementioned logic configuration software system supporting multi-person collaboration is realized.

[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 solutions and advantages of the present invention more clear, the technical solutions 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 part of the embodiments of the present invention, not all of the embodiments. Based on the spirit of the present invention, other embodiments obtained by ordinary technicians in this field without making creative work are all within the scope of protection of the present invention.

[0040] In view of the shortcomings of the existing technology, 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 includes a resource management module, a compilation management module, a permission management module, and a front-end communication management module. 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.

[0041] The front-end communication management module is used to create a TCP service based on 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 permissions 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 viewing authority over authorized resources, and the specific scope of authority is determined by managers. 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. The type system submodule is used to manage the type resources in the entire logical configuration project. These type resources include structures, arrays, enumerations, unions, function blocks, and the addition, deletion, modification, and query of the above-mentioned complex types; the program management module is used to manage all POU resources in the entire logical configuration project. 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; the variable management submodule is used to manage all variable resources in the entire logical configuration project. 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 to manage the task resources in the entire logical configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used to manage the device resources in the entire logical configuration project. These resources include controllers, IO plug-ins, communication plug-ins, etc., and the addition, deletion, modification, and query of the above-mentioned 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 to compile the entire logical configuration project. It contains the following submodules: type collection submodule, POU collection submodule, variable collection submodule, task collection submodule, IO resource collection submodule, precompile 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 status, 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 through the TCP channel established by the front-end communication client module for verification, and prompts the user whether the login is successful or failed based on the result returned by the server.

[0048] The logical configuration resource editing module is used to obtain authorized logical configuration resources from the server, edit these resources, and submit the edited results to the server for storage. Before editing, the server submits a lock operation for the resource to ensure that the resource is not used by other clients at the same time. If the resource has been locked by other clients, the user is returned a currently unavailable prompt message, prompting the user to edit it later. When the same resource is edited by other clients, the user is prompted to update the local copy of the resource after the resource has changed. The logical 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 after editing, the data must also be submitted to the server for storage.

[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 waiting for the client's connection; after the client is started, it actively initiates a TCP connection according to a preset IP address and port number. After the connection is established, the client periodically sends a heartbeat message to maintain the link. When the heartbeat message is lost for more than a predefined time, it is determined that the connection is disconnected.

[0052] The client login specifically includes performing a login operation through a client using a login management module, and sending the user's login information to a rights management module on the server 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 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.

[0054] The logic compilation specifically 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 starts logic compilation after authentication. After the compilation is completed, if the compilation passes, the compiled logic binary file is sent to the client. If the compilation fails, a compilation error message 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 for communication 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 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 server also integrates the compilation module of NUCLIDE software, which is used to compile the current logic project after receiving the compilation instruction. The compilation process consists of 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 network communication server to receive connection requests from NuClient. The permission management submodule is used to process user login requests from NuClient and complete the authentication of user permissions. The resource access submodule is used to process resource access requests from NuClient. The compilation control submodule is used to process compilation requests from NuClient and return the compilation results to NuClient.

[0058] NuClient's front-end communication client module uses the client of the gRPC communication framework to establish communication with NuServer's gRPC server; 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 NuServer to start logic compilation and display the logic editing results fed back by NuServer.

[0059] Figure 2 This shows a complete login process initiated by NuClient. 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 saves 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 whether the login is successful / failed.

[0060] Figure 3This section shows how NuClient obtains the logical resource list. The entire process is basically the same as the login process, except that the message transmitted is used to summon the resource list. In addition, since the channel has been established during the login process, there is no need to re-establish the link in this step and data can be sent and received directly. 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 in NuClient and submitted to NuServer.

[0063] Figure 6 The process of NuClient initiating a logic compilation is demonstrated. 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 conceive of a computer program product based on the aforementioned logical configuration software system supporting multi-person collaboration. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure. Specifically, the present application also includes a terminal comprising a processor and a storage medium; the storage medium is configured to store instructions; and the processor is configured 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 the tangible device that can keep and store the instruction used by instruction execution device.Computer-readable storage medium can be, for example, but not limited to, electric storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device or above-mentioned any suitable combination.The more specific example (non-exhaustive list) of computer-readable storage medium comprises: 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 disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical coding device, for example, punch card or the convex structure in the groove that stores instruction thereon and above-mentioned any suitable combination.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 (for example, by the light pulse of fiber optic cable) that waveguide or other transmission medium propagates or the electric signal that is 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, fiber optic transmission, wireless transmission, 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 to be stored in the computer-readable storage medium in each computing / processing device.

[0068] The computer program instructions for performing the operation of the present disclosure can 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++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions can be executed entirely on a user's computer, partially on a user's computer, executed as an independent software package, partially on a user's computer and partially on a remote computer, or executed entirely on a remote computer or server. In the case of a remote computer, the remote computer can 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 can be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, by utilizing the state information of computer-readable program instructions to personalize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute computer-readable program instructions, 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 field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered by the scope of protection of the claims of the present invention.

Claims

1. A logical 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 based on the pre-configured IP address and port information, establish a server based on the TCP / IP 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 logical 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 status, 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 this information to the server through the TCP channel established by the pre-communication client module for verification, 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 administrator has the highest authority and can access all resources, while also determining the resource permissions that developers and observers can access. Developers have access to some resources, and the specific accessible resources are allocated by the administrator, including the addition, deletion, modification, and query of resources, as well as triggering logic compilation. Observers only have viewing permissions for authorized resources, and the specific scope of permissions is determined by the administrator. The resource permission submodule manages all resources in groups, creates resource groups through users with administrator 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 logical configuration project, and the type resources include structures, arrays, enumerations, unions, function blocks, and the addition, deletion, modification, and query of the above types; the program management submodule is used to manage all POU resources in the entire logical configuration project, and the POU resources are divided into two categories: public POU resources and device POU resources, and the addition, deletion, modification, and query of all POU resources; the variable management submodule is used to manage all variable resources in the entire logical configuration project, and the variable 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 to manage task resources in the entire logical configuration project, and the addition, deletion, modification, and query of all tasks; the device management submodule is used to manage device resources in the entire logical 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 to: If the resource has been locked by another client, a currently unavailable prompt message will be returned to the user, prompting the user to edit it later; when the same resource is edited by another client, the user will be 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 logical 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 after editing, the data is submitted to the server for storage.

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, it establishes a TCP service and waits for the client's connection. After the client is started, it actively initiates a TCP connection based on 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 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. After the authentication is passed, the logic compilation is started. After the compilation is completed, if the compilation is successful, 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 configured 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