PLC control methods, devices and systems, storage media, and electronic equipment.

By uniformly storing PLC applications in the application repository and dynamically loading and verifying them at runtime, the problem of low PLC security is solved, and the security and stability of the control system are improved.

CN115755748BActive Publication Date: 2026-03-13GREE ELECTRIC APPLIANCE INC OF ZHUHAI +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-04
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

PLCs have low security and are vulnerable to ransomware attacks, which can affect the stability and security of the entire control system.

Method used

The PLC applications are stored uniformly in the application repository. When the PLC runs, it dynamically loads the target application from the repository and performs authentication and legitimacy verification through the configuration repository to ensure the legitimacy of the application.

Benefits of technology

By using dynamic loading and verification mechanisms, the number of points of attack on the PLC is reduced, the hardware-fixed application is protected from being compromised, and the security of the control system is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115755748B_ABST
    Figure CN115755748B_ABST
Patent Text Reader

Abstract

This application discloses a control method, apparatus, system, storage medium, and electronic device for a PLC. The method includes: retrieving a target application to be run from an application repository, wherein the application repository stores the applications; and running the target application on the programmable logic controller (PLC). This application achieves this by uniformly storing PLC applications in an application repository. When the PLC needs to run, it retrieves the target application from the application repository. Since the application is reloaded from a secure location each time, the number of potential attack points is reduced, addressing the technical problem of low PLC security. This avoids the risk of any single application embedded in the PLC hardware being compromised and affecting the entire control system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software security technology, and more specifically, to a PLC control method, device and system, storage medium and electronic equipment. Background Technology

[0002] Security is now a critical issue not only for computer systems but also for production control systems. Especially in recent years, the emergence of ransomware has not only harmed enterprise information systems but also increasingly threatened production control systems. The Programmable Logic Controller (PLC) in a production control system is the core control component. Its application programs are typically developed using configuration software, downloaded to the PLC hardware, and permanently stored for long-term operation. Human Machine Interfaces (HMIs) and PLC applications are currently standalone entities, rarely changed after development and download. If an application in one HMI or PLC is compromised, it can easily affect or impair the behavior of other controllers on the network, potentially leading to loss of life or property. Production control systems are more vulnerable than information systems, and many systems were developed with little consideration for security from the outset.

[0003] There is currently no effective solution to the aforementioned technical problem of low safety in PLCs. Summary of the Invention

[0004] This application provides a PLC control method, device and system, storage medium and electronic device to solve the technical problem of low security of PLC.

[0005] To address the aforementioned technical problems, according to one aspect of the embodiments of this application, a PLC control system is provided, comprising: an application repository for storing applications; and a programmable logic controller (PLC) communicatively connected to the application repository for obtaining a target application to be run from the application repository.

[0006] Optionally, the control system further includes: a configuration repository, communicatively connected to the programmable logic controller (PLC), for storing the target configuration file, wherein the target configuration file stores the correspondence between the PLC and the target application; the PLC is further configured to: retrieve the target configuration file from the configuration repository, and retrieve the target application from the application repository according to the target configuration file.

[0007] Optionally, the control system further includes: a development server, communicatively connected to the application repository and the configuration repository, for developing or managing the application, wherein the application development includes providing the target application and the corresponding target configuration file, and the configuration management includes specifying the corresponding configuration file for the application.

[0008] According to another aspect of the embodiments of this application, a control method for a PLC is also provided, comprising: obtaining a target application to be run from an application repository, wherein the application repository is used to store applications; and running the target application on a programmable logic controller (PLC).

[0009] Optionally, obtaining the target application to be run from the application repository includes: sending an authentication request to a configuration repository to request the configuration repository to authenticate the programmable logic controller (PLC); and, if the PLC is authenticated by the configuration repository, obtaining the target application from the application repository according to a target configuration file, wherein the target configuration file stores the correspondence between the PLC and the target application.

[0010] Optionally, an authentication request is sent to the configuration repository to request the configuration repository to authenticate the programmable logic controller (PLC). This includes sending a summary and signature information of the configuration file stored by the PLC to the configuration repository. The signature information is used by the configuration repository to authenticate the PLC, and the summary of the configuration file stored by the PLC is used by the configuration repository to verify the validity of the configuration file stored by the PLC. The authentication includes both identity verification and validity verification.

[0011] Optionally, obtaining the target application from the application repository according to the target configuration file includes: sending a download request to the application repository to request the download of the target application, wherein the application repository is used to authenticate the programmable logic controller (PLC) using the configuration file of the PLC obtained from the configuration repository; and, if the PLC passes the authentication by the application repository, completing the download and verification of the target application.

