The present application is based on PCT filing PCT/JP2021/007985, filed Mar. 2, 2021, the entire contents of which are incorporated herein by reference.
The present disclosure relates to a debugging support program, a debugging support device, a debugging support method, and a machine learning device for supporting debugging of a sequence program.
In factories in which factory automation (FA) is implemented, control devices such as programmable logic controllers (PLCs) are used. Control devices control the control target devices by executing sequence programs.
A sequence program includes a plurality of modules that are componentized programs. Hereinafter, modules which are components of a sequence program are referred to as module programs. In a module program, input labels and output labels are described. An input label is a variable assigned to an input to the module program from the outside of the module program. An output label is a variable assigned to an output from the module program to the outside of the module program. The module program includes an input label and an output label having a dependence relationship to each other. The dependence relationship is a relationship in which the value of the output label is determined depending on the value of the input label.
In debugging for verifying the operation of a sequence program, operation of module programs constituting the sequence program is verified. The operation of a module program is verified by inputting a value to the module program, executing the module program, and monitoring a value output from the module program.
Patent Literature 1 discloses a simulation support tool that extracts a variable for test input from a sequence program, generates an input value for test corresponding to the extracted variable, and gives an input signal to a PLC that executes the sequence program.
According to the conventional technique disclosed in Patent Literature 1, an input value for verification can be set, whereas an output value expected from the set input value is not set. Therefore, the conventional technique is problematic in that it is not easy to verify the operation of the module program based on the monitored output value, and thus it is difficult to efficiently debug the sequence program.
The present disclosure has been made in view of the above, and an object thereof is to obtain a debugging support program for enabling efficient debugging of a sequence program.
To solve the above problem and achieve an object, a debugging support program according to the present disclosure is a debugging support program that causes a computer to function as a debugging support device that supports debugging of a sequence program to be executed by a control device. The debugging support program causes the computer to execute: a step of extracting, from a module program constituting the sequence program, a first variable assigned to an input to the module program and a second variable assigned to an output from the module program; a step of creating a verification item for verifying operation of the module program, the verification item including a first setting value specified for the first variable and a second setting value specified for the second variable; a step of verifying operation of the module program based on the verification item; and a step of outputting a result of verifying operation of the module program.
A debugging support program according to the present disclosure can achieve the effect of enabling efficient debugging of a sequence program.
Hereinafter, a debugging support program, a debugging support device, a debugging support method, and a machine learning device according to embodiments will be described in detail with reference to the drawings.
For debugging the sequence program, the computer 10 is connected to the PLC 12. For the PLC 12 connected to the computer 10 during the debugging, only the power supply unit and the central processing unit (CPU) are connected to the base unit. The computer 10 verifies operation of a module program by writing the module program to the PLC 12 and causing the PLC 12 to execute the module program.
For verifying operation of the sequence program, a simulator 13 can be used instead of the PLC 12. The simulator 13 is an application that simulates the PLC 12 on the computer 10. The simulator 13 is installed in the computer 10. The computer 10 performs operation verification, that is, debugging, of the module program using either the PLC 12 or the simulator 13. Note that
The computer 10 and the PLC 12 are connected to each other by a control network 15. The simulator 13 installed in the computer 10 is connected to the debugging support tool 11 by a virtual control network 14. The virtual control network 14 is a network that is based on the premise that the debugging support tool 11 and the simulator 13 are installed in the same computer 10. Note that the function of the debugging support tool 11 may be implemented as one functional module in another tool instead of being implemented as the debugging support tool 11.
The debugging support tool 11 specifies a value in advance for each of an input label and an output label included in the module program, and verifies whether the specified values can be obtained when the module program is executed.
In the state where the computer 10 is connected to the PLC 12 as illustrated in
The debugging support tool 11 rewrites the value of the input label in the module program to the value specified in the debugging support tool 11, and causes the PLC 12 or the simulator 13 to execute the module program. The value of the output label in the module program changes as a result of the execution of the module program. The debugging support tool 11 monitors the changed value, and compares the monitored value with the value specified in advance by the debugging support tool 11. The debugging support tool 11 determines whether the monitored value matches the value specified in advance or whether the monitored value does not match the value specified in advance. Through this determination, the debugging support tool 11 verifies the operation of the module program. The debugging support tool 11 outputs the verification result. The operator who has conducted the debugging can easily evaluate the debugging result from the verification result output from the debugging support tool 11.
The debugging support tool 11 includes an input/output label extraction unit 20, a verification item display editing unit 21, a verification pattern display editing unit 22, a verification pattern input/output unit 23, a debugging control unit 24, a verification result display unit 25, a PLC transmission/reception unit 26, a simulator transmission/reception unit 27, and an internal storage unit 28.
The input/output label extraction unit 20 is an extraction unit that extracts an input label that is a first variable and an output label that is a second variable from a module program 31 included in a sequence program 30. The input label is a label assigned to an input to the module program 31. A value is input to the input label from the outside of the module program 31. The output label is a label assigned to an output from the module program 31. The value of the output label is output to the outside of the module program 31. The input/output label extraction unit 20 classifies the extracted labels into input labels and output labels.
The verification item display editing unit 21 is a verification item creation unit that creates a verification item for verifying operation of the module program 31. The verification item includes a group of a first setting value specified for the input label and a second setting value specified for the output label. The verification item display editing unit 21 specifies the first setting value and the second setting value. The verification item display editing unit 21 includes a group of the first setting value and the second setting value for the input label and the output label having a dependence relationship with each other. The dependence relationship is a relationship in which the value of the second variable is determined by the value of the first variable. The verification item display editing unit 21 displays verification items.
The verification pattern display editing unit 22 is a verification pattern creation unit that creates a verification pattern in which a plurality of verification items for verifying the operation of the module program 31 are grouped. The verification pattern display editing unit 22 manages verification patterns. The verification pattern display editing unit 22 also displays verification patterns.
A plurality of verification patterns are collected into a verification pattern file 32 which is stored in the internal storage unit 28 or an external storage unit 29. The internal storage unit 28 is a storage unit located inside the debugging support device. The external storage unit 29 is a storage unit located outside the debugging support device.
The verification pattern input/output unit 23 outputs the verification pattern file 32 to the internal storage unit 28 or the external storage unit 29. In addition, the verification pattern file 32 is input to the verification pattern input/output unit 23 from the internal storage unit 28 or the external storage unit 29.
The PLC transmission/reception unit 26 transmits information to the PLC 12 and receives information from the PLC 12. The PLC transmission/reception unit 26 writes a verification pattern and the module program 31 to the PLC 12, and causes the PLC 12 to execute the module program 31. The PLC transmission/reception unit 26 acquires the output value of the module program 31 when the module program 31 is being executed in the PLC 12.
The simulator transmission/reception unit 27 transmits information to the simulator 13, and receives information from the simulator 13. The simulator transmission/reception unit 27 writes a verification pattern and the module program 31 to the simulator 13, and causes the simulator 13 to execute the module program 31. The simulator transmission/reception unit 27 acquires the output value of the module program 31 when the module program 31 is being executed in the simulator 13.
The debugging control unit 24 controls the writing of the module program 31 and the input value specified in the verification pattern to the PLC 12 or the simulator 13, and the monitoring of the output value of the module program 31. The debugging control unit 24 also compares the monitored output value with the output value specified in the verification pattern, thereby verifying the operation of the module program 31. The verification result display unit 25 displays the result of the operation verification. The verification result display unit 25 is a verification result output unit that outputs a result of verifying the operation of the module program 31.
Next, the configuration of the verification pattern file 32 will be described.
The verification pattern file 32 is a file in which a plurality of verification patterns 33 are grouped. The verification pattern file 32 is data for performing the operation verification of the module program 31. As illustrated in
The verification pattern 33 is data in which a plurality of verification items 35 are grouped. The verification pattern 33 is given a verification class 34, i.e. information representing the class of operation verification performed with the verification pattern 33. In other words, the verification class 34 is an attribute of the verification pattern 33. Operation verification is classified into a first verification that is verification of normal operation, a second verification that is verification of anomaly operation, and a third verification different from the first verification and the second verification. The third validation includes events that cannot be clearly classified into normal or anomaly. Such events include quasi-normal, which represents a value different from the normal one but can be treated as normal. The verification pattern 33 is given the verification class 34 indicating any one of the first verification, the second verification, and the third verification. The debugging control unit 24 performs operation verification according to the verification class 34 assigned to the verification pattern 33.
The verification item 35 includes an input label list 36 and an output label list 37. The input label list 36 is data in which a plurality of input label settings 38 are grouped. The output label list 37 is data in which a plurality of output label settings 39 are grouped.
The input label setting 38 is data in which an input label 40 extracted from the module program 31 and an input label setting value 41 are grouped. The input label setting value 41 is a first setting value set for the input label 40. The input label setting value 41 is written to the PLC 12 or the simulator 13 together with the module program 31 during the verification of operation of the module program 31. The input label setting value 41 is used for evaluating the output value of the module program 31 with respect to the input to the module program 31.
The output label setting 39 is data in which an output label 42 extracted from the module program 31, an output label setting value 43, a setting class 44, and a read timing 45 are grouped. The output label setting value 43 is a second setting value set for the output label 42. The setting class 44 is information indicating a method of comparing the output value of the module program 31 with the output label setting value 43 in the verification of operation. The debugging control unit 24 compares the output value of the module program 31 with the output label setting value 43 according to the setting class 44. Details of the setting class 44 will be described later. The read timing 45 is information indicating the timing at which the debugging support device reads the output value of the module program 31.
The module program 31 illustrated in
The module program 31 illustrated in
The verification pattern 33 for verifying whether the operation of the module program 31 illustrated in
“Verification pattern 1” illustrated in
“Verification pattern 2” illustrated in
For the input label 40, “equal to following value” shown in the field of “setting class” indicates that the setting class 44 means that the value is equal to a value described in the field next to the field of “setting class”, that is, the input label setting value 41. For the output label 42, “equal to following value” shown in the field of “setting class” indicates that the setting class 44 means that the value is equal to the output label setting value 43. In addition to “equal to following value”, the setting class 44 can be set as “not equal to following value”, “other than following value”, “greater than following value”, “less than following value”, “greater than or equal to following value”, “less than or equal to following value”, etc.
Next, label extraction by the input/output label extraction unit 20 will be described.
In step S1, the input/output label extraction unit 20 extracts all the labels from the module program 31, and stores the extracted labels in a label list. The label list is data in which the extracted labels are grouped. As a method for extracting labels, the method described in Patent Literature 1 can be adopted. The method for extracting labels may be a method other than the method in Patent Literature 1.
In step S2, the input/output label extraction unit 20 retrieves one label from the label list. In step S3, the input/output label extraction unit 20 determines whether the class of the retrieved label is VAR_INPUT or VAR_IN_OUT. That is, the input/output label extraction unit 20 determines whether the retrieved label is the input label 40.
In response to determining that the class of the retrieved label is VAR_INPUT or VAR_IN_OUT (step S3: Yes), the input/output label extraction unit 20 identifies the retrieved label as the input label 40. In this case, in step S4, the input/output label extraction unit 20 registers the retrieved label in the input label list 36. Thereafter, the input/output label extraction unit 20 advances the procedure to step S5.
On the other hand, in response to determining that the class of the retrieved label is not VAR_INPUT or VAR_IN_OUT (step S3: No), the input/output label extraction unit 20 determines that the retrieved label is not the input label 40. In this case, the input/output label extraction unit 20 advances the procedure to step S5.
In step S5, the input/output label extraction unit 20 determines whether the class of the retrieved label is VAR_OUTPUT, VAR_OUTPUT_RETAIN, or VAR_IN_OUT. That is, the input/output label extraction unit 20 determines whether the retrieved label is the output label 42.
In response to determining that the class of the retrieved label is VAR_OUTPUT, VAR_OUTPUT_RETAIN, or VAR_IN_OUT (step S5: Yes), the input/output label extraction unit 20 identifies the retrieved label as the output label 42. In this case, in step S6, the input/output label extraction unit 20 registers the retrieved label in the output label list 37. Thereafter, the input/output label extraction unit 20 advances the procedure to step S7.
On the other hand, in response to determining that the class of the retrieved label is not VAR_OUTPUT, VAR_OUTPUT_RETAIN, or VAR_IN_OUT (step S5: No), the input/output label extraction unit 20 advances the procedure to step S7.
In step S7, the input/output label extraction unit 20 determines whether the classification of all the extracted labels is completed. In response to determining that the classification of all the labels is not completed (step S7: No), the input/output label extraction unit 20 returns the procedure to step S2. The input/output label extraction unit 20 continues classifying labels by repeating the procedure from step S2. On the other hand, in response to determining that the classification of all the labels is completed (step S7: Yes), the input/output label extraction unit 20 ends the operation with the procedure illustrated in
Next, display of the verification patterns 33 by the verification pattern display editing unit 22 will be described.
The verification pattern display editing unit 22 can switch the window displayed on the screen from one module program 31 to another. In addition, the operator can perform an editing work for creating a new verification pattern 33 through the window illustrated in
A list of verification items 35 is displayed on the edit screen for the verification pattern 33. From the list of verification items 35, the operator can perform an edition for creating a new verification item 35 or changing an existing verification item 35. In addition, the operator can know the creation date and time, creator, and the like of the verification items 35 from the list of verification items 35.
Next, the operation of the debugging control unit 24 for debugging the module program 31 will be described.
In step S11, the debugging control unit 24 acquires the module program 31 to be debugged from the sequence program 30.
In step S12, the debugging control unit 24 acquires the verification patterns 33 corresponding to the acquired module program 31. Here, the debugging control unit 24 instructs the verification pattern input/output unit 23 to read the verification patterns 33 corresponding to the acquired module program 31. The verification pattern input/output unit 23 reads the verification pattern file 32 corresponding to the module program 31 from the internal storage unit 28 or the external storage unit 29 according to the instruction from the debugging control unit 24. The verification pattern input/output unit 23 sends the read verification pattern file 32 to the debugging control unit 24. In this manner, the debugging control unit 24 acquires the verification patterns 33 via the verification pattern input/output unit 23.
In step S13, the debugging control unit 24 retrieves one verification item 35 from the acquired verification patterns 33, and acquires the input label setting 38 and the output label setting 39. The debugging control unit 24 acquires the input label setting 38 from the input label list 36 included in the verification item 35. The debugging control unit 24 acquires the output label setting 39 from the output label list 37 included in the verification item 35.
In step S14, the debugging control unit 24 specifies the output label 42 to be read by the PLC transmission/reception unit 26 and the timing of acquiring the output value. The debugging control unit 24 specifies the output label 42 included in the output label setting 39 as the output label 42 to be read by the PLC transmission/reception unit 26. The debugging control unit 24 specifies the read timing 45 included in the output label setting 39 as the timing of acquiring the output value of the PLC 12 by the PLC transmission/reception unit 26.
In step S15, the debugging control unit 24 writes the module program 31 to the PLC 12, sets a value for the input label 40 of the module program 31, and operates the PLC 12. The debugging control unit 24 writes the module program 31 to the PLC 12 via the PLC transmission/reception unit 26. The debugging control unit 24 causes the input label setting value 41 included in the input label setting 38 to have the value of the input label 40 of the module program 31.
The debugging control unit 24 monitors the value of the output label 42 of the module program 31 executed by the PLC 12 via the PLC transmission/reception unit 26. In step S16, the debugging control unit 24 determines whether it is the specified read timing 45. When it is not the read timing 45 (step S16: No), the debugging control unit 24 waits until the read timing 45. In response to determining that it is the read timing 45 (step S16: Yes), the debugging control unit 24 advances the procedure to step S17.
In step S17, the debugging control unit 24 acquires the value output to the output label 42 of the module program 31. The debugging control unit 24 acquires the value of the output label 42 in the module program 31 from the PLC 12 via the PLC transmission/reception unit 26.
In step S18, the debugging control unit 24 compares the value acquired from the PLC 12 with the output label setting value 43 in accordance with the setting class 44. For the comparison, the debugging control unit 24 uses the output label setting value 43 included in the output label setting 39. The debugging control unit 24 performs the comparison according to the setting class 44 included in the output label setting 39. For example, if the setting class 44 is “equal to following value”, the debugging control unit 24 compares the value acquired from the PLC 12 with the output label setting value 43 to determine whether the value acquired from the PLC 12 is the same as the output label setting value 43.
The debugging control unit 24 determines the result of the verification of operation based on the result of the comparison in step S18. The debugging control unit 24 obtains the result of the verification of operation according to the verification class 34 assigned to the verification pattern 33.
In step S19, the debugging control unit 24 outputs the result of the operation verification to the verification result display unit 25. The verification result display unit 25 displays the result of the verification of operation.
In step S20, the debugging control unit 24 determines whether the verification of operation is completed for all the verification items 35 of the verification patterns 33. If there is a verification item 35 for which operation verification has not been performed (step S20: No), the debugging control unit 24 returns the procedure to step S13, and performs the procedure of step S13 and subsequent steps on the verification item 35 for which verification of operation has not been performed. On the other hand, in response to determining that the operation verification is completed for all the verification items 35 (step S20: Yes), the debugging control unit 24 stops the PLC 12 in step S21. The debugging control unit 24 stops the PLC 12 by sending a stop command to the PLC 12 via the PLC transmission/reception unit 26. Thus, the debugging control unit 24 ends the operation with the procedure illustrated in
In step S31, the debugging control unit 24 acquires the module program 31 that is a debugging target from the sequence program 30. In step S32, the debugging control unit 24 acquires the verification patterns 33 corresponding to the acquired module program 31. Details of step S32 are similar to those of step S12 illustrated in
In step S33, the debugging control unit 24 retrieves one verification item 35 from the acquired verification patterns 33, and acquires the input label setting 38 and the output label setting 39. Details of step S33 are similar to those of step S13 illustrated in
In step S34, the debugging control unit 24 specifies the output label 42 that the simulator transmission/reception unit 27 reads, and the timing of acquiring the output value. The debugging control unit 24 sets the output label 42 included in the output label setting 39 as the output label 42 to be read by the simulator transmission/reception unit 27. The debugging control unit 24 sets the read timing 45 included in the output label setting 39, as the timing of acquiring the output value of the simulator 13 by the simulator transmission/reception unit 27.
In step S35, the debugging control unit 24 writes the module program 31 to the simulator 13, sets a value for the input label 40 of the module program 31, and executes the simulator 13. The debugging control unit 24 writes the module program 31 to the simulator 13 via the simulator transmission/reception unit 27. The debugging control unit 24 sets the input label setting value 41 included in the input label setting 38, as the value of the input label 40 of the module program 31.
The debugging control unit 24 monitors the value of the output label 42 of the module program 31 executed by the simulator 13 via the simulator transmission/reception unit 27. In step S36, the debugging control unit 24 determines whether it is the specified read timing 45. When determining that it is not the read timing 45 (step S36: No), the debugging control unit 24 waits until the read timing 45. In response to determining that it is the read timing 45 (step S36: Yes), the debugging control unit 24 advances the procedure to step S37.
In step S37, the debugging control unit 24 acquires the value output to the output label 42 of the module program 31. The debugging control unit 24 acquires the value of the output label 42 in the module program 31 from the simulator 13 via the simulator transmission/reception unit 27.
In step S38, the debugging control unit 24 compares the value acquired from the simulator 13 with the output label setting value 43 in accordance with the setting class 44. Details of step S38 are similar to those of step S18 illustrated in
In step S39, the debugging control unit 24 outputs the result of the operation verification to the verification result display unit 25. The verification result display unit 25 displays the result of the operation verification.
In step S40, the debugging control unit 24 determines whether the operation verification is completed for all the verification items 35 of the verification patterns 33. If there is a verification item 35 for which verification of operation has not been performed (step S40: No), the debugging control unit 24 returns the procedure to step S33, and performs the procedure of step S33 and subsequent steps on the verification item 35 for which verification of operation has not been performed. On the other hand, in response to determining that the operation verification is completed for all the verification items 35 (step S40: Yes), the debugging control unit 24 stops the simulator 13 in step S41. The debugging control unit 24 stops the simulator 13 by sending a stop command to the simulator 13 via the simulator transmission/reception unit 27. Thus, the debugging control unit 24 ends the operation with the procedure illustrated in
Next, display by the verification result display unit 25 will be described.
The verification result display screen has a verification result display field and a verification pattern display field. In the verification result display field, the result of verification of operation for each verification item 35 is displayed. In the verification result display field, for example, a verification item list similar to that in
In the verification pattern display field, the result of operation verification for each verification pattern 33 is displayed. In the verification pattern display field, a verification pattern list similar to that in
According to the first embodiment, the debugging support device creates the verification item 35 including the input label setting value 41 and the output label setting value 43, and verifies operation of the module program 31 based on the verification item 35. The debugging support device can freely set a value for each of the input label setting value 41 and the output label setting value 43, thereby enabling debugging with a high degree of freedom. The debugging support device can specify both the input label setting value 41 and the output label setting value 43, and thus can verify whether the operation is normal and whether the operation is anomaly. The debugging support device can create the verification item 35 by inputting a value, and thus can easily and efficiently create the verification item 35. The debugging support device can improve the efficiency of debugging work as compared with the case where it is necessary to describe processing for verification in a script language or the like in advance.
The debugging support device automatically compares the output value of the module program 31 with the output label setting value 43 in accordance with the setting class 44, and obtains the result of operation verification according to the verification class 34. The debugging support device can easily obtain the result of operation verification as compared with the case where an output value expected from the specified input value is not set and operation is verified only from the monitored output value. In addition, the operator can easily confirm the result of operation verification output by the debugging control unit 24 on the verification result display screen. As a result, the debugging support device can achieve an improvement in the efficiency of work for debugging.
Since the debugging support device can store the verification pattern file 32 not only in the internal storage unit 28 but also in the external storage unit 29, the verification pattern file 32 can be shared by a plurality of operators. Since the verification pattern file 32 can be shared by a plurality of operators, the plurality of operators can easily share the debugging. In addition, when the verification pattern 33 is created in considering the dependence relationship between the module programs 31 in the sequence program 30, it is possible to prevent incomplete verification due to sharing of tasks of debugging among a plurality of operators, and it is therefore possible to achieve comprehensive debugging.
In the verification of operation of the module program 31, the module program 31 can be executed not only in the PLC 12 but also in the simulator 13. The use of the simulator 13 enables the debugging support device to verify the operation in the background, leading to a reduction in the man-hours required for debugging. In the operation verification of the module program 31, the operator can freely select the PLC 12 or the simulator 13 to cause the selected one to execute the module program 31.
Note that a plurality of computers 10 in each of which the debugging support tool 11 is installed are used for the sharing of tasks of debugging among a plurality of operators. In this case, the plurality of operators can debug the sequence program 30 using computers 10 different with each other. Alternatively, tasks of debugging may be shared among a plurality of operators who use a computer 10 in which the debugging support tool 11 is installed. In either case, the tasks are shared by a plurality of operators, so that the efficiency of debugging can be improved.
As described above, according to the first embodiment, the debugging support tool 11 and the debugging support device can achieve the effect of enabling efficient debugging of a sequence program.
The second embodiment describes an example where machine learning is used for creating the verification items 35.
The learning device 50 includes a verification item acquisition unit 52, a learning unit 53, and an inference unit 56. The verification item acquisition unit 52 acquires the verification item 35 from a verification pattern storage unit 51 outside the learning device 50. The verification pattern storage unit 51 is the internal storage unit 28 or the external storage unit 29 illustrated in
The learning unit 53 generates a learned model for inferring an output verification item using a data set including two input verification items that are the verification items 35 input from the verification item acquisition unit 52. “Input verification item 1” is the first input verification item out of the two input verification items. “Input verification item 2” is the second input verification item out of the two input verification items. Among the label names of the input labels or the label names of the output labels defined in the verification items 35 of “input verification item 1” and “input verification item 2”, at least one label name matching each other is included. The output verification item is a new, optimal verification item 35 to be used for verification of operation. A learned model storage unit 54 stores the generated learned model. In
The inference unit 56 receives an input verification item from the verification item acquisition unit 52, and infers an output verification item using the learned model. The inference unit 56 outputs an output verification item in response to an input verification item being input to the learned model.
The learning unit 53 learns the input verification items through what is called supervised learning according to, for example, a neural network model. The neural network of the learning unit 53 learns the features of the input verification items by what is called supervised learning according to the created data set. Here, supervised learning refers to a model that provides input-result data pairs to the learning device 50 so that features in the data sets can be learned, and estimates results from inputs.
A data set includes an input and a label, i.e. a result corresponding to the input. Here, “input verification item 1” corresponds to an input, and “input verification item 2” corresponds to a label. The neural network includes an input layer composed of a plurality of neurons, a hidden layer, i.e. an intermediate layer composed of a plurality of neurons, and an output layer composed of a plurality of neurons. The number of intermediate layers may be one or two or more.
The learning unit 53 creates a data set based on a combination of “input verification item 1” and “input verification item 2”. The neural network learns the output verification item by what is called supervised learning according to the created data set. That is, the neural network learns the output verification item by adjusting the weights W1 and W2 such that the result output from the output layer in response to the input of “input verification item 1” to the input layer approaches “input verification item 2”. The learning device 50 executes learning in the above-described manner to generate a learned model, and stores the learned model in the learned model storage unit 54.
The inference unit 56 acquires the learned model from the learned model storage unit 54. The inference unit 56 inputs an input verification item to the learned model to output the output verification item inferred from the input verification item.
The learning device 50 is not limited to one that infers an output verification item using the learned model generated by the learning unit 53 in the learning device 50. The learning device 50 may acquire a learned model created outside the learning device 50, and infer an output verification item using the acquired learned model.
In the second embodiment, the function of the learning device 50 is incorporated in the debugging support tool 11. That is, the learning device 50 is provided inside the debugging support device. The learning device 50 may be a device existing on a cloud server that can communicate with the debugging support device.
According to the second embodiment, the learning device 50 can create an output verification item that is a new verification item 35 from an input verification item that is an existing verification item 35.
Next, hardware for implementing the debugging support device according to the first embodiment will be described.
An input unit 62 is a circuit that receives an input signal to the debugging support device from the outside. The input unit 62 serves to receive the module program 31, receive the verification pattern file 32 from the external storage unit 29, receive information output from the PLC 12, and receive information output from the simulator 13. An output unit 65 is a circuit that outputs a signal generated by the debugging support device to the outside. The output unit 65 serves to transmit the verification pattern file 32 to the external storage unit 29, transmit the module program 31 to the PLC 12, and transmit the module program 31 to the simulator 13. The verification pattern input/output unit 23, the PLC transmission/reception unit 26, and the simulator transmission/reception unit 27 are implemented by the input unit 62 and the output unit 65.
The processor 63 is a CPU. The processor 63 may be a computing device, a microprocessor, a microcomputer, or a digital signal processor (DSP). The memory 64 is, for example, a volatile or non-volatile memory such as a random access memory (RAM), a read only memory (ROM), a flash memory, an erasable programmable read only memory (EPROM), or an electrically erasable programmable read only memory (EEPROM, registered trademark).
When the main parts of the debugging support device are implemented by the processor 63 and the memory 64, the processor 63 executes the debugging support tool 11 in which processing for operating as the input/output label extraction unit 20, the verification item display editing unit 21, the verification pattern display editing unit 22, and the debugging control unit 24 is described, so that these units are implemented. The debugging support tool 11 is stored in the memory 64 in advance. The processor 63 reads and executes the debugging support tool 11 stored in the memory 64, thereby operating as the input/output label extraction unit 20, the verification item display editing unit 21, the verification pattern display editing unit 22, and the debugging control unit 24. The internal storage unit 28 is implemented by the memory 64.
The debugging support tool 11 need not necessarily be stored in the memory 64 in advance. The debugging support tool 11 may be recorded on a storage medium readable by a computer system. The debugging support tool 11 recorded on the storage medium may be stored in the memory 64. The storage medium may be a portable storage medium which is a flexible disk or a flash memory which is a semiconductor memory. The debugging support tool 11 may be installed from another computer or a server device to the computer 10 over a communication network.
A display unit 66 is a display that displays information. The display is, for example, a liquid crystal display (LCD). The display function of the verification item display editing unit 21, the display function of the verification pattern display editing unit 22, and the verification result display unit 25 are implemented by the display unit 66.
Next, hardware for implementing the machine learning device according to the second embodiment will be described.
An input unit 72 is a circuit that receives an input signal to the learning device 50 from the outside. An output unit 75 is a circuit that outputs a signal generated by the learning device 50 to the outside. The verification item acquisition unit 52 is implemented by the input unit 72. In addition, the input unit 72 serves to input a learned model. The output unit 75 serves to output a learned model and output an output verification item.
Details of the processor 73 and the memory 74 are similar to those of the processor 63 and the memory 64 illustrated in
The configurations described in the above-mentioned embodiments indicate examples of the content of the present disclosure. The configurations of the embodiments can be combined with another well-known technique. The configurations of the embodiments may be combined with each other as appropriate. Some of the configurations of the embodiments can be omitted or changed without departing from the gist of the present disclosure.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/007985 | 3/2/2021 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2022/185418 | 9/9/2022 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
10761963 | Huang | Sep 2020 | B2 |
20080250397 | Dahms | Oct 2008 | A1 |
20100088548 | Gulwani | Apr 2010 | A1 |
20180007082 | Ha | Jan 2018 | A1 |
Number | Date | Country |
---|---|---|
108153284 | Jun 2018 | CN |
2005-044316 | Feb 2005 | JP |
6150953 | Jun 2017 | JP |
2020-121338 | Aug 2020 | JP |
6833129 | Feb 2021 | JP |
2016194099 | Dec 2016 | WO |
2021210071 | Oct 2021 | WO |
Entry |
---|
International Search Report and Written Opinion mailed on May 18, 2021, received for PCT Application PCT/JP2021/007985, filed on Mar. 2, 2021, 8 pages including English Translation. |
Notice of Reasons for Refusal mailed on Nov. 2, 2021, received for JP Application 2021-544246, 6 pages Including English Translation. |
Decision to Grant mailed on Mar. 8, 2022, received for JP Application 2021-544246, 5 pages including English Translation. |
Chinese Office Action issued Mar. 1, 2024, in corresponding Chinese Patent Application No. 202180088791.6 and an English machine translation thereof. |
Number | Date | Country | |
---|---|---|---|
20240037016 A1 | Feb 2024 | US |