WO2020184195A1 - ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム - Google Patents

ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム Download PDF

Info

Publication number
WO2020184195A1
WO2020184195A1 PCT/JP2020/007914 JP2020007914W WO2020184195A1 WO 2020184195 A1 WO2020184195 A1 WO 2020184195A1 JP 2020007914 W JP2020007914 W JP 2020007914W WO 2020184195 A1 WO2020184195 A1 WO 2020184195A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
ladder diagram
replacement
program
diagram program
Prior art date
Application number
PCT/JP2020/007914
Other languages
English (en)
French (fr)
Inventor
慎太郎 岩村
小林 修一
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP20770644.1A priority Critical patent/EP3940472B1/en
Priority to CN202080013655.6A priority patent/CN113454547A/zh
Priority to US17/432,942 priority patent/US11853025B2/en
Publication of WO2020184195A1 publication Critical patent/WO2020184195A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13115Optimize ladder diagram block by rearrangement of serial and parallel

Definitions

  • the present invention relates to a technique for supporting the creation of a ladder diagram program to be executed by a PLC (programmable controller) or the like.
  • ladder diagram programs to be executed by PLC are often created on a general-purpose computer such as a personal computer and uploaded to PLC.
  • the general-purpose computer has a program that executes a creation function for creating a ladder diagram program, an editing function for editing a ladder diagram program, an upload function for uploading a ladder diagram program to a PLC, a download function for downloading a ladder diagram program from a PLC, and the like. It is installed.
  • Patent Document 1 As a device that supports the creation of a ladder diagram program, there is one described in Patent Document 1.
  • the apparatus of Patent Document 1 is intended to easily and quickly perform an operation of converting a part of a ladder diagram program into a function block program (FB program).
  • FB program function block program
  • the device When the operator selects an area in the ladder diagram program that he / she wants to convert into the FB program, the device generates and displays a guide screen for defining variables necessary for converting the selected area into the FB program.
  • this device generates an FB program for the selected area based on the contents of each variable defined by the operator according to the display of the guidance screen.
  • this device defines the variable type of each variable on the guidance screen by the variable type information obtained based on the operand of each instruction included in the ladder diagram program of the selected area and known information. ..
  • the partial circuit referred to here is composed of a plurality of contacts.
  • a contact point is the smallest unit of a ladder diagram program that has a logical meaning.
  • An object of the present invention is to provide a technique for easily editing a ladder diagram program in which the same partial circuit appears repeatedly into a ladder diagram program with improved readability and debugging efficiency.
  • the ladder diagram program creation support device of the present invention is configured as follows in order to achieve the above object.
  • the partial circuit selection unit selects a partial circuit consisting of a plurality of contacts in the ladder diagram program.
  • the substitution circuit generation unit generates a substitution circuit composed of a smaller number of contacts than the partial circuit selected by the partial circuit selection unit.
  • the auxiliary circuit generation unit generates an auxiliary circuit that causes the replacement circuit generated by the replacement circuit generation unit to perform the same operation as the partial circuit selected by the partial circuit selection unit.
  • the program editorial unit performs a replacement process on the ladder diagram program to replace the partial circuit appearing in the ladder diagram program with the replacement circuit generated by the replacement circuit generation unit, and the auxiliary circuit generation unit generates it.
  • the auxiliary circuit insertion process for inserting the added auxiliary circuit into the ladder diagram program is performed.
  • this subcircuit is replaced with a replacement circuit having fewer contacts. Further, since the auxiliary circuit is inserted into the ladder diagram program, the replaced replacement circuit can be made to operate in the same manner as the corresponding subcircuit. As a result, the readability of the ladder diagram program and the debugging efficiency can be improved.
  • the subcircuit selection unit may be configured to select a circuit consisting of a plurality of contacts designated as inputs as a subcircuit. Further, the partial circuit selection unit may be configured to extract a circuit composed of a plurality of contacts and appearing more than a predetermined number of times as a partial circuit in the ladder diagram program. In this case, the subcircuit selection unit may be configured to display the extracted subcircuit and present it to the operator to select the subcircuit to be replaced with the replacement circuit, or automatically replace the extracted subcircuit. It may be configured to be selected as a partial circuit to be replaced with a circuit.
  • an auxiliary circuit output unit that outputs an auxiliary circuit corresponding to the selected replacement circuit is additionally provided. Good. With this configuration, the operator can easily check the auxiliary circuit and the partial circuit corresponding to the replacement circuit.
  • the program editorial unit selects the partial circuit appearing after this step.
  • the configuration may be such that replacement with a replacement circuit is prohibited. With this configuration, it is possible to prevent a bug in the ladder diagram program by replacing the partial circuit with a replacement circuit (preventing the operating state of the partial circuit from being different from that of the replacement circuit in which this partial circuit is replaced). it can.).
  • auxiliary circuit insertion process if a step including a coil of a contact belonging to the subcircuit selected by the subcircuit selection unit appears in the ladder diagram program, the program editorial unit will perform this step and the part after this step.
  • the auxiliary circuit generated by the auxiliary circuit generation unit may be inserted between the step in which the circuit first appears. Even with this configuration, by replacing the partial circuit with a replacement circuit, it is possible to prevent a bug in the ladder diagram program.
  • the program editorial unit corresponds to the replacement circuit appearing after this added step. It may be configured to replace with a circuit. With this configuration, the operator can perform editing work to add steps to this ladder diagram program without worrying about whether or not the ladder diagram program has been edited by replacing the partial circuit with a replacement circuit. ..
  • the program editorial unit when a step including a coil of a contact belonging to a partial circuit replaced with a replacement circuit is added to the ladder diagram program, the program editorial unit generates an auxiliary circuit generator immediately after the added step.
  • the auxiliary circuit may be inserted.
  • a ladder diagram program in which the same partial circuit appears repeatedly can be easily edited into a ladder diagram program with improved readability and debugging efficiency.
  • Ladder diagram This is a block diagram showing the configuration of the main part of the program creation support device. It is a block diagram which shows the functional structure of a control part. It is a figure which shows the ladder figure program.
  • Ladder diagram This is a flowchart showing the operation of the program creation support device. 5 (A) is a partial circuit, FIG. 5 (B) is a replacement circuit, and FIG. 5 (C) is an auxiliary circuit. It is a figure which shows the edited ladder diagram program. It is a figure which shows the ladder diagram program which concerns on another example. It is a flowchart which shows the operation of the ladder diagram program creation support apparatus which concerns on another example. It is a figure which shows the ladder diagram program edited by the ladder diagram program creation support apparatus which concerns on another example.
  • FIG. 1 is a block diagram showing the configuration of the main part of the ladder diagram program creation support device according to this example.
  • the ladder diagram program creation support device 1 of this example includes a control unit 2, an input operation unit 3, a display unit 4, a storage unit 5, and an input / output unit 6.
  • the ladder diagram program creation support device 1 has a creation function for creating a ladder diagram program, an editing function for editing a ladder diagram program, an upload function for uploading a ladder diagram program to a PLC, a download function for downloading a ladder diagram program from a PLC, and the like. It can be realized on a general-purpose computer that has a program installed to execute. This computer executes the ladder diagram program creation support method according to the present invention. Further, the ladder diagram program creation support program according to the present invention is installed in this computer.
  • the control unit 2 controls the operation of each part of the main body of the ladder diagram program creation support device 1.
  • the input operation unit 3 has an input device such as a keyboard and a mouse, and accepts input according to the operation of the input device by the operator.
  • the display unit 4 has a display device such as a display, and displays the ladder diagram program being processed at that time, the state of the ladder diagram program creation support device 1 main body at that time, and the like.
  • the storage unit 5 has a storage medium such as a hard disk or a memory, and stores programs, data, a ladder diagram program, etc. necessary for the operation of the ladder diagram program creation support device 1 main body.
  • the input / output unit 6 inputs / outputs a ladder diagram program (uploads and downloads of the ladder diagram program) to and from a PLC (programmable controller) (not shown).
  • PLC programmable controller
  • FIG. 2 is a block diagram showing the functional configuration of the control unit.
  • the control unit 2 includes a partial circuit selection unit 21, a replacement circuit generation unit 22, an auxiliary circuit generation unit 23, a program editing unit 24, and an auxiliary circuit output unit 25.
  • the ladder diagram program 20 shown in FIG. 2 is a program being processed at that time, and is developed by the control unit 2.
  • the partial circuit selection unit 21 selects a partial circuit composed of a plurality of contacts in the ladder diagram program 20 being processed at that time. That is, the partial circuit selected by the partial circuit selection unit 21 is composed of a plurality of contacts. A contact is the smallest unit and variable of a ladder diagram program that has a logical meaning.
  • the replacement circuit generation unit 22 generates a replacement circuit having fewer contacts than the partial circuit selected by the partial circuit selection unit 21.
  • the replacement circuit is preferably a circuit consisting of a single contact.
  • the auxiliary circuit generation unit 23 generates an auxiliary circuit that causes the replacement circuit generated by the replacement circuit generation unit 22 to operate in the same manner as the partial circuit selected by the partial circuit selection unit 21.
  • the program editing unit 24 performs various editing processes on the ladder diagram program 20. For example, the program editing unit 24 performs a replacement process of replacing the partial circuit appearing in the ladder diagram program 20 with a replacement circuit. Further, the program editing unit 24 performs an auxiliary circuit insertion process of inserting the auxiliary circuit generated by the auxiliary circuit generation unit 23 into an appropriate place in the ladder diagram program 20. In the auxiliary circuit insertion process, the replacement circuit generation unit 22 generates and inserts the replacement circuit replaced by the replacement process at a location where the operation is the same as that of the corresponding subcircuit.
  • the auxiliary circuit output unit 25 outputs the auxiliary circuit corresponding to the selected replacement circuit.
  • the auxiliary circuit output by the auxiliary circuit output unit 25 is displayed on the display or the like of the display unit 4.
  • FIG. 3 is a diagram showing a ladder diagram program.
  • FIG. 3 shows a part of the ladder diagram program 20 (3 steps from n + 1 step to n + 3 step).
  • One step is the ladder circuit. That is, the ladder diagram program 20 is composed of one or more ladder circuits.
  • a partial circuit in which the contact a, the contact b, and the contact c are connected in series appears in the three ladder circuits of n + 1 step, n + 2 step, and n + 3 step.
  • a subcircuit is a part of a circuit element that constitutes a rudder circuit (a rudder circuit is not composed of one subcircuit).
  • the contact a is the variable var1
  • the contact b is the variable var2
  • the contact c is the variable var3.
  • the FB shown in FIG. 3 is a function block.
  • FIG. 4 is a flowchart showing the operation of the ladder diagram program creation support device of this example.
  • the ladder diagram program 20 shown in FIG. 3 is displayed on the display of the display unit 4.
  • the operator operates an input device (mouse or the like) of the input operation unit 3 to select a partial circuit to be edited.
  • the operator confirms a partial circuit that appears repeatedly in the ladder diagram program 20 to be processed (the ladder diagram program 20 displayed on the display), and selects the partial circuit.
  • the subcircuit selected by the operator consists of a plurality of contacts. In other words, the operator cannot select a single contact as a subcircuit.
  • the replacement circuit generation unit 22 When the partial circuit selection unit 21 accepts the selection of the partial circuit by the operator (s1), the replacement circuit generation unit 22 generates a replacement circuit that replaces the partial circuit that has received the selection this time (s2).
  • a replacement circuit composed of a smaller number of contacts than the number of contacts belonging to the partial circuit received this time here, three contacts a, b, and c
  • the replacement circuit is a circuit composed of one contact A.
  • the contact point A is a variable varA.
  • the replacement circuit generated in s2 is a circuit capable of performing the same operation as the partial circuit selected in s1.
  • the replacement circuit may be composed of two or more contacts. However, the condition is that the number of contacts constituting the replacement circuit is smaller than the number of contacts constituting the partial circuit.
  • the auxiliary circuit generation unit 23 generates an auxiliary circuit for causing the replacement circuit generated by the replacement circuit generation unit 22 in s2 to perform the same operation as the partial circuit whose selection is accepted in s1 (s3).
  • a partial circuit (see FIG. 5 (A)) in which the contact a, the contact b, and the contact c are connected in series is selected, and the contact A (see FIG. 5 (B)) is selected.
  • the auxiliary circuit shown in FIG. 5C is generated.
  • this auxiliary circuit is a circuit in which a contact a, a contact b, a contact c, and a coil A of the contact A connected in series are connected in series.
  • the auxiliary circuit is used as one step of the ladder diagram program 20. That is, the auxiliary circuit is a ladder circuit.
  • the program editing unit 24 inserts the auxiliary circuit generated in s3 into the step immediately before the partial circuit whose selection is accepted in s1 for the ladder diagram program 20 to be processed (s4). For example, when the circuit in which the contact a, the contact b, and the contact c are connected in series, which appears in the n + 1 step ladder circuit shown in FIG. 3, is selected as a partial circuit, the program editing unit 24 uses s3.
  • the generated auxiliary circuit is inserted into the n steps of the ladder diagram program 20 to be processed (actually, the inserted auxiliary circuit becomes the ladder circuit of n + 1 steps in the ladder diagram program 20 to be processed, and the subsequent ladder circuits.
  • the step number of is counted up one by one.)
  • the program editorial unit 24 searches the ladder diagram program 20 to be processed in order for the steps after the step in which the auxiliary circuit is inserted in s4, and the ladder circuit in which the partial circuit that accepts the selection in s1 appears ( When step) is extracted (s5), the partial circuit appearing in the ladder circuit extracted here is replaced with the replacement circuit generated in s2 (s6).
  • the program editorial unit 24 repeats the processes of s5 and s6. If the program editing unit 24 cannot extract the ladder circuit in which the partial circuit whose selection has been accepted in s1 appears from the ladder diagram program 20 to be processed (the ladder circuit which is the final step of the ladder diagram program 20 to be processed). On the other hand, when the processes related to s5 and s6 are completed), this process is terminated.
  • FIG. 6 is a diagram showing a ladder diagram program 20 obtained by editing the ladder diagram program 20 shown in FIG. 3 by the above-described processing. Therefore, the ladder diagram program 20 can easily replace a partial circuit composed of a plurality of contacts with a replacement circuit composed of a smaller number of contacts. As a result, the readability of the ladder diagram program 20 and the debugging efficiency can be improved.
  • the hardware of the ladder diagram program creation support device 1 according to this other example is the same as that of the above example.
  • the ladder diagram program creation support device 1 according to this other example is different from the above example in that the process shown in FIG. 8 described later is performed instead of the process shown in FIG.
  • FIG. 7 is a diagram showing another example of the ladder diagram program.
  • the ladder diagram program 20 shown in FIG. 7 is obtained by adding n + 4 steps and n + 5 steps to the ladder diagram program shown in FIG.
  • the n + 4 step is a ladder circuit including the coil a of the contact a.
  • the n + 5 step is a ladder circuit in which a partial circuit in which the contact a, the contact b, and the contact c are connected in series appears as in the n + 1 step to the n + 3 step.
  • FIG. 8 is a flowchart showing the operation of the ladder diagram program creation support device of this other example.
  • the same step numbers (s #) are assigned to the same processes as in FIG.
  • the ladder diagram program creation support device 1 according to this other example also executes the above-mentioned processes s1 to s5.
  • the program editing unit 24 When the ladder circuit in which the partial circuit whose selection is accepted in s1 appears in s5 is extracted from the ladder diagram program 20 to be processed, the program editing unit 24 performs the following processing.
  • the program editing unit 24 is a contact belonging to this partial circuit between the step in which the auxiliary circuit is inserted in s4 and the ladder circuit in which the partial circuit extracted in s5 appears this time. It is determined whether or not there is a ladder circuit (corresponding ladder circuit) including the coil of (s10). If there is no corresponding ladder circuit, the program editing unit 24 replaces the partial circuit appearing in the ladder circuit extracted this time with the replacement circuit generated in s2 (s6). Further, when the program editing unit 24 determines that there is a corresponding ladder circuit in s10, the program editing unit 24 ends this process without replacing the partial circuit appearing in the ladder circuit extracted this time with the replacement circuit generated in s2. ..
  • FIG. 9 is a diagram showing a ladder diagram program 20 obtained by editing the ladder diagram program 20 shown in FIG. 7 by the above-described processing. Therefore, even if the ladder diagram program 20 is edited by the process shown in FIG. 8, no bug occurs in step n + 5 in the edited ladder diagram program (ladder diagram program shown in FIG. 9).
  • ladder diagram program creation support device The hardware of the ladder diagram program creation support device 1 according to this other example is the same as the above two examples.
  • the ladder diagram program creation support device 1 according to this other example is different from the above example in that the process shown in FIG. 10 is performed instead of the process shown in FIG. 4 or 8.
  • FIG. 10 is a flowchart showing the operation of the ladder diagram program creation support device according to this other example.
  • the same step numbers (s #) are assigned to the same processes as those shown in FIGS. 4 or 8.
  • the program editing unit 24 also executes the processes of s1 to s5 described above. Further, in s10, the program editorial unit 24 inserts the auxiliary circuit in s4 in the ladder diagram program 20 to be processed, and inserts the auxiliary circuit between the ladder circuit in which the partial circuit extracted in s5 appears this time. It is determined whether or not there is a ladder circuit (corresponding ladder circuit) including the coil of the contact belonging to the partial circuit.
  • the program editing unit 24 replaces the partial circuit appearing in the ladder circuit extracted this time with the replacement circuit generated in s2 (s6). Further, when the program editing unit 24 determines that there is a corresponding ladder circuit in s10, it inserts the auxiliary circuit generated in s3 into the step immediately before the ladder circuit extracted in s5 this time (s11). Further, the program editorial unit 24 replaces the partial circuit of the ladder circuit extracted this time in s5 with the replacement circuit generated in s2 (s6). The program editorial unit 24 repeats the processes related to s5, s6, s10, and s11. If the ladder circuit in which the partial circuit whose selection is accepted in s1 appears cannot be extracted from the ladder diagram program 20 to be processed in s5, the program editing unit 24 ends this process.
  • the position where the auxiliary circuit is inserted in s11 is not limited to the step immediately before the ladder circuit extracted in s5 this time, but the step related to the ladder circuit including the coil of the contact belonging to the partial circuit whose selection was accepted in s1 and this time. It may be inserted anywhere between the step immediately before the ladder circuit extracted in s5.
  • FIG. 11 is a diagram showing a ladder diagram program obtained by editing the ladder diagram program shown in FIG. 7 by the process shown in FIG. Therefore, even if the ladder diagram program 20 is edited by the process shown in FIG. 10, in the edited ladder diagram program 20 (ladder diagram program 20 shown in FIG. 11), step n + 6 (corresponding to step n + 5 in FIG. 3). No bugs occur.
  • FIG. 12 is a flowchart showing a candidate extraction process for extracting candidates for a partial circuit to be replaced with respect to the ladder diagram program to be processed.
  • the partial circuit selection unit 21 extracts a partial circuit that has appeared more than a predetermined number of times (for example, 5 times) for the ladder diagram program 20 to be processed (s21).
  • the ladder diagram program creation support device 1 performs an output process of listing the subcircuits extracted by the subcircuit selection unit 21 in s21 and displaying them on the display of the display unit 4 (s22).
  • FIG. 13 is a diagram showing a screen displayed on the display in the output processing of s12. As shown in FIG. 13, the display unit 4 displays the partial circuit extracted in s21 and the number of appearances thereof in association with each other.
  • the ladder diagram program creation support device 1 executes any of the processes shown in FIGS. 4, 8 or 11 described above. It may be configured. Further, the ladder diagram program creation support device 1 may be configured to automatically select the partial circuit having the largest number of appearances and execute any of the processes shown in FIGS. 4, 8 or 11 described above. ..
  • the ladder diagram program creation support device 1 determines that the circuits having the same contacts and the same operation are the same partial circuits even if the connection forms of the contacts do not match. To do.
  • FIG. 14A is a circuit in which the contact a, the contact b, and the contact c are connected in series in this order.
  • FIG. 14B is a circuit in which the contact a, the contact c, and the contact b are connected in series in this order.
  • FIG. 14C is a circuit in which the contact b, the contact c, and the contact a are connected in series in this order.
  • FIG. 14D is a circuit in which the contact a, the contact c, and the contact b are connected in series in this order, and the contact x whose variable is varX is inserted in series between the contact c and the contact b.
  • the ladder diagram program creation support device 1 is selected when the replacement circuit to be replaced is selected in the ladder diagram program edited by any of the processes shown in FIG. 4, FIG. 8, or FIG. 11 described above.
  • the auxiliary circuit corresponding to the replaced circuit is displayed on the display of the display unit 4 (see FIG. 15).
  • FIG. 15 shows the auxiliary circuit corresponding to the selected contact A displayed at the bottom of the screen (the area surrounded by the rectangle shown by the broken line) when the contact A whose variable is the variable circled by the broken line is selected. An example is shown.
  • the ladder diagram program creation support device 1 is edited by the operator to add a step (ladder circuit) to the ladder diagram program edited by any of the processes shown in FIGS. 4, 8 or 11. Then, the replacement optimization process shown in FIG. 16 is performed.
  • the coil of the contact (target coil) belonging to the partial circuit in which the ladder circuit of the step added by the operation of the operator is replaced with the replacement circuit by any of the processes shown in FIGS. 4, 8 or 11. ) Is included (s31). If the ladder circuit of the step added this time does not include the target coil, the program editorial unit 24 ends this process. Further, if the ladder circuit of the step added this time includes the target coil, the program editorial unit 24 returns each replacement circuit appearing after the step added this time to the corresponding partial circuit (s32). This process ends.
  • the replacement optimization process shown in FIG. 13 may be the process shown in FIG. In FIG. 17, instead of the process related to s32, the corresponding auxiliary circuit is inserted immediately after the step (ladder circuit) added this time (s33), and this process is terminated. As a result, the same effect as described above is obtained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)