[0012] Optionally, after the programmable logic controller (PLC) runs the target application, the method further includes: sending summary information of the target application to the configuration repository at regular intervals, so that the configuration repository can authenticate the application running on the PLC, thereby ensuring that the application running on the PLC is legitimate.

[0013] According to another aspect of the embodiments of this application, a control device for a PLC is also provided, comprising: an acquisition unit for acquiring a target application to be run from an application repository, wherein the application repository is used to store applications; and a running unit for running the target application on a programmable logic controller (PLC).

[0014] Optionally, the acquisition unit is further configured to: send an authentication request to the configuration repository to request the configuration repository to authenticate the programmable logic controller (PLC); and, if the PLC is authenticated by the configuration repository, acquire the target application from the application repository according to the target configuration file, wherein the target configuration file stores the correspondence between the PLC and the target application.

[0015] Optionally, the acquisition unit is further configured to: send the summary and signature information of the configuration file stored by the programmable logic controller (PLC) to the configuration repository, wherein the signature information is used by the configuration repository to authenticate the PLC, the summary of the configuration file stored by the PLC is used by the configuration repository to verify the legitimacy of the configuration file stored by the PLC, and the authentication includes identity verification and legitimacy verification.

[0016] Optionally, the acquisition unit is further configured to: send a download request to the application repository to request the download of the target application, wherein the application repository is configured to authenticate the programmable logic controller (PLC) using the configuration file of the PLC obtained from the configuration repository; and, if the PLC passes the authentication by the application repository, complete the download and verification of the target application.

[0017] Optionally, the control unit is further configured to: after the programmable logic controller (PLC) runs the target application, send summary information of the target application to the configuration repository at regular intervals, so that the configuration repository can authenticate the application running on the PLC, thereby ensuring that the application running on the PLC is legitimate.

[0018] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, the storage medium including a stored program that, when executed by a processor, implements the above-described method.

[0019] According to another aspect of the embodiments of this application, an electronic device is also provided, including: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the method described above.

[0020] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of any of the embodiments of the methods described above.

[0021] By applying the technical solution of this application, the application programs of the programmable logic controller (PLC) are uniformly stored in the application repository. When the PLC needs to run, it retrieves the target application to be run from the application repository. Since it is reloaded from a safe place each time, the number of points of attack is reduced, which can solve the technical problem of low security of PLC and avoid the harm that would affect the entire control system if any PLC hardware application is compromised. Attached Figure Description

[0022] Figure 1 This is a schematic diagram of an optional PLC control system according to an embodiment of this application;

[0023] Figure 2 This is a flowchart of an optional PLC control method according to an embodiment of this application;

[0024] Figure 3 This is a schematic diagram of the functional modules of a PLC control system according to an embodiment of this application;

[0025] Figure 4 This is a schematic diagram of an optional PLC control device according to an embodiment of this application;

[0026] Figure 5 This is a structural block diagram of a terminal according to an embodiment of this application. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0028] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “said,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms, and “multiple” generally includes at least two unless the context clearly indicates otherwise.

[0029] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0030] It should be understood that although the terms first, second, third, etc., may be used to describe certain technical features in the embodiments of this application, these technical features should not be limited to these terms. These terms are only used to distinguish these technical features.

[0031] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to detection.” Similarly, depending on the context, the phrases “if determination” or “if detection (of the stated condition or event)” can be interpreted as “when determination” or “in response to determination” or “when detection (of the stated condition or event)” or “in response to detection (of the stated condition or event).”

[0032] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that an article or device comprising a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such an article or device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the article or device comprising said element. In this application, programmable controller, programmable logic controller, and controller all refer to a PLC.

[0033] Example 1

[0034] Figure 1This is a schematic diagram of an optional PLC control system according to an embodiment of this application, such as... Figure 1 As shown, the system includes the following components:

[0035] The application repository (P2) is connected to the communication network (P5) and is used to store applications.

[0036] The programmable logic controller (PLC) (i.e., P4) is connected to the application repository via a communication network to obtain target applications to be run from the application repository.

[0037] Optionally, the control system further includes: a configuration repository (i.e., P3), which is connected to the programmable logic controller (PLC) via a communication network, for storing the target configuration file. The target configuration file stores the correspondence between the programmable logic controller (PLC) and the target application. The programmable logic controller (PLC) can obtain the target configuration file from the configuration repository and obtain the target application from the application repository according to the target configuration file.

