JP6664563B1 - Program creation support device, program creation support method, and program creation support program - Google Patents

Program creation support device, program creation support method, and program creation support program Download PDF

Info

Publication number
JP6664563B1
JP6664563B1 JP2019552927A JP2019552927A JP6664563B1 JP 6664563 B1 JP6664563 B1 JP 6664563B1 JP 2019552927 A JP2019552927 A JP 2019552927A JP 2019552927 A JP2019552927 A JP 2019552927A JP 6664563 B1 JP6664563 B1 JP 6664563B1
Authority
JP
Japan
Prior art keywords
program
component
circuit
common
common logic
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019552927A
Other languages
Japanese (ja)
Other versions
JPWO2020178983A1 (en
Inventor
啓文 甲斐
啓文 甲斐
浩平 藤田
浩平 藤田
瞬也 長谷川
瞬也 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6664563B1 publication Critical patent/JP6664563B1/en
Publication of JPWO2020178983A1 publication Critical patent/JPWO2020178983A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Landscapes

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

Abstract

プログラム作成支援装置(1)は、シーケンスプログラム内の回路全体から共通のロジック部分を抽出し、抽出した共通のロジック部分に含まれる回路部品について、同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致しているか否かを示す付属情報を生成する共通判定部(13)と、共通のロジック部分と付属情報とに基づいてプログラムコンポーネントを生成するプログラムコンポーネント生成部(プログラム部品登録部(17))と、シーケンスプログラム内の共通のロジック部分の各々を、プログラムコンポーネントとプログラムコンポーネントの入出力引数に接続する回路部品とで置き換える置換部(部品化処理部(19))と、を備え、プログラムコンポーネント生成部は、同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致している回路部品については、ユーザが入出力引数を生成するか否かを選択することができる。The program creation support apparatus (1) extracts a common logic part from the entire circuit in the sequence program, and regarding circuit parts included in the extracted common logic part, device allocations for circuit parts at the same position are common to all. A common determination unit (13) that generates ancillary information indicating whether or not the logic parts match each other, and a program component generator (a program component registration unit (a program component registration unit ( 17)) and a replacement unit (componentization processing unit (19)) for replacing each common logic part in the sequence program with a program component and a circuit component connected to an input / output argument of the program component, The program component generator is for the circuit components at the same position. The circuit component device assignment is consistent with all common logic part, the user can select whether to generate an output arguments.

Description

本発明は、シーケンスプログラムの作成を支援するプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムに関する。   The present invention relates to a program creation support device, a program creation support method, and a program creation support program that support creation of a sequence program.

プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)は、シーケンスプログラムに従って動作を行い、工場などに設置されている被制御機器を制御する制御装置である。   A programmable logic controller (PLC: Programmable Logic Controller) is a control device that operates according to a sequence program and controls a controlled device installed in a factory or the like.

シーケンスプログラムの主要な記述言語としてラダー言語がある。ラダー言語は、リレー回路を模したグラフィカルな表現によるプログラミング言語であり、接点およびコイルといった制御信号を伝搬する回路部品を配置し、それらの接続関係を指定することによって、プログラムを作成できる。なお、制御信号はPLCの内部メモリに割り付けられるが、この内部メモリは「デバイス」と呼ばれる。また、ラダー言語で記述されたシーケンスプログラムはラダープログラムと呼ばれる。ラダープログラムにおいては、XおよびYといった記号と数値とを組み合わせてデバイスを表現し、接点およびコイルのそれぞれにデバイスを割り付けることで信号伝搬を表現している。   There is a ladder language as a main description language of a sequence program. The ladder language is a programming language based on a graphical representation simulating a relay circuit. A program can be created by arranging circuit components such as contacts and coils for transmitting control signals and designating a connection relationship between them. The control signal is allocated to an internal memory of the PLC, and this internal memory is called a “device”. A sequence program described in a ladder language is called a ladder program. In a ladder program, a device is represented by combining symbols such as X and Y and a numerical value, and signal propagation is represented by allocating the device to each of a contact and a coil.

ここで、近年、生産設備の大規模化が進んでおり、これに伴いPLCが制御する被制御機器の数が増加し、シーケンスプログラムも大規模化している。そのため、シーケンスプログラムを効率良く作成できるようにするための技術が提案されている。   Here, in recent years, the scale of production equipment has been increased, and accordingly, the number of controlled devices controlled by the PLC has increased, and the sequence program has also been increased in scale. Therefore, techniques for efficiently creating a sequence program have been proposed.

例えば、特許文献1に記載の発明では、1つのシーケンスプログラムにおいて同じ回路パターンが複数回使用されることに着目し、シーケンスプログラムを効率良く作成できるようにしている。具体的には、特許文献1に記載の発明では、作成済みのシーケンスプログラムから共通の回路パターンを抽出して部品化を行い、部品化された回路パターンであるプログラム部品をその後のシーケンスプログラムの作成などで再利用できるようにしている。   For example, in the invention described in Patent Document 1, attention is paid to the fact that the same circuit pattern is used a plurality of times in one sequence program, and a sequence program can be efficiently created. More specifically, according to the invention described in Patent Document 1, a common circuit pattern is extracted from a created sequence program to make a component, and a program component that is a componentized circuit pattern is created in a subsequent sequence program. And so on.

特許第5769900号公報Japanese Patent No. 5769900

特許文献1に記載の発明では、プログラム部品の定義、すなわち入出力引数の定義を、自動的に決定する。具体的には、共通の回路パターン内の回路部品(接点、コイル等)に対する全てのデバイス割付が、入出力引数から渡されるものとして、プログラム部品の入出力引数が定義される。よって、例えば、共通回路パターン内に接点が5個、コイルが3個存在する場合、当該共通回路パターンから生成したプログラム部品は、入力引数が5個(=接点数)、出力引数が3個(=コイル数)となる。   In the invention described in Patent Literature 1, the definition of the program component, that is, the definition of the input / output argument is automatically determined. Specifically, the input / output arguments of the program component are defined as all the device assignments to the circuit components (contacts, coils, etc.) in the common circuit pattern are passed from the input / output arguments. Therefore, for example, when there are five contacts and three coils in the common circuit pattern, the program component generated from the common circuit pattern has five input arguments (= the number of contacts) and three output arguments (= the number of contacts). = Coil number).

ところで、共通回路パターンの抽出元となる複数の回路において、デバイス割付が同じ回路部品については、引数として外部からデバイス割付を渡す必要が無く、プログラム部品の引数を省略することが可能である。また、シーケンスプログラムにおいては、使用するプログラム部品の入出力引数の数が少ないほど、可読性および保守性が高くなり、また、プログラム容量を削減することが可能である。しかしながら、特許文献1に記載の発明では、プログラム部品の入出力引数の数を削減すること、すなわち、シーケンスプログラムの可読性および保守性の改善について考慮されていないという問題があった。   By the way, in a plurality of circuits from which a common circuit pattern is extracted, for circuit components having the same device assignment, it is not necessary to pass the device assignment from the outside as an argument, and the argument of the program component can be omitted. In a sequence program, as the number of input / output arguments of a program component to be used is smaller, readability and maintainability are improved, and the program capacity can be reduced. However, the invention described in Patent Literature 1 has a problem in that the number of input / output arguments of a program component is reduced, that is, improvement in readability and maintainability of a sequence program is not considered.

本発明は、上記に鑑みてなされたものであって、シーケンスプログラムの可読性および保守性を高めることが可能なプログラム作成支援装置を得ることを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a program creation support device capable of improving the readability and maintainability of a sequence program.

上述した課題を解決し、目的を達成するために、本発明にかかるプログラム作成支援装置は、シーケンスプログラム内の回路全体から共通のロジック部分を抽出し、抽出した共通のロジック部分に含まれる回路部品について、同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致しているか否かを示す付属情報を生成する共通判定部、を備える。また、プログラム作成支援装置は、共通判定部が抽出した共通のロジック部分と付属情報とに基づいてプログラムコンポーネントを生成するプログラムコンポーネント生成部と、シーケンスプログラム内の共通のロジック部分の各々を、プログラムコンポーネントとプログラムコンポーネントの入出力引数に接続する回路部品とで置き換える置換部と、を備える。プログラムコンポーネント生成部は、同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致している回路部品である第1の回路部品の中のユーザに指定された第1の回路部品に対してデバイス割付を行う入出力引数と、第1の回路部品に該当しない回路部品である第2の回路部品にデバイス割付を行う入出力引数と、を有するプログラムコンポーネントを生成するIn order to solve the above-described problems and achieve the object, a program creation support device according to the present invention extracts a common logic portion from the entire circuit in a sequence program, and includes circuit components included in the extracted common logic portion. And a common determination unit that generates additional information indicating whether or not the device assignment to the circuit component at the same position is the same in all common logic parts. In addition, the program creation support device includes a program component generation unit that generates a program component based on the common logic part and the attached information extracted by the common determination unit, and a common logic part in the sequence program. And a replacement unit that replaces with a circuit component connected to the input / output argument of the program component. Program component generating section, the first circuit component designated by the user in the first circuit component is a circuit component device assignment for the circuit components of the same position is consistent with all common logic part A program component having an input / output argument for performing device assignment and an input / output argument for performing device assignment to a second circuit component, which is a circuit component not corresponding to the first circuit component, is generated .

本発明にかかるプログラム作成支援装置は、シーケンスプログラムの可読性および保守性を高めることができるという効果を奏する。   The program creation support device according to the present invention has an effect that readability and maintainability of a sequence program can be improved.

実施の形態にかかるプログラム作成支援装置によるプログラム部品の生成動作の概要を示す図The figure which shows the outline | summary of the production | generation operation | movement of the program component by the program creation assistance apparatus concerning embodiment 実施の形態にかかるプログラム作成支援装置を含んで構成されるプログラム作成システムの構成を示す図1 is a diagram showing a configuration of a program creation system including a program creation support device according to an embodiment. 実施の形態にかかるプログラム作成支援装置の動作の一例を示すフローチャート9 is a flowchart illustrating an example of an operation of the program creation support device according to the embodiment. プログラム部品の入出力引数の生成指定画面の一例を示す図The figure which shows an example of the input / output argument generation specification screen of the program component 置換処理実行後のシーケンスプログラムの確認用画面の一例を示す図The figure which shows an example of the screen for the confirmation of the sequence program after execution of replacement processing 実施の形態にかかるプログラム作成支援装置のハードウェア構成を示す図FIG. 1 is a diagram illustrating a hardware configuration of a program creation support device according to an embodiment.

以下に、本発明の実施の形態にかかるプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Hereinafter, a program creation support device, a program creation support method, and a program creation support program according to an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited by the embodiment.

以下の実施の形態において、「共通回路パターンG」と「共通のロジック部分H」とを以下のように区別して説明を行う。
・共通回路パターンG:シーケンスプログラムに共通して現れるロジックのパターン。
・共通のロジック部分H:共通回路パターンGが現れるシーケンスプログラムの箇所(領域)。
以下の説明では、プログラム作成支援装置が取り扱うシーケンスプログラムがラダープログラムであるものとする。
In the following embodiments, the “common circuit pattern G” and the “common logic part H” will be separately described as follows.
A common circuit pattern G: a logic pattern commonly appearing in a sequence program.
A common logic portion H: a portion (region) of the sequence program where the common circuit pattern G appears.
In the following description, it is assumed that the sequence program handled by the program creation support device is a ladder program.

実施の形態.
まず、本実施の形態にかかるプログラム作成支援装置の動作の概要について説明する。本実施の形態にかかるプログラム作成支援装置は、少なくとも以下に示す2つの機能を有し、これらの機能を用いて、ユーザによるシーケンスプログラムの作成を支援する。
Embodiment.
First, an outline of the operation of the program creation support device according to the present embodiment will be described. The program creation support device according to the present embodiment has at least the following two functions, and uses these functions to assist a user in creating a sequence program.

