JP5777842B2 - プログラミングツール - Google Patents

プログラミングツール Download PDF

Info

Publication number
JP5777842B2
JP5777842B2 JP2015512252A JP2015512252A JP5777842B2 JP 5777842 B2 JP5777842 B2 JP 5777842B2 JP 2015512252 A JP2015512252 A JP 2015512252A JP 2015512252 A JP2015512252 A JP 2015512252A JP 5777842 B2 JP5777842 B2 JP 5777842B2
Authority
JP
Japan
Prior art keywords
fbd
component
execution order
parts
program
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
JP2015512252A
Other languages
English (en)
Other versions
JPWO2014170992A1 (ja
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 JP5777842B2 publication Critical patent/JP5777842B2/ja
Publication of JPWO2014170992A1 publication Critical patent/JPWO2014170992A1/ja
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
    • G05B19/056Programming the PLC

Description

本発明は、プログラミングツール、特に、ファンクションブロックダイアグラム(FBD)言語の記述によるプログラミングのためのプログラミングツールに関する。
工場の製造ラインや個々の装置、プラント、オフィスビル等の現場にて、被制御機器をシーケンシャルに制御するためのプログラマブルロジックコントローラ(PLC)が用いられている。PLCに格納しているプログラムを書き換えるには、コンピュータ上に専用のソフトウェアをインストールしたプログラム作成支援装置(プログラミングツール)を用いる。
FBD言語は、PLCが使用するループ制御プログラムなどのプログラミングに用いられている。国際電機標準会議(IEC)が発行した標準規格IEC61131−3によると、FBD言語は、PLC用のプログラム言語の一つとして定義されている。FBD言語を用いるプログラミングツールは、それぞれ所定の処理に対応するFBD部品(ファンクションあるいはファンクションブロック)を配置する。プログラミングツールは、データや信号の流れに沿ってFBD部品を結線することで、一連の処理を記述する。
FBD言語を用いて作成されたソフトウェアは、コンパイルによって、FBD部品の位置情報および接続情報を基に処理の実行順序が決定される。プログラミングツールは、一連の処理の実行順序を決定することにより、FBDプログラムをPLCで実行するために必要なデータ(実行データ)を生成する。また、プログラミングツールは、FBDプログラムの図形描画に関するデータ(図形データ)を、FBDプログラムの保守に利用している。プログラミングツールは、コンパイルを経たプロジェクトの実行データや図形データをPLCに書き込む処理(PC書込)を実施する。
FBD言語を用いて作成されたソフトウェアは、コンパイルのあとにFBD部品の配置が変更されることで、未コンパイル状態となる場合がある。ユーザは、未コンパイル状態を解消するには、再コンパイルを実施することとなる。また、かかる再コンパイルを経たプロジェクトについて、実行データや図形データのPC書込の実施により、PLCへの反映を要する場合もある。
また、従来、FBD言語を用いて作成されたソフトウェアについて、FBDプログラムの変更前後の比較のための手法として、テキスト変換を適用するものが知られている(例えば、特許文献1参照)。特許文献1の方法によると、プログラムにある全てのFBD部品について命令コードの数値情報(機械語)をテキスト変換し、両プログラムのテキスト情報を順次比較する。
特開平10−149208号公報
特許文献1にあるように、プログラムの比較にテキスト変換を適用する方法では、まず、比較対象とするプログラムの双方について機械語へ変換する処理を要する。この時点で既に、コンパイルに相当する処理負担が必要となる。さらに、機械語を文字列へ変換する処理、文字列をテキストファイルに出力する処理を経て、両プログラムのテキストファイルを比較する。従来技術によると、FBDプログラムの比較には、多くの工程および処理を要し、時間がかかることとなる。
例えば、ユーザは、制御プログラムのコンパイルおよびPC書込により機器の動作を確認してからプログラムのドキュメントが必要となったときなどにおいて、制御プログラムの体裁を整えるためにFBD部品の配置変更を望む場合がある。従来技術のプログラミングツールでは、FBD部品の配置を変更するとプログラムが直ちに未コンパイル状態となるため、FBD部品の配置を少しでも変えるたびに再コンパイル、PC書込を要することが問題となる。
本発明は、上記に鑑みてなされたものであって、FBD部品の配置の変更によるプログラム編集の作業負担を軽減可能とするプログラミングツールを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ファンクションブロックダイアグラム(FBD)部品を配置し、配置された前記FBD部品同士を接続することによりプログラムを編集するプログラム編集部と、編集された前記プログラムに対し、前記FBD部品の位置情報および接続情報を基に、前記FBD部品の実行順序を決定する実行順序決定部と、前記プログラム編集部に配置されている前記FBD部品の前記位置情報および前記接続情報を管理する部品情報管理部と、前記プログラム編集部における前記FBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する再コンパイル要否判定部と、を有し、配置を変更させる前記FBD部品が前記プログラム編集部において指定されると、前記部品情報管理部は、前記プログラム編集部で指定されたFBD部品の位置を変更させても前記実行順序が同一となる位置範囲を抽出し、前記再コンパイル要否判定部は、前記指定されたFBD部品の位置変更後の位置情報が、前記部品情報管理部で抽出された前記位置範囲に含まれる場合、前記再コンパイルの実施を不要と判定することを特徴とする。
本発明にかかるプログラミングツールは、FBD部品を移動させる前後において、処理の実行順序が変更するか否かに応じて、再コンパイルの要否を判定する。FBD部品の配置変更を伴うプログラム編集について、処理の実行順序に変更が無ければ再コンパイルを不要とすることで、再コンパイルやPC書込による作業負担を軽減させることができる。これにより、FBD部品の配置の変更によるプログラム編集の作業負担を軽減できるという効果を奏する。
図1は、本発明の実施の形態1にかかるプログラミングツールの構成を示すブロック図である。 図2は、FBD部品の配置を変更するときにおけるプログラミングツールの処理手順を説明するフローチャートである。 図3は、FBD部品の実行順序を、規則にしたがって決定する方法を説明する図である。 図4は、FBD部品の実行順序を決定した例を示す図である。 図5は、FBD部品の実行順序が同一となる位置範囲の抽出についての詳細な手順を示すフローチャートである。 図6は、FBDプログラムの図形データの例を示す図である。 図7は、本発明の実施の形態2にかかるプログラミングツールの処理手順を説明するフローチャートである。 図8は、FBD部品の実行順序が同一となる位置範囲を表示する例を示す図である。 図9は、本発明の実施の形態3にかかるプログラミングツールの処理手順を説明するフローチャートである。 図10は、設定された位置範囲の外へのFBD部品の移動の制限について説明する図である。
以下に、本発明にかかるプログラミングツールの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるプログラミングツールの構成を示すブロック図である。プログラミングツール10は、プログラミングツールソフトウェアがインストールされたコンピュータで実現される。プログラミングツール10は、PLCで動作させるループ制御プログラムなどを編集するツールである。
プログラミングツール10は、プログラム編集部11、部品情報管理部12、実行順序決定部13および再コンパイル要否判定部14を有する。プログラム編集部11は、ファンクションブロックダイアグラム(FBD)部品を配置し、配置されたFBD部品同士を接続することによりプログラムを編集する。
部品情報管理部12は、プログラム編集部11に接続されている。部品情報管理部12は、プログラム編集部11にて配置されているFBD部品の位置情報および接続情報を管理する。
実行順序決定部13は、部品情報管理部12に接続されている。実行順序決定部13は、プログラム編集部11で編集されたプログラムに対し、FBD部品の位置情報および接続情報を基に、FBD部品の実行順序を決定する。
再コンパイル要否判定部14は、部品情報管理部12に接続されている。再コンパイル要否判定部14は、プログラム編集部11におけるFBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する。
図2は、FBD部品の配置を変更するときにおけるプログラミングツールの処理手順を説明するフローチャートである。FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS1)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。
ステップS1での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS10)。
ここで、ステップS10における位置情報の抽出に関して、FBD部品の実行順序の規則について説明する。図3は、FBD部品の実行順序を、規則にしたがって決定する方法を説明する図である。
図3には、実線の矩形で示す11個のFBD部品(A〜K)を示している。処理グループは、互いに接続されたFBD部品からなる一連のFBD部品群とする。図3に示すプログラムは、5つの処理グループ(a),(b),(c),(d),(e)を含む。図3では、処理グループの境界を破線として示している。
処理グループ(a)は、1つのFBD部品(H)からなる。処理グループ(b)は、1つのFBD部品(I)からなる。処理グループ(c)は、互いに接続された6個のFBD部品(A,B,C,D,E,F)からなる。処理グループ(d)は、互いに接続された2つのFBD部品(J,K)からなる。処理グループ(e)は、1つのFBD部品(G)からなる。
FBD部品の位置情報は、XY座標を用いて表される。プログラムにおける処理の実行順序は、Y軸方向については上から下、X軸方向については左から右の順であるものとする。Y軸方向の順位とX軸方向の順位とでは、Y軸方向の順位を優先させるものとする。かかる位置情報に応じた順位規則を、第1規則とする。
第1規則にしたがって、各処理グループについて、処理グループを代表するFBD部品が決定される。図中黒塗り四角形で表す代表位置PPa,PPb,PPc,PPd,PPeは、各処理グループ(a)〜(e)の代表とされたFBD部品の左上座標を表すものとする。各FBD部品において、左上座標とは、FBD部品の中で最も上かつ最も左の位置の座標とする。
代表位置PPa,PPb,PPeは、それぞれFBD部品(H),(I),(G)の左上座標である。代表位置PPcは、処理グループ(c)に含まれる6個のFBD部品のうち、第1規則において最も上位であるFBD部品(D)の左上座標である。代表位置PPdは、処理グループ(d)に含まれる2個のFBD部品のうち、第1規則において上位であるFBD部品(J)の左上座標である。各処理グループ(a)〜(e)同士の実行順序は、代表位置PPa,PPb,PPc,PPd,PPeの位置関係を第1規則にしたがって比較することにより決定される。
図4は、FBD部品の実行順序を決定した例を示す図である。処理グループの実行順序は、代表位置PPa,PPb,PPc,PPd,PPeの位置関係を第1規則にしたがって比較することで、(a),(b),(d),(c),(e)と決定される。
複数のFBD部品を含む処理グループにおいて、あるFBD部品へ入力を行うFBD部品が存在する場合は、かかる入力の接続ルートにおける上流のFBD部品から、実行順序が確定されるものとする。かかる接続情報に応じた順位規則を、第2規則とする。
例えば、処理グループ(c)の代表とされたFBD部品(D)の入力側には、FBD部品(C)が接続されている。FBD部品(C)の入力側には、さらにFBD部品(A)が接続されている。これらのFBD部品の間では、実行順序は、第2規則にしたがって、FBD部品(A),(C),(D)の順となる。
FBD部品(E)の入力側には、FBD部品(C),FBD部品(B)が接続されている。FBD部品(C)およびFBD部品(B)は、第2規則にしたがって、FBD部品(E)より上位となる。FBD部品(C)とFBD部品(B)の間では、第1規則にしたがって、FBD部品(C)が上位となる。これらのFBD部品の間では、実行順序は、FBD部品(C),(B),(E)の順となる。
FBD部品(E)とFBD部品(F)の間では、第1規則および第2規則のいずれにおいても、FBD部品(E)が上位となる。これにより、処理グループ(c)内の各FBD部品の実行順序は、FBD部品(A),(C),(D),(B),(E),(F)の順となる。
処理グループ(d)のFBD部品(J)とFBD部品(K)との間では、第1規則にしたがって、FBD部品(J)が上位となる。第1規則にしたがって順位の高い処理グループから処理が開始され、処理グループ内の全てのFBD部品の処理が完了すると、次に順位の高い処理グループの処理が開始される。これにより、図4に示すように、各処理グループ(a)〜(e)のFBD部品(A〜K)の実行順序が決定される。
図5は、FBD部品の実行順序が同一となる位置範囲の抽出についての詳細な手順を示すフローチャートである。部品情報管理部12は、指定されたFBD部品の配置を変更した場合に、実行順序に影響の及ぶFBD部品を抽出する(ステップS11)。FBDプログラムでは、FBD部品の実行順序にしたがって処理が実行される。FBDプログラムによるプロセスは、FBDブロックの実行順序によって制御されることとなる。ステップS11について、実行順序に影響の及ぶ状況とは、FBDプログラムの実行によるプロセスの制御内容を変化させることがある状況を指すものとする。
例えば、部品情報管理部12は、プログラム編集部11での編集において描画された全てのオブジェクトのデータを保持しているものとする。部品情報管理部12は、図2に示すステップS1で選択されたFBD部品から、接続情報を辿ることにより、当該FBD部品に接続されているFBD部品を探索する。これにより、部品情報管理部12は、選択されたFBD部品の所属する処理グループ内のFBD部品を特定する。さらに、部品情報管理部12は、選択されたFBD部品の移動によって実行順序に影響のあるFBD部品を抽出する。
ここで、ステップS11におけるFBD部品の抽出について、図6を参照して説明する。図6は、FBDプログラムの図形データの例を示す図である。図6に示す図形データは、例えば、プログラミングツール10を構成するコンピュータが備えるディスプレイに表示される。
FBD部品401,402,403は、処理グループ410に所属している。FBD部品404,405,406,407は、処理グループ411に所属している。FBD部品408,409は、処理グループ412に所属している。例えば、FBD部品405が、ステップS1において指定されたFBD部品であるものとする。
FBD部品405の入力端子INは、FBD部品404の出力端子OUT1に接続されている。FBD部品406の入力端子INは、FBD部品404の出力端子OUT2に接続されている。第2規則によると、FBD部品405およびFBD部品406の実行順序を確定するには、FBD部品404の実行順序が確定していることを要する。
FBD部品404の実行順序が確定すると、部品情報管理部12は、FBD部品405の左上座標と、FBD部品406の左上座標とを比較し、第1規則に応じてFBD部品405の実行順序が確定する。次に、FBD部品406の実行順序が確定する。
FBD部品405の出力端子OUTは、FBD部品407の入力端子IN1に接続されている。FBD部品406の出力端子OUTは、FBD部品407の入力端子IN2に接続されている。第2規則によると、FBD部品405およびFBD部品406の実行順序が確定することで、FBD部品407の実行順序が確定する。
処理グループ411内部における実行順序の決定において、FBD部品404およびFBD部品407は、位置情報に関係なく、接続情報のみによって実行順序が確定する。これに対して、FBD部品405およびFBD部品406は、位置情報および接続情報の双方によって実行順序が確定する。
部品情報管理部12は、このように、位置情報および接続情報の双方が実行順序の確定に関係することとなるFBD部品を、ステップS11において抽出する。部品情報管理部12は、FBD部品405の配置を変更した場合に、実行順序に影響の及ぶFBD部品として、FBD部品406を抽出する。
次に、部品情報管理部12は、処理グループ単位の位置情報を決定するFBD部品を、各処理グループから抽出する(ステップS12)。処理グループ単位の位置情報を決定するFBD部品とは、処理グループに含まれるFBD部品のうち、処理グループを代表するFBD部品とする。処理グループ単位の位置情報を決定するFBD部品は、第1規則にしたがって決定される。
かかるFBD部品の抽出は、ステップS1においてFBD部品が選択された処理グループ以外の処理グループを対象とする。図6に示す例では、FBD部品405が含まれる処理グループ411以外の処理グループ410,412が、ステップS12における抽出の対象となる。処理グループ410からは、部品情報管理部12は、FBD部品401を抽出する。処理グループ412からは、部品情報管理部12は、FBD部品408を抽出する。
次に、部品情報管理部12は、ステップS11およびS12で抽出した各FBD部品の位置情報を抽出する(ステップS13)。部品情報管理部12は、ステップS11で抽出したFBD部品406の左上座標を、FBD部品406の位置情報として抽出する。部品情報管理部12は、ステップS12で抽出したFBD部品401の左上座標を、FBD部品401の位置情報として抽出する。部品情報管理部12は、ステップS12で抽出したFBD部品408の左上座標を、FBD部品408の位置情報として抽出する。
次に、部品情報管理部12は、ステップS1で選択されたFBD部品を移動させても実行順序が同一となる位置範囲を抽出する(ステップS14)。部品情報管理部12は、ステップS13で抽出した位置情報と、ステップS1において選択されたFBD部品の位置情報とを基に、FBD部品を移動させても実行順序が同一となる範囲を抽出する。
図6に示す例では、FBD部品405が位置範囲420内にて移動した場合、各処理グループ410,411,412の各FBD部品の実行順序は、FBD部品405の移動前および移動後において不変となる。FBD部品405が位置範囲420の外へ移動した場合、各処理グループ410,411,412の各FBD部品の実行順序は、FBD部品405の移動前から移動後において変化することとなる。
位置範囲420は、第1規則において、FBD部品401の左上座標より下位、かつFBD部品406の左上座標より上位である位置範囲である。部品情報管理部12は、FBD部品401,406,408について抽出された各位置情報と、FBD部品405の位置情報とを基に、位置範囲420を抽出する。本実施の形態では、位置範囲420は、FBD部品を移動させても実行順序が同一となる範囲をY軸方向において制限するものとして設定されている。各FBD部品が配置されている態様などに応じて、位置範囲420は、実行順序が同一となる範囲を、Y軸方向およびX軸方向の双方において制限することとしても良い。
部品情報管理部12は、例えば、トポロジカルソートを利用して、FBD部品の位置情報から、実行順序が同一となる位置範囲を算出する。なお、部品情報管理部12は、FBD部品を移動させても実行順序が同一となる範囲を、いずれのアルゴリズムによって求めることとしても良い。
図2に戻って、ユーザは、ステップS1で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS2)。部品情報管理部12は、移動後のFBD部品の位置情報をプログラム編集部11から取得する。
再コンパイル要否判定部14は、ステップS2において配置が変更されたFBD部品の位置情報と、ステップS10で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS3)。
再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS4)。図6に示す例では、再コンパイル要否判定部14は、移動後におけるFBD部品405の左上座標が、位置範囲420に含まれるか否かを判断する。
配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS4、Yes)、再コンパイル要否判定部14は、ステップS2によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。
図6に示す例では、再コンパイル要否判定部14は、ステップS1で指定されたFBD部品405の配置変更後の位置情報が、部品情報管理部12で抽出された位置範囲420に含まれる場合、再コンパイルの実施が不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS5)。
一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS4、No)、再コンパイル要否判定部14は、ステップS2によるFBD部品の配置変更に伴う再コンパイルは必要と判定する。
図6に示す例では、再コンパイル要否判定部14は、ステップS1で指定されたFBD部品405の配置変更後の位置情報が、部品情報管理部12で抽出された位置範囲420に含まれない場合、再コンパイルの実施が必要と判定する。再コンパイルが必要との判定に応じて、プログラム編集部11は、FBDプログラムを未コンパイル状態へと変化させる(ステップS6)。これにより、プログラミングツール10は、FBD部品の配置変更における一連の処理を終了する。
本発明のプログラミングツール10は、FBD言語により記述されたプログラムにおいて、FBD部品の配置変更によって処理の実行順序が変わるか否かを、FBD部品の位置情報から判定する。プログラミングツール10は、FBD部品の配置を変更する場合であっても、配置変更の前後で各FBD部品の実行順序が同一であれば、FBDプログラムのコンパイル済みの状態を維持する。プログラミングツール10は、FBD部品の配置変更があるたびにFBDプログラムを常に未コンパイル状態へ変化させる場合に比べて、再コンパイル、およびPC書込の実施による手間を軽減できる。
従来はFBDプログラムの比較にはコンパイル相当の処理が必要であったのに対し、本発明では、FBD部品の移動時に、FBD部品の位置情報および接続情報から実行順序を決定し、実行順序の比較によってFBDプログラムを比較可能とする。本発明によると、FBDプログラムの比較におけるコンパイル相当の処理を不要とすることで、FBD部品の配置の変更における作業負担を軽減することができる。これにより、プログラミングツール10は、FBD部品の配置の変更によるプログラム編集の作業負担を軽減できるという効果を奏する。
プログラミングツール10は、再コンパイルの要否判定において、接続情報および位置情報から実行順序を抽出する処理と、実行順序を比較する処理とによって、プログラムの比較を実現する。プログラミングツール10は、機械語への変換等を要する従来技術による比較方法に比べて、プログラムの比較のための工程および処理を少なくできる。これにより、プログラミングツール10は、プログラムの変更前後における比較処理を高速化することができる。ユーザは、プログラミングツール10によって、再コンパイルの要否判定を容易に実施することができる。
ユーザは、例えば、制御プログラムのコンパイルおよびPC書込により機器の動作を確認してからプログラムのドキュメントが必要となったときに、制御プログラムの体裁を整えることがある。ユーザは、制御プログラムの体裁を整える際に、FBD部品の配置を変更するときの作業負担を大幅に軽減させることができる。
実施の形態2.
図7は、本発明の実施の形態2にかかるプログラミングツールの処理手順を説明するフローチャートである。実施の形態1と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
実施の形態2にかかるプログラミングツールは、実施の形態1にかかるプログラミングツール10(図1参照)と同様の構成を備える。さらに、実施の形態2では、部品情報管理部12は、指定されたFBD部品の位置を変更させても実行順序が同一となる位置範囲をユーザに報知するための出力処理を実施する。
FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS21)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。
ステップS21での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS22)。ステップS22は、実施の形態1のステップS10(図2参照)と同様とする。ステップS22の詳細は、図3に示すステップS10の詳細と同様とする。
部品情報管理部12は、ステップS22で抽出された位置範囲をディスプレイに表示するための出力処理を実施する。プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲をディスプレイにて表示する(ステップS23)。
図8は、FBD部品の実行順序が同一となる位置範囲を表示する例を示す図である。プログラミングツール10は、FBDプログラムの図形データを表示する画面において、ステップS22で抽出した位置範囲420とそれ以外の位置範囲とを色分けする。また、プログラミングツール10は、ステップS22で抽出した位置範囲420と、それ以外の位置範囲との境界線を表示する。プログラミングツール10は、ディスプレイでの表示によって、FBD部品の実行順序が同一となる位置範囲をユーザに報知する。
ユーザは、ステップS21で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS24)。ユーザは、FBD部品の実行順序が同一となる位置範囲を表示を見て認識した上で、FBD部品を移動させることができる。
なお、プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲420を、色分けおよび境界線のいずれか一方によって表示することとしても良い。プログラミングツール10は、いずれの態様によって位置範囲420を示すこととしても良い。
再コンパイル要否判定部14は、ステップS24において配置が変更されたFBD部品の位置情報と、ステップS22で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS25)。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS26)。
配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS26、Yes)、再コンパイル要否判定部14は、ステップS24によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS27)。
一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS26、No)、再コンパイル要否判定部14は、ステップS24によるFBD部品の配置変更に伴う再コンパイルは必要と判定する。再コンパイルが必要との判定に応じて、プログラム編集部11は、FBDプログラムを未コンパイル状態へと変化させる(ステップS28)。
実施の形態2によると、ユーザは、配置を変更するFBD部品を選択したときに、当該FBD部品を移動させた場合に再コンパイルが必要となる位置範囲と、再コンパイルが不要となる位置範囲とを明確に把握した上で、FBDプログラムの編集を実施することができる。例えば、ユーザは、なるべく再コンパイルが不要となるような配置変更を選択することで、制御プログラムの体裁を整えるときの作業負担をさらに軽減させることが可能となる。
プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲をユーザに報知するために、いずれの手段を使用しても良い。部品情報管理部12は、位置範囲を報知するための手段に応じた出力処理を実施可能であるものとする。ステップS24において、プログラミングツール10は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれないことを、例えば、ディスプレイにおけるダイアログの表示、警報音の出力などの手段によって報知しても良い。
プログラミングツール10は、FBD部品の実行順序が同一となる位置範囲を報知するか否かを、ユーザが任意に切り換え可能であるものとしても良い。ユーザは、再コンパイルが不要となる位置範囲の把握を望むか否かに応じて、報知の有無を任意に選択することができる。
実施の形態3.
図9は、本発明の実施の形態3にかかるプログラミングツールの処理手順を説明するフローチャートである。実施の形態1と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
実施の形態3にかかるプログラミングツールは、実施の形態1にかかるプログラミングツール10(図1参照)と同様の構成を備える。さらに、実施の形態3では、プログラム編集部11は、指定されたFBD部品の位置を変更させても実行順序が同一となる位置範囲の外への、当該FBD部品の移動を制限する。
FBD部品を用いて作成されたFBDプログラムについて、ユーザは、プログラム編集部11に配置されているFBD部品から、配置を変更するFBD部品を選択する(ステップS31)。ユーザは、配置を変更させるFBD部品をプログラム編集部11において指定する。
ステップS31での選択を受けて、部品情報管理部12は、プログラム編集部11で指定されたFBD部品の位置を変更させても、FBD部品の実行順序が同一となる位置範囲を抽出する(ステップS32)。ステップS32は、実施の形態1のステップS10(図2参照)と同様とする。ステップS32の詳細は、図3に示すステップS10の詳細と同様とする。ユーザは、ステップS31で指定したFBD部品を、プログラム編集部11にて移動させる(ステップS33)。
FBD部品の実行順序が同一となる位置範囲が設定されると、プログラム編集部11は、当該FBD部品について、設定された位置範囲の外への移動制限を設定する。
再コンパイル要否判定部14は、ステップS33において配置が変更されたFBD部品の位置情報と、ステップS32で抽出した位置範囲とを、部品情報管理部12から取得する。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報と、実行順序が同一となる位置範囲とを比較する(ステップS34)。再コンパイル要否判定部14は、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれるか否かを判断する(ステップS35)。
配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれる場合(ステップS35、Yes)、プログラム編集部11は、ステップS33における移動を許可する。再コンパイル要否判定部14は、ステップS33によるFBD部品の配置変更に伴う再コンパイルは不要と判定する。再コンパイルが不要との判定に応じて、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS36)。
一方、配置が変更されたFBD部品の位置情報が、実行順序が同一となる位置範囲に含まれない場合(ステップS35、No)、プログラム編集部11は、ステップS31で選択されたFBD部品の移動を制限する(ステップS37)。
図10は、設定された位置範囲の外へのFBD部品の移動の制限について説明する図である。図10では、図6や図8に示す処理グループ410,411,412の図示を省略している。例えば、プログラム編集部11は、FBD部品405について、ステップS32での抽出によって設定された位置範囲420の外への移動を制限する。
プログラム編集部11は、FBD部品405の図形が位置範囲420の外へドラッグされている間、FBD部品405のドロップの完了を阻止する。このようにして、プログラム編集部11は、位置範囲420の外へのFBD部品405の移動を拒否する。
例えば、ステップS33において、ユーザが、FBD部品405について、位置範囲420の外の位置430へのドラッグを試みたとする。プログラム編集部11は、位置430へのFBD部品405のドロップを完了させず、FBD部品405を元の位置へ戻す。
プログラム編集部11は、実行順序が同一となる位置範囲の外へのFBD部品の移動を制限することで、ステップS33で移動が試みられたFBD部品を、実行順序が同一となる位置範囲内に留めさせる。これにより、プログラム編集部11は、FBDプログラムのコンパイル済みの状態を維持する(ステップS36)。なお、プログラミングツール10は、実行順序が同一となる位置範囲の外へのFBD部品の移動を、ドロップの完了を阻止する以外のいずれの方法によって制限することとしても良い。
実施の形態3によると、プログラミングツール10は、再コンパイルが必要となるFBD部品の配置変更を確実に制限することができる。これにより、ユーザは、再コンパイルが必要となる配置変更を排除することで、制御プログラムの体裁を整えるときの作業負担を抑制させることができる。
プログラミングツール10は、実施の形態3におけるFBD部品の移動を制限するか否かを、ユーザが任意に切り換え可能であるものとしても良い。ユーザは、再コンパイルが必要となる配置変更の排除を望むか否かに応じて、FBD部品の移動制限の有無を任意に選択することができる。
10 プログラミングツール、11 プログラム編集部、12 部品情報管理部、13 実行順序決定部、14 再コンパイル要否判定部、401〜409 FBD部品、410,411,412 処理グループ、420 位置範囲、430 位置、PPa,PPb,PPc,PPd,PPe 代表位置。