[0038] A development server is connected to the application repository and configuration repository via a communication network for application development or configuration management. Application development includes providing the target application and the corresponding target configuration file, and configuration management includes specifying the corresponding configuration file for the application.

[0039] By adopting the above technical solution, the application programs of the programmable logic controller (PLC) are uniformly stored in the application repository. When the PLC needs to run, it retrieves the target application to be run from the application repository. Since it is reloaded from a safe place each time, the number of points of attack is reduced, which can solve the technical problem of low security of PLC. It avoids the harm that would have been caused by any PLC hardware-fixed application being compromised, which could affect the entire control system.

[0040] Example 2

[0041] Figure 2 This is a flowchart of an optional PLC control method according to an embodiment of this application, such as... Figure 2 As shown, this method can control the dynamic loading and execution of controlled PLC applications within a network, including the following steps:

[0042] Step S101: Obtain the target application to be run from the application repository, which is used to store applications.

[0043] In the above technical solution, obtaining the target application to be run from the application repository includes:

[0044] 1) Send an authentication request to the configuration repository to request the configuration repository to authenticate the programmable logic controller (PLC).

[0045] The summary and signature information of the configuration file stored by the programmable logic controller (PLC) can be sent to the configuration repository. The authentication includes two parts: identity verification and legality verification. The signature information is used by the configuration repository to authenticate the PLC, and the summary of the configuration file stored by the PLC is used by the configuration repository to verify the legality of the configuration file stored by the PLC.

[0046] 2) When the programmable logic controller (PLC) is authenticated by the configuration repository, the target application is obtained from the application repository according to the target configuration file, and the target configuration file stores the correspondence between the programmable logic controller (PLC) and the target application.

[0047] A download request can be sent to the application repository to request the download of the target application. The application repository is used to authenticate the PLC using the configuration file of the PLC obtained from the configuration repository. If the PLC passes the authentication by the application repository, the download and verification of the target application are completed. By authorizing and authenticating the loading of applications, the security of the control system is improved.

[0048] Step S102: Run the target application on the programmable logic controller (PLC).

[0049] Optionally, after the programmable logic controller (PLC) runs the target application, a summary of the target application is sent to the configuration repository at regular intervals so that the configuration repository can authenticate the application running on the PLC, thereby ensuring that the application running on the PLC is legitimate.

[0050] By following the steps above, the application programs of the programmable logic controller (PLC) are uniformly stored in the application repository. When the PLC needs to run, it retrieves the target application to be run from the application repository. Since it is reloaded from a safe place each time, the number of points of attack is reduced, which can solve the technical problem of low security of PLC. It avoids the harm that would have been caused by any PLC hardware-fixed application being compromised, which could affect the entire control system.

[0051] Example 3

[0052] As an optional embodiment, the technical solution of this application is further described in detail below with reference to specific embodiments:

[0053] Control system architecture such as Figure 1 As shown, a field control network is generally a network consisting of multiple controllers, such as PLCs, connected through communication.

[0054] from Figure 1 The diagram shows five roles among the participants: P1 Development Environment (for application developers to develop applications), P2 PLC Application Repository, P3 Configuration Repository, P4 Controller (PLC), and P5 Communication Network.

[0055] In P1, application developers develop or configure PLC applications. After development is completed, two artifacts are provided: the PLC application and the running configuration file (which specifies the correspondence between the target controller and the application, such as PLC1 running application A, PLC2 running application B, and so on).

[0056] The PLC application is then saved to P2, while the runtime configuration file is saved to both P3 and P4. Configuration management simply provides a single artifact runtime configuration file, specifying the mapping between the target controller and the applications already used in the application repository. Through the configuration file, the applications that the controller needs to execute can be dynamically and flexibly changed, allowing the controller's functionality to be defined through software.

[0057] The P5 network is an isolated communication network specifically designed for control networks. It is typically a TCP / IP network, rather than the controller's field communication network (such as RS485).

[0058] The main participating modules (it should be noted that the modules here are divided by function; in actual implementation, they can also be divided in other ways, which are not limited here) are as follows: Figure 3 As shown:

[0059] The M1 identity management module manages the identities of roles P1, P2, P3, and P4, ensuring that only legitimate users can access the control network. The M1 module exists on all four P1-P4. Each controller has a unique ID, which is registered and stored on both P2 and P3. P2 and P3 also store their own unique identifier on the controller (e.g., a unique identifier generated based on the controller and P2 IDs using a specific algorithm; each controller-P2 pair and controller-P3 pair has its own secret identifier, acting like a password; or a simpler password approach could be used). When a controller prepares to load an application, it needs to provide this identifier to P2 and P3 for authentication.