第1の機能は、シーケンスプログラムの回路全体から部品化可能な共通のロジック部分Hを検索して表示する機能である。シーケンスプログラムであるラダープログラムは、接点またはコイルに相当する命令と、数値演算などに相当する応用命令とで構成されている。したがって、プログラム作成支援装置は、接点に相当する命令である接点相当命令、コイルに相当する命令であるコイル相当命令、および数値演算などに相当する応用命令のロジックのみで共通している共通回路パターンGと、プログラム箇所(共通のロジック部分H)とを検索し表示する。検索された共通回路パターンGが、プログラムコンポーネントであるプログラム部品(マクロ、サブルーチンなど)の候補である。   The first function is a function of searching for and displaying a common logic part H that can be made into components from the entire circuit of the sequence program. A ladder program, which is a sequence program, includes instructions corresponding to contacts or coils and application instructions corresponding to numerical operations and the like. Therefore, the program creation support device uses a common circuit pattern that is common only to the logic of a contact equivalent command, which is an instruction equivalent to a contact, a coil equivalent instruction, which is an instruction equivalent to a coil, and an application instruction equivalent to a numerical operation. G and a program location (common logic portion H) are searched and displayed. The searched common circuit pattern G is a candidate for a program component (macro, subroutine, etc.) which is a program component.

第2の機能は、第1の機能で検索した共通回路パターンGの何れかがユーザによって選択されると、選択された共通回路パターンGをプログラム部品に変換(部品化を実行)して登録する機能である。また、第2の機能は、第1の機能で検索した共通のロジック部分Hを、登録したプログラム部品のインスタンスで置き換えることで、シーケンスプログラムを自動的に部品化する。   The second function is that when any one of the common circuit patterns G searched by the first function is selected by the user, the selected common circuit pattern G is converted (executed into components) into program components and registered. Function. The second function automatically converts the sequence program into a component by replacing the common logic part H retrieved by the first function with an instance of the registered program component.

ここで、上記の第1の機能において共通のロジック部分Hを検索する際、プログラム作成支援装置は、回路中の接点およびコイルといった各回路部品に対するデバイス割付が一致するかどうかという情報を保持しておく。つまり、抽出した共通回路パターンGにおいて、その元となる共通のロジック部分Hの全てで、同じ座標に配置された回路部品に対するデバイス割付が一致するかどうかを付属情報として保持しておく。ここでの座標は、回路部品の回路パターン内の位置を示す。よって、同じ座標に配置された回路部品とは、共通回路パターンG内の同じ場所に配置された回路部品である。   Here, when searching for the common logic part H in the first function described above, the program creation support device holds information indicating whether or not device assignments to respective circuit components such as contacts and coils in the circuit match. deep. That is, in the extracted common circuit pattern G, whether or not the device assignments to the circuit components arranged at the same coordinates match in all of the original common logic parts H is stored as additional information. The coordinates here indicate the position of the circuit component in the circuit pattern. Therefore, the circuit components arranged at the same coordinates are the circuit components arranged at the same position in the common circuit pattern G.

また、上記の第2の機能においてプログラム部品を生成する際、プログラム作成支援装置は、第1の機能で共通のロジック部分Hを検索する際に保持しておいた付属情報に基づいて、プログラム部品の引数を決定する。具体的には、プログラム作成支援装置は、共通のロジック部分Hの間で、同じ座標に配置されているがデバイス割付が一致しない回路部品が存在する場合、この回路部品にデバイスを割付けるための引数を有するプログラム部品を生成する。   Further, when the program function is generated in the second function, the program creation support device uses the program component based on the attached information held when searching for the common logic part H in the first function. Determine the argument of Specifically, when there is a circuit component that is arranged at the same coordinates but does not have the same device assignment between the common logic parts H, the program creation support device assigns a device to this circuit component. Generate a program part having arguments.

これにより、プログラム作成支援装置が生成するプログラム部品の入出力引数が必要以上に多くなるのを防止することができ、シーケンスプログラムの可読性および保守性を高めることができる。また、シーケンスプログラムの容量を削減することができる。   As a result, it is possible to prevent the number of input / output arguments of the program components generated by the program creation support device from becoming unnecessarily large, and to improve the readability and maintainability of the sequence program. Further, the capacity of the sequence program can be reduced.

図1は、実施の形態にかかるプログラム作成支援装置によるプログラム部品の生成動作の概要を示す図である。   FIG. 1 is a diagram illustrating an outline of a program component generation operation performed by the program creation support device according to the embodiment.

図1のフェーズ(A)に示すように、プログラム作成支援装置は、シーケンスプログラム内から共通のロジック部分Hを抽出する。ここでは、プログラム作成支援装置は、回路ブロック2a〜4aの配置されているブロックを共通のロジック部分Hとして抽出する。   As shown in phase (A) of FIG. 1, the program creation support device extracts a common logic part H from within a sequence program. Here, the program creation support device extracts a block in which the circuit blocks 2a to 4a are arranged as a common logic part H.

さらに、図1のフェーズ(B)に示すように、プログラム作成支援装置は、回路ブロック2a〜4aのロジックに基づいて、部品化可能な共通回路パターンGを設定する。換言すると、プログラム作成支援装置は、回路ブロック2a〜4aに共通なロジックを共通回路パターンGに設定する。これにより、プログラム作成支援装置は、回路ブロック2a〜4aを共通回路パターンGとして扱う。   Further, as shown in phase (B) of FIG. 1, the program creation support device sets a common circuit pattern G that can be made into components based on the logic of the circuit blocks 2a to 4a. In other words, the program creation support device sets the logic common to the circuit blocks 2a to 4a in the common circuit pattern G. Thus, the program creation support device treats the circuit blocks 2a to 4a as the common circuit pattern G.

このとき、プログラム作成支援装置は、抽出した回路ブロック2a〜4aにおいて、同じ座標の回路部品に対するデバイス割付が一致するかどうかを確認し、確認結果を示す情報(デバイス割付が一致するか否かを示す情報)を保持する。図1に示した例では、回路ブロック2a〜4aの左上に位置する回路部品の座標を(0,0)とし、この部品の右隣に位置する回路部品の座標を(1,0)、さらに右隣に位置する回路部品の座標を(2,0)としている。また、左上に位置する回路部品の一つ下に位置する回路部品の座標を(0,1)、この部品の右隣に位置する回路部品の座標を(1,1)、さらに右隣に位置する回路部品の座標を(2,1)としている。なお、各回路部品の位置を示す座標の決め方はこれに限定されない。また、各回路部品の配置を座標で示すことは必須ではない。回路ブロック内の各回路部品の配置が分かるのであれば座標以外の情報を用いて各回路部品の配置を示してもよい。   At this time, in the extracted circuit blocks 2a to 4a, the program creation support device confirms whether or not the device assignments to the circuit components having the same coordinates match, and information indicating the confirmation result (whether or not the device assignments match). Information). In the example shown in FIG. 1, the coordinates of the circuit component located on the upper left of the circuit blocks 2a to 4a are (0, 0), the coordinates of the circuit component located on the right of this component are (1, 0), and The coordinates of the circuit component located on the right side are (2, 0). Also, the coordinates of the circuit component located immediately below the circuit component located at the upper left are (0, 1), the coordinates of the circuit component located on the right of this component are (1, 1), and the coordinates of the circuit component located on the right are further located on the right. The coordinates of the circuit component to be executed are (2, 1). The method of determining the coordinates indicating the position of each circuit component is not limited to this. It is not essential to indicate the arrangement of each circuit component by coordinates. If the arrangement of each circuit component in the circuit block is known, the arrangement of each circuit component may be indicated using information other than the coordinates.

図1に示した例では、座標が(0,0)および(1,1)の回路部品に対するデバイス割付が回路ブロック2a〜4aの間で一致しておらず、その他の座標の回路部品に対するデバイス割付は回路ブロック2a〜4aの間で一致している。そのため、プログラム作成支援装置は、フェーズ(B)において、座標が(0,0)および(1,1)の回路部品に対するデバイス割付が回路ブロック2a〜4aの間で一致しておらず、座標が(1,0)、(2,0)、(0,1)および(2,1)の回路部品に対するデバイス割付が回路ブロック2a〜4aの間で一致していることを示す情報を生成して保持する。なお、これ以降の説明では、必要に応じて、デバイス割付が全ての共通のロジック部分H(図1では回路ブロック2a〜4a)の間で一致している回路部品を第1の回路部品と称し、第1の回路部品に該当しない回路部品を第2の回路部品と称する。   In the example shown in FIG. 1, the device allocation for the circuit components having the coordinates (0, 0) and (1, 1) does not match among the circuit blocks 2a to 4a, and the devices for the circuit components having the other coordinates are different. The assignment is the same among the circuit blocks 2a to 4a. Therefore, in the phase (B), the program creation support device does not match the device allocation to the circuit components having the coordinates (0, 0) and (1, 1) among the circuit blocks 2a to 4a, and Generating information indicating that device assignments to the circuit components of (1, 0), (2, 0), (0, 1), and (2, 1) match among the circuit blocks 2a to 4a; Hold. In the following description, a circuit component having the same device assignment among all the common logic portions H (the circuit blocks 2a to 4a in FIG. 1) will be referred to as a first circuit component, if necessary. A circuit component that does not correspond to the first circuit component is referred to as a second circuit component.

次に、図1のフェーズ(C)に示すように、プログラム作成支援装置は、フェーズ(B)で生成して保持している情報に基づいて、プログラム部品の入出力引数の生成指定画面である画面101を表示装置に表示させる。そして、プログラム作成支援装置は、入出力引数を生成する回路部品の選択をユーザから受け付ける。ここで、デバイス割付が不一致の回路部品、すなわち、デバイス割付が回路ブロック2a〜4aの間で完全には一致していない第2の回路部品については、必ず入出力引数を生成することとする。そのため、図1に示した画面101では、座標が(0,0)の回路部品および座標が(1,1)の回路部品については入出力引数を必ず生成することがユーザに分かるような表示を行い、ユーザによる選択操作を受け付けない構成としている。   Next, as shown in phase (C) of FIG. 1, the program creation support device is a screen for specifying the input / output argument of the program component based on the information generated and held in phase (B). The screen 101 is displayed on the display device. Then, the program creation support device receives a selection of a circuit component for generating an input / output argument from a user. Here, an input / output argument is always generated for a circuit component whose device assignment does not match, that is, a second circuit component whose device assignment does not completely match between the circuit blocks 2a to 4a. Therefore, on the screen 101 shown in FIG. 1, a display is displayed so that the user can understand that the input / output argument is always generated for the circuit component having the coordinates (0, 0) and the circuit component having the coordinates (1, 1). And does not accept the selection operation by the user.

プログラム作成支援装置は、入出力引数を生成する第1の回路部品のユーザによる選択が終了すると、フェーズ(D)に移行する。すなわち、プログラム作成支援装置は、入出力引数を生成する第1の回路部品の選択を終了する操作をユーザから受け付けると、プログラム部品への置き換え後のイメージ確認画面である画面102を表示装置に表示させる。図1に例示した画面102では、プログラム部品への置き換えを行う前のシーケンスプログラムを左側に表示し、プログラム部品への置き換えを行った後のシーケンスプログラムを右側に表示する構成としている。また、画面102では、どの回路ブロックがプログラム部品に置き換えられたのかが分かるように、プログラム部品と回路ブロックとを対応付けた表示内容としている。画面102の右側の表示内容は、フェーズ(C)においてユーザから受け付けた操作内容に従う。図1に例示した画面102では、座標が(2,0)の回路部品であるコイルに対する引数の生成がユーザにより選択された場合のプログラム部品が表示されている。   Upon completion of the user's selection of the first circuit component for generating the input / output argument, the program creation support device proceeds to phase (D). That is, when receiving from the user an operation of ending the selection of the first circuit component for generating the input / output argument, the program creation support device displays the screen 102, which is the image confirmation screen after replacement with the program component, on the display device. Let it. The screen 102 illustrated in FIG. 1 has a configuration in which the sequence program before the replacement with the program component is displayed on the left side, and the sequence program after the replacement with the program component is displayed on the right side. The screen 102 has display contents in which the program components and the circuit blocks are associated with each other so that the user can know which circuit block has been replaced with the program components. The display content on the right side of the screen 102 follows the operation content received from the user in the phase (C). The screen 102 illustrated in FIG. 1 displays a program part in a case where the user has selected generation of an argument for a coil that is a circuit part having coordinates (2, 0).