Abstract

部分回路選択部は、ラダー図プログラムにおける複数の接点からなる部分回路を選択する。置換回路生成部は、選択された部分回路よりも個数の少ない接点からなる置換回路を生成する。補助回路生成部は、置換回路に、部分回路と同じ動作をさせる補助回路を生成する。プログラム編集部は、ラダー図プログラムに対して、このラダー図プログラムに出現している部分回路を置換回路に置き換える置換処理を行うとともに、補助回路をラダー図プログラムに挿入する補助回路挿入処理を行う。

Description

ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
 この発明は、PLC(プログラマブルコントローラ)等で実行させるラダー図プログラムの作成を支援する技術に関する。
 従来、PLC(プログラマブルコントローラ)で実行させるラダー図プログラムは、パーソナルコンピュータ等の汎用コンピュータで作成し、PLCにアップロードしているケースが多い。汎用コンピュータには、ラダー図プログラムを作成する作成機能、ラダー図プログラムを編集する編集機能、ラダー図プログラムをPLCへアップロードするアップロード機能、ラダー図プログラムをPLCからダウンロードするダウンロード機能等を実行させるプログラムがインストールされている。
 また、ラダー図プログラムの作成を支援する装置として、特許文献1に記載されたものがある。この特許文献1の装置は、ラダー図プログラムの一部をファンクションブロックプログラム(FBプログラム)に変換する操作を簡単且つ迅速に行うことを目的としたものである。この装置は、オペレータがラダー図プログラム中のFBプログラムに変換したい領域を選択すると、この選択された領域をFBプログラムに変換するのに必要な変数定義用の案内画面を生成し表示する。また、この装置は、オペレータが案内画面の表示にしたがって定義した各変数の内容に基づき、選択された領域のFBプログラムを生成する。さらに、この装置は、案内画面において、各変数の変数種別を、選択された領域のラダー図プログラム中に含まれる各命令のオペランドと既知の情報とに基づいて求められた変数種別情報により定義する。