[0060] M2 Authorization Module: P1 manages the authorization of applications that can run on the target controller using configuration files, so as to restrict a specified controller to run only specified applications. The authorization module runs on P1.

[0061] The M3 authentication module authenticates the identities of roles P1, P2, P3, and P4. It exists on all four roles (P1-P4) to ensure that each party has the right to access the correct content and prevents unauthorized access to content (i.e., lower-privileged roles cannot access higher-privileged content). Specifically, when the controller dynamically loads the application, it needs to pass its configuration file digest and signature information to the configuration repository for authentication. Only if both match is the controller authorized to load the application from the application repository. With dynamic loading by the controller, the application can run directly in memory, except for the flash memory required to store the configuration file.

[0062] M4 Application Loading Module: This module exists on both P2 and P4. Each time the controller starts, it requests the corresponding application from P2 based on the application information specified in the configuration file. Upon receiving the request, P2 retrieves the configuration file information for P4 from P3 to verify the correctness and legitimacy of P4's request. After verification, this module on P2 and P4 cooperates to complete the application download and verification, ensuring the downloaded program is correct. After downloading, P2 and P4 negotiate and generate a random password, which is stored on P2, P3, and P4 respectively.

[0063] M5 Digest Verification Module: Located in P3 and P4, P3 periodically encrypts the application's digest information (name, file size, etc.) using a random password and sends it to P3. P3 decrypts the digest information and compares it to verify whether the application on the controller is legitimate.

[0064] The M6 ​​application repository module stores the controller's application programs for download by P4. It only exists on P2.

[0065] The M7 configuration repository module stores the controller's application configuration information for use by the authentication and application loading modules; it only exists on the P3.

[0066] The technical solution adopted in this application achieves the following: 1) PLC authentication is performed through identity comparison to prevent unauthorized access; 2) A central repository is used to uniformly store applications; the PLC dynamically obtains the application to be loaded each time it starts up. Since it is reloaded from a secure location each time, the number of attack points is reduced, and the probability of the previously fixed applications on each PLC hardware being compromised and affecting the entire control system is lowered. The controller loads the application according to the correspondence between the controller and the application specified in the configuration file; 3) The PLC application provides runtime summary information for comparison to provide security verification, preventing the application from being replaced, damaged, or tampered with after loading.

[0067] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0068] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0069] Example 4

[0070] According to another aspect of the embodiments of this application, a control device for a PLC for implementing the above-described PLC control method is also provided. Figure 4 This is a schematic diagram of an optional PLC control device according to an embodiment of this application, such as... Figure 4 As shown, the device may include:

[0071] The acquisition unit 41 is used to acquire the target application to be run from the application repository, wherein the application repository is used to store applications; the running unit 43 is used to run the target application on the programmable logic controller (PLC).

[0072] Through the above modules, the application programs of the programmable logic controller (PLC) are uniformly stored in the application repository. When the PLC needs to run, it retrieves the target application to be run from the application repository. Since it is reloaded from a safe place each time, the number of points of attack is reduced, which can solve the technical problem of low security of PLC. It avoids the harm that would have been caused by any PLC hardware-fixed application being compromised, which could affect the entire control system.

[0073] Optionally, the acquisition unit is further configured to: send an authentication request to the configuration repository to request the configuration repository to authenticate the programmable logic controller (PLC); and, if the PLC is authenticated by the configuration repository, acquire the target application from the application repository according to the target configuration file, wherein the target configuration file stores the correspondence between the PLC and the target application.

[0074] Optionally, the acquisition unit is further configured to: send the summary and signature information of the configuration file stored by the programmable logic controller (PLC) to the configuration repository, wherein the signature information is used by the configuration repository to authenticate the PLC, the summary of the configuration file stored by the PLC is used by the configuration repository to verify the legitimacy of the configuration file stored by the PLC, and the authentication includes identity verification and legitimacy verification.

[0075] Optionally, the acquisition unit is further configured to: send a download request to the application repository to request the download of the target application, wherein the application repository is configured to authenticate the programmable logic controller (PLC) using the configuration file of the PLC obtained from the configuration repository; and, if the PLC passes the authentication by the application repository, complete the download and verification of the target application.