ユーザは、画面102を確認後、プログラム部品の生成および回路ブロックのプログラム部品への置き換えを行う場合、画面102の右下の「OK(実行)」ボタンを押下する。また、ユーザは、画面102を確認後、入出力引数を生成する回路部品の選択を再度行う場合、画面102の右下の「キャンセル」ボタンを押下する。「キャンセル」ボタンが押下されると、プログラム作成支援装置は、フェーズ(C)に戻る。   After confirming the screen 102, the user presses an “OK (execute)” button at the lower right of the screen 102 when generating a program component and replacing a circuit block with a program component. Further, after confirming the screen 102, the user presses the “cancel” button at the lower right of the screen 102 when selecting the circuit component for generating the input / output argument again. When the “cancel” button is pressed, the program creation support device returns to the phase (C).

プログラム作成支援装置は、画面102の「OK(実行)」ボタンが押下されると、図1のフェーズ(E)に移行してプログラム部品であるFB(Function Block)を生成する。このとき、プログラム作成支援装置は、フェーズ(D)で表示装置に表示させた画面102の右側に示された構成のプログラム部品を生成する。   When the “OK (execute)” button on the screen 102 is pressed, the program creation support apparatus shifts to phase (E) in FIG. 1 and generates an FB (Function Block) as a program component. At this time, the program creation support device generates a program component having the configuration shown on the right side of the screen 102 displayed on the display device in phase (D).

そして、プログラム部品の生成が終了すると、プログラム作成支援装置は、図1のフェーズ(F)に移行し、フェーズ(A)で抽出した回路ブロック2a〜4aを、フェーズ(E)で生成したプログラム部品に置き換えて回路ブロック2b〜4bとする。   Then, when the generation of the program component is completed, the program creation support device proceeds to the phase (F) in FIG. 1 and replaces the circuit blocks 2a to 4a extracted in the phase (A) with the program component generated in the phase (E). And circuit blocks 2b to 4b.

このような手順により、プログラム作成支援装置は、シーケンスプログラムからプログラム部品を生成し、さらに、シーケンスプログラムの回路ブロックのうち、生成したプログラム部品に置き換えが可能な回路ブロックをプログラム部品に置き換える。また、プログラム作成支援装置は、生成したプログラム部品を保持しておき、他のシーケンスプログラムの編集、他のシーケンスプログラムの開発などを行う際に使用できるようにする。   According to such a procedure, the program creation support device generates a program component from the sequence program, and further, among the circuit blocks of the sequence program, replaces a circuit block that can be replaced with the generated program component with the program component. In addition, the program creation support device holds the generated program component so that it can be used when editing another sequence program, developing another sequence program, and the like.

図2は、実施の形態にかかるプログラム作成支援装置を含んで構成されるプログラム作成システムの構成を示す図である。プログラム作成システム100は、プログラム作成支援装置1、シーケンスプログラム作成装置2、シーケンスプログラム編集装置3および表示装置5を備える。なお、本実施の形態では、プログラム作成支援装置1、シーケンスプログラム作成装置2、シーケンスプログラム編集装置3および表示装置5が個別の装置であるものとして説明を行うが、これらの各装置が有する各機能を1つの装置、例えばパーソナルコンピュータなどの計算機システムで実現するようにしてもよい。   FIG. 2 is a diagram illustrating a configuration of a program creation system including the program creation support device according to the embodiment. The program creation system 100 includes a program creation support device 1, a sequence program creation device 2, a sequence program editing device 3, and a display device 5. In the present embodiment, the program creation support device 1, the sequence program creation device 2, the sequence program editing device 3, and the display device 5 are described as individual devices, but the functions of each of these devices will be described. May be realized by one device, for example, a computer system such as a personal computer.

プログラム作成支援装置1は、上述したように、シーケンスプログラムから共通のロジック部分Hを抽出し、ユーザからの指示に従いプログラム部品を生成する。   As described above, the program creation support device 1 extracts the common logic part H from the sequence program, and generates a program component according to an instruction from the user.

シーケンスプログラム作成装置2は、シーケンサとも呼ばれるPLC(Programmable Logic Controller)システムなどで動作させるシーケンスプログラムを作成する装置である。シーケンスプログラム作成装置2は、作成したシーケンスプログラムをプログラム作成支援装置1に入力する。   The sequence program creation device 2 is a device that creates a sequence program to be operated by a PLC (Programmable Logic Controller) system also called a sequencer. The sequence program creation device 2 inputs the created sequence program to the program creation support device 1.

シーケンスプログラム編集装置3は、プログラム作成支援装置1でプログラム部品に置き換えられたシーケンスプログラムを用いてシーケンスプログラムの編集を行う装置である。表示装置5は、液晶モニタなどであり、プログラム作成支援装置1からの指示に従って、シーケンスプログラム、共通回路パターンG、プログラム部品などを表示する。   The sequence program editing device 3 is a device that edits a sequence program using the sequence program replaced by the program component in the program creation support device 1. The display device 5 is a liquid crystal monitor or the like, and displays a sequence program, a common circuit pattern G, a program component, and the like in accordance with an instruction from the program creation support device 1.

プログラム作成支援装置1は、プログラム入力部11と、プログラム格納部12と、共通判定部13と、検索結果記憶部14と、検索結果表示処理部15と、指示入力部16と、プログラム部品登録部17と、プログラム部品格納部18と、部品化処理部19と、出力部20と、部品定義表示処理部21と、部品化イメージ表示処理部22とを備えている。   The program creation support device 1 includes a program input unit 11, a program storage unit 12, a common determination unit 13, a search result storage unit 14, a search result display processing unit 15, an instruction input unit 16, a program component registration unit 17, a program component storage unit 18, a component processing unit 19, an output unit 20, a component definition display processing unit 21, and a component image display processing unit 22.

プログラム入力部11は、シーケンスプログラム作成装置2から入力されるシーケンスプログラムを受け取り、受け取ったシーケンスプログラムをプログラム格納部12に送る。   The program input unit 11 receives a sequence program input from the sequence program creation device 2 and sends the received sequence program to the program storage unit 12.

プログラム格納部12は、共通のロジック部分Hが検索されるシーケンスプログラム(部品化対象のプログラム)を記憶しておくメモリなどである。プログラム格納部12は、プログラム入力部11からシーケンスプログラムを受け取ると、受け取ったシーケンスプログラムを保持する。また、プログラム格納部12は、シーケンスプログラム編集装置3から要求を受けるなどした場合、要求されたシーケンスプログラムを出力部20へ出力する。出力部20へ出力されたシーケンスプログラムは、出力部20からシーケンスプログラム編集装置3に受け渡される。また、プログラム格納部12は、保持しているシーケンスプログラムを構成している回路ブロックのうち、プログラム部品の生成に用いられた回路ブロックが後述する部品化処理部19によってプログラム部品に置き換えられる処理である置換処理が行われた場合、置換処理後のシーケンスプログラムを保持する。   The program storage unit 12 is a memory or the like that stores a sequence program (a program to be made into components) in which a common logic part H is searched. When receiving the sequence program from the program input unit 11, the program storage unit 12 holds the received sequence program. When receiving a request from the sequence program editing device 3 or the like, the program storage unit 12 outputs the requested sequence program to the output unit 20. The sequence program output to the output unit 20 is transferred from the output unit 20 to the sequence program editing device 3. Also, the program storage unit 12 performs processing in which, among the circuit blocks constituting the stored sequence program, the circuit blocks used for generating the program components are replaced with the program components by the component processing unit 19 described later. When a certain replacement process is performed, the sequence program after the replacement process is held.

共通判定部13は、プログラム格納部12に格納されているシーケンスプログラムを読み込んで、その中に共通のロジック部分Hがあるか否かを判定する。共通判定部13は、共通のロジック部分Hがある場合、共通のロジック部分Hにおける共通のロジックを共通回路パターンGとして抽出する。換言すると、共通判定部13は、共通のロジック部分Hに配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンGとして抽出する。なお、プログラム作成支援装置1は、シーケンスプログラムに共通のロジック部分Hが存在しているかを判定する際、公知のコードクローン検出手法などを利用する。コードクローン検出手法とは、プログラムを表すソースコードの中から、類似しているコード片を探し出す方法である。ソースコードを構成している、類似しているコード片がコードクローンと呼ばれる。   The common determination unit 13 reads a sequence program stored in the program storage unit 12 and determines whether or not there is a common logic part H in the sequence program. When there is a common logic part H, the common determination unit 13 extracts a common logic in the common logic part H as a common circuit pattern G. In other words, the common determination unit 13 extracts, as the common circuit pattern G, a logic pattern that appears in common to the circuit patterns arranged in the common logic portion H. Note that the program creation support device 1 uses a known code clone detection method or the like when determining whether a common logic part H exists in a sequence program. The code clone detection method is a method of searching for similar code fragments from source code representing a program. Similar pieces of code that make up the source code are called code clones.

また、共通判定部13は、共通のロジック部分H全てで、同じ座標に配置された回路部品に対するデバイス割付が一致するかどうかを確認し、確認結果を示す情報として、共通回路パターンGの付属情報を生成する。共通判定部13は、複数の共通のロジック部分Hに含まれる複数の回路部品のそれぞれについて、デバイス割付が全ての共通のロジック部分Hで一致しているか否かを確認し、確認結果を示す付属情報を生成する。付属情報は、共通のロジック部分Hに含まれる複数の回路部品のそれぞれについての確認結果を示す。例えば、共通のロジック部分Hが4つの回路部品#1〜回路部品#4を含む場合、付属情報は、回路部品#1に対するデバイス割付が全ての共通のロジック部分Hで一致しているか否かの情報と、回路部品#2に対するデバイス割付が全ての共通のロジック部分Hで一致しているか否かの情報と、回路部品#3に対するデバイス割付が全ての共通のロジック部分Hで一致しているか否かの情報と、回路部品#4に対するデバイス割付が全ての共通のロジック部分Hで一致しているか否かの情報と、を含んで構成される。   Further, the common determination unit 13 checks whether or not the device assignments to the circuit components arranged at the same coordinates match in all the common logic parts H, and as the information indicating the check result, the additional information of the common circuit pattern G Generate The common determination unit 13 confirms whether or not the device assignment is the same for all of the plurality of circuit components included in the plurality of common logic parts H in all the common logic parts H, and indicates the confirmation result. Generate information. The attached information indicates a confirmation result for each of the plurality of circuit components included in the common logic part H. For example, when the common logic portion H includes four circuit components # 1 to # 4, the attached information indicates whether the device assignment to the circuit component # 1 is the same for all the common logic portions H. The information indicates whether the device assignment to the circuit component # 2 matches in all the common logic parts H, and the information indicates whether the device assignment to the circuit component # 3 matches in all the common logic parts H And information as to whether or not the device assignment to the circuit component # 4 is the same in all the common logic parts H.

検索結果記憶部14は、共通判定部13が抽出した共通回路パターンGの情報および付属情報を、検索結果として記憶しておくメモリなどである。すなわち、検索結果記憶部14は、共通判定部13で共通回路パターンGが抽出されると、抽出された共通回路パターンGの構成を示す情報と付属情報とを受け取り、受け取った各情報を検索結果として保持する。以下、共通回路パターンGの構成を示す情報を構成情報と称する。   The search result storage unit 14 is a memory or the like that stores information on the common circuit pattern G and the attached information extracted by the common determination unit 13 as search results. That is, when the common determination unit 13 extracts the common circuit pattern G, the search result storage unit 14 receives the information indicating the configuration of the extracted common circuit pattern G and the attached information, and stores the received information in the search result storage unit 14. Hold as. Hereinafter, information indicating the configuration of the common circuit pattern G is referred to as configuration information.

検索結果表示処理部15は、検索結果記憶部14が保持している検索結果を、一覧形式で表示装置5に表示させる。検索結果表示処理部15は、表示中の検索結果内からユーザによって部品化する共通回路パターンGが選択されると、選択された共通回路パターンGの構成情報および付属情報を、共通回路パターンGに関する情報として部品定義表示処理部21に送る。   The search result display processing unit 15 causes the display device 5 to display the search results stored in the search result storage unit 14 in a list format. When the user selects the common circuit pattern G to be made into a component from the displayed search result, the search result display processing unit 15 transmits the configuration information and the additional information of the selected common circuit pattern G to the common circuit pattern G. The information is sent to the component definition display processing unit 21 as information.