特開2008- 33913号公報
 しかしながら、同じ部分回路が繰り返し何度も出現するラダー図プログラムは、その規模が大きくなるとともに、煩雑なものになり、可読性、およびデバッグ効率を低下させる。ここで言う部分回路は、複数の接点で構成されるものである。また、接点は、論理的な意味を持つラダー図プログラムの最小単位である。
 この発明の目的は、同じ部分回路が繰り返し出現するラダー図プログラムを、可読性、およびデバッグ効率を向上させたラダー図プログラムに簡単に編集する技術を提供することにある。
 この発明のラダー図プログラム作成支援装置は、上記目的を達するために以下のように構成している。
 部分回路選択部は、ラダー図プログラムにおける複数の接点からなる部分回路を選択する。置換回路生成部は、部分回路選択部が選択した部分回路よりも個数の少ない接点からなる置換回路を生成する。また、補助回路生成部は、置換回路生成部が生成した置換回路に、部分回路選択部が選択した部分回路と同じ動作をさせる補助回路を生成する。
 そして、プログラム編集部は、ラダー図プログラムに対して、このラダー図プログラムに出現している部分回路を、置換回路生成部が生成した置換回路に置き換える置換処理を行うとともに、補助回路生成部が生成した補助回路をラダー図プログラムに挿入する補助回路挿入処理を行う。
 したがって、複数の接点からなる部分回路を選択することで、この部分回路が、より接点が少ない置換回路に置き換えられる。また、補助回路をラダー図プログラムに挿入するので、置き換えた置換回路に、対応する部分回路と同じ動作をさせることができる。これにより、ラダー図プログラムの可読性、およびデバッグ効率を向上させることができる。
 なお、部分回路選択部は、入力指定された複数の接点からなる回路を、部分回路として選択する構成にしてもよい。また、部分回路選択部は、ラダー図プログラムにおいて、複数の接点からなり、且つ予め定めた回数を越えて出現している回路を、部分回路として抽出する構成にしてもよい。この場合、部分回路選択部は、抽出した部分回路を表示する等して、オペレータに提示して置換回路に置き換える部分回路を選択させる構成にしてもよいし、抽出した部分回路を自動的に置換回路に置き換える部分回路として選択する構成にしてもよい。
 また、ラダー図プログラムにおいて、プログラム編集部が置換処理で置き換えた置換回路が選択されたとき、選択された置換回路に対応する補助回路を出力する補助回路出力部を追加的に備える構成にしてもよい。このように構成すれば、オペレータは、置換回路に対応する補助回路、および部分回路の確認が容易に行える。
 また、プログラム編集部は、置換処理において、部分回路選択部が選択した部分回路に属する接点のコイルを含むステップがラダー図プログラムに出現していれば、このステップ以降に出現している部分回路を置換回路に置き換えるのを禁止する構成にしてもよい。このように構成すれば、部分回路を置換回路に置き換えることにより、ラダー図プログラムにバグが生じるのを防止できる(部分回路と、この部分回路を置き換えた置換回路との動作状態が異なるのを防止できる。)。
 また、プログラム編集部は、補助回路挿入処理において、部分回路選択部が選択した部分回路に属する接点のコイルを含むステップがラダー図プログラムに出現していれば、このステップと、このステップ以降において部分回路が最初に出現しているステップとの間に、補助回路生成部が生成した前記補助回路を挿入する構成にしてもよい。このように構成しても、部分回路を置換回路に置き換えることにより、ラダー図プログラムにバグが生じるのを防止できる。
 また、プログラム編集部は、ラダー図プログラムに対して、置換回路に置き換えた部分回路に属する接点のコイルを含むステップが追加されたとき、この追加されたステップ以降に出現する置換回路を対応する部分回路に置き換える構成にしてもよい。このように構成すれば、オペレータは、部分回路を置換回路に置き換える編集を行ったラダー図プログラムであるかどうかを気にすることなく、このラダー図プログラムに対してステップを追加する編集作業が行える。
 また、プログラム編集部は、ラダー図プログラムに対して、置換回路に置き換えた部分回路に属する接点のコイルを含むステップが追加されたとき、この追加されたステップの直後に、補助回路生成部が生成した補助回路を挿入する構成にしてもよい。このように構成しても、オペレータは、部分回路を置換回路に置き換える編集を行ったラダー図プログラムであるかどうかを気にすることなく、このラダー図プログラムに対してステップを追加する編集作業が行える。
 この発明によれば、同じ部分回路が繰り返し出現するラダー図プログラムを、可読性、およびデバッグ効率を向上させたラダー図プログラムに簡単に編集できる。