[0076] Optionally, the control unit is further configured to: after the programmable logic controller (PLC) runs the target application, send summary information of the target application to the configuration repository at regular intervals, so that the configuration repository can authenticate the application running on the PLC, thereby ensuring that the application running on the PLC is legitimate.

[0077] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above embodiments. It should also be noted that the above modules, as part of the device, can run in a corresponding hardware environment, and can be implemented through software or hardware, wherein the hardware environment includes a network environment.

[0078] Example 5

[0079] This embodiment provides an electronic device, which includes: a processor 201, a memory 203, and a transmission device 205, such as... Figure 5 As shown, the terminal may also include input / output devices 207; wherein:

[0080] The memory 203 can be used to store software programs and modules, such as the program instructions / modules corresponding to the methods and apparatus in the embodiments of this application. The processor 201 executes various functional applications and data processing by running the software programs and modules stored in the memory 203, thereby implementing the methods described above. The memory 203 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 203 may further include memory remotely located relative to the processor 201, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0081] The aforementioned transmission device 205 is used to receive or send data via a network, and can also be used for data transfer between the processor and memory. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 205 includes a Network Interface Controller (NIC), which can be connected to other network devices and routers via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 205 is a radio frequency (RF) module used for wireless communication with the Internet.

[0082] Specifically, memory 203 is used to store application programs.

[0083] The processor 201 can call the application stored in the memory 203 through the transmission device 205 to perform the following steps: obtain the target application to be run from the application repository, wherein the application repository is used to store applications; and run the target application on the programmable logic controller (PLC).

[0084] Example 6

[0085] This application provides software for executing the technical solutions described in the above embodiments and preferred embodiments.

[0086] This application provides a non-volatile computer storage medium storing computer-executable instructions that can execute the method for editing content in a document as described in any of the above method embodiments.

[0087] The aforementioned storage medium stores the aforementioned software, and the storage medium includes, but is not limited to, optical discs, floppy disks, hard disks, and rewritable memory.

[0088] The above-described product can perform the methods provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects for performing the methods. Technical details not described in detail in this embodiment can be found in the methods provided in the embodiments of this application.

[0089] The electronic devices in this application embodiments exist in various forms, including but not limited to:

[0090] (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and primarily aim to provide voice and data communication. These terminals include: smartphones (e.g., iPhones), multimedia phones, feature phones, and low-end phones, etc.

[0091] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, possessing computing and processing capabilities, and generally also have mobile internet access features. These terminals include PDAs, MIDs, and UMPCs, such as the iPad.

[0092] (3) Portable entertainment devices: These devices can display and play multimedia content. This category includes audio and video players (such as iPods), handheld game consoles, e-book readers, as well as smart toys and portable car navigation devices.

[0093] (4) Server: A device that provides computing services. The components of a server include a processor, hard disk, memory, device bus, etc. Servers are similar to general computer architectures, but because they need to provide highly reliable services, they have higher requirements in terms of processing power, stability, reliability, security, scalability, and manageability.

[0094] (5) Other electronic devices with data interaction functions, such as televisions and in-vehicle screens.

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

[0096] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0097] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A control system of a PLC, characterized by, The control system comprises: an application warehouse for storing applications; a programmable logic controller (PLC) in communication with the application warehouse, configured to acquire a target application to be run from the application warehouse when needed; a configuration warehouse in communication with the programmable logic controller (PLC), configured to store a target configuration file, wherein the target configuration file stores a correspondence between the programmable logic controller (PLC) and the target application; the programmable logic controller (PLC) is configured to: send an authentication request to the configuration warehouse to request the configuration warehouse to authenticate the programmable logic controller (PLC); and acquire the target application from the application warehouse according to the target configuration file when the programmable logic controller (PLC) is authenticated by the configuration warehouse; sending an authentication request to the configuration warehouse to request the configuration warehouse to authenticate the programmable logic controller (PLC) comprises: sending a digest and signature information of a configuration file stored by the programmable logic controller (PLC) to the configuration warehouse, wherein the signature information is used for the configuration warehouse to authenticate the identity of the programmable logic controller (PLC), and the digest of the configuration file stored by the programmable logic controller (PLC) is used for the configuration warehouse to verify the legality of the configuration file stored by the programmable logic controller (PLC), and the authentication comprises identity authentication and legality verification; acquiring the target application from the application warehouse according to the target configuration file comprises: sending a download request to the application warehouse to request to download the target application, wherein the application warehouse is configured to authenticate the programmable logic controller (PLC) by using the configuration file of the programmable logic controller (PLC) acquired from the configuration warehouse; and completing the downloading and checking of the target application when the programmable logic controller (PLC) is authenticated by the application warehouse; after the programmable logic controller (PLC) runs the target application, the digest information of the target application is sent to the configuration warehouse at intervals, so that the configuration warehouse authenticates the application run by the programmable logic controller (PLC), thereby ensuring that the application running on the programmable logic controller (PLC) is legal.

