Control system, designing device and designing program
By introducing design equipment and authentication equipment into the control system, generating and managing identity identification information and authentication information, the problem that some PLC programs cannot be flexibly controlled is solved, and the effect of on-demand execution and cost reduction is achieved.
Patent Information
- Application Number
- JP2023123796
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-02-07
AI Technical Summary
The prior art cannot implement the execution restrictions on some programs of PLC, resulting in some functions that can be executed but the remaining functions cannot be executed, and the flexible control of some programs cannot be realized.
By introducing design equipment, execution units, authentication equipment and storage units into the control system, identity identification information and authentication information are generated and managed, ensuring that only some programs are executed when predetermined conditions are met.
It realizes flexible control of some PLC programs, avoids unnecessary equipment downtime, supports purchasing on-demand functional licenses, and reduces costs.
Smart Images

Figure 2025019905000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a control system. [Background technology]
[0002] Conventionally, FA (Factory Automation) systems use PLCs (Programmable Logic Controllers) as control devices. PLCs control target devices based on user programs created by design devices such as personal computers. Detection devices such as sensors or switches of the target devices are connected to the input terminals of the PLC, and the output terminals of the PLC are connected to actuators of the target devices. The PLC controls the target devices by outputting output signals from its output terminals according to input signals to its input terminals based on the user programs created by the design devices.
[0003] In Patent Document 1, a user program is executed on a PLC to create a device information file, which is then converted into an authentication file by the device in the outline, and the PLC reads the authentication file, allowing the user program within the PLC to be executed.
[0004] In Patent Document 2, when executing a user program, a system function block converts the input security code and verifies that the converted code is correct, thereby enabling the user program in the PLC to be executed.
[0005] In Patent Document 3, a ladder program is encrypted with a public key and decrypted with a private key, so that the ladder program can be executed only by a specific PLC.
[0006] In Patent Document 4, a device number unique to a control device is used to make it possible for a ladder program to be executed only by a specific PLC.
[0007] In Patent Document 5, a server issues an execution key that enables an encrypted program to be executed and an editing key that enables the encrypted program to be edited, and uses these to control the execution and editing of the program. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] Patent No. 6766917 [Patent Document 2] JP 2013-171346 A [Patent Document 3] International Publication No. 2018 / 235268 [Patent Document 4] Patent No. 404463 [Patent Document 5] Special table 2014 / 097444 publication Summary of the Invention [Problem to be solved by the invention]
[0009] However, the above-mentioned conventional technology is a technology that judges whether or not execution is possible for each PLC, that is, for the entire user program of the PLC. Therefore, there is a problem that partial activation is not possible, such as allowing some functions to be executed while not allowing the remaining functions to be executed. In other words, it is not possible to restrict the execution of each partial program, which is a part of a program included in a user program.
[0010] An object of one aspect of the present invention is to determine whether or not an operation process in a partial program can be executed. [Means for solving the problem]
[0011] In order to solve the above problems, a control system according to one embodiment of the present invention is a control system comprising a control device for controlling industrial equipment, a design device for creating a partial program that is a part of a program included in a user program that runs on the control device, and an authentication device for creating authentication information for permitting the operation of an operation processing in the partial program, wherein the control device comprises an execution unit for generating identification information by executing the partial program, the design device comprises a design unit for creating the partial program including the operation processing, the authentication device comprises an authentication information creation unit for creating the authentication information based on the identification information, and the execution unit checks the authentication information and executes the operation processing if the authentication information satisfies predetermined conditions.
[0012] According to the above configuration, the operation process of the partial program can be executed when the identification information and the authentication information satisfy predetermined conditions. Therefore, in a control device that does not permit the operation process, it is possible to prevent the partial program from being executed even if it is downloaded.
[0013] The design device may also include a monitor unit that transfers the identification information generated by the execution unit of the control device to the authentication device and transmits the authentication information generated by the authentication device to the control device.
[0014] According to the above configuration, since the identification information and the authentication information can be managed in the memory, it is possible to change whether or not the operation process can be executed while the control device is in operation. Therefore, there is no need to stop the control device unnecessarily.
[0015] The control device may further include a memory, wherein the execution unit writes the identification information to a first address of the memory, the monitor unit reads the identification information from the first address and writes the generated authentication information to a second address of the memory, and the execution unit reads the authentication information from the second address.
[0016] According to the above configuration, since the identification information and the authentication information can be managed in the memory, it is possible to change whether or not the operation process can be executed while the control device is in operation. Therefore, there is no need to stop the control device unnecessarily.
[0017] The memory may store the identification information or information included in the identification information in a non-volatile manner.
[0018] According to the above configuration, by setting the identification information and authentication information once, even if the control device is restarted, the set identification information and authentication information remain valid, and therefore there is no need to reset the information.
[0019] The partial program may generate the identification information based on a plurality of types of information.
[0020] According to the above configuration, the identification information can include not only a single piece of information but multiple types of information, so that it is possible to comprehensively determine whether or not the operation process can be executed based on the multiple types of information.
[0021] The identification information may include first unique information that identifies the control device, the authentication information may include second unique information that identifies the control device, and the specified condition may be that the first unique information and the second unique information match.
[0022] According to the above configuration, by checking whether the first unique information and the second unique information match, it is possible to make it impossible for the partial program to be executed in a different control device.
[0023] The identification information may include third unique information that identifies the partial program, the authentication information may include fourth unique information that identifies the partial program, and the specified condition may be that the third unique information and the fourth unique information match.
[0024] According to the above configuration, by checking whether the third unique information and the fourth unique information match, it is possible to permit execution of only some of the partial programs among a plurality of partial programs, which allows for a high degree of freedom in license settings.
[0025] The identification information may include a current date and time, the authentication information may include a period during which execution of the driving process is permitted, and the specified condition may be that the date and time is within the period.
[0026] According to the above configuration, since the period during which the execution of the operation process is permitted can be limited, for example, it is possible to enable all functions for a certain period immediately after the control device starts operating, and then limit the functions later. Therefore, the user only needs to purchase licenses for the functions he or she needs, which is expected to have the effect of reducing costs. In addition, by enabling all functions for a certain period, the user may purchase licenses for functions that he or she did not intend to use at the time, as he or she considers them to be useful.
[0027] The identification information may include the number of times the current driving process has been executed, the authentication information may include the number of times permission is given to execute the driving process, and the specified condition may be that the number of times the process has been executed is less than the number of times permission is given.
[0028] According to the above configuration, since the number of times that the operation process is permitted to be executed can be limited, for example, it is possible to operate the control device such that all functions are enabled for a certain number of times immediately after the control device is started, and then the functions are limited later. Therefore, the user only needs to purchase licenses for the functions that he or she needs, which is expected to have the effect of reducing costs. In addition, by enabling all functions for a certain period of time, the user may purchase licenses for functions that he or she did not intend to use at the time because he or she thinks they are useful.
[0029] The partial program may be a POU (Program Organization Unit).
[0030] According to the above configuration, the partial programs can be each in the form of a function block.
[0031] In order to solve the above problem, a design device according to one aspect of the present invention is a design device provided in the above control system.
[0032] The design device according to each aspect of the present invention may be realized by a computer. In this case, the design program for the design device that realizes the design device on a computer by causing the computer to operate as each part (software element) of the design device, and the computer-readable recording medium on which it is recorded, also fall within the scope of the present invention. Effect of the Invention
[0033] According to one aspect of the present invention, it is possible to determine whether or not the operation process of the partial program can be executed. [Brief description of the drawings]
[0034] [Figure 1] 1 is a block diagram showing a configuration of a main part of a control system according to a first embodiment. [Diagram 2] 4 is a flowchart showing the flow of operations of the control system according to the first embodiment. [Diagram 3] FIG. 4 is a diagram showing details of a partial program according to the first embodiment. [Figure 4] FIG. 11 is a schematic diagram showing a structure of a user program according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] [Embodiment 1] Hereinafter, an embodiment according to one aspect of the present invention (hereinafter, also referred to as "the present embodiment") will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference characters and their description will not be repeated.
[0036] §1 Examples of application 1 is a block diagram showing a configuration of a main part of a control system 1 according to embodiment 1. The control system 1 includes a control device 10, a design device 20, an authentication device 30, and a target device 40.
[0037] A user operates the design device 20 to create a user program 22a. The user program 22a includes a partial program 22b. At this time, the partial program 22b to be created includes an operation process 22d for actually operating the target device, and an authentication process 22c for determining whether or not the operation process can be executed. The user program 22a created by the design device 20 is compiled and transferred to the control device 10 as the user program 12a.
[0038] When the control device 10 executes the transferred user program 12a, an authentication process 12c included in the partial program 12b is executed as a startup task. The authentication process 12c collects various information from the control device 10 and creates license identification information (identification information).
[0039] The user creates license authentication information (authentication information) by having the authentication device 30 read the license identification information. After that, the license authentication information is registered in the control device 10, the license authentication information is decoded, and a decision is made as to whether or not the operation process 12d included in the partial program 12b may be executed, taking into consideration various conditions included therein. The various conditions include information on whether the program is permitted to be executed, until when execution is permitted, and so on.
[0040] Therefore, the authentication process 12c can restrict unauthorized use of the driving process 12d.
[0041] §2 Configuration Example (Design device 20) The design device 20 includes a design unit 21, a storage unit 22, a transfer unit 23, and a monitor unit 24. The design device 20 is a so-called personal computer, particularly a notebook computer. The design device 20 may also be an IDE (Integrated Development Environment) that runs on a personal computer. The storage unit 22 stores a user program 22a. The user program 22a includes a partial program 22b. The partial program 22b includes at least an authentication process 22c and an operation process 22d.
[0042] The design unit 21 is a functional block where a user operates the design device 20 to design a user program 22a. The user program 22a designed by the design unit 21 is, for example, a ladder language, but is not limited thereto and may be a ST language or the like conforming to IEC61131-3. That is, the design device 20 creates the user program 22a including a partial program 22b that describes how the control device 10 operates by the design unit 21. That is, the design unit 21 creates the partial program 22b including an operation process 22d. The partial program 22b is a part of the program included in the user program 22a.
[0043] The user program 22a includes a partial program 22b, which is a function block.
[0044] The authentication process 22c is a process for determining whether or not the operation process 22d can be executed. The authentication process 22c is written in, for example, a ladder language and stored as a part of the partial program 22b. In other words, the authentication process 22c is not a program or function specific to the PLC system, but is a part of the user program 22a.
[0045] The operation process 22d is a process for the control device 10 to actually control the target device 40.
[0046] The transfer unit 23 is a functional block that compiles the user program 22a, which is highly readable by the user and stored in the memory unit 22, translates it into a less readable machine language, and transfers it to the memory unit 12 of the control device 10 as the user program 12a.
[0047] The monitor unit 24 is a functional block that reads and writes data from and to the memory 13 of the control device 10 when the control device 10 is connected (online) to the design device 20. As will be described in detail later, the monitor unit 24 transfers license identification information generated by the execution unit 11 of the control device 10 to the authentication device 30, and transmits license authentication information generated by the authentication device 30 to the control device 10. The addresses accessed by the monitor unit 24 can be individually specified.
[0048] (Control device 10) The control device 10 includes an execution unit 11, a storage unit 12, a memory 13, an input / output unit 14, and a system area 15. The control device 10 is a device that controls industrial equipment, a so-called PLC. The control device 10 may also be a robot controller or an FAPC.
[0049] A user program 12a is stored in the storage unit 12. The user program 12a includes a partial program 12b. The partial program 12b includes at least an authentication process 12c and a driving process 12d.
[0050] The execution unit 11 is a functional block that executes a user program 12a in machine language. The execution unit 11 executes a startup task that is executed only at startup, and then executes a sequence task that is executed sequentially. The execution unit 11 may also execute a fixed-period task that is executed at a fixed period.
[0051] The partial program 12b, the authentication process 12c, and the operation process 12d are each written in machine language, and may each include a startup task, a sequence task, and a fixed-period task.
[0052] The user program 22a is compiled by the transfer unit 23 and written as the user program 12a in the storage unit 12. The partial program 22b is compiled and written as the partial program 12b in the storage unit 12. The authentication process 22c is compiled and written as the authentication process 12c in the storage unit 12. The driving process 22d is compiled and written as the driving process 12d in the storage unit 12.
[0053] The authentication process 12c is at least a startup task or a fixed-period task, and the operation process 12d is at least a sequence task or a fixed-period task.
[0054] The memory 13 includes a volatile memory and a non-volatile memory. The memory 13 has at least a first address 13a and a second address 13b, which are non-volatile memories. The first address 13a and the second address 13b are each assigned to an authentication process 12c. The memory 13 may also be assigned a third address 13c, which is also assigned to an authentication process 12c.
[0055] The input / output unit 14 is a functional block that actually controls the target device 40. In other words, the input / output unit 14 receives input from a sensor switch of the target device 40, and outputs an operation to an actuator of the target device 40 after a judgment is made by the execution unit 11.
[0056] The system area 15 manages information specific to the control device 10 itself, the date and time, etc., and outputs this information to the authentication process 12c.
[0057] (Authentication device 30) The authentication device 30 includes an authentication information creation unit 31. The authentication device 30 may be a personal computer or a server. The authentication information creation unit 31 will be described in detail later, but the authentication information creation unit 31 performs a process of creating license authentication information for permitting the operation of the driving process in the partial program 12b based on the license identification information.
[0058] (Function Block) In the first embodiment, the partial programs 12b are function blocks. A function block is a part of a set of instantiated partial programs 12b and memory 13 based on a function block definition, and executes a specific process.
[0059] For each instance, a partial program 12b is generated separately, and the memory 13 is also assigned separately. Therefore, the state can be maintained by using function blocks. For the memory 13, how to use the non-volatile memory area and the volatile memory area is defined by the function block definition.
[0060] §3 Example of operation (Basic operation of control system 1) Fig. 2 is a flowchart showing the flow of operations of the control system 1 according to embodiment 1. Fig. 3 is a diagram showing details of a partial program 12b according to embodiment 1.
[0061] The design device 20 creates a user program 22a, compiles the user program 22a, and downloads it to the control device 10 as a user program 12a (S11). The control device 10 executes the user program 12a (S12).
[0062] The execution unit 11 executes the user program 12a, and first, all startup tasks are started once (S13). At this time, after the startup task of the authentication process 12c in the partial program 12b is executed, the startup task of the driving process 12d is executed. This is to enable the driving process 12d to be executed.
[0063] The authentication process 12c checks whether the first address 13a is an initial value (S14). This determines whether the authentication process 12c is running for the first time. If the first address 13a is not the initial value, the process proceeds to S20. This process determines whether license identification information, which will be described later, is stored.
[0064] When the first address 13a is an initial value, the authentication process 22c acquires various information from each part of the control device 10 (S15). As information, the unique information of the control device 10 and the date and time are acquired from the system area 15, and unique information for identifying the partial program 12b is acquired from the partial program 12b. The acquired information may be stored in the third address 13c, which is a non-volatile memory. Since the authentication process 12c cannot check the internal implementation, the user cannot check these values on the monitor unit 24.
[0065] The authentication process 12c generates license identification information based on the acquired information and writes it to the first address 13a of the memory 13 (S16). The license identification information can take any form, such as binary data, a numerical value, or a character string. That is, the execution unit 11 generates license identification information based on various information by executing the partial program 12b. Note that the execution unit 11 writes the generated license identification information to the first address 13a of the memory 13 according to an instruction from the authentication process 12c, so that the user can confirm the license identification information. Note that multiple types of information may be used to generate the license identification information, and the authentication process 12c may generate the license identification information based on multiple types of information. Here, the authentication process 12c may use a hash function or the like when generating the license identification information.
[0066] The license identification information is stored in the first address 13a of the memory 13. Therefore, the user can check the license identification information stored in the first address 13a by using the monitor unit 24 (S17).
[0067] The user creates license authentication information using the authentication information creation unit 31 based on the license identification information (S18). The license authentication information is created corresponding to the license identification information, and determines the operation of the authentication process 22c. The user writes the license authentication information to the second address 13b of the memory 13 using the monitor unit 24 (S19). The design device 20 may automatically perform the processes from S17 to S19 by inquiring of the authentication device 30.
[0068] The authentication process 12c decodes the license authentication information (S20). Here, decoding refers to a process of decrypting the license authentication information and classifying and converting at least one piece of information contained therein into a readable format. The decoded license authentication information is expanded in a volatile memory, and the authentication process 12c cannot check the internal implementation, so the user cannot check these. In other words, the execution unit 11 reads the license authentication information from the second address 13b of the memory 13 in accordance with an instruction from the authentication process 12c, and decodes the information contained therein so that it can be used.
[0069] The authentication process 12c judges whether or not the driving process 12d can be executed based on the decoded information (S21). The judgment of whether or not the driving process 12d can be executed is, for example, whether or not the unique information of the control device 10 included in the decoded information matches the unique information of the control device 10 acquired from the system area 15. That is, if the unique information of the control device 10 (first unique information) stored in the third address 13c matches the unique information of the control device 10 (second unique information) included in the decoded information, the driving process 12d is permitted to be executed. If the unique information of the control device 10 stored in the third address 13c does not match the unique information of the control device 10 included in the decoded information, the driving process 12d is not permitted to be executed.
[0070] Furthermore, the determination of whether or not the authentication process 12c is executable may be based on, for example, whether the unique information of the partial program 12b included in the decoded information matches the unique information of the partial program 12b stored in the storage unit 12. That is, if the unique information (third unique information) identifying the partial program 12b stored in the third address 13c matches the unique information (fourth unique information) identifying the partial program 12b included in the decoded information, the execution of the operation process 12d is permitted. If the unique information of the control device 10 stored in the third address 13c does not match the unique information of the control device 10 included in the decoded information, the execution of the operation process 12d is not permitted.
[0071] Furthermore, even if execution is permitted based on the inherent information of the control device 10, it is not necessary to determine whether execution is permitted based on other information. In other words, if a period during which execution is permitted is specified in the decoded information, the date and time obtained from the system area 15 is compared with the period, and execution of the operation process 12d is permitted if the date and time are within the period. If the number of times execution is permitted (permitted number of times) is specified in the decoded information, the number of times execution of the operation process 12d stored in the third address 13c is confirmed, and execution of the operation process 12d is permitted if the number of times execution is less than the permitted number of times.
[0072] Using these various pieces of information, it is possible to specify the period and number of times the operation process 12d can be permitted to be executed. Therefore, it is possible to allow the user to try out the functions immediately after purchasing the product, and if the user wishes to use it permanently, the user must purchase an additional license. Therefore, equipment manufacturers can manufacture and sell software for the control device 10 that includes all functions, and manage and sell licenses for each function using the license authentication information.
[0073] Only when the execution of the driving process 12d is permitted by the authentication process 12c, the driving process 12d is executed by the execution unit 11 (S22). In other words, the authentication process 12c operated by the execution unit 11 checks the license authentication information, and when the license authentication information satisfies a predetermined condition, the execution unit 11 executes the driving process 12d.
[0074] (Timing of execution of authentication process 12c) The authentication process 12c is not limited to being executed only by the startup task, and may be executed by a sequence task or a periodic task. This is because, when the startup task is executed only, the operation process 12d can be executed without rebooting even if the license authentication information is written to the second address 13b after the startup task is executed.
[0075] In addition, if the device is expected to be operated in such a manner that the power supply to the device is not turned off, it is preferable to perform the authentication process 12c not only as a startup task but also as a periodic task, in order to prevent a problem in which the operation process 12d can be operated even if the period permitted by the license authentication information has expired.
[0076] §4 Action and effect The partial program 12b included in the user program 12a has an internal authentication process 12c, and therefore can restrict the operation of the driving process 12d. Various predetermined conditions can be set for this restriction.
[0077] The predetermined conditions include restrictions based on conditions such as unique information of the control device 10, unique information of the partial program 12b, date and time, and the number of executions. The restriction on whether or not the operation process 12d can be executed by the authentication process 12c may be one of these restrictions, or a combination of these restrictions may be used.
[0078] Furthermore, the determination as to whether the driving process 12d can be executed in the authentication process 12c is not limited to when the control device 10 is started. Since the monitor unit 24 can read and write the license identification information and the license authentication information, it is possible for the authentication process 12c to permit the execution of the driving process 12d at any timing. This has the advantage that the control device 10 does not need to be stopped unnecessarily.
[0079] The license identification information is stored at a first address in the nonvolatile memory, and the license authentication information is stored at a second address in the nonvolatile memory, so that once set, these values are retained even after restarting the control device 10. Therefore, the license identification information and license authentication information once set are valid even after restarting, and do not need to be reset.
[0080] [Embodiment 2] Other embodiments of the present invention will be described below. For ease of explanation, the same reference numerals are given to members having the same functions as those described in the above embodiment, and the description thereof will not be repeated.
[0081] Fig. 4 is a schematic diagram showing the structure of a user program 12a' according to embodiment 2. As shown in Fig. 4, the user program 12a' includes a partial program 1FB1 (12b) and a partial program 2FB2 (12b). The partial program 1FB1 includes an authentication process 1LC1 and a driving process 1DO1. The partial program 2FB2 includes an authentication process 2LC2 and a driving process 2DO2.
[0082] The partial program 1FB1 and the partial program 2FB2 are different function blocks. The user program 12a' includes the partial program 1FB1 and the partial program 2FB2, which are function blocks, and can therefore include a plurality of function blocks.
[0083] The partial program 1FB1 includes therein an authentication process 1LC1 and an operation process 1DO1. The partial program 2FB2 includes therein a function block in which an authentication process 2LC2 is implemented, and a function block in which an operation process 2DO2 is implemented.
[0084] (Multiple Function Blocks) By providing multiple function blocks, it is possible to create a user program 12a' in which a certain function is executed by the partial program 1FB1 and another function is executed by the partial program 2FB2. This allows the user to use the program in a way that allows the execution of the partial program 1FB1 but not the execution of the partial program 2FB2, depending on the license authentication information purchased by the user.
[0085] This allows licenses to be validated for each function, making it possible to create software with all functions pre-installed and sell only the licenses. Equipment manufacturers do not need to replace the software every time a license is purchased, and users only need to validate the license (send license authentication information). This makes maintenance easier.
[0086] (Nesting function blocks) Furthermore, by nesting function blocks within function blocks, the development, maintenance, and management of the operation process 12d (DO2) becomes easier. The equipment manufacturer only develops the operation process 12d, and its license management is guaranteed by the authentication process 12c (LC2). Since the reliability of the authentication process 12c is guaranteed separately, the equipment manufacturer does not need to incur development costs for license management.
[0087] When nesting function blocks, for example, all inputs of the authentication process LC2 and all inputs of the operation process 2DO2 except for the signal indicating whether operation is possible or not may be set as inputs to the function block 2FB2. All outputs of the authentication process 2LC2 except for the signal indicating whether execution of the operation process 2DO2 is possible and all outputs of the operation process 2DO2 may be set as outputs of the function block 2FB2.
[0088] In the above embodiment, the partial program 12b is assumed to be a function block, but is not limited to this. The partial program 12b may be a POU including a program, a function, and a function block. The authentication process 12c and the operation process 12d may also be a POU including a program, a function, and a function block, or may be a part of a POU.
[0089] In other words, if a POU contains at least one function block and / or function, by programming the authentication process 12c for the POU, it is possible to limit the execution of the operation process 12d for the entire POU, i.e., at least one function block and / or function.
[0090] In addition, suppose that at least one function block is included in another POU. If the authentication process 12c is not programmed for that POU but is programmed for some of the function blocks, the execution of the operation process 12d for the function block in which the authentication process 12c is programmed can be restricted. For the other function blocks, the authentication process 12c is not programmed, so the execution is not restricted.
[0091] Assume that at least one or more functions are included in another POU. If the authentication process 12c is not programmed for that POU and is programmed for some of the functions, the execution of the operation process 12d for the function programmed with the authentication process 12c can be restricted. For the other functions, the authentication process 12c is not programmed, so the execution is not restricted.
[0092] [Modifications] Variations of the present invention are described below.
[0093] (location information) In the first embodiment, the unique information of the operation process 12d and the date and time are used as information other than the unique information of the control device 10, but the information is not limited to these. For example, location information and the like may be included.
[0094] The location information may be a Global Positioning System (GPS). Alternatively, the location information may be determined by determining whether or not a device with a designated MAC address exists in the network to which the control device 10 is connected.
[0095] By including location information as various information, it is possible to detect the movement of the device and not permit execution. Therefore, even if only the control device 10 is stolen, the location information will change, so that the authentication process 12c can prohibit the execution of the driving process 12d.
[0096] (License Server) Moreover, as the various information, it may be determined whether or not a specific license server can be connected.
[0097] This makes it possible to restrict the execution of the driving process 12d in a moving body (for example, heavy machinery, etc.). Note that, for authentication to the license server, an input device such as a touch panel connected to the control device 10 may be used, and the specification may require the user to periodically log in.
[0098] (Functional restrictions by operators) Also, a card reader or the like may be provided for outputting unique information of the worker to the control device 10. In this case, the various information may include unique information of the worker.
[0099] This makes it possible to restrict whether the operation process 12d can be executed or not, depending on the unique information of the worker. For example, the initialization and calibration processes of process equipment and measuring equipment can be set as the authority that can only be executed by specific workers, and general workers can only execute production. This makes it possible to prevent unnecessary trouble.
[0100] (Individual activation with common license information) The authentication process 12c may use license identification information common to the multiple partial programs 12b. In this case, in order to enable the operation process 12d for each partial program 12b, a number or the like that identifies the partial program 12b may be input into the authentication process 12c.
[0101] The license authentication information may be common to the multiple partial programs 12b. In this case, it may be considered which information among the information obtained by decoding the license authentication information is referred to in determining whether the operation process 12d is valid or invalid. For example, a number or the like that identifies the partial program 12b may be used for this purpose.
[0102] As a result, a common user program 12a may be downloaded to the target devices 40, and license authentication information may be issued to collectively activate the functions permitted for the target devices 40. In this case, license authentication information for collectively activating a plurality of driving processes 12d can be registered, improving user convenience.
[0103] 〔summary〕 A control system according to a first aspect of the present invention is a control system comprising a control device for controlling industrial equipment, a design device for creating a partial program that is a part of a program included in a user program that runs on the control device, and an authentication device for creating authentication information for permitting the operation of an operation processing in the partial program, wherein the control device comprises an execution unit for generating identification information by executing the partial program, the design device comprises a design unit for creating the partial program including the operation processing, the authentication device comprises an authentication information creation unit for creating the authentication information based on the identification information, and the execution unit checks the authentication information and executes the operation processing if the authentication information satisfies predetermined conditions.
[0104] A control system according to aspect 2 of the present invention may be configured in the above aspect 1 such that the design device includes a monitor unit that transfers the identification information generated by the execution unit of the control device to the authentication device and transmits the authentication information generated by the authentication device to the control device.
[0105] A control system according to aspect 3 of the present invention may be configured in such a way that, in aspect 2 above, the control device further includes a memory, the execution unit writes the identification information to a first address of the memory, the monitor unit reads the identification information from the first address and writes the generated authentication information to a second address of the memory, and the execution unit reads the authentication information from the second address.
[0106] A control system according to a fourth aspect of the present invention may be configured in the second or third aspect above, such that the memory stores the identification information or information included in the identification information in a non-volatile manner.
[0107] A control system according to a fifth aspect of the present invention, in any one of the first to fourth aspects, may be configured such that the partial program generates the identification information based on a plurality of types of information.
[0108] A control system according to aspect 6 of the present invention may be configured in any one of aspects 1 to 5 above, such that the identification information includes first unique information that identifies the control device, the authentication information includes second unique information that identifies the control device, and the specified condition is that the first unique information and the second unique information match.
[0109] A control system according to aspect 7 of the present invention may be configured in any of aspects 1 to 6 above, such that the identification information includes third unique information that identifies the partial program, the authentication information includes fourth unique information that identifies the partial program, and the specified condition is that the third unique information and the fourth unique information match.
[0110] A control system according to aspect 8 of the present invention may be configured in any one of aspects 1 to 7 above, wherein the identification information includes a current date and time, the authentication information includes a period during which execution of the operation process is permitted, and the specified condition is that the date and time is within the period.
[0111] A control system according to a ninth aspect of the present invention may be configured in any one of the first to eighth aspects above, wherein the identification information includes the number of times the current operation process has been executed, the authentication information includes the number of times permission is given for execution of the operation process, and the specified condition is that the number of times the operation process is executed is less than the number of times permission is given.
[0112] A control system according to a tenth aspect of the present invention may be configured in any one of the first to ninth aspects, wherein the partial program is a POU.
[0113] A design device according to an eleventh aspect of the present invention may be configured as a design device provided in the control system according to any one of the first to tenth aspects above.
[0114] A design program according to a twelfth aspect of the present invention is a design program for causing a computer to function as the design device according to the eleventh aspect above, and may be configured to cause a computer to function as the design unit.
[0115] [Additional Notes] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. [Explanation of symbols]
[0116] 1. Control System 10 Control device 11 Executive Department 12, 22 Storage section 12a, 12a', 22a User Program 12b, 22b, FB1, FB2 partial programs 12c, 22c, LC1, LC2 Certification Process 12d, 22d, DO1, DO2 Operational Processing 13. Memory 13a First Address 13b Second Address 13c 3rd Address 14 Input / output section 15 System Area 20 Design equipment 21 Design Department 23 Transfer Section 24 Monitor section 30 Authentication Device 31 Authentication Information Creation Department 40 Target Device
Claims
1. A control system including a control device for controlling industrial equipment, a design device for creating a partial program that is a part of a program included in a user program that runs on the control device, and an authentication device for creating authentication information for permitting the execution of an operation process in the partial program, The control device includes an execution unit that generates identification information by executing the partial program, the design device includes a design unit that creates the partial program, the authentication device includes an authentication information generation unit that generates the authentication information based on the identification information, The execution unit executes the operation process when the authentication information satisfies a predetermined condition.
2. The control system of claim 1 , wherein the design device is provided with a monitor unit that transfers the identification information generated by the execution unit of the control device to the authentication device and transmits the authentication information generated by the authentication device to the control device.
3. The control device further comprises a memory; The execution unit writes the identification information to a first address of the memory; the monitor unit reads the identification information from the first address and writes the generated authentication information to a second address of the memory; The control system according to claim 2 , wherein the execution unit reads the authentication information from the second address.
4. The control system according to claim 3 , wherein the memory stores the identification information or information included in the identification information in a non-volatile manner.
5. The control system according to claim 1 , wherein the partial program generates the identification information based on a plurality of types of information.
6. The identification information includes first unique information for identifying the control device, The authentication information includes second unique information for identifying the control device, The control system according to claim 1 , wherein the predetermined condition is that the first unique information and the second unique information match.
7. the identification information includes third unique information for identifying the partial program, the authentication information includes fourth unique information that identifies the partial program, The control system according to claim 1 , wherein the predetermined condition is that the third unique information and the fourth unique information match.
8. The identification information includes a current date and time, The authentication information includes a period during which execution of the operation process is permitted, The control system according to claim 1 , wherein the predetermined condition is that the date and time are within the period.
9. The identification information includes the number of times the current operation process has been executed, The authentication information includes an authorization number for authorizing execution of the operation process, The control system according to claim 1 , wherein the predetermined condition is that the number of executions is less than the permitted number of times.
10. The control system according to claim 1 , wherein the partial program is a POU (Program Organization Unit).
11. A design device comprising the control system according to any one of claims 1 to 10.
12. A design program for causing a computer to function as the design apparatus according to claim 11, the design program causing a computer to function as the design unit.
Citation Information
Patent Citations
Control system, control device, and program execution control method
JP2013171346A
Freshwater production apparatus and method for operating the same
JP2014097444A
JP404463B
Control system and control method
JP6766917B1
Illegal use prevention system of ladder program, unauthorized use prevention method of ladder program, engineering tool, license distribution server and programmable controller
WO2018235268A1