ラダー図プログラム作成支援装置の主要部の構成を示すブロック図である。 制御部の機能構成を示すブロック図である。 ラダー図プログラムを示す図である。 ラダー図プログラム作成支援装置の動作を示すフローチャートである。 図5(A)は、部分回路、図5(B)は、置換回路、図5(C)は、補助回路を示す図である。 編集したラダー図プログラムを示す図である。 別の例にかかるラダー図プログラムを示す図である。 別の例にかかるラダー図プログラム作成支援装置の動作を示すフローチャートである。 別の例にかかるラダー図プログラム作成支援装置が編集したラダー図プログラムを示す図である。 別の例にかかるラダー図プログラム作成支援装置の動作を示すフローチャートである。 別の例にかかるラダー図プログラム作成支援装置が編集したラダー図プログラムを示す図である。 候補抽出処理を示すフローチャートである。 候補抽出処理の処理結果の表示例を示す図である。 図14(A)~(D)は、同一であると判断する部分回路を説明する図である。 表示部による表示画面例を示す図である。 置換適正化処理を示すフローチャートである。 別の例にかかる置換適正化処理を示すフローチャートである。
 以下、この発明の実施形態であるラダー図プログラム作成支援装置について説明する。
 図1は、この例にかかるラダー図プログラム作成支援装置の主要部の構成を示すブロック図である。この例のラダー図プログラム作成支援装置1は、制御部2と、入力操作部3と、表示部4と、記憶部5と、入出力部6と、を備えている。このラダー図プログラム作成支援装置1は、ラダー図プログラムを作成する作成機能、ラダー図プログラムを編集する編集機能、ラダー図プログラムをPLCへアップロードするアップロード機能、ラダー図プログラムをPLCからダウンロードするダウンロード機能等を実行させるプログラムをインストールした汎用のコンピュータで実現できる。このコンピュータが、この発明にかかるラダー図プログラム作成支援方法を実行する。また、この発明にかかるラダー図プログラム作成支援プログラムは、このコンピュータにインストールされる。
 制御部2は、ラダー図プログラム作成支援装置1本体各部の動作を制御する。
 入力操作部3は、キーボードやマウス等の入力デバイスを有し、オペレータによる入力デバイスの操作に応じた入力を受け付ける。
 表示部4は、表示器等の表示デバイスを有し、その時点で処理しているラダー図プログラムや、その時点におけるラダー図プログラム作成支援装置1本体の状態等を表示する。
 記憶部5は、ハードディスクやメモリ等の記憶媒体を有し、ラダー図プログラム作成支援装置1本体の動作に必要なプログラム、データ、ラダー図プログラム等を記憶する。
 入出力部6は、図示していないPLC(プログラマブルコントローラ)との間で、ラダー図プログラムの入出力(ラダー図プログラムのアップロードや、ダウンロード)等を行う。
 図2は、制御部の機能構成を示すブロック図である。制御部2は、部分回路選択部21と、置換回路生成部22と、補助回路生成部23と、プログラム編集部24と、補助回路出力部25とを備えている。図2に示すラダー図プログラム20は、その時点で処理しているプログラムであり、制御部2において展開されている。
 部分回路選択部21は、その時点で処理しているラダー図プログラム20における複数の接点からなる部分回路を選択する。すなわち、部分回路選択部21が選択する部分回路は、複数の接点からなる。接点は、論理的な意味を持つラダー図プログラムの最小単位であり、変数である。
 置換回路生成部22は、部分回路選択部21が選択した部分回路よりも少ない接点からなる置換回路を生成する。置換回路は、単一の接点からなる回路であるのが好ましい。
 補助回路生成部23は、置換回路生成部22が生成した置換回路に、部分回路選択部21が選択した部分回路と同じ動作をさせる補助回路を生成する。
 プログラム編集部24は、ラダー図プログラム20に対して、様々な編集処理を行う。例えば、プログラム編集部24は、ラダー図プログラム20に出現している部分回路を、置換回路に置き換える置換処理を行う。また、プログラム編集部24は、補助回路生成部23が生成した補助回路をラダー図プログラム20の適当な場所に挿入する補助回路挿入処理を行う。補助回路挿入処理では、置換回路生成部22が生成し、置換処理で置換した置換回路が、対応する部分回路と同じ動作になる場所に挿入する。
 補助回路出力部25は、選択された置換回路に対応する補助回路を出力する。補助回路出力部25が出力した補助回路は、表示部4の表示器等において表示される。
 以下、この例にかかるラダー図プログラム作成支援装置1の動作について説明する。
 図3は、ラダー図プログラムを示す図である。図3では、ラダー図プログラム20の一部(n+1ステップ~n+3ステップまでの3ステップ)を示している。1つのステップが、ラダー回路である。すなわち、ラダー図プログラム20は、1つ以上のラダー回路によって構成される。
 また、図3に示すラダー図プログラム20には、n+1ステップ、n+2ステップ、およびn+3ステップの3つのラダー回路において、接点a、接点b、および接点cが直列に接続された部分回路が出現している。部分回路は、ラダー回路を構成する一部の回路要素である(ラダー回路は、1つの部分回路で構成されない。)。接点aは、変数var1であり、接点bは、変数var2であり、接点cは、変数var3である。また、図3に示すFBは、ファンクションブロックである。
 図4は、この例のラダー図プログラム作成支援装置の動作を示すフローチャートである。ラダー図プログラム作成支援装置1では、図3に示すラダー図プログラム20が表示部4の表示器に表示される。オペレータは、入力操作部3の入力デバイス(マウス等)を操作して、編集する部分回路を選択する。例えば、オペレータは、処理対象のラダー図プログラム20(表示器に表示されているラダー図プログラム20)に繰り返し何度も出現している部分回路を確認し、その部分回路を選択する。オペレータが選択する部分回路は、複数の接点からなる。言い換えれば、オペレータは、単一の接点を部分回路として選択することはできない。
 部分回路選択部21が、オペレータによる部分回路の選択を受け付けると(s1)、置換回路生成部22が、今回選択を受け付けた部分回路を置換する置換回路を生成する(s2)。ここでは、オペレータは、接点a、接点b、および接点cが直列に接続された回路を部分回路として選択した場合を例にする。s2では、今回受け付けた部分回路に属する接点の個数(ここでは、接点a、接点b、および接点cの3つ)よりも少ない個数の接点で構成される置換回路を生成する。例えば、部分回路が、複数の接点からなる回路であれば、置換回路を1つの接点Aからなる回路にする。ここでは、接点Aは、変数varAとする。s2で生成する置換回路は、s1で選択された部分回路と同じ動作をさせることができる回路である。
 なお、置換回路は、2つ以上の接点で構成してもよい。但し、置換回路を構成する接点の個数は、部分回路を構成する接点の個数よりも少ないことが条件である。
 補助回路生成部23は、置換回路生成部22がs2で生成した置換回路に、s1で選択を受け付けた部分回路と同じ動作をさせるための補助回路を生成する(s3)。例えば、補助回路生成部23は、接点a、接点b、および接点cが直列に接続された部分回路(図5(A)参照)が選択され、且つ接点A(図5(B)参照)が、この部分回路の置換回路として生成されている場合、図5(C)に示す補助回路を生成する。この補助回路は、図示するように、直列に接続された接点a、接点b、接点c、および接点AのコイルAを直列に接続した回路である。補助回路は、ラダー図プログラム20の1つのステップとして用いる。すなわち、補助回路は、ラダー回路である。
 プログラム編集部24は、処理対象のラダー図プログラム20に対して、s3で生成した補助回路を、s1で選択を受け付けた部分回路の直前のステップに挿入する(s4)。例えば、プログラム編集部24は、図3に示すn+1ステップのラダー回路に出現している、接点a、接点b、および接点cが直列に接続された回路が部分回路として選択された場合、s3で生成した補助回路を、処理対象のラダー図プログラム20のnステップに挿入する(実際には、挿入した補助回路が処理対象のラダー図プログラム20におけるn+1ステップのラダー回路になり、これ以降のラダー回路のステップ番号が1つずつカウントアップされる。)。
 プログラム編集部24は、処理対象のラダー図プログラム20に対して、s4で補助回路を挿入したステップ以降のステップを順番に検索し、s1で選択を受け付けた部分回路が出現しているラダー回路(ステップ)を抽出すると(s5)、ここで抽出したラダー回路に出現している部分回路を、s2で生成した置換回路に置き換える(s6)。プログラム編集部24は、s5、およびs6の処理を繰り返す。プログラム編集部24は、s1で選択を受け付けた部分回路が出現しているラダー回路を処理対象のラダー図プログラム20から抽出できなければ(処理対象のラダー図プログラム20の最後のステップであるラダー回路に対して、s5、およびs6にかかる処理が完了すると)、本処理を終了する。
 例えば、図3のラダー図プログラム20では、プログラム編集部24は、ステップn+1、n+2、およびn+3のラダー回路に出現している部分回路(接点a、接点b、および接点cが直列に接続された回路)を、順番に置換回路(接点A)に置き換える。図6は、図3に示したラダー図プログラム20を、上述した処理によって編集したラダー図プログラム20を示す図である。したがって、ラダー図プログラム20は、複数の接点からなる部分回路を、より個数の少ない接点からなる置換回路に簡単に置き換えられる。これにより、ラダー図プログラム20の可読性、およびデバッグ効率を向上させることができる。
 次に、ラダー図プログラム作成支援装置の別の例について説明する。この別の例にかかるラダー図プログラム作成支援装置1のハードウェアは、上記した例と同じである。この別の例にかかるラダー図プログラム作成支援装置1は、図4に示した処理に換えて、後述する図8に示す処理を行う点で、上記の例と異なる。
 図7は、ラダー図プログラムの別の例を示す図である。図7に示すラダー図プログラム20は、図3に示したラダー図プログラムにn+4ステップ、およびn+5ステップを追加したものである。n+4ステップは、接点aのコイルaを含むラダー回路である。また、n+5ステップは、n+1ステップ~n+3ステップと同様に、接点a、接点b、および接点cが直列に接続された部分回路が出現しているラダー回路である。
 図8は、この別の例のラダー図プログラム作成支援装置の動作を示すフローチャートである。図8では、図4と同じ処理については、同じステップ番号(s#)を付している。この別の例にかかるラダー図プログラム作成支援装置1も、上記したs1~s5の処理を実行する。
 プログラム編集部24は、s5において、s1で選択を受け付けた部分回路が出現しているラダー回路を処理対象のラダー図プログラム20から抽出すると、以下に示す処理を行う。
 プログラム編集部24は、処理対象のラダー図プログラム20において、s4で補助回路を挿入したステップと、今回s5で抽出した部分回路が出現しているラダー回路との間に、この部分回路に属する接点のコイルを含むラダー回路(該当するラダー回路)があるかどうかを判定する(s10)。プログラム編集部24は、該当するラダー回路が無ければ、今回抽出したラダー回路に出現している部分回路を、s2で生成した置換回路に置き換える(s6)。また、プログラム編集部24は、s10で該当するラダー回路があると判定すると、今回抽出したラダー回路に出現している部分回路を、s2で生成した置換回路に置き換えることなく、本処理を終了する。
 例えば、図7のラダー図プログラム20では、プログラム編集部24は、ステップn+1、n+2、およびn+3のラダー回路に出現している部分回路(接点a、接点b、および接点cが直列に接続された回路)を、置換回路(接点A)に置き換えるが、ステップn+4が今回選択を受け付けた部分回路に属する接点aのコイルを含むラダー回路であるので、ステップn+5のラダー回路に出現している部分回路については、置換回路(接点A)に置き換えない。図9は、図7に示したラダー図プログラム20を、上述した処理によって編集したラダー図プログラム20を示す図である。したがって、ラダー図プログラム20を図8に示した処理で編集しても、編集したラダー図プログラム(図9に示すラダー図プログラム)において、ステップn+5でバグが生じることはない。
 さらに、ラダー図プログラム作成支援装置の別の例について説明する。この別の例にかかるラダー図プログラム作成支援装置1のハードウェアは、上記した2つの例と同じである。この別の例にかかるラダー図プログラム作成支援装置1は、図4または図8に示した処理に換えて、図10に示す処理を行う点で、上記の例と異なる。
 図10は、この別の例にかかるラダー図プログラム作成支援装置の動作を示すフローチャートである。図10では、図4、または図8で示した処理と同じ処理については、同じステップ番号(s#)を付している。この別の例にかかるラダー図プログラム作成支援装置1においても、プログラム編集部24が、上記したs1~s5の処理を実行する。また、プログラム編集部24は、s10で、処理対象のラダー図プログラム20において、s4で補助回路を挿入したステップと、今回s5で抽出した部分回路が出現しているラダー回路との間に、この部分回路に属する接点のコイルを含むラダー回路(該当するラダー回路)があるかどうかを判定する。プログラム編集部24は、該当するラダー回路が無ければ、今回抽出したラダー回路に出現している部分回路を、s2で生成した置換回路に置き換える(s6)。また、プログラム編集部24は、s10で該当するラダー回路があると判定すると、s3で生成した補助回路を、今回s5で抽出したラダー回路の直前のステップに挿入する(s11)。さらに、プログラム編集部24は、s5で今回抽出したラダー回路の部分回路をs2で生成した置換回路に置き換える(s6)。プログラム編集部24は、s5、s6、s10、およびs11にかかる処理を繰り返す。プログラム編集部24は、s5において、s1で選択を受け付けた部分回路が出現しているラダー回路を処理対象のラダー図プログラム20から抽出できなければ、本処理を終了する。
 なお、s11で補助回路を挿入する位置は、今回s5で抽出したラダー回路の直前のステップに限らず、s1で選択を受け付けた部分回路に属する接点のコイルを含むラダー回路にかかるステップと、今回s5で抽出したラダー回路の直前のステップとの間であればどこに挿入してもよい。
 この図10に示す処理では、ラダー図プログラム20に対して、s1で選択を受け付けた全ての部分回路を、s2で生成した置換回路に置換することができる。図11は、図7に示したラダー図プログラムを、図10に示した処理によって編集したラダー図プログラムを示す図である。したがって、ラダー図プログラム20を図10に示した処理で編集しても、編集したラダー図プログラム20(図11に示すラダー図プログラム20)において、ステップn+6(図3のステップn+5に対応する。)でバグが生じることもない。
 また、ラダー図プログラム作成支援装置1は、図12に示す処理を部分回路選択部21に実行させる構成にしてもよい。図12は、処理対象のラダー図プログラムに対して、置換する部分回路の候補を抽出する候補抽出処理を示すフローチャートである。
 部分回路選択部21は、処理対象のラダー図プログラム20に対して、予め定めている所定回数(例えば、5回)を越えて出現している部分回路を抽出する(s21)。ラダー図プログラム作成支援装置1は、部分回路選択部21がs21で抽出した部分回路をリスト化し、表示部4の表示器に表示する出力処理を行う(s22)。
 図13は、s12の出力処理で、表示器に表示される画面を示す図である。図13に示すように、表示部4は、s21で抽出した部分回路と、その出現回数と、を対応付けて表示する。
 また、ラダー図プログラム作成支援装置1は、オペレータが図13に示す画面において、部分回路を選択する操作を行うと、上述した図4、図8、または図11に示すいずれかの処理を実行する構成にしてもよい。また、ラダー図プログラム作成支援装置1は、出現回数が最も多い部分回路を自動的に選択し、上述した図4、図8、または図11に示すいずれかの処理を実行する構成にしてもよい。
 なお、上記のいずれの例において、ラダー図プログラム作成支援装置1は、接点の接続形態が一致していなくても、接点が同じで、且つ同じ動作をする回路を同一の部分回路であると判断する。
 変数がvar1の接点a、変数がvar2の接点b、および変数がvar3の接点cが直列に接続された部分回路を例にすると、ラダー図プログラム作成支援装置1は、図14(A)~(D)に示す回路を、同一の部分回路であると判断する。図14(A)は、接点a、接点b、および接点cをこの順番に直列に接続した回路である。図14(B)は、接点a、接点c、および接点bをこの順番に直列に接続した回路である。図14(C)は、接点b、接点c、および接点aをこの順番に直列に接続した回路である。図14(D)は、接点a、接点c、および接点bをこの順番に直列に接続し、且つ接点cと接点bとの間に変数がvarXの接点xを直列に挿入した回路である。
 また、ラダー図プログラム作成支援装置1は、上述した図4、図8、または図11に示すいずれかの処理で編集されたラダー図プログラムにおいて、置換されている置換回路が選択されたとき、選択された置換回路に対応する補助回路を表示部4の表示器に表示する(図15参照)。図15は、破線で示す円で囲んだ変数がvarAの接点Aが選択されたときに、この選択された接点Aに対応する補助回路を画面下(破線で示す矩形で囲んだ領域)に表示する例を示している。
 また、ラダー図プログラム作成支援装置1は、図4、図8、または図11に示すいずれかの処理で編集されたラダー図プログラムに対して、オペレータがステップ(ラダー回路)を追加する編集を行うと、図16に示す置換適正化処理を行う。
 プログラム編集部24は、オペレータの操作によって追加されたステップのラダー回路が、図4、図8、または図11に示すいずれかの処理で置換回路に置き換えた部分回路に属する接点のコイル(対象コイル)を含んでいるかどうかを判定する(s31)。プログラム編集部24は、今回追加されたステップのラダー回路が、対象コイルを含んでいなければ、本処理を終了する。また、プログラム編集部24は、今回追加されたステップのラダー回路が、対象コイルを含んでいれば、今回追加されたステップ以降に出現する各置換回路を、対応する部分回路に戻し(s32)、本処理を終了する。
 したがって、図4、図8、または図11に示すいずれかの処理で編集されたラダー図プログラムに対して、オペレータがステップを追加する編集を行っても、図4、図8、または図11に示すいずれかの処理で部分回路を置換回路に置き換えたステップでバグが生じることがない。また、オペレータは、図4、図8、または図11に示すいずれかの処理で編集されたラダー図プログラムであるかどうかを気にすることなく、ステップ(ラダー回路)を追加する編集作業が行える。
 また、図13に示した置換適正化処理は、図17に示す処理としてもよい。図17では、上記s32にかかる処理に換えて、今回追加されたステップ(ラダー回路)の直後に、対応する補助回路を挿入し(s33)、本処理を終了する。これにより、上記と同様の効果を奏する。
1…ラダー図プログラム作成支援装置
2…制御部
3…入力操作部
4…表示部
5…記憶部
6…入出力部
20…ラダー図プログラム
21…部分回路選択部
22…置換回路生成部
23…補助回路生成部
24…プログラム編集部
25…補助回路出力部

Claims (10)

  1.  ラダー図プログラムにおける複数の接点からなる部分回路を選択する部分回路選択部と、
     前記部分回路選択部が選択した前記部分回路よりも少ない個数の接点からなる置換回路を生成する置換回路生成部と、
     前記置換回路生成部が生成した前記置換回路に、前記部分回路選択部が選択した前記部分回路と同じ動作をさせる補助回路を生成する補助回路生成部と、
     前記ラダー図プログラムに対して、このラダー図プログラムに出現している前記部分回路を、前記置換回路生成部が生成した前記置換回路に置き換える置換処理を行うとともに、前記補助回路生成部が生成した前記補助回路を前記ラダー図プログラムに挿入する補助回路挿入処理を行うプログラム編集部と、を備えたラダー図プログラム作成支援装置。
  2.  前記部分回路選択部は、入力指定された複数の接点からなる回路を、前記部分回路として選択する、請求項1に記載のラダー図プログラム作成支援装置。
  3.  前記部分回路選択部は、前記ラダー図プログラムにおいて、複数の接点からなり、且つ予め定めた回数を越えて出現している回路を、前記部分回路として抽出する、請求項1、または2に記載のラダー図プログラム作成支援装置。
  4.  前記ラダー図プログラムにおいて、前記プログラム編集部が前記置換処理で置き換えた前記置換回路が選択されたとき、選択された前記置換回路に対応する前記補助回路を出力する補助回路出力部を備えている、請求項1~3のいずれかに記載のラダー図プログラム作成支援装置。
  5.  前記プログラム編集部は、前記置換処理において、前記部分回路選択部が選択した前記部分回路に属する接点のコイルを含むステップが前記ラダー図プログラムに出現していれば、このステップ以降に出現している前記部分回路を前記置換回路に置き換えるのを禁止する、請求項1~4のいずれかに記載のラダー図プログラム作成支援装置。
  6.  前記プログラム編集部は、前記補助回路挿入処理において、前記部分回路選択部が選択した前記部分回路に属する接点のコイルを含むステップが前記ラダー図プログラムに出現していれば、このステップと、このステップ以降において前記部分回路が最初に出現しているステップとの間に、前記補助回路生成部が生成した前記補助回路を挿入する、請求項1~4のいずれかに記載のラダー図プログラム作成支援装置。
  7.  前記プログラム編集部は、前記ラダー図プログラムに対して、前記置換回路に置き換えた前記部分回路に属する接点のコイルを含むステップが追加されたとき、この追加されたステップ以降に出現している前記置換回路を対応する前記部分回路に置き換える、請求項1~6のいずれかに記載のラダー図プログラム作成支援装置。
  8.  前記プログラム編集部は、前記ラダー図プログラムに対して、前記置換回路に置き換えた前記部分回路に属する接点のコイルを含むステップが追加されたとき、この追加されたステップの直後に、前記補助回路生成部が生成した前記補助回路を挿入する、請求項1~6のいずれかに記載のラダー図プログラム作成支援装置。
  9.  ラダー図プログラムにおける複数の接点からなる部分回路を選択する部分回路選択ステップと、
     前記部分回路選択ステップで選択した前記部分回路よりも少ない個数の接点からなる置換回路を生成する置換回路生成ステップと、
     前記置換回路生成ステップで生成した前記置換回路に、前記部分回路選択ステップで選択した前記部分回路と同じ動作をさせる補助回路を生成する補助回路生成ステップと、
     前記ラダー図プログラムに対して、このラダー図プログラムに出現している前記部分回路を、前記置換回路生成ステップで生成した前記置換回路に置き換える置換処理を行うとともに、前記補助回路生成ステップで生成した前記補助回路を前記ラダー図プログラムに挿入する補助回路挿入処理を行うプログラム編集ステップと、をコンピュータで実行するラダー図プログラム作成支援方法。
  10.  ラダー図プログラムにおける複数の接点からなる部分回路を選択する部分回路選択ステップと、
     前記部分回路選択ステップで選択した前記部分回路よりも少ない個数の接点からなる置換回路を生成する置換回路生成ステップと、
     前記置換回路生成ステップで生成した前記置換回路に、前記部分回路選択ステップで選択した前記部分回路と同じ動作をさせる補助回路を生成する補助回路生成ステップと、
     前記ラダー図プログラムに対して、このラダー図プログラムに出現している前記部分回路を、前記置換回路生成ステップで生成した前記置換回路に置き換える置換処理を行うとともに、前記補助回路生成ステップで生成した前記補助回路を前記ラダー図プログラムに挿入する補助回路挿入処理を行うプログラム編集ステップと、をコンピュータに実行させるラダー図プログラム作成支援プログラム。
PCT/JP2020/007914 2019-03-12 2020-02-27 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム WO2020184195A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20770644.1A EP3940472B1 (en) 2019-03-12 2020-02-27 Ladder diagram program creation assistance device, ladder diagram program creation assistance method, and ladder diagram program creation assistance program
CN202080013655.6A CN113454547A (zh) 2019-03-12 2020-02-27 梯形图程序制作支持装置、梯形图程序制作支持方法及梯形图程序制作支持程序
US17/432,942 US11853025B2 (en) 2019-03-12 2020-02-27 Ladder diagram program creation assistance device, ladder diagram program creation assistance method, and non-transitory computer readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-044374 2019-03-12
JP2019044374A JP7423895B2 (ja) 2019-03-12 2019-03-12 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム

Publications (1)

Publication Number Publication Date
WO2020184195A1 true WO2020184195A1 (ja) 2020-09-17

Family

ID=72427988

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007914 WO2020184195A1 (ja) 2019-03-12 2020-02-27 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム

Country Status (5)

Country Link
US (1) US11853025B2 (ja)
EP (1) EP3940472B1 (ja)
JP (1) JP7423895B2 (ja)
CN (1) CN113454547A (ja)
WO (1) WO2020184195A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198110A (ja) * 1996-01-18 1997-07-31 Nissan Motor Co Ltd ラダーシーケンス回路の最適化方法
JP2007272679A (ja) * 2006-03-31 2007-10-18 Mitsubishi Electric Corp ラダープログラム最適化装置および最適化プログラム
JP2008033913A (ja) 2006-06-26 2008-02-14 Omron Corp Plcのプログラム開発支援装置
WO2014136240A1 (ja) * 2013-03-07 2014-09-12 三菱電機株式会社 ラダープログラム表示プログラムおよびラダープログラム表示装置
WO2014155717A1 (ja) * 2013-03-29 2014-10-02 三菱電機株式会社 シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置
JP2017207962A (ja) * 2016-05-19 2017-11-24 ファナック株式会社 ラダープログラム解析装置
WO2018051441A1 (ja) * 2016-09-14 2018-03-22 三菱電機株式会社 ラダープログラム編集支援装置およびラダープログラムの編集方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01151604A (ja) 1987-12-07 1989-06-14 Oriental Concrete Kk ロアーリング方式によるアーチリングの架設方法
JPH044403A (ja) * 1990-04-23 1992-01-08 Mitsubishi Electric Corp プログラマブルコントローラの周辺装置
JPH05282394A (ja) * 1992-04-02 1993-10-29 Toshiba Corp 半導体集積回路設計支援装置
JPH06131011A (ja) * 1992-10-20 1994-05-13 Honda Motor Co Ltd ラダープログラム作成支援装置
JP2009009462A (ja) * 2007-06-29 2009-01-15 Fanuc Ltd シーケンスプログラム編集装置
KR101713462B1 (ko) * 2012-11-22 2017-03-07 미쓰비시덴키 가부시키가이샤 프로그램 작성 지원 장치, 방법 및 기록 매체
JP6212074B2 (ja) * 2015-06-29 2017-10-11 ファナック株式会社 最寄りのネットコメントを表示可能なラダープログラム編集装置
JP2018190133A (ja) * 2017-05-01 2018-11-29 ファナック株式会社 ラダープログラム編集装置
US10747201B2 (en) * 2018-05-02 2020-08-18 Rockwell Automation Technologies, Inc. Subscription-based services using industrial blockchains
WO2020174627A1 (ja) * 2019-02-27 2020-09-03 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198110A (ja) * 1996-01-18 1997-07-31 Nissan Motor Co Ltd ラダーシーケンス回路の最適化方法
JP2007272679A (ja) * 2006-03-31 2007-10-18 Mitsubishi Electric Corp ラダープログラム最適化装置および最適化プログラム
JP2008033913A (ja) 2006-06-26 2008-02-14 Omron Corp Plcのプログラム開発支援装置
WO2014136240A1 (ja) * 2013-03-07 2014-09-12 三菱電機株式会社 ラダープログラム表示プログラムおよびラダープログラム表示装置
WO2014155717A1 (ja) * 2013-03-29 2014-10-02 三菱電機株式会社 シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置
JP2017207962A (ja) * 2016-05-19 2017-11-24 ファナック株式会社 ラダープログラム解析装置
WO2018051441A1 (ja) * 2016-09-14 2018-03-22 三菱電機株式会社 ラダープログラム編集支援装置およびラダープログラムの編集方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3940472A4

Also Published As

Publication number Publication date
EP3940472B1 (en) 2024-03-13
JP7423895B2 (ja) 2024-01-30
JP2020149168A (ja) 2020-09-17
CN113454547A (zh) 2021-09-28
US11853025B2 (en) 2023-12-26
EP3940472A1 (en) 2022-01-19
EP3940472A4 (en) 2022-12-21
US20220171360A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
CN111142903A (zh) 一种基于文件对比的配置文件交互式更新方法及装置
JP5769900B2 (ja) シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置
US11409631B2 (en) Verification automation apparatus, verification automation method, and computer-readable recording medium
CN111033399B (zh) 梯形图程序制作支持装置、及其方法与记录媒体
JP6891838B2 (ja) 開発支援装置、開発支援方法、および開発支援プログラム
KR100694381B1 (ko) 그래피컬 프로그래밍 장치 및 프로그래머블 표시기
JP2011039786A (ja) ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム
WO2020184195A1 (ja) ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
JP5935658B2 (ja) 設計支援プログラム,方法及び装置
JP6289748B2 (ja) 制御ロジック図解析装置および制御ロジック図解析方法
JP5253324B2 (ja) シーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジン
JP6790921B2 (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
JP7183877B2 (ja) グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム
US20240211385A1 (en) Test support apparatus, test support method and program
JP2011128996A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP7208441B1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム
JP2006268292A (ja) テンプレート編集装置およびテンプレート編集用プログラム
JP4894602B2 (ja) 修正対象ファイル検索装置と修正対象ファイル検索方法および修正対象ファイル検索プログラム
KR101956719B1 (ko) 패키지 소프트웨어 생성 방법
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム
JP2023015721A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2020031903A1 (ja) サポート装置およびサポートプログラム
JP2016173756A (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
KR20190038494A (ko) 패키지 소프트웨어 생성 장치
JP2018063496A (ja) 生成プログラム、生成方法、および生成装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20770644

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020770644

Country of ref document: EP

Effective date: 20211012