2. The control system of claim 1, wherein, The control system further comprises: a development server in communication with the application warehouse and the configuration warehouse, configured to develop or manage the configuration of the application, wherein the development of the application comprises providing the target application and the corresponding target configuration file, and the configuration management comprises assigning a corresponding configuration file to the application.

3. A control method of a PLC, characterized by, The control method comprises: the programmable logic controller (PLC) acquires a target application to be run from the application warehouse when needed, wherein the application warehouse is configured to store applications; the programmable logic controller (PLC) runs the target application; Obtaining a target application to be run from an application warehouse, comprising: sending an authentication request to a configuration warehouse to request the configuration warehouse to authenticate the programmable logic controller (PLC); and obtaining the target application from the application warehouse according to a target configuration file in a case where the programmable logic controller (PLC) is authenticated by the configuration warehouse, wherein the target configuration file stores a correspondence between the programmable logic controller (PLC) and the target application; The sending of the authentication request to the configuration warehouse to request the configuration warehouse to authenticate the programmable logic controller (PLC) comprises: sending, to the configuration warehouse, digest and signature information of a configuration file stored by the programmable logic controller (PLC), wherein the signature information is used for identity verification of the programmable logic controller (PLC) by the configuration warehouse, and the digest of the configuration file stored by the programmable logic controller (PLC) is used for legality verification of the configuration file stored by the programmable logic controller (PLC) by the configuration warehouse, and the authentication comprises the identity verification and the legality verification; The obtaining of the target application from the application warehouse according to the target configuration file comprises: sending a download request to the application warehouse to request downloading of the target application, wherein the application warehouse is configured to authenticate the programmable logic controller (PLC) by using a configuration file of the programmable logic controller (PLC) obtained from the configuration warehouse; and in a case where the programmable logic controller (PLC) is authenticated by the application warehouse, downloading and verifying the target application are completed. After the programmable logic controller (PLC) runs the target application, the method further comprises: sending, to the configuration warehouse, digest information of the target application every interval of time, so as to authenticate, by the configuration warehouse, the application run by the programmable logic controller (PLC), thereby ensuring that the application run on the programmable logic controller (PLC) is legal.

4. A control device of a PLC, characterized by comprising: The control device comprises: an obtaining unit configured to obtain, from an application warehouse, a target application to be run when the programmable logic controller (PLC) needs to run, wherein the application warehouse is configured to store applications; a running unit configured to run the target application on the programmable logic controller (PLC); The obtaining unit is configured to: send an authentication request to a configuration warehouse to request the configuration warehouse to authenticate the programmable logic controller (PLC), comprising: sending, to the configuration warehouse, digest and signature information of a configuration file stored by the programmable logic controller (PLC), wherein the signature information is used for identity verification of the programmable logic controller (PLC) by the configuration warehouse, and the digest of the configuration file stored by the programmable logic controller (PLC) is used for legality verification of the configuration file stored by the programmable logic controller (PLC) by the configuration warehouse, and the authentication comprises the identity verification and the legality verification; In the case that the programmable logic controller PLC is authenticated by the configuration warehouse, the target application is acquired from the application warehouse according to a target configuration file, including: sending a download request to the application warehouse to request downloading the target application, wherein the application warehouse is configured to authenticate the programmable logic controller PLC by using the configuration file of the programmable logic controller PLC acquired from the configuration warehouse; in the case that the programmable logic controller PLC is authenticated by the application warehouse, downloading and verifying the target application are completed; wherein the target configuration file stores a corresponding relationship between the programmable logic controller PLC and the target application; The running unit is further configured to: after the programmable logic controller PLC runs the target application, send summary information of the target application to the configuration warehouse at intervals, so that the configuration warehouse authenticates the application running on the programmable logic controller PLC, thereby ensuring that the application running on the programmable logic controller PLC is legal.

5. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the method of claim 3.

6. An electronic device, comprising: Comprising: One or more processors; A storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, so that the one or more processors implement the method of claim 3.

Citation Information

Patent Citations

  • A backup and recovery method for PLC / HMI device files

    CN105373445A

  • Safe starting method and device and terminal

    CN108229132A