Claims (3)

  1. ファンクションブロックダイアグラム(FBD)部品を配置し、配置された前記FBD部品同士を接続することによりプログラムを編集するプログラム編集部と、
    編集された前記プログラムに対し、前記FBD部品の位置情報および接続情報を基に、前記FBD部品の実行順序を決定する実行順序決定部と、
    前記プログラム編集部にて配置されている前記FBD部品の前記位置情報および前記接続情報を管理する部品情報管理部と、
    前記プログラム編集部における前記FBD部品の配置の変更に伴う再コンパイルの実施の要否を判定する再コンパイル要否判定部と、を有し、
    配置を変更させる前記FBD部品が前記プログラム編集部において指定されると、前記部品情報管理部は、前記プログラム編集部で指定されたFBD部品の位置を変更させても前記実行順序が同一となる位置範囲を抽出し、
    前記再コンパイル要否判定部は、前記指定されたFBD部品の配置変更後の位置情報が、前記部品情報管理部で抽出された前記位置範囲に含まれる場合、前記再コンパイルの実施を不要と判定することを特徴とするプログラミングツール。
  2. 前記部品情報管理部は、前記指定されたFBD部品の位置を変更させても前記実行順序が同一となる前記位置範囲を報知するための出力処理を実施することを特徴とする請求項1に記載のプログラミングツール。
  3. 前記プログラム編集部は、前記指定されたFBD部品の位置を変更させても前記実行順序が同一となる前記位置範囲の外への、前記指定されたFBD部品の移動を制限することを特徴とする請求項1または2に記載のプログラミングツール。