指示入力部16は、ユーザによって入力される指示を受け取り、指示内容を示す情報を検索結果表示処理部15、部品定義表示処理部21および部品化イメージ表示処理部22の一部または全てに出力する。ユーザによる指示は、検索に関する指示である検索指示、部品化に関する指示である部品指定指示、引数生成要否指示および部品化確定指示、または出力に関する指示である出力指示、などである。   The instruction input unit 16 receives an instruction input by the user and outputs information indicating the content of the instruction to some or all of the search result display processing unit 15, the component definition display processing unit 21, and the componentized image display processing unit 22. . Instructions by the user include a search instruction as an instruction relating to a search, a component designation instruction as an instruction relating to componentization, an instruction to determine whether or not to generate an argument, and an instruction to determine componentization, or an output instruction as an instruction relating to output.

検索指示は、シーケンスプログラム内から共通回路パターンGを検索させる指示であり、指示入力部16から共通判定部13に送られる。部品指定指示は、検索結果の中から部品化する共通回路パターンGを指定する指示であり、指示入力部16から検索結果表示処理部15に送られる。引数生成要否指示は、共通回路パターンGに対するプログラム部品の入出力引数の生成要否を指定する指示であり、指示入力部16から部品定義表示処理部21に送られる。部品化確定指示は、シーケンスプログラム内の一部の回路ブロックをプログラム部品に置き換えた後のイメージの確認結果を基に、部品化を確定するかキャンセルするかを指定する指示である。部品化確定指示は、指示入力部16から部品化イメージ表示処理部22に送られる。出力指示は、シーケンスプログラムを外部装置であるシーケンスプログラム編集装置3などに出力させる指示であり、指示入力部16から出力部20に送られる。   The search instruction is an instruction to search the common circuit pattern G from within the sequence program, and is sent from the instruction input unit 16 to the common determination unit 13. The component designation instruction is an instruction for designating a common circuit pattern G to be made into a component from the search results, and is sent from the instruction input unit 16 to the search result display processing unit 15. The argument generation necessity instruction is an instruction for designating the necessity of generation of the input / output argument of the program component for the common circuit pattern G, and is sent from the instruction input unit 16 to the component definition display processing unit 21. The componentization determination instruction is an instruction for specifying whether to determine or cancel the componentization based on the confirmation result of the image after replacing some circuit blocks in the sequence program with the program components. The componentization confirmation instruction is sent from the instruction input unit 16 to the componentization image display processing unit 22. The output instruction is an instruction to output the sequence program to the sequence program editing device 3 or the like, which is an external device, and is transmitted from the instruction input unit 16 to the output unit 20.

プログラム部品登録部17は、後述する部品化イメージ表示処理部22からプログラム部品の定義情報が送られてくると、送られてきた定義情報に基づいて、共通回路パターンGをプログラム部品に変換して部品化を行う。すなわち、プログラム部品登録部17は、共通回路パターンGおよび定義情報に基づいてプログラムコンポーネントであるプログラム部品を生成するプログラムコンポーネント生成部である。また、プログラム部品登録部17は、生成したプログラム部品をプログラム部品格納部18に登録する。   Upon receiving the program component definition information from the componentized image display processing unit 22, which will be described later, the program component registration unit 17 converts the common circuit pattern G into a program component based on the sent definition information. Make parts. That is, the program component registration unit 17 is a program component generation unit that generates a program component that is a program component based on the common circuit pattern G and the definition information. The program component registration unit 17 registers the generated program component in the program component storage unit 18.

プログラム部品格納部18は、プログラム部品登録部17からの指示に従ってプログラム部品を格納するメモリなどである。プログラム部品格納部18は、プログラム部品登録部17から受け取ったプログラム部品を保持する。プログラム部品格納部18は、部品化処理部19がシーケンスプログラムの回路ブロックをプログラム部品に置換する処理を行う際、保持しているプログラム部品を部品化処理部19に出力する。   The program component storage unit 18 is a memory or the like that stores program components according to instructions from the program component registration unit 17. The program component storage unit 18 holds the program component received from the program component registration unit 17. The program component storage unit 18 outputs the held program components to the component processing unit 19 when the component processing unit 19 performs a process of replacing the circuit blocks of the sequence program with the program components.

部品化処理部19は、プログラム格納部12に格納されているシーケンスプログラムの中の共通のロジック部分Hを、プログラム部品格納部18が保持しているプログラム部品に置き換える。部品化処理部19は、置換後のシーケンスプログラムをプログラム格納部12に記憶させる。   The component processing unit 19 replaces the common logic part H in the sequence program stored in the program storage unit 12 with the program component stored in the program component storage unit 18. The component processing unit 19 causes the program storage unit 12 to store the replaced sequence program.

出力部20は、指示入力部16から出力指示が送られてきた場合、出力指示で指定されたシーケンスプログラムをプログラム格納部12から読み出して外部装置であるシーケンスプログラム編集装置3に出力する。シーケンスプログラム編集装置3に加えて他の外部装置が出力部20に接続されている場合、出力部20は、出力指示で指定されたシーケンスプログラムを、出力指示で指定された外部装置に出力する。   When an output instruction is sent from the instruction input unit 16, the output unit 20 reads the sequence program specified by the output instruction from the program storage unit 12 and outputs the read sequence program to the sequence program editing device 3 that is an external device. When another external device is connected to the output unit 20 in addition to the sequence program editing device 3, the output unit 20 outputs the sequence program specified by the output instruction to the external device specified by the output instruction.

部品定義表示処理部21は、検索結果表示処理部15から送られてきた共通回路パターンGに関する情報に基づき、プログラム部品の入出力引数の生成指定画面(図1に示した画面101に相当)を表示装置5に表示させる。部品定義表示処理部21は、プログラム部品の入出力引数の生成指定画面を表示させた状態で、生成する入出力引数の指定をユーザより受け付ける。部品定義表示処理部21は、生成する入出力引数のユーザによる指定が終了すると、ユーザによる指定結果に基づいてプログラム部品の定義情報を生成し、生成した定義情報を部品化イメージ表示処理部22に送る。   The component definition display processing unit 21 generates a screen for designating the input / output argument of the program component (corresponding to the screen 101 shown in FIG. 1) based on the information on the common circuit pattern G sent from the search result display processing unit 15. It is displayed on the display device 5. The component definition display processing unit 21 receives designation of an input / output argument to be generated from a user while displaying a screen for specifying input / output arguments of the program component. When the user specifies the input / output argument to be generated, the component definition display processing unit 21 generates the definition information of the program component based on the result of the user's specification, and sends the generated definition information to the component image display processing unit 22. send.

部品化イメージ表示処理部22は、部品定義表示処理部21から送られてきたプログラム部品の定義情報に基づき、共通のロジック部分Hをプログラム部品に置換後のシーケンスプログラムのイメージ(確認用画面)を作成し、表示装置5に表示させる。具体的には、部品化イメージ表示処理部22は、図1に示した画面102に相当する画面を表示装置5に表示させる。また、部品化イメージ表示処理部22は、置換後のシーケンスプログラムの確認用画面を表示装置5に表示させた状態で、実際に置換を行うか否かの判断結果の入力をユーザより受け付ける。部品化イメージ表示処理部22は、置換を行うことを示す判断結果の入力を受け付けると、部品定義表示処理部21から受け取ったプログラム部品の定義情報をプログラム部品登録部17に送る。一方、部品化イメージ表示処理部22は、置換を行わないことを示す判断結果の入力を受け付けると、判断結果を部品定義表示処理部21に通知する。通知を受けた部品定義表示処理部21は、プログラム部品の入出力引数の生成指定画面を表示装置5に再度表示させて、生成する入出力引数の指定をユーザより受け付ける。   The componentized image display processing unit 22 displays an image (confirmation screen) of the sequence program after replacing the common logic part H with the program component based on the definition information of the program component transmitted from the component definition display processing unit 21. It is created and displayed on the display device 5. Specifically, the componentized image display processing unit 22 causes the display device 5 to display a screen corresponding to the screen 102 shown in FIG. Further, the componentized image display processing unit 22 receives an input of a determination result as to whether or not to actually perform replacement with the confirmation screen of the sequence program after replacement displayed on the display device 5. Upon receiving the input of the determination result indicating that the replacement is to be performed, the componentized image display processing unit 22 sends the program component definition information received from the component definition display processing unit 21 to the program component registration unit 17. On the other hand, when accepting the input of the determination result indicating that the replacement is not performed, the componentized image display processing unit 22 notifies the component definition display processing unit 21 of the determination result. The component definition display processing unit 21 that has received the notification causes the display device 5 to redisplay the input / output argument generation designation screen of the program component, and accepts the specification of the input / output argument to be generated from the user.

図3は、実施の形態にかかるプログラム作成支援装置1の動作の一例を示すフローチャートである。図3のフローチャートは、プログラム作成支援装置1が、シーケンスプログラムからプログラム部品を作成し、共通のロジック部分Hをプログラム部品に置き換えたシーケンスプログラムを生成する場合の処理手順を示す。   FIG. 3 is a flowchart illustrating an example of an operation of the program creation support device 1 according to the embodiment. The flowchart of FIG. 3 shows a processing procedure when the program creation support apparatus 1 creates a program part from a sequence program and generates a sequence program in which the common logic part H is replaced with the program part.

プログラム作成支援装置1は、シーケンスプログラムをプログラム格納部12で保持しているものとする。すなわち、プログラム作成支援装置1のプログラム入力部11が、シーケンスプログラム作成装置2からシーケンスプログラムを受け取り、受け取ったシーケンスプログラムをプログラム格納部12に格納する処理が完了しているものとする。   It is assumed that the program creation support device 1 holds a sequence program in the program storage unit 12. That is, it is assumed that the program input unit 11 of the program creation support device 1 has received the sequence program from the sequence program creation device 2 and the processing of storing the received sequence program in the program storage unit 12 has been completed.

プログラム作成支援装置1は、共通のロジック部分Hの検索指示を受け付けて、プログラム部品化処理を開始する(ステップS1)。すなわち、ユーザによって、指示入力部16から共通回路パターンG(共通のロジック部分H)の検索指示が入力されると、検索指示は、指示入力部16から共通判定部13に送られる。これにより、プログラム作成支援装置1はプログラム部品化処理を開始する。   The program creation support device 1 receives a search instruction for the common logic part H, and starts a program componentization process (step S1). That is, when the user inputs a search instruction for the common circuit pattern G (common logic part H) from the instruction input unit 16, the search instruction is sent from the instruction input unit 16 to the common determination unit 13. As a result, the program creation support device 1 starts the program component processing.

共通判定部13は、指示入力部16から検索指示を受け取ると、プログラム格納部12が保持しているシーケンスプログラムから共通回路パターンGを抽出する。共通判定部13は、例えば、シーケンスプログラムから共通のロジック部分Hを抽出し、この共通のロジック部分Hに配置されている回路ブロック(図1に示した回路ブロック2a〜4aなど)から共通回路パターンGを抽出する(ステップS2)。また、共通判定部13は、抽出した共通のロジック部分Hを構成する各回路部品について、回路部品に対するデバイス割付が全ての共通のロジック部分Hで一致しているか否かを確認し、確認結果を示す付属情報を生成する。付属情報は、共通のロジック部分Hを構成する回路部品のそれぞれが、第1の回路部品および第2の回路部品のどちらに該当するかを示す情報である。   When receiving the search instruction from the instruction input unit 16, the common determination unit 13 extracts the common circuit pattern G from the sequence program held in the program storage unit 12. The common determination unit 13 extracts, for example, a common logic portion H from the sequence program, and extracts a common circuit pattern from circuit blocks (such as the circuit blocks 2a to 4a shown in FIG. 1) arranged in the common logic portion H. G is extracted (step S2). In addition, the common determination unit 13 checks whether or not the device assignment to the circuit component is the same in all the common logic parts H for each of the extracted circuit parts constituting the common logic part H, and determines the check result. Generate attached information shown. The attached information is information indicating whether each of the circuit components constituting the common logic portion H corresponds to the first circuit component or the second circuit component.

