This application is a National Stage of International Application No. PCT/JP2016/054190 filed Feb. 12, 2016, the contents of all of which are incorporated herein by reference in their entirety.
The present invention relates to an engineering tool that creates a control program.
An operation check is performed on a control program by using a conventional engineering tool while the engineering tool is connected to the actual control-target device or a simulator. The operation check is generally performed using a technique where, while the control program to be checked is executed, a user monitors and checks the situation of the control program. Further, during the operation check, setting the initial values of the control program and setting parameters during execution are performed by the user entering and setting them.
With the above conventional method, there is a problem in that, in order to execute and check the control program, the user has multiple tasks and therefore the conventional method is time-consuming. Further, with the above method, the user needs to set initial values and parameters during execution beforehand in order to exhaustively check operations, and it takes time to create the initial values and parameters.
In response to the problems with the above conventional method, a device has been proposed that performs the operation check on a control program by using a model checking program (see Patent Literature 1).
Patent Literature 1: Japanese Patent Application Laid-open Publication No. H07-72787
However, with the device described in Patent Literature 1, a method of inputting a control specification that defines the operations to be performed by a control-target device and operations not to be performed by a control-target device is not disclosed. Thus, with the device described in Patent Literature 1, a method needs to be devised of inputting a control specification in order to perform the operation check using a model checking program.
The present invention is made in view of the above, and an object thereof is to provide an engineering tool that can easily input a control specification of a control-target device.
In order to solve the above problem and achieve the object, as aspect of the present invention provides an engineering tool that includes a display area that is displayed on a display screen of a display device and that displays control specification descriptive expressions, and a temporal-operator imparted region. The temporal-operator imparted region is a region that is displayed in the display area and in which a temporal operator is imparted to a program module of the control specification descriptive expression.
The engineering tool according to the present invention produces an effect of being able to easily input a control specification of a control-target device.
An engineering tool according to an embodiment of the present invention will be described in detail below with reference to the drawings. Note that this embodiment is not intended to limit the present invention.
The engineering tool 6 is a computer that executes computer programs. The engineering tool 6 is connected to the control-target devices 2, 3, and 4 via the control device 5. The engineering tool 6 creates an SFC (Sequential Function Chart) program SP, which is a control program to be executed by the control device 5, and transmits it to the control device 5. The control device 5 executes the SFC program SP in order to control the control-target devices 2, 3, and 4. Although, in the first embodiment, the control device 5 is a programmable controller (JIS B 3502:2011; PLC), it is not limited to a PLC.
The engineering tool 6 is also a device that performs an operation check on the created SFC program SP. As illustrated in
The control creating program, the SFC program SP, and the model checking program MP are computer programs that the engineering tool 6, which is a computer, can execute and are engineering tool programs. When the engineering tool 6 executes the control creating program, the display device 62 displays a first display area 62a1 and second display areas 62a2 on the display screen 62a as illustrated in
In the first embodiment, the ladder program RP includes a bus line BL, which extends linearly in the vertical direction at the left end of the first display area 62a1 in
The program module RPM includes elements E that denote operations of the control-target devices 2, 3, and 4 and are arranged laterally or vertically in
The second display area 62a2 is a display area in which the SFC program SP, which controls the control-target devices 2, 3, and 4, is displayed. Although, in the first embodiment, two second display areas 62a2 are displayed above the first display area 62a1 on the display screen 62a, this is not a limitation.
In the first embodiment, the SFC program SP includes steps S associated with operations of the control-target devices 2, 3, and 4; transitions TJ associated with the transition condition between the steps S; and connecting lines LA. In the SFC program SP, the steps S and the transitions TJ are arranged alternately in the vertical direction, and the connecting lines LA connect the steps S and the transitions TJ. In the SFC program SP, the operation associated with each step S is performed in order, starting from the highest step S among the steps S, and if the transition condition associated with the transition TJ that is connected via the connecting line LA to the step S being executed is satisfied, the operation associated with the step S being executed is stopped. In the SFC program SP, the operation associated with the step S connected via the connecting line LA to the transition TJ whose transition condition has been satisfied is then performed.
The arithmetic unit 10 includes a control specification editing unit 11, which is a first creating unit, and a program editing unit 12, which is a second creating unit as illustrated in
The program editing unit 12 executes the control creating program to create the SFC program SP according to the operation inputs accepted by the input device 61. Although, in the first embodiment, the program editing unit 12 creates the SFC program SP, a program to be created is not limited to the SFC program. A program may be created in ladder language or ST (Structured Text) language. The ST language is a language defined by IEC 61131-3. The program editing unit 12 displays the steps S, the transitions TJ, and the connecting lines LA accepted by the input device 61 in the second display area 62a2 of the display screen 62a of the display device 62. When the input device 61 accepts an operation input to determine the SFC program SP displayed in the second display area 62a2, the program editing unit 12 stores the created SFC program SP in the storage device 63.
The state transition model converting unit 14 converts the SFC program SP into a state transition model JM, which is a code that can be input to the model checking program MP. The state transition model converting unit 14 converts the output source code of the SFC program SP stored in the storage device 63 and displayed in the second display area 62a2 into the state transition model JM, which can be input to the model checking program MP. The state transition model converting unit 14 executes a program to convert the SFC program SP into a machine language or a code of a lower level than the SFC program SP, i.e., what is called a compiler.
The control specification editing unit 11 executes the control creating program to create the program modules RPM of the ladder program RP according to operation inputs accepted by the input device 61. The control specification editing unit 11 displays the elements E and the connecting lines L accepted by the input device 61 in the first display area 62a1 of the display screen 62a of the display device 62.
The first display area 62a1 includes program display areas 62b for displaying the program modules RPM that are constituents of the ladder program RP and control specification display areas 62c for displaying the control specification, as illustrated in
The program display area 62b displaying the first program module RPM1 displays “Y1”, “Y2”, and “NOT” connected in series in the order they appear in this sentence from the left-end cell C toward the right-side cell C as the elements E. The cell C on the right of the cell C displaying “NOT” as the element E in the program display area 62b displaying the first program module RPM1 is a first temporal-operator imparted region in which a first temporal operator TO is imparted to the first program module RPM1. The cell C that is the first temporal-operator imparted region is hereinafter indicated by a reference symbol C1. The cell C1 is displayed in the first display area 62a1 and displays the first temporal operator TO in order to impart the first temporal operator TO to the first program module RPM1.
The program display area 62b displaying the second program module RPM2 displays “Y1”, the connecting line L, and “Y10” connected in series in the order they appear in this sentence from the left-end cell C toward the right-side cell C as the elements E. The program display area 62b displaying the second program module RPM2 displays “Y2” in the cell C under the cell C displaying “Y1” as the element E. “Y2” as the element E is connected by the connecting line L in parallel with “Y1” as the element E.
The cell C between the cell C displaying “Y1” as an element in the program display area 62b displaying the second program module RPM2 and the cell C displaying “Y10” as an element is a second temporal-operator imparted region in which a second temporal operator TO, which is different from the first temporal operator TO, is imparted to the second program module RPM2. The cell C that is the second temporal-operator imparted region is hereinafter indicated by a reference symbol C2. The cell C2 is displayed in the first display area 62a1 and displays the second temporal operator TO in order to impart the second temporal operator TO to the second program module RPM2. Hereinafter, if the first temporal operator TO is distinguished among the first temporal operator TO and the second temporal operator TO, a reference symbol 101 is used to denote it, and if the second temporal operator TO is distinguished, a reference symbol TO2 is used to denote it. If the first temporal operator TO and the second temporal operator TO are not distinguished, the reference symbol TO is used to denote them. As such, the cells C, C1, and C2 that are constituents of the program display areas 62b of the first display area 62a1 display the temporal operators TO as well as the elements E and the connecting lines L in accordance with operation inputs accepted by the input device 61.
The first temporal operator TO1 and the second temporal operator TO2 define when the elements E of the ladder program RP become true. In the first embodiment, the first temporal operator TO1 is “G” (Globally), which indicates that “Y1” as the element E, “Y2” as the element E, and “NOT” as the element E, which are connected, are always true. That is, the first temporal operator TO1 signifies operations of the control-target devices 2, 3, and 4 that are always true, i.e., operations that the control-target devices 2, 3, and 4 always perform.
In the first embodiment, the first program module RPM1 illustrates that “Y1” as the element E and “Y2” as the element E are not true simultaneously. The second temporal operator TO2 is “U” (Until), which indicates that “Y1” as the element E or “Y2” as the element E placed on the left of the second temporal operator TO2 is true until “Y10” as the element E placed on the right of the second temporal operator TO2 becomes true. The second program module RPM2 illustrates that “Y1” as the element E or “Y2” as the element E is true until “Y10” as the element E becomes true. That is, the second temporal operator TO2 indicates the relation between timings when respective operations of the control-target devices 2, 3, and 4 are performed.
Although, in the first embodiment, the engineering tool 6 uses “G” and “U” as the temporal operators TO, they are not limited to these. The engineering tool 6 may use “F” (Finally), which indicates that the element E is true at some moment, and “X” (Next), which indicates that the element E is true at the next moment, as well as “G” and “U”. “F” as the temporal operator TO is a temporal operator that signifies operations of the control-target devices 2, 3, and 4 that are true in the future, i.e., operations that the control-target devices 2, 3, and 4 are to perform in the future. “X” as the temporal operator TO is a temporal operator that indicates the relation between timings when operations of the control-target devices 2, 3, and 4 are performed.
The control specification editing unit 11 creates the first program module RPM1 and the second program module RPM2 as below. The control specification editing unit 11 displays the elements E and the connecting lines L accepted by the input device 61 in the cells C forming the first display area 62a1. The control specification editing unit 11 inputs the temporal operators TO1 and TO2 into the particular cells C1 and C2 among the cells C forming the first display area 62a1 as follows. The input device 61 accepts the selection of one or more cells C in which the temporal operator TO is to be imparted from among the cells C forming the first program module RPM1 and the second program module RPM2. In
In the first embodiment, “G”, which is the first temporal operator TO1, is input to the particular cell C1 illustrated in
The control specification editing unit 11 creates annunciators F for displaying the results in predetermined cells C among the cells C forming the first program module RPM1 and the second program module RPM2. The annunciators F for displaying the results indicate whether the SFC program SP satisfies the control specification defined by the first program module RPM1 and the second program module RPM2. In the first embodiment, the control specification editing unit 11 creates the annunciators F for displaying the results in the cells C at the right ends of the first program module RPM1 and the second program module RPM2, as illustrated in
Further, in the first embodiment, when the input device 61 accepts an operation input to determine the ladder program RP displayed in the first display area 62a1, the control specification editing unit 11 displays, in the first display area 62a1, the temporal operators TO1 and TO2, which are displayed in the program modules RPM1 and RPM2 of the ladder program RP, such that they correspond to the program modules RPM1 and RPM2 respectively. In the first embodiment, the control specification editing unit 11 displays the temporal operators TO1 and TO2, which are displayed in the program modules RPM1 and RPM2, on the left side of the program modules RPM1 and RPM2 of the first display area 62a1.
The control-specification-descriptive-expression converting unit 13 converts the first program module RPM1 and the second program module RPM2 of the ladder program RP into mathematical expressions NF, which can be input to the model checking program MP. The control-specification-descriptive-expression converting unit 13 converts the program modules RPM1 and RPM2 of the ladder program RP stored in the storage device 63 and displayed in the first display area 62a1 into the mathematical expressions NF, which can be input to the model checking program MP. The control-specification-descriptive-expression converting unit 13 executes a program to convert the first program module RPM1 and the second program module RPM2 of the ladder program RP into a machine language or a code of a lower level than the ladder program RP, i.e., what is called a compiler.
In the first embodiment, the control-specification-descriptive-expression converting unit 13 converts the first program module RPM1 into the mathematical expression NF given by the following expression 1 and converts the second program module RPM2 into the mathematical expression NF given by the following expression 2.
G(NOT(Y1 AND Y2)) Ex. 1
(Y1 OR Y2)U(Y10) Ex. 2
The model checking unit 15 executes the model checking program MP stored in the storage device 63 to determine whether the SFC program SP created by the user satisfies the program modules RPM1 and RPM2, which define the control specification of the ladder program RP. The model checking unit 15 displays the determination result indicating whether the SFC program SP satisfies the program modules RPM1 and RPM2 in the annunciators F of the program modules RPM1 and RPM2 of the first display area 62a1. The engineering tool 6 uses a NuSMV (new symbolic model checker) or SPIN model checker as the model checking program MP, but it is not limited to these.
When accepting an operation input to execute the control creating program from the input device 61, the engineering tool 6 according to the first embodiment displays the first display area 62a1 and the second display areas 62a2 on the display screen 62a of the display device 62. With the engineering tool 6, the program editing unit 12 displays, in the second display areas 62a2, the SFC programs SP according to operation inputs accepted from the input device 61. With the engineering tool 6, when the input device 61 accepts an operation input to determine the SFC programs SP displayed in the second display areas 62a2, the program editing unit 12 stores the determined SFC programs SP in the storage device 63, and the state transition model converting unit 14 converts the SFC programs SP into the state transition model JM.
With the engineering tool 6, the control specification editing unit 11 displays, in the first display area 62a1, the ladder program RP according to operation inputs accepted from the input device 61. With the engineering tool 6, when the input device 61 accepts an operation input to determine the ladder program RP displayed in the first display area 62a1, the control specification editing unit 11 stores the determined ladder program RP in the storage device 63, and the control-specification-descriptive-expression converting unit 13 converts the program modules RPM1 and RPM2 of the ladder program RP into mathematical expressions NF.
With the engineering tool 6, when the input device 61 accepts an operation input of a check run area 100 to run the operation check on the SFC programs SP illustrated in
The functions of the control specification editing unit 11, the program editing unit 12, the control-specification-descriptive-expression converting unit 13, the state transition model converting unit 14, and the model checking unit 15 of the arithmetic unit 10 are realized by the CPU 64 executing programs stored in the ROM 66 and the storage device 63 while using the RAM 65 as a work area. The programs are realized by software, firmware, or a combination of software and firmware. The program stored in the ROM 66 is a BIOS (Basic Input Output System) or a UEFI (Unified Extensible Firmware Interface) but it is not limited to the BIOS or UEFI. In the first embodiment, the programs stored in the storage device 63 are an operating system program, the control creating program, the SFC program SP, and the model checking program MP, but they are not limited to the operating system program, the control creating program, the SFC program SP, and the model checking program MP. In the first embodiment, the storage device 63 is an SSD (Solid State Drive) or a HDD (Hard Disk Drive) but it is not limited to an SSD or HDD.
The input device 61 accepts operation inputs from the user. In the first embodiment, the input device 61 is a keyboard or a mouse but is not limited to a keyboard or a mouse. The display device 62 displays text and images. In the first embodiment, a liquid crystal display is cited as an example of the display device 62. The communication interface 67 communicates with the control device 5. The communication interface 67 is connected to the control device 5; therefore, the engineering tool 6 is connected to the control-target devices 2, 3, and 4.
Next, an example of the operation of the engineering tool 6 according to the first embodiment will be described using an example SFC program SP created by the engineering tool 6.
With the engineering tool 6, the program editing unit 12 accepts operation inputs from the input device 61 and executes the control creating program; therefore, the SFC program SP illustrated in
At step S3, the SFC program SP sets D0 to 0 and increments D1 by 1 and returns to step S2 until a transition TJ3 designating D1=9 is satisfied, and steps S2 and S3 are repeated until the transition TJ3 is satisfied. When the transition TJ3 designating D1=9 is satisfied, the SFC program SP transitions to step S4. At step S4, the SFC program SP increments D2 by one and returns to step S2 until a transition TJ4 designating D2=9 is satisfied, and steps S2, S3, and S4 are repeated until the transition TJ4 is satisfied. When the transition TJ4 designating D2=9 is satisfied, the SFC program SP ends. Further, the SFC program SP illustrated in
With the engineering tool 6, when the SFC program SP illustrated in
With the engineering tool 6, the control specification editing unit 11 accepts operation inputs from the input device 61 and executes the control creating program; therefore, the ladder program RP illustrated in
With the engineering tool 6, when the ladder program RP illustrated in
F(D0=5&D1=5&D2=5) Ex. 3
When accepting an operation input to run a check, the engineering tool 6 displays, in the annunciator F of the ladder program illustrated in
The engineering tool 6 according to the first embodiment includes the cell C1, which is the first temporal-operator imparted region, in which the first temporal operator TO1 is imparted to the first program module RPM1 of the ladder program RP, in the first display area 62a1, which displays the ladder program RP that is the control specification descriptive expression. Further, the engineering tool 6 includes the cell C2, which is the second temporal-operator imparted region, in which the second temporal operator TO2 is imparted to the second program module RPM2, the second temporal operator TO2 being different from the first temporal operator TO1. Thus, the engineering tool 6 can impart various temporal operators TO to the ladder program RP that is the control specification descriptive expression.
Further, with the engineering tool 6, the ladder program RP that is the control specification descriptive expression defines the control specification of the control-target devices 2, 3, and 4. Thus, the engineering tool 6 can easily input the control specification of the control-target devices 2, 3, and 4 by using the ladder program RP that is the control specification descriptive expression, to which the temporal operators TO can be imparted. Therefore, the engineering tool 6 can easily perform the operation check on the SFC program SP.
Further, the engineering tool 6 according to the first embodiment includes the control specification editing unit 11, which creates the first program module RPM1 and the second program module RPM2; and the control-specification-descriptive-expression converting unit 13, which converts the first program module RPM1 and the second program module RPM2 into mathematical expressions NF, which can be input to the model checking program MP. Thus, the engineering tool 6 can input the ladder program RP created by using the control specification editing unit 11 to the model checking program MP without a special operation by the user. Therefore, by using the ladder program RP, the engineering tool 6 can easily input the control specification of the control-target devices 2, 3, and 4.
The engineering tool 6 according to the first embodiment includes the program editing unit 12, which creates the SFC program SP, which is the control program to control the control-target devices 2, 3, and 4; and the state transition model converting unit 14, which converts the SFC program SP into the state transition model JM, which is a code that can be input to the model checking program MP. Thus, the engineering tool 6 can input the SFC program SP created using the program editing unit 12 to the model checking program MP without a special operation by the user.
Further, the engineering tool 6 according to the first embodiment includes the program editing unit 12, which creates the SFC program SP, which is the control program to control the control-target devices 2, 3, and 4, and the second display areas 62a2, which are displayed on the display screen 62a of the display device 62 and display the SFC programs SP. Thus, the engineering tool 6 can create the SFC programs SP while the user checks the second display areas 62a2.
Further, the engineering tool 6 according to the first embodiment uses the ladder program RP as the control specification descriptive expression. Each conditional part of the ladder program RP can be converted into a single logical expression, i.e., a single temporal operator. Thus, the engineering tool 6 can impart any temporal operator TO to any position in the program module RPM of the ladder program RP that is the control specification descriptive expression and can impart various temporal operators TO to the ladder program RP that is the control specification descriptive expression.
The configuration illustrated in the above embodiment illustrates an example of the content of the present invention and can be combined with other publicly known techniques, and part of the configuration can be omitted or changed without departing from the spirit of the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2016/054190 | 2/12/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2017/138156 | 8/17/2017 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6301508 | Matsuura | Oct 2001 | B1 |
8712557 | Terae | Apr 2014 | B2 |
9471056 | Itakura | Oct 2016 | B2 |
10001767 | Takehisa | Jun 2018 | B2 |
20050033457 | Yamane | Feb 2005 | A1 |
20090182442 | Sethuraman et al. | Jul 2009 | A1 |
20120185233 | Albrecht | Jul 2012 | A1 |
20160085226 | Tanaka | Mar 2016 | A1 |
20160170397 | Takehisa | Jun 2016 | A1 |
20160370781 | Kudo | Dec 2016 | A1 |
Number | Date | Country |
---|---|---|
105074594 | Nov 2015 | CN |
7-072787 | Mar 1995 | JP |
10-063537 | Mar 1998 | JP |
2002-182709 | Jun 2002 | JP |
2005-063425 | Mar 2005 | JP |
2009-277135 | Nov 2009 | JP |
201546585 | Dec 2015 | TW |
Entry |
---|
Decision to Grant a Patent for Japanese Patent Application No. 2016-567885, dated Mar. 14, 2017. |
International Search Report of PCT/JP2016/054190, dated May 10, 2016. [PCT/ISA/210]. |
Communication dated May 28, 2018, from the State Intellectual Property Office of People's Republic of China in counterpart Application No. 201680003809.7. |
Office Action dated Feb. 22, 2019 in Chinese Application No. 201680003809.7. |
Number | Date | Country | |
---|---|---|---|
20180059634 A1 | Mar 2018 | US |