JP2015512252A 2013-04-18 2013-04-18 プログラミングツール Active JP5777842B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/061525 WO2014170992A1 (ja) 2013-04-18 2013-04-18 プログラミングツール

Publications (2)

Publication Number Publication Date
JP5777842B2 true JP5777842B2 (ja) 2015-09-09
JPWO2014170992A1 JPWO2014170992A1 (ja) 2017-02-16

Family

ID=51730962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015512252A Active JP5777842B2 (ja) 2013-04-18 2013-04-18 プログラミングツール

Country Status (3)

Country Link
JP (1) JP5777842B2 (ja)
CN (1) CN105229542B (ja)
WO (1) WO2014170992A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503338B (zh) * 2014-12-30 2017-07-11 浙江中控技术股份有限公司 一种功能块排序执行方法及装置
JP6400558B2 (ja) * 2015-11-17 2018-10-03 ファナック株式会社 シーケンス制御プログラミング装置、シーケンス制御プログラミング方法及び作業システム
US10769049B2 (en) * 2016-10-17 2020-09-08 Mitsubishi Electric Corporation Debugging support apparatus and debugging support method
JP7340494B2 (ja) * 2020-07-02 2023-09-07 株式会社日立製作所 制御コントローラのプログラム作成装置並びに方法
JPWO2023089722A1 (ja) * 2021-11-18 2023-05-25

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230915A (ja) * 1996-02-26 1997-09-05 Matsushita Electric Works Ltd プログラミング装置
JPH10149208A (ja) * 1996-11-18 1998-06-02 Hitachi Ltd プログラムの比較方法およびコントローラプログラムの作成装置
DE19880536B4 (de) * 1997-03-11 2004-08-05 Mitsubishi Denki K.K. Visuelles Programmierverfahren und dieses Verfahren anwendendes Pogrammiersystem
JP3603301B2 (ja) * 2000-02-09 2004-12-22 日本電気株式会社 情報処理装置およびジョブストリーム処理用プログラムを記録した記録媒体
JP3838124B2 (ja) * 2002-03-14 2006-10-25 富士電機機器制御株式会社 プログラムの実行方式及びプログラム開発支援装置
JP3940389B2 (ja) * 2003-08-28 2007-07-04 三菱電機株式会社 検査装置及びプログラミングツール
JP4424198B2 (ja) * 2004-12-27 2010-03-03 三菱電機株式会社 ファンクションブロックダイアグラムのプログラム装置
CN101488012A (zh) * 2009-02-13 2009-07-22 国网电力科学研究院 一种利用流程框图实现顺序控制的方法
JP2011113276A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp エンジニアリングツール
JP2012159868A (ja) * 2011-01-28 2012-08-23 Mitsubishi Electric Corp プログラマブルロジックコントローラのプログラミング装置

Also Published As

Publication number Publication date
CN105229542B (zh) 2017-06-09
JPWO2014170992A1 (ja) 2017-02-16
WO2014170992A1 (ja) 2014-10-23
CN105229542A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
JP5777842B2 (ja) プログラミングツール
CN102508654B (zh) 嵌入式可编程控制器的梯形图编辑器设计方法
US20100313128A1 (en) System and method for free form comments for a programmable logic controller
US20160004242A1 (en) Ladder-program display program and ladder-program display apparatus
TWI553435B (zh) 編輯程式用之程式
EP3171266B1 (en) User interface widget modeling and placement
JP5829780B1 (ja) プログラミング装置
US9176734B2 (en) Ladder program creation apparatus
JP7031627B2 (ja) 解析装置、解析方法、及び解析プログラム
JP5921765B2 (ja) プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
JP6761158B1 (ja) プログラム作成装置、プログラム作成方法、及びプログラム
Falkman et al. Automatic generation: A way of ensuring PLC and HMI standards
JP5498446B2 (ja) ラダープログラム作成装置およびラダープログラム作成方法
CN107295810A (zh) 工程设计工具
JP2012159868A (ja) プログラマブルロジックコントローラのプログラミング装置
JP2015187860A (ja) 情報処理装置、情報処理方法、およびプログラム
CN106463095B (zh) 绘图方法
US10762256B2 (en) Hand-drawn ladder logic conversion method and system
CN112534368A (zh) 图表显示装置、图表显示方法以及图表显示程序
JPWO2014167622A1 (ja) プログラム編集装置、プログラム編集方法およびプログラム編集プログラム
US11307551B1 (en) Methods, systems and computer program products for generating implementable sequential function charts codes for process control systems
JP7063291B2 (ja) 解析装置、解析方法、及び解析プログラム
WO2024014364A1 (ja) ラダープログラム編集装置、編集方法および編集プログラム
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP2022142493A (ja) シミュレーション装置

Legal Events

Date Code Title Description
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: 20150609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150707

R150 Certificate of patent or registration of utility model

Ref document number: 5777842

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250