共通判定部13は、共通回路パターンGの抽出および付属情報の生成が終了すると、抽出した共通回路パターンGの構成情報および付属情報と、この共通回路パターンGの件数とを対応付けして検索結果記憶部14に格納する(ステップS3)。   When the extraction of the common circuit pattern G and the generation of the additional information are completed, the common determination unit 13 associates the extracted configuration information and the additional information of the common circuit pattern G with the number of the common circuit patterns G and associates the search result. It is stored in the storage unit 14 (step S3).

また、共通判定部13は、共通のロジック部分Hの場所と、共通のロジック部分Hが抽出されたシーケンスプログラムを識別する情報であるプログラム識別情報とを対応付けして部品化処理部19に送る。共通のロジック部分Hの場所は、たとえば、ラダープログラムの行番号である。   In addition, the common determination unit 13 associates the location of the common logic part H with program identification information that is information for identifying a sequence program from which the common logic part H has been extracted, and sends it to the component processing unit 19. . The location of the common logic part H is, for example, the line number of the ladder program.

検索結果記憶部14は共通判定部13から情報を受け取ると、受け取った情報を記憶する。検索結果表示処理部15は、共通判定部13から出力された情報が検索結果記憶部14に格納されると、検索結果記憶部14が保持している情報に基づいて、共通判定部13により抽出された共通回路パターンGの構成および件数を表示装置5に一覧表示させる。表示装置5は、例えば、図1に示した共通回路パターンGと、その件数(図1では3件)を表示する(ステップS4)。共通判定部13から出力された情報が検索結果記憶部14に格納されたか否かは、例えば、検索結果表示処理部15が検索結果記憶部14の状態を定期的に確認することにより把握する。なお、共通判定部13が、情報を検索結果記憶部14に格納したことを検索結果表示処理部15に通知してもよい。   When receiving the information from the common determination unit 13, the search result storage unit 14 stores the received information. When the information output from the common determination unit 13 is stored in the search result storage unit 14, the search result display processing unit 15 extracts the information from the common determination unit 13 based on the information held in the search result storage unit 14. The display device 5 displays a list of the configurations and the numbers of the common circuit patterns G thus obtained. The display device 5 displays, for example, the common circuit pattern G shown in FIG. 1 and the number thereof (three in FIG. 1) (step S4). Whether or not the information output from the common determination unit 13 has been stored in the search result storage unit 14 is grasped, for example, by the search result display processing unit 15 periodically checking the state of the search result storage unit 14. Note that the common determination unit 13 may notify the search result display processing unit 15 that the information has been stored in the search result storage unit 14.

ステップS4を実行後、プログラム作成支援装置1は、ユーザによって、部品化する共通回路パターンGが選択されるのを待つ。指示入力部16は、部品化する共通回路パターンGの選択をユーザより受け付けると(ステップS5)、選択された共通回路パターンGを示す部品指定指示を生成して検索結果表示処理部15に送る。検索結果表示処理部15は、部品指定指示が示す共通回路パターンGの構成情報および付属情報を検索結果記憶部14から読み出して、部品定義表示処理部21に送る。   After executing step S4, the program creation support device 1 waits for the user to select the common circuit pattern G to be made into a component. When receiving the selection of the common circuit pattern G to be made into a component from the user (step S5), the instruction input unit 16 generates a component designation instruction indicating the selected common circuit pattern G and sends it to the search result display processing unit 15. The search result display processing unit 15 reads the configuration information and the additional information of the common circuit pattern G indicated by the component designation instruction from the search result storage unit 14 and sends them to the component definition display processing unit 21.

部品定義表示処理部21は、共通回路パターンGの構成情報および付属情報を検索結果表示処理部15から受け取ると、受け取った情報に基づいて、ステップS5でユーザに選択された共通回路パターンGに対応するプログラム部品の入出力引数の生成指定画面を表示装置5に表示させる(ステップS6)。部品定義表示処理部21は、ステップS6において、例えば、図4に示した内容の画面をプログラム部品の入出力引数の生成指定画面として表示装置5に表示させる。図4は、プログラム部品の入出力引数の生成指定画面の一例を示す図である。プログラム部品の入出力引数の生成指定画面は、プログラム部品の入出力引数として生成する引数をユーザに指定させる場合に表示される。すなわち、プログラム作成支援装置1は、プログラム部品の入出力引数として生成する引数の指定をユーザから受け付ける場合にプログラム部品の入出力引数の生成指定画面を表示装置5に表示させる。図4に例示したプログラム部品の入出力引数の生成指定画面(以下、画面101と記載する)は、「座標」、「回路記号」、「デバイス割付の一致・不一致」および「入出力引数の生成要否」を含む。「座標」は、共通回路パターンGに含まれる各回路部品の共通回路パターンGにおける位置を示す。「回路記号」は、同じ行の「座標」が示す位置に存在する回路部品の種類を示す。「デバイス割付の一致・不一致」は、同じ行の「座標」が示す位置に存在する回路部品に対するデバイス割付が、共通のロジック部分Hの全てにおいて一致しているか否かを示す。すなわち、「デバイス割付の一致・不一致」は、同じ行の「座標」が示す位置に存在する回路部品が第1の回路部品および第2の回路部品のどちらに該当するのかを示す。「デバイス割付の一致・不一致」が「一致」となっている回路部品(第1の回路部品)については、回路部品に割付けられているデバイスを合わせて表示するようにしている。例えば、座標が(1,0)の回路部品に割付けられているデバイスは「M2」である。「入出力引数の生成要否」は、同じ行の「座標」が示す位置に存在する回路部品にデバイスを割付けるための入出力引数を生成するか否かを示す。ユーザは、表示装置5に画面101が表示されている状態のときに、マウスなどの入力装置を操作して「入出力引数の生成要否」の項目にチェックを入れる、またはチェックを外すことで、生成する入出力引数の指定を変更する。ただし、「デバイス割付の一致・不一致」が「不一致」となっている回路部品(第2の回路部品)については入出力引数の生成が必須である。そのため、プログラム作成支援装置1は、「デバイス割付の一致・不一致」が「不一致」となっている回路部品の「入出力引数の生成要否」はチェックが入った状態で固定とし、ユーザによるチェックを外す操作を受け付けることはしない。   When the component definition display processing unit 21 receives the configuration information and the additional information of the common circuit pattern G from the search result display processing unit 15, it responds to the common circuit pattern G selected by the user in step S5 based on the received information. A display screen for specifying generation of input / output arguments of the program component to be displayed is displayed on the display device 5 (step S6). In step S6, the component definition display processing unit 21 causes the display device 5 to display, for example, a screen having the contents illustrated in FIG. 4 as a generation designation screen of the input / output argument of the program component. FIG. 4 is a diagram illustrating an example of a screen for designating the generation of input / output arguments of a program component. The program component input / output argument generation designation screen is displayed when the user specifies an argument to be generated as a program component input / output argument. That is, the program creation support device 1 causes the display device 5 to display a screen for specifying the input / output argument of the program component when receiving the specification of the argument to be generated as the input / output argument of the program component. The input / output argument generation designation screen (hereinafter, referred to as a screen 101) of the program component illustrated in FIG. 4 includes “coordinates”, “circuit symbols”, “match / mismatch of device assignment”, and “generation of input / output arguments”. Necessity ”. “Coordinate” indicates the position of each circuit component included in the common circuit pattern G in the common circuit pattern G. “Circuit symbol” indicates the type of circuit component existing at the position indicated by “coordinates” on the same row. “Match / mismatch of device assignment” indicates whether or not the device assignment to the circuit component located at the position indicated by the “coordinate” in the same row is the same in all of the common logic parts H. That is, “match / mismatch of device assignment” indicates which of the first circuit component and the second circuit component the circuit component existing at the position indicated by the “coordinate” in the same row. For the circuit component (first circuit component) for which "match / mismatch of device assignment" is "match", the device assigned to the circuit component is also displayed. For example, a device assigned to a circuit component having coordinates (1, 0) is “M2”. “I / O argument generation necessity” indicates whether or not to generate an input / output argument for allocating a device to a circuit component existing at a position indicated by “coordinates” on the same row. When the screen 101 is displayed on the display device 5, the user operates an input device such as a mouse to check or uncheck the item of “Issuance of input / output argument required”. Change the specification of input / output arguments to be generated. However, for circuit components (second circuit components) for which “match / mismatch of device assignment” is “mismatch”, generation of input / output arguments is essential. For this reason, the program creation support apparatus 1 fixes the “input / output argument generation necessity” of the circuit component whose “device assignment match / mismatch” is “mismatched” with a check mark, and checks by the user. Will not be accepted.

ステップS6を実行後、プログラム作成支援装置1は、図4に示した画面101を表示装置5に表示させた状態で、ユーザによって、プログラム部品の生成する入出力引数が選択され、選択操作が終了するのを待つ。指示入力部16は、ユーザによる選択操作が終了すると、すなわち、生成する入出力引数の選択をユーザより受け付けると(ステップS7)、選択された入出力引数を示す引数生成要否指示を生成して部品定義表示処理部21に送る。指示入力部16は、例えば、図4では記載を省略している選択操作終了ボタンがユーザにより押下された場合、引数生成要否指示を生成する。ここでは、図4に示した画面101の内容に従って引数生成要否指示を生成するものとして説明を続ける。すなわち、ユーザが、座標(2,0)のコイルに対してデバイスを割付けるための入出力引数の生成を指定したものとして説明を続ける。この場合、引数生成要否指示は、座標(0,0)のa接点、座標(2,0)のコイルおよび座標(1,1)のb接点にそれぞれに対してデバイスを割付けるための入出力引数の生成を指定する情報を含む。なお、上記のステップS6およびS7を実行する部品定義表示処理部21および指示入力部16は、第1の回路部品の中から、共通のロジック部分Hがプログラム部品に置き換えられた後に入出力引数を用いたデバイス割付が必要な第1の回路部品をユーザに選択させる選択受付部を構成する。   After executing step S6, the program creation support device 1 selects the input / output argument to be generated by the program component with the screen 101 shown in FIG. 4 displayed on the display device 5, and terminates the selection operation. Wait to do. When the selection operation by the user is completed, that is, when the selection of the input / output argument to be generated is received from the user (step S7), the instruction input unit 16 generates an argument generation necessity instruction indicating the selected input / output argument. It is sent to the component definition display processing unit 21. The instruction input unit 16 generates an argument generation necessity instruction when, for example, a selection operation end button not shown in FIG. 4 is pressed by the user. Here, the description is continued assuming that the instruction for generating the argument is generated according to the content of the screen 101 shown in FIG. That is, the description is continued assuming that the user has designated generation of an input / output argument for allocating a device to the coil at coordinates (2, 0). In this case, the argument generation necessity instruction is an input for assigning a device to each of the a contact at the coordinates (0, 0), the coil at the coordinates (2, 0), and the b contact at the coordinates (1, 1). Contains information that specifies the generation of output arguments. Note that the component definition display processing unit 21 and the instruction input unit 16 executing the above steps S6 and S7 change the input / output arguments after the common logic part H is replaced with the program component from the first circuit components. A selection receiving unit that allows the user to select the first circuit component that requires the used device allocation is configured.

部品定義表示処理部21は、引数生成要否指示を受け取ると、受け取った引数生成要否指示と、検索結果表示処理部15から受け取って保持している共通回路パターンGの構成情報とを、部品化イメージ表示処理部22に送る。   When receiving the argument generation necessity instruction, the component definition display processing unit 21 converts the received argument generation necessity instruction and the configuration information of the common circuit pattern G received and held from the search result display processing unit 15 into a component. Is sent to the converted image display processing unit 22.

部品化イメージ表示処理部22は、部品定義表示処理部21から引数生成要否指示と、共通回路パターンGの構成情報とを受け取ると、受け取った情報を保持する。また、部品化イメージ表示処理部22は、部品定義表示処理部21から受け取った情報と、プログラム格納部12で保持されているシーケンスプログラムとに基づいて、共通のロジック部分Hをプログラム部品に置き換えた後のシーケンスプログラムの確認用画面を表示装置5に表示させる(ステップS8)。部品化イメージ表示処理部22は、ステップS8において、例えば、図5に示した内容の画面を置換処理実行後のシーケンスプログラムの確認用画面として表示装置5に表示させる。図5は、置換処理実行後のシーケンスプログラムの確認用画面の一例を示す図である。置換処理実行後のシーケンスプログラムの確認用画面は、共通のロジック部分Hがプログラム部品で置き換えられた後のシーケンスプログラムの構成を確認するための画面である。すなわち、部品化イメージ表示処理部22は、プログラム部品で置き換えられた後のシーケンスプログラムの構成を確認するための画面を表示装置5に表示させる確認表示処理部である。図5に示した置換処理実行後のシーケンスプログラムの確認用画面(以下、画面102と記載する)は、置換前のシーケンスプログラムと、置換後のシーケンスプログラムとを横に並べた構成である。画面102の左側が、共通のロジック部分Hをプログラム部品に置き換える前のシーケンスプログラム(置換前のプログラム)、画面102の右側が、共通のロジック部分Hをプログラム部品に置き換えた後のシーケンスプログラム(置換後のプログラム)である。部品化イメージ表示処理部22は、置換前のシーケンスプログラムのサイズおよび置換後のシーケンスプログラムのサイズを計算して画面102に表示させてもよい。この場合、共通のロジック部分Hをプログラム部品に置換することによるプログラムサイズの削減効果をユーザが事前に知ることが可能となり、置換を実行するか否かの判断材料とすることができる。図5では、1つの共通のロジック部分Hについて、プログラム部品に置き換えた後のシーケンスプログラムの構成を表示する画面の例を示したが、複数の共通のロジック部分Hについて、プログラム部品に置き換えた後のシーケンスプログラムの構成を表示するようにしてもよい。また、部品化イメージ表示処理部22は、ユーザからの操作に従い画面102の表示を上下にスクロールさせ、共通のロジック部分Hのすべてについて、プログラム部品に置き換えた後のシーケンスプログラムの構成をユーザが確認できるようにしてもよい。   When the componentized image display processing unit 22 receives the argument generation necessity instruction and the configuration information of the common circuit pattern G from the component definition display processing unit 21, it holds the received information. Further, the componentized image display processing unit 22 replaces the common logic part H with a program component based on the information received from the component definition display processing unit 21 and the sequence program held in the program storage unit 12. A screen for confirming the subsequent sequence program is displayed on the display device 5 (step S8). In step S8, the componentized image display processing unit 22 causes the display device 5 to display, for example, a screen having the contents illustrated in FIG. 5 as a screen for checking the sequence program after the execution of the replacement processing. FIG. 5 is a diagram showing an example of a sequence program confirmation screen after execution of the replacement process. The sequence program confirmation screen after the execution of the replacement process is a screen for confirming the configuration of the sequence program after the common logic part H has been replaced with the program component. That is, the componentized image display processing unit 22 is a confirmation display processing unit that causes the display device 5 to display a screen for confirming the configuration of the sequence program after being replaced with the program component. The screen for confirming the sequence program after execution of the replacement process (hereinafter, referred to as a screen 102) illustrated in FIG. 5 has a configuration in which the sequence program before replacement and the sequence program after replacement are arranged side by side. The left side of the screen 102 is a sequence program (program before replacement) before replacing the common logic part H with a program part, and the right side of the screen 102 is a sequence program (replacement) after replacing the common logic part H with a program part. Later program). The componentized image display processing unit 22 may calculate the size of the sequence program before replacement and the size of the sequence program after replacement, and display them on the screen 102. In this case, it becomes possible for the user to know in advance the effect of reducing the program size by replacing the common logic part H with the program component, and this can be used as a material for determining whether or not to perform the replacement. FIG. 5 shows an example of a screen displaying the configuration of the sequence program after replacing one common logic portion H with a program component. However, after replacing a plurality of common logic portions H with a program component, FIG. May be displayed. In addition, the componentized image display processing unit 22 scrolls the display of the screen 102 up and down according to the operation of the user, and the user confirms the configuration of the sequence program after replacing all the common logic parts H with the program components. You may be able to.

ステップS8を実行後、プログラム作成支援装置1は、図5に示した画面102を表示装置5に表示させた状態で、ユーザによって、プログラム部品による共通のロジック部分Hの置き換えを実行するか否かが選択されるのを待つ(ステップS9)。指示入力部16は、画面102の右下の「OK(実行)」ボタンが押下されると、すなわち、プログラム部品による共通のロジック部分Hの置き換えの実行が選択されると(ステップS9:実行)、部品化確定指示を生成して部品化イメージ表示処理部22に送る。また、指示入力部16は、画面102の右下の「キャンセル」ボタンが押下されると、すなわち、プログラム部品による共通のロジック部分Hの置き換えを実行しないことが選択されると(ステップS9:キャンセル)、キャンセル指示を生成して部品化イメージ表示処理部22に送る。   After executing step S8, the program creation support device 1 determines whether or not the user replaces the common logic portion H with the program component while the screen 102 shown in FIG. 5 is displayed on the display device 5. Is selected (step S9). When the “OK (execute)” button at the lower right of the screen 102 is pressed, that is, when the execution of the replacement of the common logic part H by the program component is selected (step S9: execute). , And generates a componentization determination instruction and sends it to the componentization image display processing unit 22. Further, when the “cancel” button at the lower right of the screen 102 is pressed, that is, when it is selected that the replacement of the common logic part H by the program component is not performed (step S9: cancel) ), Generates a cancel instruction and sends it to the componentized image display processing unit 22.

部品化イメージ表示処理部22は、キャンセル指示を受け取ると、受け取ったキャンセル指示を部品定義表示処理部21に送り、画面102の表示装置5への表示を終了する。部品定義表示処理部21は、部品化イメージ表示処理部22経由でキャンセル指示を受け取った場合、画面101を表示装置5に表示させる。そして、部品定義表示処理部21は、ユーザによって、プログラム部品の生成する入出力引数が選択され、選択操作が終了するのを再度待つ。このように、図5に示した画面102の右下の「キャンセル」ボタンがユーザにより押下された場合、プログラム作成支援装置1は、ステップS7に戻る。   Upon receiving the cancel instruction, the componentized image display processing unit 22 sends the received cancel instruction to the component definition display processing unit 21, and ends the display of the screen 102 on the display device 5. When receiving the cancellation instruction via the componentized image display processing unit 22, the component definition display processing unit 21 causes the display device 5 to display the screen 101. Then, the component definition display processing unit 21 waits again for the user to select an input / output argument to be generated by the program component and end the selection operation. As described above, when the “cancel” button at the lower right of the screen 102 shown in FIG. 5 is pressed by the user, the program creation support device 1 returns to step S7.

一方、部品化イメージ表示処理部22は、部品化確定指示を受け取ると、部品定義表示処理部21から受け取って保持しておいた情報、具体的には、引数生成要否指示と、共通回路パターンGの構成情報とをプログラム部品登録部17に送る。   On the other hand, when the componentization image display processing unit 22 receives the componentization confirmation instruction, the information received and held from the component definition display processing unit 21, specifically, the argument generation necessity instruction and the common circuit pattern The configuration information of G is sent to the program component registration unit 17.

プログラム部品登録部17は、部品化イメージ表示処理部22から引数生成要否指示と、共通回路パターンGの構成情報とを受け取ると、ステップS5で選択された共通回路パターンGをプログラム部品に変換する(ステップS10)。具体的には、プログラム部品登録部17は、部品化イメージ表示処理部22から受け取った、共通回路パターンGの構成情報が表す共通回路パターンGを、引数生成要否指示が示す入出力引数を有するプログラム部品に変換することでプログラム部品を作成する。プログラム部品登録部17は、変換したプログラム部品をプログラム部品格納部18に格納する(ステップS11)。このように、ユーザによって選択された共通回路パターンGが、プログラム部品としてプログラム部品格納部18に格納される。   Upon receiving the argument generation necessity instruction and the configuration information of the common circuit pattern G from the componentized image display processing unit 22, the program component registration unit 17 converts the common circuit pattern G selected in step S5 into a program component. (Step S10). More specifically, the program component registration unit 17 has the input / output argument indicated by the argument generation necessity instruction indicating the common circuit pattern G indicated by the configuration information of the common circuit pattern G received from the componentized image display processing unit 22. Create program parts by converting them to program parts. The program component registration unit 17 stores the converted program component in the program component storage unit 18 (Step S11). Thus, the common circuit pattern G selected by the user is stored in the program component storage unit 18 as a program component.

プログラム部品格納部18は、プログラム部品登録部17からプログラム部品を受け取ると、受け取ったプログラム部品を記憶する。部品化処理部19は、プログラム部品登録部17により作成されたプログラム部品がプログラム部品格納部18に格納されると、プログラム格納部12が保持しているシーケンスプログラムの中にある共通のロジック部分Hを、プログラム部品格納部18に格納されているプログラム部品に置き換える(ステップS12)。部品化処理部19は、共通のロジック部分Hをプログラム部品で置き換える際に、置き換えたプログラム部品の入出力引数の割付を行う。このとき、部品化処理部19は、共通判定部13から受け取って保持しておいた情報、具体的には、共通のロジック部分Hの場所と、共通のロジック部分Hが抽出されたシーケンスプログラムのプログラム識別情報とに基づいて、プログラム識別情報が示すシーケンスプログラムの共通のロジック部分Hをプログラム部品に置き換える。具体的には、部品化処理部19は、プログラム識別情報に基づいて、プログラム格納部12内から部品化対象のシーケンスプログラムを抽出する。そして、部品化処理部19は、抽出したシーケンスプログラムの共通のロジック部分Hにある回路パターンを、プログラム部品格納部18が保持しているプログラム部品で置き換える。プログラム部品がプログラム部品格納部18に格納されたか否かは、例えば、部品化処理部19がプログラム部品格納部18の状態を定期的に確認することにより把握する。なお、プログラム部品登録部17が、プログラム部品をプログラム部品格納部18に格納したことを部品化処理部19に通知してもよい。   When receiving the program component from the program component registration unit 17, the program component storage unit 18 stores the received program component. When the program component created by the program component registration unit 17 is stored in the program component storage unit 18, the component conversion processing unit 19 generates a common logic part H in the sequence program held by the program storage unit 12. Is replaced with the program component stored in the program component storage unit 18 (step S12). When replacing the common logic part H with a program component, the component processing unit 19 assigns input / output arguments of the replaced program component. At this time, the component processing unit 19 stores the information received and held from the common determination unit 13, specifically, the location of the common logic part H and the sequence program of the sequence program from which the common logic part H is extracted. Based on the program identification information, the common logic part H of the sequence program indicated by the program identification information is replaced with a program component. Specifically, the component processing unit 19 extracts a sequence program to be componentized from the program storage unit 12 based on the program identification information. Then, the component processing unit 19 replaces the circuit pattern in the common logic part H of the extracted sequence program with the program component stored in the program component storage unit 18. Whether the program component is stored in the program component storage unit 18 is grasped, for example, by the component processing unit 19 periodically checking the state of the program component storage unit 18. The program component registration unit 17 may notify the component processing unit 19 that the program component has been stored in the program component storage unit 18.

シーケンスプログラムの少なくとも一部がプログラム部品によって置き換えられた後、置換後のシーケンスプログラムは、プログラム格納部12に格納される。この後、ユーザが指示入力部16に出力指示を入力すると、この出力指示は指示入力部16から出力部20に送られる。出力部20は、出力指示で指定されたシーケンスプログラムをプログラム格納部12から抽出してシーケンスプログラム編集装置3に送る。これにより、シーケンスプログラム編集装置3では、ユーザの指示に従ってシーケンスプログラムの編集が行われる。   After at least a part of the sequence program is replaced by the program component, the replaced sequence program is stored in the program storage unit 12. Thereafter, when the user inputs an output instruction to the instruction input unit 16, the output instruction is sent from the instruction input unit 16 to the output unit 20. The output unit 20 extracts the sequence program specified by the output instruction from the program storage unit 12 and sends it to the sequence program editing device 3. Thereby, the sequence program editing device 3 edits the sequence program according to the user's instruction.

プログラム作成支援装置1は、図3のステップS12を実行した後、ステップS4に戻って動作を継続するようにしてもよい。この場合、検索結果表示処理部15は、ステップS4において共通回路パターンGの構成および件数を表示装置5に一覧表示させる際、過去に実行したステップS5で選択された共通回路パターンG、すなわち、プログラム部品への部品化が済んでいる共通回路パターンGについては一覧表示に含めないようにする。   After executing step S12 in FIG. 3, the program creation support device 1 may return to step S4 to continue the operation. In this case, the search result display processing unit 15, when displaying the configuration and the number of common circuit patterns G in a list on the display device 5 in step S4, the common circuit pattern G selected in step S5 executed in the past, that is, the program The common circuit pattern G that has been made into a component is not included in the list display.

なお、本実施の形態では、ユーザによって指定された共通回路パターンGを部品化したが、プログラム部品登録部17は、共通判定部13で抽出された全ての共通回路パターンGを部品化してもよい。この場合、プログラム作成支援装置1は、例えば、図3に示したステップS6〜S9の処理を繰り返し実行し、全ての共通回路パターンGについてステップS6〜S9の処理が終了すると、ステップS10〜S12を実行する。   In the present embodiment, the common circuit pattern G specified by the user is made into components, but the program component registration unit 17 may make all the common circuit patterns G extracted by the common determination unit 13 into components. . In this case, for example, the program creation support device 1 repeatedly executes the processing of steps S6 to S9 shown in FIG. 3 and, when the processing of steps S6 to S9 is completed for all the common circuit patterns G, performs steps S10 to S12. Execute.

また、本実施の形態において、プログラム作成支援装置1は、上記のステップS6およびS7において、プログラム部品の入出力引数をユーザに選択させるようにしたが、ユーザによる選択を受け付けない構成としてもよい。すなわち、共通回路パターンGに含まれる回路部品のうち、共通のロジック部分Hの全てでデバイス割付が一致している回路部品(第1の回路部品)については入出力引数を生成しないこととして、プログラム部品の入出力引数の数が最小となるようにしてもよい。この場合、プログラム作成支援装置1は、上記のステップS5に続いてステップS10を実行する。このとき、検索結果表示処理部15は、ステップS5でユーザに選択された共通回路パターンGの構成情報および付属情報を検索結果記憶部14から読み出して、プログラム部品登録部17に送る。   Further, in the present embodiment, the program creation support device 1 allows the user to select the input / output argument of the program component in the above steps S6 and S7, but the configuration may be such that the selection by the user is not accepted. That is, among the circuit components included in the common circuit pattern G, the circuit component (first circuit component) having the same device assignment in all of the common logic portions H is determined not to generate input / output arguments. The number of component input / output arguments may be minimized. In this case, the program creation support device 1 executes step S10 following step S5. At this time, the search result display processing unit 15 reads the configuration information and the attached information of the common circuit pattern G selected by the user in step S5 from the search result storage unit 14 and sends them to the program component registration unit 17.

また、本実施の形態では、プログラム作成支援装置1が取り扱うシーケンスプログラムがラダープログラムである場合の例について説明したが、シーケンスプログラムをラダープログラムに限定するものではない。   Further, in the present embodiment, an example has been described in which the sequence program handled by the program creation support device 1 is a ladder program, but the sequence program is not limited to the ladder program.

また、プログラム作成支援装置1は、特許文献1に記載の発明と同様に、共通回路パターンGとして抽出するブロックのサイズをユーザに指定させるようにしてもよい。   Further, the program creation support device 1 may allow the user to specify the size of a block to be extracted as the common circuit pattern G, similarly to the invention described in Patent Document 1.

以上のように、本実施の形態にかかるプログラム作成支援装置1は、シーケンスプログラムを解析して構成が同じ回路パターンが複数存在するか否かを確認し、構成が同じ回路パターンである共通回路パターンGを抽出し、抽出した共通回路パターンGを表すプログラム部品を生成する。そして、プログラム作成支援装置1は、シーケンスプログラムに含まれる共通回路パターンGを、生成したプログラム部品に置き換える。また、プログラム作成支援装置1は、共通回路パターンGを抽出した後、共通回路パターンGに含まれる回路部品のそれぞれについて、抽出した全ての共通回路パターンGの間でデバイス割付が一致するか否かを確認し、確認結果を示す付属情報を生成する。そして、プログラム作成支援装置1は、プログラム部品を生成する際、全ての共通回路パターンGの間でデバイス割付が一致している第1の回路部品については、ユーザから指示された場合を除いて、デバイス割付を行うための入出力引数を生成しないこととした。これにより、プログラム部品の入出力引数の数を削減できる。この結果、シーケンスプログラムの可読性および保守性を高めることが可能となる。   As described above, the program creation support device 1 according to the present embodiment analyzes the sequence program to check whether there are a plurality of circuit patterns having the same configuration, and determines whether the common circuit pattern has the same configuration. G is extracted, and a program component representing the extracted common circuit pattern G is generated. Then, the program creation support device 1 replaces the common circuit pattern G included in the sequence program with the generated program component. Further, after extracting the common circuit pattern G, the program creation support device 1 determines whether the device assignments of all the extracted common circuit patterns G are the same for each of the circuit components included in the common circuit pattern G. And generates additional information indicating the confirmation result. Then, when generating the program parts, the program creation support device 1 regards the first circuit parts having the same device assignment among all the common circuit patterns G except when instructed by the user. It has been decided not to generate input / output arguments for device allocation. Thus, the number of input / output arguments of the program component can be reduced. As a result, the readability and maintainability of the sequence program can be improved.

次に、プログラム作成支援装置1のハードウェア構成について説明する。図6は、実施の形態にかかるプログラム作成支援装置1のハードウェア構成を示す図である。プログラム作成支援装置1は、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、通信インタフェース94および入力部95を有している。プログラム作成支援装置1では、これらのCPU91、ROM92、RAM93、通信インタフェース94および入力部95がバスラインBを介して接続されている。入力部95は、マウスやキーボードを備えて構成される。また、ROM92にはプログラム90が格納されている。プログラム90は、CPU91が共通判定部13、検索結果表示処理部15、プログラム部品登録部17、部品化処理部19、部品定義表示処理部21および部品化イメージ表示処理部22として動作するためのプログラムである。通信インタフェース94は、プログラム作成支援装置1がシーケンスプログラム作成装置2、シーケンスプログラム編集装置3などの他の機器との間で通信用の信号を送受信するための処理回路であり、例えばネットワークインタフェースカードである。バスラインBには表示装置5も接続されている。   Next, the hardware configuration of the program creation support device 1 will be described. FIG. 6 is a diagram illustrating a hardware configuration of the program creation support device 1 according to the embodiment. The program creation support device 1 includes a CPU (Central Processing Unit) 91, a ROM (Read Only Memory) 92, a RAM (Random Access Memory) 93, a communication interface 94, and an input unit 95. In the program creation support device 1, the CPU 91, the ROM 92, the RAM 93, the communication interface 94, and the input unit 95 are connected via the bus line B. The input unit 95 includes a mouse and a keyboard. Further, a program 90 is stored in the ROM 92. The program 90 is a program for the CPU 91 to operate as the common determination unit 13, the search result display processing unit 15, the program component registration unit 17, the component conversion processing unit 19, the component definition display processing unit 21, and the component conversion image display processing unit 22. It is. The communication interface 94 is a processing circuit that allows the program creation support device 1 to transmit and receive communication signals to and from other devices such as the sequence program creation device 2 and the sequence program editing device 3. is there. The display device 5 is also connected to the bus line B.

図2に示したプログラム作成支援装置1の各構成要素のうち、共通判定部13、検索結果表示処理部15、プログラム部品登録部17、部品化処理部19、部品定義表示処理部21および部品化イメージ表示処理部22は、CPU91およびROM92により実現される。すなわち、CPU91が、ROM92に格納されたプログラム90をROM92から読み出して実行することにより、上記の各構成要素が実現される。   Among the components of the program creation support device 1 shown in FIG. 2, the common determination unit 13, the search result display processing unit 15, the program component registration unit 17, the component conversion processing unit 19, the component definition display processing unit 21, and the component conversion The image display processing unit 22 is realized by the CPU 91 and the ROM 92. That is, when the CPU 91 reads out the program 90 stored in the ROM 92 from the ROM 92 and executes it, each of the above components is realized.

また、図2に示したプログラム作成支援装置1のプログラム格納部12、検索結果記憶部14およびプログラム部品格納部18は、RAM93により実現される。図2に示したプログラム作成支援装置1のプログラム入力部11および出力部20は通信インタフェース94により実現される。図2に示したプログラム作成支援装置1の指示入力部16は、入力部95により実現される。   In addition, the program storage unit 12, the search result storage unit 14, and the program component storage unit 18 of the program creation support device 1 illustrated in FIG. The program input unit 11 and the output unit 20 of the program creation support device 1 shown in FIG. The instruction input unit 16 of the program creation support device 1 shown in FIG.

なお、ここでは、プログラム作成支援装置1の共通判定部13、検索結果表示処理部15、プログラム部品登録部17、部品化処理部19、部品定義表示処理部21および部品化イメージ表示処理部22として動作するためのプログラム(プログラム90)が予めROM92に格納されているものとしたがこれに限定されない。上記のプログラム90は、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROMなどの記録媒体に書き込まれた状態でユーザに供給され、プログラム作成支援装置1を実現するハードウェアにユーザがインストールを行う形態であってもよい。この場合、プログラム作成支援装置1を実現するハードウェアは、記録媒体からプログラムを読み出すための読み取り装置、または、読み取り装置を接続するためのインタフェース回路を含む構成となる。また、上記のプログラム90は、インターネットなどの通信回線を介して提供される形態であってもよい。   Here, the common determination unit 13, the search result display processing unit 15, the program component registration unit 17, the component conversion processing unit 19, the component definition display processing unit 21, and the component conversion image display processing unit 22 of the program creation support device 1 are described here. The program for operation (program 90) is stored in the ROM 92 in advance, but the present invention is not limited to this. The program 90 is supplied to the user in a state of being written on a recording medium such as a CD (Compact Disc) -ROM and a DVD (Digital Versatile Disc) -ROM. A form for performing installation may be used. In this case, the hardware that implements the program creation support device 1 has a configuration including a reading device for reading a program from a recording medium or an interface circuit for connecting the reading device. The program 90 may be provided via a communication line such as the Internet.

以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。   The configurations described in the above embodiments are merely examples of the contents of the present invention, and can be combined with other known technologies, and can be combined with other known technologies without departing from the gist of the present invention. Parts can be omitted or changed.

1 プログラム作成支援装置、2 シーケンスプログラム作成装置、3 シーケンスプログラム編集装置、5 表示装置、2a〜4a,2b〜4b 回路ブロック、11 プログラム入力部、12 プログラム格納部、13 共通判定部、14 検索結果記憶部、15 検索結果表示処理部、16 指示入力部、17 プログラム部品登録部、18 プログラム部品格納部、19 部品化処理部、20 出力部、21 部品定義表示処理部、22 部品化イメージ表示処理部、100 プログラム作成システム。   REFERENCE SIGNS LIST 1 program creation support device, 2 sequence program creation device, 3 sequence program editing device, 5 display device, 2 a to 4 a, 2 b to 4 b circuit block, 11 program input unit, 12 program storage unit, 13 common determination unit, 14 search results Storage unit, 15 search result display processing unit, 16 instruction input unit, 17 program component registration unit, 18 program component storage unit, 19 component processing unit, 20 output unit, 21 component definition display processing unit, 22 component image display processing Department, 100 program creation system.

Claims (6)

シーケンスプログラム内の回路全体から共通のロジック部分を抽出し、抽出した共通のロジック部分に含まれる回路部品について、同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致しているか否かを示す付属情報を生成する共通判定部と、
前記共通判定部が抽出した共通のロジック部分と前記付属情報とに基づいてプログラムコンポーネントを生成するプログラムコンポーネント生成部と、
前記シーケンスプログラム内の前記共通のロジック部分の各々を、前記プログラムコンポーネントと前記プログラムコンポーネントの入出力引数に接続する回路部品とで置き換える置換部と、
を備え、
前記プログラムコンポーネント生成部は、同じ位置の回路部品に対するデバイス割付が全ての前記共通のロジック部分で一致している回路部品である第1の回路部品の中のユーザに指定された第1の回路部品に対してデバイス割付を行う入出力引数と、前記第1の回路部品に該当しない回路部品である第2の回路部品にデバイス割付を行う入出力引数と、を有するプログラムコンポーネントを生成する
ことを特徴とするプログラム作成支援装置。
A common logic part is extracted from the entire circuit in the sequence program, and as for the circuit parts included in the extracted common logic part, whether or not the device assignment to the circuit part at the same position is the same in all the common logic parts A common determination unit that generates additional information indicating
A program component generation unit that generates a program component based on the common logic part and the attached information extracted by the common determination unit,
A replacement unit that replaces each of the common logic parts in the sequence program with the program component and a circuit component connected to an input / output argument of the program component;
With
It said program component generating unit includes a first circuit that is designated by the user in the first circuit component is a circuit component device assignment is consistent with all of the common logic portion for the circuit components of the same position Generating a program component having an input / output argument for assigning a device to a component and an input / output argument for assigning a device to a second circuit component that is a circuit component not corresponding to the first circuit component ;
A program creation support device characterized by the following.
前記共通判定部が抽出した共通のロジック部分をプログラムコンポーネントの候補として表示装置に表示させる検索結果表示処理部、
を備え、
前記プログラムコンポーネント生成部は、前記プログラムコンポーネントの候補の中からユーザによって選択された共通のロジック部分と前記付属情報とに基づいてプログラムコンポーネントを生成する、
ことを特徴とする請求項1に記載のプログラム作成支援装置。
A search result display processing unit that causes the common logic part extracted by the common determination unit to be displayed on a display device as a candidate for a program component;
With
The program component generating unit generates a program component based on a common logic part selected by a user from among the candidates for the program component and the attached information,
The program creation support device according to claim 1, wherein:
前記第1の回路部品の中から、前記共通のロジック部分が前記プログラムコンポーネント生成部で生成されるプログラムコンポーネントに置き換えられた後に入出力引数を用いたデバイス割付が必要な第1の回路部品をユーザに選択させる選択受付部、
を備えることを特徴とする請求項1または2に記載のプログラム作成支援装置。
From among the first circuit components, a first circuit component that requires device allocation using input / output arguments after the common logic part is replaced with a program component generated by the program component generation unit. Selection accepting unit to be selected by
Program creation support apparatus according to claim 1 or 2, characterized in the Ruco equipped with.
前記プログラムコンポーネント生成部が前記プログラムコンポーネントを生成して前記置換部が前記共通のロジック部分を前記プログラムコンポーネントで置き換える前に、前記共通のロジック部分が前記プログラムコンポーネントと前記プログラムコンポーネントの入出力引数に接続する回路部品とで置き換えられた後の前記シーケンスプログラムの構成を確認するための画面を表示装置に表示させる確認表示処理部、
を備えることを特徴とする請求項1から3のいずれか一つに記載のプログラム作成支援装置。
The common logic part connects to the program component and the input / output arguments of the program component before the program component generation part generates the program component and the replacement part replaces the common logic part with the program component. A confirmation display processing unit that causes a display device to display a screen for confirming the configuration of the sequence program after being replaced with a circuit component to be replaced,
The program creation support device according to any one of claims 1 to 3, further comprising:
シーケンスプログラムの作成を支援するプログラム作成支援装置が実行するプログラム作成支援方法であって、
シーケンスプログラム内の回路全体から共通のロジック部分を抽出する第1のステップと、
前記第1のステップで抽出した共通のロジック部分に含まれる回路部品について、各共通のロジック部分の同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致しているか否かを示す付属情報を生成する第2のステップと、
前記第1のステップで抽出した共通のロジック部分と前記付属情報とに基づいてプログラムコンポーネントを生成する第3のステップと、
前記シーケンスプログラム内の前記共通のロジック部分を前記プログラムコンポーネントと前記プログラムコンポーネントの入出力引数に接続する回路部品とで置き換える第4のステップと、
を含み、
前記第3のステップでは、同じ位置の回路部品に対するデバイス割付が全ての前記共通のロジック部分で一致している回路部品である第1の回路部品の中のユーザに指定された第1の回路部品に対してデバイスを割付けるための入出力引数と、前記第1の回路部品に該当しない回路部品である第2の回路部品に対してデバイスを割付けるための入出力引数と、を有するプログラムコンポーネントを生成する、
ことを特徴とするプログラム作成支援方法。
A program creation support method executed by a program creation support device that supports creation of a sequence program,
A first step of extracting a common logic part from the entire circuit in the sequence program;
For the circuit components included in the common logic portion extracted in the first step, an attachment indicating whether or not the device assignment of each common logic portion to the circuit component at the same position is the same in all common logic portions. A second step of generating information;
A third step of generating a program component based on the common logic portion extracted in the first step and the attached information;
A fourth step of replacing the common logic portion in the sequence program with the program component and a circuit component connected to an input / output argument of the program component;
Only including,
In the third step, the first circuit component designated by the user among the first circuit components, which is the circuit component whose device assignment to the circuit component at the same position is the same in all the common logic parts A program component having an input / output argument for allocating a device to the first circuit component and an input / output argument for allocating a device to a second circuit component which is a circuit component not corresponding to the first circuit component Produces
A program creation support method characterized by the following.
シーケンスプログラム内の回路全体から共通のロジック部分を抽出する第1のステップと、
前記第1のステップで抽出した共通のロジック部分に含まれる回路部品について、各共通のロジック部分の同じ位置の回路部品に対するデバイス割付が全ての共通のロジック部分で一致しているか否かを示す付属情報を生成する第2のステップと、
前記第1のステップで抽出した共通のロジック部分と前記付属情報とに基づいてプログラムコンポーネントを生成する第3のステップと、
前記シーケンスプログラム内の前記共通のロジック部分を前記プログラムコンポーネントと前記プログラムコンポーネントの入出力引数に接続する回路部品とで置き換える第4のステップと、
をコンピュータに実行させ
前記第3のステップは、同じ位置の回路部品に対するデバイス割付が全ての前記共通のロジック部分で一致している回路部品である第1の回路部品の中のユーザに指定された第1の回路部品に対してデバイスを割付けるための入出力引数と、前記第1の回路部品に該当しない回路部品である第2の回路部品に対してデバイスを割付けるための入出力引数と、を有するプログラムコンポーネントを生成する処理を含む、
ことを特徴とするプログラム作成支援プログラム。
A first step of extracting a common logic part from the entire circuit in the sequence program;
For the circuit components included in the common logic portion extracted in the first step, an attachment indicating whether or not the device assignment of each common logic portion to the circuit component at the same position is the same in all common logic portions. A second step of generating information;
A third step of generating a program component based on the common logic portion extracted in the first step and the attached information;
A fourth step of replacing the common logic portion in the sequence program with the program component and a circuit component connected to an input / output argument of the program component;
To the computer ,
The third step is a first circuit component designated by a user among first circuit components which are circuit components whose device assignments to circuit components at the same position are identical in all the common logic parts. A program component having an input / output argument for allocating a device to the first circuit component and an input / output argument for allocating a device to a second circuit component which is a circuit component not corresponding to the first circuit component Including the process of generating
A program creation support program characterized in that:
JP2019552927A 2019-03-05 2019-03-05 Program creation support device, program creation support method, and program creation support program Active JP6664563B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/008657 WO2020178983A1 (en) 2019-03-05 2019-03-05 Program creation assistance device, program creation assistance method, and program creation assistance program

Publications (2)

Publication Number Publication Date
JP6664563B1 true JP6664563B1 (en) 2020-03-13
JPWO2020178983A1 JPWO2020178983A1 (en) 2021-03-11

Family

ID=70000323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552927A Active JP6664563B1 (en) 2019-03-05 2019-03-05 Program creation support device, program creation support method, and program creation support program

Country Status (3)

Country Link
JP (1) JP6664563B1 (en)
CN (1) CN113518947B (en)
WO (1) WO2020178983A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092808A (en) * 2003-09-19 2005-04-07 Keyence Corp Ladder program macro generator and generation method, program therefor and computer-readable recording medium
WO2014155717A1 (en) * 2013-03-29 2014-10-02 三菱電機株式会社 Sequence program component creation program and sequence program component creation device
JP2016118883A (en) * 2014-12-19 2016-06-30 ファナック株式会社 Ladder program retrieval system capable of retrieving ladder circuit according to arithmetic condition of designated signal
JP6370503B1 (en) * 2017-04-17 2018-08-08 三菱電機株式会社 Program creation device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526692B2 (en) * 1990-03-02 1996-08-21 三菱電機株式会社 Programmable controller programming method
JP3755500B2 (en) * 2002-09-06 2006-03-15 ソニー株式会社 GUI application development support apparatus and method, and computer program
DE112010006021T5 (en) * 2010-11-24 2013-09-05 Mitsubishi Electric Corp. System design device
US9747529B2 (en) * 2012-03-19 2017-08-29 Mitsubishi Electric Corporation Sequence program creation device
DE112015006067T5 (en) * 2015-01-28 2017-10-12 Mitsubishi Electric Corporation Intelligent functional module and programmable logic control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092808A (en) * 2003-09-19 2005-04-07 Keyence Corp Ladder program macro generator and generation method, program therefor and computer-readable recording medium
WO2014155717A1 (en) * 2013-03-29 2014-10-02 三菱電機株式会社 Sequence program component creation program and sequence program component creation device
JP5769900B2 (en) * 2013-03-29 2015-08-26 三菱電機株式会社 Sequence program component creation program and sequence program component creation device
JP2016118883A (en) * 2014-12-19 2016-06-30 ファナック株式会社 Ladder program retrieval system capable of retrieving ladder circuit according to arithmetic condition of designated signal
JP6370503B1 (en) * 2017-04-17 2018-08-08 三菱電機株式会社 Program creation device

Also Published As

Publication number Publication date
CN113518947B (en) 2022-10-21
JPWO2020178983A1 (en) 2021-03-11
CN113518947A (en) 2021-10-19
WO2020178983A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
JP5769900B2 (en) Sequence program component creation program and sequence program component creation device
JP6664563B1 (en) Program creation support device, program creation support method, and program creation support program
JP5849592B2 (en) Programmable controller system, programming device thereof, programmable controller, program, and debugging method
JP5785130B2 (en) Program generator
JP4319082B2 (en) Programming system
EP3982213A1 (en) Support device and support program
JP2011039786A (en) Software test support device, software test support method and program
JP4616829B2 (en) Source code creation support program and source code creation support method
JP4266334B2 (en) Ladder program macro creation device, ladder program macro creation method, ladder program macro creation program, and computer-readable recording medium
JP6664562B1 (en) Debug support device, debug support method, and debug support program
JP2022027456A (en) Information processor, ladder program generation device, information processing method, ladder program generation method, article manufacturing method, program, and recording medium
JP4381793B2 (en) PROGRAMMABLE DISPLAY, DISPLAY CONTROL PROGRAM, RECORDING MEDIUM RECORDING THE PROGRAM, SCREEN CREATION DEVICE, SCREEN CREATION PROGRAM, AND RECORDING MEDIUM RECORDING THE PROGRAM
JP2010152581A (en) Information control system and information control method
JPH11353164A (en) System and method for source program generation, and system and method for chart generation
JP2020017225A (en) Information processor and display program
JP7248801B2 (en) Design support system and design support method
JP6091471B2 (en) Source code analysis apparatus, source code analysis method, and source code analysis program
JP2019197258A (en) Information processor, method for controlling the same, and program
JPWO2014136210A1 (en) Execution flow creation support program
JP2009157534A (en) Programming support system, its programmable controller support device, and programmable indicator support device
US11520315B2 (en) Production system, production method, and information storage medium
JP2018194898A (en) Support device, control method of support device, information processing program, and storage medium
JP2005251014A (en) Control system, control monitor program, recording medium recorded with program therefor, editor device, editor program, and recording medium recorded with program therefor
JP2006268764A (en) Model edit system, model edit apparatus, model edit method and model edit program
JP3647888B2 (en) User interface processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190925

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190925

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200218

R150 Certificate of patent or registration of utility model

Ref document number: 6664563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250