VERIFICATION PROGRAM, VERIFICATION APPARATUS, VERIFICATION SYSTEM, AND VERIFICATION METHOD
Patent Information
- Application Number
- JP2023560969
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-13
- Publication Date
- 2025-02-19
- Estimated Expiration
- 2043-03-13
AI Technical Summary
Existing verification devices for programmable logic controllers (PLCs) do not provide a suitable environment for users to define new verification processes, requiring significant effort when custom processes are needed.
A verification program and device that offer a verification process definition environment, allowing users to select and combine unit processing objects to define verification processes, including execution conditions and editing processes, and execute the sequence program to verify its validity.
Enables users to easily define and execute verification processes, including editing, reducing the effort required for custom processes and improving the efficiency of verifying sequence programs.
Smart Images

Figure 00000018_0000 
Figure 00000018_0001 
Figure 00000019_0000
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a verification program, a verification device, a verification system, and a verification method. [Background technology]
[0002] Programmable logic controllers are known as devices that control equipment in charge of manufacturing on a production line. Programmable logic controllers (hereinafter referred to as PLCs) realize the control of equipment by executing sequence programs.
[0003] As disclosed in Patent Document 1, when a sequence program is created or its contents are modified, a verification device is used to verify the validity of the sequence program. The verification device according to Patent Document 1 has a function of presenting a plurality of predetermined verification contents to a user as options. For each verification content, a verification process is defined in advance, which indicates the procedure for executing the verification content.
[0004] The user selects a desired verification content from among multiple verification contents presented by the verification device. The verification device then executes a verification process corresponding to the selected verification content. In this manner, the verification of the content desired by the user is accomplished.
[0005] If the verification result confirms the validity of the sequence program, it can be said that the PLC that executes the sequence program will also operate normally. Therefore, the sequence program is officially installed in the PLC. On the other hand, if the validity of the sequence program is denied, debugging is performed to correct the program code that caused the denial. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2002-297205 A Summary of the Invention [Problem to be solved by the invention]
[0007] The verification device disclosed in Patent Document 1 has a function of presenting a plurality of predetermined verification processes to the user, but does not provide the user with an environment suitable for defining the verification process itself. If the user tries to define a new verification process that is not included in the presented options, it requires a considerable amount of work.
[0008] An object of the present disclosure is to provide a verification program, a verification device, a verification system, and a verification method that can easily define a verification process that represents a procedure for verifying a sequence program. [Means for solving the problem]
[0009] A verification program according to the present disclosure causes a computer that verifies the validity of the contents of a sequence program installed in a programmable logic controller to function as a verification process definition support unit that provides a user with a verification process definition environment that defines a verification process that realizes the verification of the validity, the verification process including an execution condition assignment process for assigning an execution condition for verification to an execution device that executes the sequence program, and a verification process execution unit that executes the verification process defined using the verification process definition environment, (I) causes the execution device to execute the sequence program in a manner that reflects the execution condition, and (II) acquires an execution result of the sequence program from the execution device and performs verification using the acquired execution result. The verification process definition support unit has a unit process object group presentation unit that presents a unit process object group that is composed of a plurality of unit process objects that each represent a predefined unit process to be executed by the verification process execution unit, and includes a unit process object that represents an execution condition assignment process as a unit process, and a verification process definition environment provision unit that provides a user with a verification process definition environment that defines a verification process by a combination of unit processes represented by each of the selected unit process objects when the user selects a plurality of unit process objects from the presented unit process object group. The unit process object group includes a unit process object that represents an edit process, which is a unit process for editing a sequence program prior to execution of the sequence program by the execution device. Effect of the Invention
[0010] According to the above configuration, a verification process definition environment is provided for the user, so that the user can easily define a verification process that represents the procedure for verifying a sequence program. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a conceptual diagram showing a configuration of a verification system according to an embodiment. [Diagram 2] FIG. 1 is a conceptual diagram showing a configuration of a verification device according to an embodiment. [Diagram 3] FIG. 1 is a conceptual diagram showing functions of a verification device according to an embodiment; [Figure 4]FIG. 1 is a conceptual diagram illustrating one aspect of a basic screen according to an embodiment; [Diagram 5] FIG. 1 is a conceptual diagram illustrating one aspect of a verification process definition screen according to an embodiment; [Figure 6] FIG. 13 is a conceptual diagram illustrating another aspect of the basic screen according to the embodiment; [Figure 7] FIG. 13 is a conceptual diagram illustrating still another example of the basic screen according to the embodiment; [Figure 8] FIG. 13 is a conceptual diagram illustrating one aspect of a type selection screen according to an embodiment; [Figure 9] FIG. 1 is a conceptual diagram illustrating an example of an editing position designation screen according to an embodiment; [Figure 10] FIG. 1 is a conceptual diagram illustrating an example of an editing content input screen according to an embodiment; [Figure 11] Flowchart of verification process definition support process according to an embodiment [Figure 12] Flowchart of unit process definition support processing according to an embodiment DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, an embodiment will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.
[0013] As shown in FIG. 1, the verification system 600 according to this embodiment includes a verification device 200 that verifies the validity of the contents of a sequence program installed in a PLC (hereinafter simply referred to as verification), and an execution device 400 that executes the sequence program for verification.
[0014] The execution device 400 can be configured by a PLC, a simulator, or the like. The simulator executes a sequence program to virtually reproduce the control operation defined by the sequence program. When the execution device 400 is a simulator, the verification system 600 can also be configured by one computer. The computer may be an engineering tool that provides a user with an environment for creating a sequence program.
[0015] The configuration of the verification device 200 will be described with reference to Fig. 2. The verification device 200 includes a communication device 200a that is responsible for communicating various data required for verification with the execution device 400 shown in Fig. 1.
[0016] The verification device 200 also includes a display device 200b that displays information related to verification support, such as what kind of verification is to be performed, and an input device 200c for inputting, selecting, specifying, etc., various data required for verification. The input device 200c and the display device 200b may form a touch screen.
[0017] The verification device 200 also includes a storage device 200d that stores a sequence program 200e to be verified. The storage device 200d stores a verification program 200f that provides an environment for supporting the verification of the sequence program 200e.
[0018] The verification device 200 also includes a processor 200i that executes a verification program 200f. Functions that are realized by the processor 200i executing the verification program 200f will be described below with reference to FIG.
[0019] As shown in FIG. 3, the verification device 200 includes a verification process definition support unit 210 that supports the definition of a series of processes (hereinafter referred to as a verification process) for achieving verification, and a verification process execution unit 220 that executes the defined verification process.
[0020] The verification device 200 also holds defined unit processing group data 200g used as a library for defining verification processes. The defined unit processing group data 200g is stored in the storage device 200d shown in FIG.
[0021] The defined unit process group data 200g represents a collection of predefined processes (hereinafter referred to as unit processes) that can be executed by the verification process execution unit 220. Each unit process has versatility that allows it to be used as a component of various verification processes. In other words, each unit process has the significance of being a general-purpose component.
[0022] The verification process definition support unit 210 has a unit process object group presentation unit 211 that uses the defined unit process group data 200g to present a unit process object group made up of a plurality of unit process objects each of which represents a unit process. Here, "presentation" specifically means displaying on the display device 200b shown in FIG. 2.
[0023] The verification process definition support unit 210 also includes a verification process definition environment providing unit 212 that provides the user with a verification process definition environment for defining a verification process.
[0024] In the verification process definition environment, the user can select a desired number of unit process objects, i.e., a number of unit process objects representing a number of unit processes to be used as components of the verification process to be defined, from the group of unit process objects presented by the unit process object group presentation unit 211.
[0025] In addition, in the verification process definition environment, the user can also specify the execution order among a plurality of unit processes represented by a plurality of unit process objects selected from a group of unit process objects.
[0026] The verification process definition environment providing unit 212 defines a verification process by combining unit processes represented by a plurality of unit process objects selected by the user in an execution order designated by the user.
[0027] The verification process includes, as a unit process, an execution condition assignment process that assigns an execution condition for verification to the execution device 400 shown in Fig. 1. That is, the unit process object group presented by the unit process object group presentation unit 211 includes a unit process object that represents an execution condition assignment process as a unit process.
[0028] Moreover, one of the features of this embodiment is that the unit process object group presented by the unit process object group presenting section 211 includes a unit process object that represents an editing process as a unit process.
[0029] The editing process is a unit process for editing the sequence program 200e prior to execution of the sequence program 200e by the execution device 400 shown in Fig. 1. However, the verification process does not necessarily have to include the editing process.
[0030] The verification process execution unit 220 (I) causes the execution unit 400 to execute the sequence program 200e in a manner that reflects the execution conditions, in accordance with the definition of the verification process defined using the verification process definition environment. The verification process execution unit 220 also (II) acquires an execution result of the sequence program 200e from the execution unit 400, and performs verification using the acquired execution result. These operations (1) and (II) are realized by the verification process execution unit 220 executing the verification process.
[0031] Hereinafter, with reference to FIGS. 4 to 7, the operations of the verification process definition support unit 210 and the verification process execution unit 220 will be described using specific examples.
[0032] 4 shows a basic screen 110 that the verification process definition support unit 210 causes to be displayed on the display device 200b. In order to define a verification process, the user first presses a button 111 that instructs the user to start defining the verification process. Here, "pressing a button" specifically means a click operation using a mouse, a touch operation on a touch screen, or the like. When the user presses the button 111, the verification process definition support unit 210 transitions the basic screen 110 to a verification process definition screen 120 shown in FIG.
[0033] 5, a name input field 121 for inputting the name of the verification process to be defined is displayed on the verification process definition screen 120. In Fig. 5, the name "Test 2" is input by the user in the name input field 121. The input device 200c is used for input.
[0034] The verification process definition screen 120 also displays the above-mentioned unit process object group 122. Fig. 5 shows three unit process objects 122a, 122b, and 122c among those constituting the unit process object group 122. The user can also check other unit process objects constituting the unit process object group 122 by using the scroll button 123.
[0035] Furthermore, the verification process definition screen 120 is provided with a button 124 for each unit process object constituting the unit process object group 122. By pressing the button 124 corresponding to a desired unit process object, the user can check the details of the unit process represented by that unit process object.
[0036] The verification process definition screen 120 provides the above-mentioned verification process definition environment. That is, the user can select a desired number of unit process objects from the unit process object group 122. The user can also specify the execution order among a number of unit processes represented by the selected number of unit process objects.
[0037] The verification process is defined by selecting a plurality of unit process objects and specifying the execution order thereof using the input device 200c.
[0038] In Fig. 5, unit process objects 122b and 122c are selected by the user from the unit process object group 122. The input device 200c is used for the selection. Fig. 5 also illustrates a situation in which an execution order is specified in the execution order specification field 128 such that the unit process represented by the unit process object 122c is executed next to the unit process represented by the unit process object 122b. The input device 200c is used for specifying the execution order in the execution order specification field 128.
[0039] In this specific example, the unit process object 122b represents the execution condition adding process as a unit process, which has already been described. The unit process represented by the unit process object 122b also corresponds to the editing process, which has already been described.
[0040] The verification process definition environment providing unit 212 defines the verification process by combining the unit processes represented by the unit process objects 122b and 122c selected by the user in the execution order specified in the execution order specification field 128. When the definition of the verification process is completed in this manner, the user presses button 125. Then, the verification process definition support unit 210 returns the verification process definition screen 120 to the basic screen 110 shown in FIG.
[0041] 6, after the definition of the verification process is completed, a verification process object 114a representing the defined verification process is displayed on the basic screen 110. In this state, when the user presses a button 113 instructing the execution of verification, the verification process execution unit 220 executes the verification process represented by the verification process object 114a.
[0042] Then, the verification process execution unit 220 displays the verification result 115a. Fig. 6 illustrates an example in which the verification result 115a corresponding to the verification process object 114a affirms the validity of the sequence program 200e.
[0043] Although Fig. 6 shows only one verification process object 114a representing one verification process, the user can also define multiple verification processes with different execution conditions for the same sequence program 200e in the manner described with reference to Fig. 5. That is, the sequence program 200e can be verified from multiple different viewpoints.
[0044] 7, when multiple verification processes are defined by the verification process definition support unit 210, verification process objects 114a, 114b, and 114c representing the multiple verification processes are displayed on the basic screen 110. When the user presses the button 113 to instruct execution, the verification process execution unit 220 collectively executes the multiple verification processes represented by the multiple verification process objects 114a, 114b, and 114c.
[0045] Then, the verification process execution unit 220 displays a list of the verification results 115 for each of the multiple verification processes. The verification results 115 are displayed by verification process, that is, by verification process object 114. Fig. 7 illustrates a case where the verification result 115a corresponding to the verification process object 114a and the verification result 115b corresponding to the verification process object 114b affirm the validity of the sequence program 200e, and the verification result 115c corresponding to the verification process object 114c denies the validity of the sequence program 200e.
[0046] The description will be continued by returning to Fig. 3. The verification device 200 also has a unit process definition support section 260 that supports the definition of a new unit process.
[0047] The unit process definition support section 260 provides the user with a unit process definition environment for defining a unit process. When a new unit process is defined using the unit process definition environment, the unit process definition support section 260 adds the unit process to the defined unit process group data 200g, which is a library of materials constituting a verification process. As a result, a unit process object representing the unit process is included in the unit process object group 122 described above.
[0048] The unit process definition support section 260 has a type presentation section 230 that presents multiple types of unit processes that can be defined, and a type selection section 240 that accepts a selection from the user as to which of the multiple types presented by the type presentation section 230 the type of unit process that the user is trying to define corresponds to.
[0049] Furthermore, the unit process definition support section 260 has a necessary item input section 250 that presents input items according to the type selected using the type selection section 240. The necessary item input section 250 accepts input from the user of necessary items required for defining the unit process of the type selected by the user into the presented input items.
[0050] As described above, in this embodiment, the unit process object group 122 includes a unit process object that represents an editing process as a unit process. That is, the user can define an editing process as a unit process. Therefore, the multiple types presented by the type presenting unit 230 include a type (hereinafter referred to as an editing type) of editing the sequence program 200e prior to execution of the sequence program 200e by the execution device 400.
[0051] The required item input unit 250 has an edit type selection unit 251 that accepts, when the type selection unit 240 accepts a selection of an edit type as the type, from the user, a selection of the type of edit to be applied to the sequence program 200e.
[0052] Specifically, the edit type selection unit 251 accepts a selection from the user as to the type of edit: adding program code to the sequence program 200e, deleting program code from the sequence program 200e, or changing part of the content of the sequence program 200e.
[0053] Furthermore, the required item input unit 250 has an edit position designation unit 252 that accepts input of a position in the sequence program 200e where the edit is to be performed (hereinafter, referred to as an edit position) from the user following the selection of the type of edit. The edit position is an example of the required items described above.
[0054] Furthermore, the necessary item input unit 250 has an edited content input unit 253 that accepts input of the edited content (hereinafter, referred to as edited content) from the user following input of the edited position. The edited content is another example of the necessary items described above.
[0055] The operation of the unit process definition support section 260 will be described below with reference to FIGS. 8 to 10, giving a concrete example.
[0056] Fig. 8 shows a type selection screen 130 that the type presenting unit 230 causes the display device 200b to display. Note that this type selection screen 130 is displayed when the button 126 for instructing the start of the definition of the unit process is pressed on the verification process definition screen 120 shown in Fig. 5.
[0057] The type selection screen 130 presents the following types of unit processing that can be defined: (a1) editing the sequence program 200e; (a2) writing the sequence program 200e to the execution unit 400; (a3) changing the current value of a device or label as a variable included in the sequence program 200e; and (a4) checking whether the value of a device or label as a variable included in the sequence program 200e is the expected value.
[0058] The user selects which type of unit process he or she wishes to define from the presented types (a1)-(a4). The input device 200c is used for the selection. FIG. 8 illustrates an example of a situation in which type (a1), i.e., the above-mentioned editing type, is selected. The following describes the operation of the unit process definition support section 260 when type (a1) is selected.
[0059] After selecting the type (a1) which is the editing type, the user presses the button 131 which instructs completion of the selection. When the type selected by the user is the editing type, the necessary item input unit 250 transitions the type selection screen 130 to the editing position designation screen 140 shown in FIG.
[0060] 9, the editing position designation screen 140 is provided with an editing type presentation field 141 in which a plurality of editing types are presented. Specifically, the editing type presentation field 141 presents three types of editing: (b1) adding program code to the sequence program 200e, (b2) deleting program code from the sequence program 200e, and (b3) changing part of the content of the sequence program 200e.
[0061] The user uses the type selection button 142 to select a desired one from among a plurality of types (b1)-(b3) presented in the edit type presentation field 141. Fig. 9 illustrates a situation in which the type (b1) is selected.
[0062] The edit position specification screen 140 also has an edit position input field 145 for inputting an edit position of the sequence program 200e. The user inputs an edit position into the edit position input field 145. The input device 200c is used for input.
[0063] The editing position input field 145 is an example of an input field according to the type selected using the type selection unit 240. The editing position input into the editing position input field 145 is an example of a required item to be input into an input field.
[0064] Specifically, the edit position input item 145 is composed of a row input item 143 for inputting a row in the sequence program 200e, and a column input item 144 for inputting a column. The user inputs the number of the row to be edited in the row input item 143, and inputs the number of the column to be edited in the column input item 144.
[0065] After inputting the type of editing and the editing position, the user presses button 146 to instruct completion of the input. When button 146 is pressed, editing content input unit 253 transitions editing position designation screen 140 to editing content input screen 150 shown in FIG.
[0066] 10, an edited content input screen 150 is provided with an edited content input field 151 for inputting edited content. The user inputs edited content into the edited content input field 151. The input device 200c is used for input.
[0067] Specifically, the user inputs, into the edit content input field 151, the edit content corresponding to the type (b1) that the user selected earlier, that is, the specific program code to be added to the sequence program 200e.
[0068] The editing content input field 151 is an example of an input field according to the type selected using the type selection unit 240 and the type selected using the editing type selection unit 251. The editing content input in the editing content input field 151 is another example of the necessary information to be input in the input field.
[0069] Furthermore, the edit content input screen 150 is provided with a unit process name input field 152 in which the user inputs the name of the unit process defined by the operations up to that point. In Fig. 10, the name "Program Edit 2" has been input by the user into the unit process name input field 152. The input device 200c is used for input.
[0070] When the user defines a desired unit process using the unit process definition environment as described above, he / she presses button 153 indicating completion of the definition. When button 153 is pressed, unit process definition support section 260 returns edit content input screen 150 to verification process definition screen 120 shown in FIG.
[0071] 5, the unit process object group 122 includes a unit process object 122b representing a unit process named “Program Edit 2” previously input by the user. This is because the unit process definition support section 260, upon pressing of the button 153 shown in FIG. 10, added the newly defined unit process to the defined unit process group data 200g as a library.
[0072] Returning to Fig. 8, the explanation will be continued. When the user selects the above-mentioned type (a3), i.e. "change current value of device / label", on the type selection screen 130, the required item input unit 250 accepts the selection of whether the target for which the current value is to be changed is a device or a label, and presents an input item for inputting the name of the target for which the current value is to be changed, and presents an input item for inputting the changed value. Here, the target name and the changed value are each an example of the above-mentioned required items.
[0073] Furthermore, when the user selects the above-mentioned type (a4), i.e., "check device / label," the required item input unit 250 accepts the selection of whether the target for checking the current value is a device or a label, and presents an input item for inputting the name of the target for checking the current value, and presents an input item for inputting the expected value, which is the correct value expected for the current value. Here, the name of the target and the expected value are each an example of the above-mentioned required items.
[0074] When the definition of the above-mentioned type (a4) of unit process is completed and the unit process object representing the unit process is selected by the user as a component of the verification process on the verification process definition screen 120 of FIG. 5, the above-mentioned expected value is used for verification.
[0075] That is, the verification process execution unit 220 determines whether or not the device or label value obtained as the execution result from the execution device 400 that executed the sequence program 200e matches the expected value. If the execution result matches the expected value, the verification process execution unit 220 affirms the validity of the sequence program 200e, and if the execution result does not match the expected value, the verification process execution unit 220 denies the validity of the sequence program 200e.
[0076] The description will be continued by returning to Fig. 3. The verification device 200 also includes a defined unit process editing section 270 for editing the contents of a unit process that has already been defined using the above-mentioned unit process definition environment (hereinafter referred to as a defined unit process).
[0077] The defined unit process editing unit 270 presents a list of previously defined unit processes and accepts from the user a selection of a defined unit process to be used as a template from the presented list of defined unit processes. The defined unit process editing unit 270 then edits the content of the selected defined unit process, thereby providing the user with a defined unit process editing environment in which the content is used as a template to define a unit process different from the previously defined unit process.
[0078] The defined unit process editing unit 270 obtains the contents of the defined unit process to be edited from the defined unit process group data 200g. The defined unit process editing unit 270 also adds the unit process newly defined by editing to the defined unit process group data 200g.
[0079] The predefined unit process editing environment provided by the predefined unit process editing section 270 will be specifically described with reference to FIG.
[0080] As shown in FIG. 5, the verification process definition screen 120 is provided with a button 124 for each unit process object that constitutes the unit process object group 122.
[0081] The user can edit the contents of the defined unit process represented by the unit process object by pressing the button 124 corresponding to the unit process object representing the defined unit process that the user wants to edit. Therefore, the user can easily define a unit process different from the defined unit process by using the contents of the defined unit process as a template.
[0082] A button 127 for instructing copying of a defined unit process is also provided on the verification process definition screen 120. The button 127 is pressed when a desired unit process object is selected from the unit process object group 122.
[0083] This allows the user to edit a copy of the defined unit process represented by the selected unit process object. In other words, it is possible to define a unit process other than the defined unit process while leaving the defined unit process to be edited and the unit process object that represents it as is.
[0084] Returning to Fig. 3, the description will be continued. The verification device 200 holds the contents of each verification process already defined using the verification process definition environment described above (hereinafter, referred to as a defined verification process) as defined verification process group data 200h. The defined verification process group data 200h is stored in the storage device 200d shown in Fig. 2.
[0085] The verification device 200 also includes a predefined verification process editing unit 280 for editing the contents of the predefined verification processes.
[0086] The predefined verification process editing unit 280 presents a list of predefined verification processes defined in the past and accepts a selection of a predefined verification process to be used as a template from the presented list of predefined verification processes from the user. The predefined verification process editing unit 280 then edits the content of the selected predefined verification process, thereby providing the user with a predefined verification process editing environment in which the content is used as a template to define a verification process different from the predefined verification process.
[0087] The predefined verification process editing unit 280 acquires the contents of the predefined verification process to be edited from the predefined verification process group data 200h. The predefined verification process editing unit 280 also adds the verification process newly defined by editing to the predefined verification process group data 200h.
[0088] The predefined verification process editing environment provided by the predefined verification process editing unit 280 will be specifically described with reference to FIG.
[0089] 7, a plurality of verification process objects 114 representing defined verification processes can be displayed on the basic screen 110. Each verification process object 114 is provided with a button 116.
[0090] The user can edit the contents of the defined verification process represented by the verification process object by pressing button 116 corresponding to the verification process object representing the predefined verification process that the user wants to edit. Therefore, by using the contents of the predefined verification process as a template, a verification process different from the predefined verification process can be easily defined.
[0091] The basic screen 110 also has a button 112 for instructing to copy a defined verification process. The button 112 is pressed when a desired verification process object 114 is selected. This makes it possible to edit a copy of the defined verification process represented by the selected verification process object. In other words, it is possible to define a verification process different from the defined verification process to be edited while leaving the defined verification process and the verification process object representing it as is.
[0092] The following summarizes the above-described operation of the verification device 200. First, the verification process definition support process performed by the verification process definition support unit 210 and the verification process execution unit 220 will be described with reference to FIG.
[0093] 11 includes steps S11-S14 as an example of a verification process definition support step in which a computer provides a verification process definition environment to a user, and steps S15-S16 as an example of a verification process execution step in which a computer performs verification. A specific description will be given below.
[0094] First, the unit process object group presenting unit 211 presents the unit process object group 122 as a library (step S11). The presented unit process object group 122 includes a unit process object representing an execution condition assignment process as a unit process, and a unit process object representing an editing process as a unit process.
[0095] Note that step S11 is an example of a unit process object group presenting step in which the computer presents the unit process object group 122.
[0096] Next, the verification process definition support unit 210 accepts from the user a selection of a plurality of unit process objects desired by the user from the presented unit process object group 122 and a specification of the execution order among the plurality of unit processes represented by the plurality of selected unit process objects (step S12). The selected unit process objects include a unit process object representing an execution condition assignment process.
[0097] Next, the verification process definition support unit 210 defines a verification process by combining the unit processes represented by each of the multiple unit process objects selected by the user in an execution order designated by the user (step S13).
[0098] The verification process definition support unit 210 saves the contents of the verification process defined in step S13 in the storage device 200d by adding them to the defined verification process group data 200h (step S14). Therefore, from the next time onwards, the contents of the verification process defined in step S13 can be used as a template for defining another verification process.
[0099] Steps S12-S14 are an example of a verification process definition environment providing step in which the computer provides the verification process definition environment to the user.
[0100] Next, the verification process execution unit 220 executes the verification process defined in step S13, causing the execution device 400 to execute the sequence program 200e in a mode reflecting the execution conditions (step S15). Then, the verification process execution unit 220 causes the execution device 400 to present the results of the verification (step S16). This completes the verification process definition support process.
[0101] Next, the unit process definition support process performed by the unit process definition support section 260 will be described with reference to FIG.
[0102] 12, first, the type presenting unit 230 presents a plurality of types of unit processes that can be defined (step S21). Next, the type selecting unit 240 accepts a selection from the user as to which of the plurality of types presented by the type presenting unit 230 the type of unit process that the user is trying to define corresponds (step S22).
[0103] Next, when the type selection unit 240 accepts a selection of an edit type as a type of unit process, the edit type selection unit 251 accepts the selection of the edit type from the user (step S23).
[0104] Next, following the selection of the type of editing, the editing position designation unit 252 accepts input of an editing position in the sequence program 200e from the user (step S24). Next, following the input of the editing position, the editing content input unit 253 accepts input of editing content from the user (step S25).
[0105] The unit process definition support section 260 defines an editing process as a unit process based on the input items received in steps S23-25 (step S26).
[0106] Then, the unit process definition support section 260 saves the contents of the editing process as the defined unit process in the storage device 200d by adding them to the defined unit process group data 200g (step S27). Therefore, from the next time onwards, the contents of the editing process defined in step S26 can be used as a template for defining another editing process.
[0107] According to the above-described verification device 200 according to the present embodiment, the following effects can be obtained.
[0108] Conventional devices have the ability to present to the user a number of verification processes that are prepared in advance as options, but they do not provide the user with an environment suitable for defining a new verification process that is not included in the presented options.
[0109] In contrast, in verification device 200 according to this embodiment, not only is a function of presenting a plurality of predefined verification processes prepared in advance as options to the user realized by predefined verification process editing unit 280, but also a verification process definition environment is provided to the user by verification process definition support unit 210. This allows the user to easily define a new verification process that is not included in the presented options.
[0110] Specifically, the user may select a plurality of unit process objects as generic components for constructing a desired verification process from the unit process object group 122, which is a list of generic components for constructing an arbitrary verification process. The verification process definition environment providing unit 212 defines the verification process by a combination of unit processes represented by each of the plurality of unit process objects selected by the user.
[0111] Further, although conventional devices have a function of presenting a plurality of verification processes prepared in advance as options to the user, they do not present a verification process including an editing process to the user. On the other hand, in this embodiment, the unit process object group 122 presented to the user includes a unit process object representing an editing process. Therefore, when the user selects a unit process object representing an editing process, a verification process including an editing process is defined.
[0112] Conventionally, when one wishes to verify a control operation when a certain transition condition is satisfied, if the transition condition is difficult to satisfy, it has been time-consuming to verify the control operation. Specifically, in order to satisfy the transition condition, it has been necessary to adjust the values of many different devices or labels, and this adjustment has been time-consuming. In other words, it has been time-consuming to specify the conditions for executing the verification.
[0113] In contrast, according to the present embodiment, the above-mentioned transition conditions can be temporarily disabled by editing, which eliminates the need to adjust the values of devices or labels. As an example, if the sequence program 200e has a structure in which a transition occurs to a specific program module (hereinafter, referred to as an interrupt program) when an interrupt condition is satisfied, the contents of the interrupt program can be verified immediately by disabling the interrupt condition in editing, regardless of whether the interrupt condition is satisfied.
[0114] The edits made by the edit process are reflected temporarily for the convenience of the verification. After the verification, the content of the sequence program 200e is automatically restored to the content before the edit by the verification process execution unit 220.
[0115] Furthermore, according to this embodiment, a unit process definition environment for defining the unit process itself including the above-mentioned editing process is also provided to the user. Therefore, the user can easily define a new unit process that is different from the already created defined unit processes while being prompted to input the necessary items according to the type of the unit process. The user can easily define the editing process in particular by selecting the type of editing, inputting the editing position, and inputting the editing content.
[0116] The embodiment has been described above, but the following modifications are also possible.
[0117] 2, an existing computer can be installed to function as the verification device 200 according to the embodiment. The concept of a computer includes an engineering tool and a PLC. The engineering tool or the PLC may include a simulator as the execution device 400. The verification program 200f may be distributed via a communication network, or may be stored in a non-transitory computer-readable recording medium and distributed.
[0118] Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. The above-described embodiments are for explaining the present disclosure and do not limit the scope of the present disclosure. The scope of the present disclosure is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and the scope of the disclosure equivalent thereto are considered to be within the scope of the present disclosure. [Explanation of symbols]
[0119] 110 Basic screen, 114, 114a, 114b, 114c Verification processing object, 115, 115a, 115b, 115c Verification result, 120 Verification processing definition screen, 121 Name input field, 122 Unit processing object group, 122a, 122b, 122c Unit processing object, 123 Scroll button, 128 Execution order designation field, 130 Type selection screen, 140 Edit position designation screen, 141 Edit type presentation field, 142 Type selection button, 143 Row input field, 144 Column input field, 145 Edit position input field (input field), 150 Edit content input screen, 151 Edit content input field (input field), 152 Unit process name input field, 111, 112, 113, 116, 124, 125, 126, 127, 131, 146, 153 button, 200 verification device, 200a communication device, 200b display device, 200c input device, 200d storage device, 200e sequence program, 200f verification program, 200g defined unit process group data, 200h defined verification process group data, 200i processor, 210 verification process definition support section, 211 unit process object group presentation section, 212 verification process definition environment provision section, 220 verification process execution section, 230 type presentation section, 240 type selection section, 250 required item input section, 251 editing type selection section, 252 editing position designation section, 253 editing content input section, 260 unit process definition support section, 270 Defined unit processing editing section, 280 defined verification processing editing section, 400 execution device, 600 verification system.
Claims
1. A computer that verifies the validity of the contents of a sequence program installed in a programmable logic controller. a verification process definition support unit that provides a user with a verification process definition environment that defines a verification process for implementing the validity verification, the verification process including an execution condition assignment process that assigns an execution condition for the verification to an execution device that executes the sequence program; a verification process execution unit that executes the verification process defined using the verification process definition environment, (I) causes the execution device to execute the sequence program in a manner that reflects the execution conditions, and (II) acquires an execution result of the sequence program from the execution device and performs the verification using the acquired execution result; Function as a The verification process definition support unit a unit process object group presentation unit which presents a unit process object group including a unit process object which represents the execution condition adding process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process to be executed by the verification process execution unit; a verification process definition environment providing unit which, when a user selects a plurality of the unit process objects from the presented group of unit process objects, provides the user with the verification process definition environment which defines the verification process by a combination of the unit processes represented by each of the selected plurality of unit process objects; having The unit processing object group includes: the unit process object representing an edit process, which is the unit process for editing the sequence program prior to execution of the sequence program by the execution device; Includes a validation program.
2. A computer that verifies the validity of the contents of a sequence program installed in a programmable logic controller. a verification process definition support unit that provides a user with a verification process definition environment that defines a verification process for implementing the validity verification, the verification process including an execution condition assignment process that assigns an execution condition for the verification to an execution device that executes the sequence program; a verification process execution unit that executes the verification process defined using the verification process definition environment, (I) causes the execution device to execute the sequence program in a manner that reflects the execution conditions, and (II) acquires an execution result of the sequence program from the execution device and performs the verification using the acquired execution result; Function as a The verification process definition support unit a unit process object group presentation unit which presents a unit process object group including a unit process object which represents the execution condition adding process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process to be executed by the verification process execution unit; a verification process definition environment providing unit which, when a user selects a plurality of the unit process objects from the presented group of unit process objects, provides the user with the verification process definition environment which defines the verification process by a combination of the unit processes represented by each of the selected plurality of unit process objects; A verification program having: The verification program causes the computer to a unit process definition support section that provides a user with a unit process definition environment for defining the unit process, and when a new unit process is defined using the unit process definition environment, includes the unit process object representing the new unit process in the unit process object group; It also functions as The unit process definition support unit a type presenting unit that presents a plurality of types of the unit process that can be defined; a type selection unit that receives, from the user, a selection of one of a plurality of types presented by the type presentation unit as to which the type of the unit process that the user is about to define corresponds; a required item input unit that presents input items corresponding to the type selected using the type selection unit and receives from the user input of required items required to define the unit process of the type into the presented input items; having the plurality of types presented by the type presentation unit includes an edit type of editing the sequence program prior to execution of the sequence program by the execution device; The required item input unit includes: an edit type selection unit that, when the type selection unit accepts a selection of the edit type to be performed on the sequence program, accepts from the user a selection of one of adding program code to the sequence program, deleting program code from the sequence program, and changing a part of the content of the sequence program; an edit position designation unit that accepts input of an edit position in the sequence program to be edited from the user as the necessary item; an editing content input unit that receives an input of the editing content from the user as the necessary item other than the editing position; A verification program having the following features:
3. the verification process definition environment providing unit also accepts, from the user, designation of an execution order among a plurality of the unit processes represented by a plurality of the unit process objects selected from the unit process object group in the verification process definition environment. The verification program according to claim 1 or 2.
4. The verification process definition support unit is capable of defining a plurality of verification processes having different execution conditions for the same sequence program, The verification process execution unit executes a plurality of the verification processes collectively. The verification program according to claim 1 or 2.
5. the verification process execution unit displays a list of the verification results for each of the plurality of verification processes; The verification program according to claim 4.
6. The computer, a defined unit process editing unit that provides the user with a defined unit process editing environment for editing the contents of a defined unit process, which is the unit process that has already been defined using the unit process definition environment, and for defining the unit process different from the defined unit process by using the contents as a template; The verification program according to claim 2 , further functioning as:
7. The computer, a predefined verification process editing unit that provides the user with a predefined verification process editing environment for editing the content of a predefined verification process, which is the verification process that has already been defined using the verification process definition environment, and for defining the verification process different from the predefined verification process by using the content as a template; The verification program according to claim 1 or 2, further functioning as:
8. A verification device that verifies the validity of contents of a sequence program installed in a programmable logic controller, comprising: a verification process definition support unit that provides a user with a verification process definition environment that defines a verification process for implementing the validity verification, the verification process including an execution condition assignment process that assigns an execution condition for the verification to an execution device that executes the sequence program; a verification process execution unit that executes the verification process defined using the verification process definition environment, (I) causes the execution device to execute the sequence program in a manner that reflects the execution conditions, and (II) acquires an execution result of the sequence program from the execution device and performs the verification using the acquired execution result; Equipped with The verification process definition support unit a unit process object group presentation unit which presents a unit process object group including a unit process object which represents the execution condition adding process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process to be executed by the verification process execution unit; a verification process definition environment providing unit which, when a user selects a plurality of the unit process objects from the presented group of unit process objects, provides the user with the verification process definition environment which defines the verification process by a combination of the unit processes represented by each of the selected plurality of unit process objects; having The unit processing object group includes: the unit process object representing an edit process, which is the unit process for editing the sequence program prior to execution of the sequence program by the execution device; A verification device comprising:
9. A verification device that verifies the validity of contents of a sequence program installed in a programmable logic controller, comprising: a verification process definition support unit that provides a user with a verification process definition environment that defines a verification process for implementing the validity verification, the verification process including an execution condition assignment process that assigns an execution condition for the verification to an execution device that executes the sequence program; a verification process execution unit that executes the verification process defined using the verification process definition environment, (I) causes the execution device to execute the sequence program in a manner that reflects the execution conditions, and (II) acquires an execution result of the sequence program from the execution device and performs the verification using the acquired execution result; Equipped with The verification process definition support unit a unit process object group presentation unit which presents a unit process object group including a unit process object which represents the execution condition adding process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process to be executed by the verification process execution unit; a verification process definition environment providing unit which, when a user selects a plurality of the unit process objects from the presented group of unit process objects, provides the user with the verification process definition environment which defines the verification process by a combination of the unit processes represented by each of the selected plurality of unit process objects; having The verification device includes: a unit process definition support section that provides a user with a unit process definition environment for defining the unit process, and when a new unit process is defined using the unit process definition environment, includes the unit process object representing the new unit process in the unit process object group; Further equipped with The unit process definition support unit a type presenting unit that presents a plurality of types of the unit process that can be defined; a type selection unit that receives, from the user, a selection of one of a plurality of types presented by the type presentation unit as to which the type of the unit process that the user is about to define corresponds; a required item input unit that presents input items corresponding to the type selected using the type selection unit and receives from the user input of required items required to define the unit process of the type into the presented input items; having the plurality of types presented by the type presentation unit includes an edit type of editing the sequence program prior to execution of the sequence program by the execution device; The required item input unit includes: an edit type selection unit that, when the type selection unit accepts a selection of the edit type to be performed on the sequence program, accepts from the user a selection of one of adding program code to the sequence program, deleting program code from the sequence program, and changing a part of the content of the sequence program; an edit position designation unit that accepts input of an edit position in the sequence program to be edited from the user as the necessary item; an editing content input unit that receives an input of the editing content from the user as the necessary item other than the editing position; A verification device having the above configuration.
10. A verification device according to claim 8 or 9; the execution device; A verification system comprising:
11. A method for verifying the validity of contents of a sequence program installed in a programmable logic controller, comprising the steps of: a verification process definition support step in which a computer provides a user with a verification process definition environment that defines a verification process for realizing the verification of the validity, the verification process including an execution condition assignment step of assigning an execution condition for the verification to an execution device that executes the sequence program; a verification process execution step in which the computer executes the verification process defined using the verification process definition environment, thereby (I) causing the execution device to execute the sequence program in a manner reflecting the execution conditions, and (II) acquiring an execution result of the sequence program from the execution device and performing the verification using the acquired execution result; Including, The verification process definition support step includes: a unit process object group presentation step in which the computer presents a unit process object group including a unit process object that represents the execution condition-imparting process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process; a verification process definition environment providing step in which the computer provides the user with the verification process definition environment that defines the verification process by a combination of the unit processes represented by each of the selected unit process objects, when the user selects a plurality of the unit process objects from the presented group of unit process objects; Including, The unit processing object group includes: the unit process object representing an edit process, which is the unit process for editing the sequence program prior to execution of the sequence program by the execution device; ,Verification methods included.
12. A method for verifying the validity of contents of a sequence program installed in a programmable logic controller, comprising the steps of: a verification process definition support step in which a computer provides a user with a verification process definition environment that defines a verification process for realizing the verification of the validity, the verification process including an execution condition assignment step of assigning an execution condition for the verification to an execution device that executes the sequence program; a verification process execution step in which the computer executes the verification process defined using the verification process definition environment, thereby (I) causing the execution device to execute the sequence program in a manner reflecting the execution conditions, and (II) acquiring an execution result of the sequence program from the execution device and performing the verification using the acquired execution result; Including, The verification process definition support step includes: a unit process object group presentation step in which the computer presents a unit process object group including a unit process object that represents the execution condition-imparting process as the unit process, the unit process object group being composed of a plurality of unit process objects each representing a predefined unit process; a verification process definition environment providing step in which the computer provides the user with the verification process definition environment that defines the verification process by a combination of the unit processes represented by each of the selected unit process objects, when the user selects a plurality of the unit process objects from the presented group of unit process objects; Including, The verification method includes: a unit process definition support step in which the computer provides a unit process definition environment for defining the unit process to a user, and when a new unit process is defined using the unit process definition environment, includes the unit process object representing the new unit process in the unit process object group; Further comprising: The unit process definition support step includes: a type presenting step in which the computer presents a plurality of types of the unit process that can be defined; a type selection step in which the computer receives from the user a selection of one of the plurality of types presented in the type presentation step as to which the type of the unit process that the user is about to define corresponds; a required item input step in which the computer presents input items corresponding to the type selected in the type selection step, and receives input of required items required for defining the unit process of the type into the presented input items from the user; having the plurality of types presented in the type presenting step includes an edit type of editing the sequence program prior to execution of the sequence program by the execution device; The required information input step includes: an edit type selection step in which, when a selection of the edit type is accepted in the edit type selection step, the computer accepts from the user a selection as to whether the edit to be applied to the sequence program is to add program code to the sequence program, delete program code from the sequence program, or change a part of the content of the sequence program; an editing position designation step in which the computer receives, as the necessary item, an editing position in the sequence program where the editing is to be performed, from the user; an editing content input step in which the computer receives an input of the editing content from the user as the necessary item other than the editing position; A verification method comprising: