JP5762601B1 - プログラム編集装置、方法、およびプログラム - Google Patents
プログラム編集装置、方法、およびプログラム Download PDFInfo
- Publication number
- JP5762601B1 JP5762601B1 JP2014124207A JP2014124207A JP5762601B1 JP 5762601 B1 JP5762601 B1 JP 5762601B1 JP 2014124207 A JP2014124207 A JP 2014124207A JP 2014124207 A JP2014124207 A JP 2014124207A JP 5762601 B1 JP5762601 B1 JP 5762601B1
- Authority
- JP
- Japan
- Prior art keywords
- circuit block
- searched
- screen
- program
- search
- 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.)
- Expired - Fee Related
Links
Images
Abstract
【課題】コイルを駆動するための条件を記述した箇所をわかりやすく提示すること。【解決手段】処理部は、ユーザから検索対象ブロックが指定され、指定された検索対象ブロックが含む接点を開閉するコイルを有する回路ブロックをラダー図から検索する単位検索処理を実行する。そして、処理部は、単位検索処理によって検索された回路ブロックをさらに検索対象として単位検索処理を繰り返し実行する。そして、処理部は、各単位検索処理により検索された回路ブロックを、その回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして検索結果表示画面102に表示する。【選択図】図5
Description
本発明は、プログラマブルロジックコントローラ(以降、PLC)の制御シーケンスを定めるプログラムを編集するためのプログラム編集装置、方法、およびプログラムに関する。
PLCの制御シーケンスを定めるプログラムの1つに、ラダー図形式がある。ラダー図は、動力をシンボリックに表現する2つの母線(プラス母線とマイナス母線)が互いに間隔をあけて描かれ、これら2つの母線を結ぶようにして、リレー接点(以下、接点)およびコイル等で表現される論理回路が梯子状に描かれた構成を有している。ラダー図形式のプログラム(以降、ラダープログラム)を編集するにあたっては、プログラム編集装置が使用される。
例えば非特許文献1には、プログラム編集装置が開示されている。非特許文献1の技術によれば、プログラム編集装置は、デバイスまたは命令などが入力されると、入力されたデバイスまたは命令などを含む箇所を検索し、ラダー図の編集画面におけるラダー図の表示位置を、現在の表示位置から検索された箇所にジャンプさせる。
「Integrated FA Software GX Works2 Version 1 オペレーティングマニュアル(共通編)」、三菱電機株式会社、2009年9月、10章、p.9−22
ユーザは、制御シーケンスを定めるプログラムをプログラミングする際、ラダー図中のあるコイルを駆動するために必要な条件を確認する場合がある。この場合、プログラム編集装置は、ユーザが調べたいコイルを駆動するために必要な接点に関して、これに関わる回路ブロックを検索してユーザに表示することが必要である。しかし、上記従来技術では、これらの要求に対して十分に対応できなかった。
本発明は、上記に鑑みてなされたものであって、コイルを駆動するための条件を記述した箇所をわかりやすく提示することが可能な、プログラム編集装置、方法、およびプログラムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ラダープログラムに対する編集を支援するプログラム編集装置であって、前記ラダープログラムを記憶する記憶部と、前記ラダープログラムに対応するラダー図を第1画面に表示し、前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けた後、前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する単位検索処理を実行する処理部と、を備え、前記処理部は、前記検索された回路ブロックを検索対象として前記単位検索処理を繰り返し実行し、各単位検索処理により検索された回路ブロックを、当該回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして第2画面に表示する、ことを特徴とする。
本発明によれば、プログラム編集装置は、検索された回路ブロック間の関連性を簡単に理解することが可能なように検索された各回路ブロックを第2画面に表示するので、コイルを駆動するための条件を記述した箇所をわかりやすく提示することができる。さらに、検索された回路ブロックを表示する第2画面において、各接点が導通しているか否かをユーザに示し、かつ、プログラムを編集することができるので、ユーザは速やかに試験およびデバッグを行うことが可能となる。
以下に、本発明にかかる実施の形態のプログラム編集装置、方法、およびプログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1のプログラム編集装置の使用の一様態を説明する図である。PLC2は、1以上(ここでは2つ)のデバイス3に接続されている。デバイス3は、例えば、バルブ、スイッチ、またはセンサである。PLC2は、内部に記憶するユーザプログラムに従って、デバイス3を動作させたりデバイス3からの信号を取り込んだりすることができる。ユーザプログラムは、PLC2の制御シーケンスを定めるプログラムである。実施の形態においては、ユーザプログラムは、ラダー図の形式により記述されたプログラム(ラダープログラム)であるものとする。
図1は、実施の形態1のプログラム編集装置の使用の一様態を説明する図である。PLC2は、1以上(ここでは2つ)のデバイス3に接続されている。デバイス3は、例えば、バルブ、スイッチ、またはセンサである。PLC2は、内部に記憶するユーザプログラムに従って、デバイス3を動作させたりデバイス3からの信号を取り込んだりすることができる。ユーザプログラムは、PLC2の制御シーケンスを定めるプログラムである。実施の形態においては、ユーザプログラムは、ラダー図の形式により記述されたプログラム(ラダープログラム)であるものとする。
プログラム編集装置1は、ユーザがユーザプログラムを作成したり編集したりすることを支援する。プログラム編集装置1は、PLC2と通信線を用いて接続され、作成されたユーザプログラムを、ユーザからの指示を受けてPLC2に転送する。通信線が準拠する規格は任意である。例えば、USB(Universal Serial Bus)、RS232C、などが通信線の規格として採用可能である。PLC2の運転中には、プログラム編集装置1はPLC2と接続されていてもよいし接続されていなくてもよい。
図2は、プログラム編集装置1のハードウェア構成例を示す図である。プログラム編集装置1は、演算装置7、記憶装置8、およびインタフェース装置9を備える。即ち、プログラム編集装置1は、汎用のパーソナルコンピュータと同様の構成を有している。
記憶装置8は、不揮発性メモリと揮発性メモリとの組み合わせによって構成される。不揮発性メモリは、プログラム編集ソフトウェア10を予め記憶する記録媒体である。プログラム編集ソフトウェア10は、プログラム編集装置1を動作させるコンピュータプログラムである。また、不揮発性メモリは、電源オフ時においても記憶すべき各種データが保存される、ストレージである。ここでは、プログラム編集装置1によって編集されたユーザプログラム11が不揮発性メモリに保存される。不揮発性メモリとしては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク、磁気ディスク、着脱可能なメモリデバイス、またはこれらの組み合わせが、採用可能である。揮発性メモリとしては、例えばRAM(Random Access Memory)が採用可能である。揮発性メモリは、プログラム編集ソフトウェア10を実行するためのワークエリアを演算装置7に提供する。
演算装置7は、例えば中央演算ユニット(CPU)によって構成される。演算装置7は、プログラム編集ソフトウェア10を実行することによって、実施の形態の処理部として機能する。演算装置7は、ディスプレイ12およびユーザインタフェース(I/F)13に接続される。ディスプレイ12は、例えば液晶ディスプレイであって、ユーザに対する表示画面を出力する表示装置である。ユーザI/F13は、マウスなどのポインティングデバイス、またはキーボードであって、ユーザからの入力を受け付ける入力装置である。ユーザI/F13に入力された情報は演算装置7に送られて演算装置7において処理される。また、演算装置7において表示画面の画像フレームが生成される。生成された画像フレームはディスプレイ12に送られる。ディスプレイ12は、演算装置7から送られてきた画像フレームを表示する。
図3は、ディスプレイ12に表示される表示画面例を示す図である。ディスプレイ12には、プログラム編集ソフトウェア10に関する作業領域を示すメイン画面100が表示されている。メイン画面100上には、編集中のユーザプログラム11をラダー図の形式で表示するラダー図表示画面101と、検索処理により検索された複数の回路ブロックを表示する検索結果表示画面102と、が表示される。検索処理とは、1つの回路ブロックが選択されているとき、選択された回路ブロックを導通させるためのコイルを動作部に有する回路ブロックをユーザプログラム11から検索する処理である。
なお、検索結果表示画面102は、検索処理が行われたときのみメイン画面100に表示されてもよい。また、メイン画面100およびメイン画面100上に表示される各画面(ラダー図表示画面101、検索結果表示画面102)は、GUI機能を有するものとする。
図4は、ラダー図表示画面101の表示例を示す図である。図示するように、ラダー図は、2本の母線200の間に論理回路が梯子状に描かれて構成される。図中の接点およびコイルは、夫々論理回路を表している。ラダー図は、複数の回路ブロックによって構成される。各回路ブロックは、1つの条件部と1つの動作部とによって構成される。条件部は、接点が直列あるいは並列に接続されたひとかたまりの回路である。動作部は、1以上のコイルが直列に接続されたひとかたまりの回路である。図4に示すラダー図は、回路ブロック201、202、203を含む。例えば、接点X11、接点R01、接点R02、および接点X12の組み合わせが、回路ブロック202の条件部に該当し、コイルY01は、回路ブロック202の動作部に該当する。番号の前の「X」、「Y」は、夫々入力機器、出力機器を示す。番号の前に「R」を有する接点およびコイルは、内部リレーの一種である。内部リレーとは、ユーザプログラム11内に接点およびコイルが含まれるリレーである。
ユーザは、例えば、ラダー図表示画面101上でポインティングデバイスを操作することによって、接点またはコイルを追加したり削除したりすることができる。また、ユーザは、各論理回路間の接続を変更したりすることができる。ラダー図表示画面101にラダー図が表示されている状態で保存コマンドが入力されると、処理部は、表示中のラダー図が示すユーザプログラム11を記憶装置8に保存する。また、処理部は、ユーザプログラム11を表示させるコマンドの入力をうけて、ユーザプログラム11として保存されたラダー図をラダー図表示画面101に表示させることができる。処理部は、記憶装置8に保存されているユーザプログラム11をPLC2に設定することができる。処理部は、ラダー図表示画面101に表示されているラダー図が示すユーザプログラム11を、記憶装置8に保存することなくPLC2に設定してもよい。また、処理部は、PLC2からユーザプログラム11を読み出して、読み出したユーザプログラム11を示すラダー図をラダー図表示画面101に表示してもよい。
また、ユーザは、ポインティングデバイスの操作によって、所望の回路ブロックを選択するとともに選択した回路ブロックに対して所望のコマンドを入力することができる。例えば、処理部は、ラダー図表示画面101上において回路ブロックを右クリックまたは左クリックする入力を受け付けたとき、その回路ブロックが選択されたことを認識する。処理部は、選択された回路ブロックを強調表示する。強調表示とは、他の回路ブロックと識別可能な表示様態であって、例えば、選択された回路ブロックの周囲に枠を表示したり、選択された回路ブロックの表示色を反転したり、選択された回路ブロックを点滅表示したりすることである。例えば、処理部は、回路ブロックが選択されている状態において右クリックまたは左クリックの入力がなされたとき、コマンド一覧を記述したコンテキストメニューをラダー図表示画面101上に表示する。ユーザは、ポインティングデバイスの操作によって、所望のコマンドをコンテキストメニューから選択することができる。ここでは、検索処理を実行するための検索コマンドが少なくとも選択可能である。このように、ユーザは、ポインティングデバイスの操作によって、検索処理の対象の回路ブロックを指定するとともに検索コマンドを入力することができる。
図5は、実施の形態1の検索結果表示画面102の表示例を示す図である。これは、検索対象として回路ブロック202のコイルY01の駆動に関連する回路を検索し、抽出されたものである。
検索結果表示画面102には、階層構造がユーザにとって認識可能な様態で複数の回路ブロックが表示される。同階層の回路ブロックが複数存在する場合には、同階層に属する複数の回路ブロックは、同じ列(即ち検索結果表示画面102における縦方向)に配列されて表示される。ここでは、第1階層を最高階層とし、階層が下るに従って階層数が昇順に増加するものとする。即ち、例えば第2階層は第1階層の1つ下位の階層である。検索結果表示画面102の最も左側の列に最高階層の回路ブロックが表示される。そして、検索結果表示画面102には、第i+1階層の回路ブロックは、第i階層の回路ブロックが表示される列の右側に隣接する列に表示される。検索コマンドが入力された際にラダー図表示画面101において選択された回路ブロックが、検索結果表示画面102において最高階層の回路ブロックとして表示される。図5の例によれば、回路ブロック202が第1階層の回路ブロックとして表示され、回路ブロック204〜206が夫々第2階層の回路ブロックとして表示され、回路ブロック207が第3階層の回路ブロックとして表示されている。
検索結果表示画面102には、回路ブロック間を相互に接続する接続線210が表示され、回路ブロック同士の親子関係が示される。第2階層より下位の階層に属する全ての回路ブロックは、1つ上位の階層に属する何れか1つの回路ブロックと親子の関係をもつ。第i階層の回路ブロックと第i+1階層の回路ブロックとの間には、次に説明する関係がある。即ち、第i階層の回路ブロックの条件部に含まれる接点を開閉するコイルを動作部に有する全ての回路ブロックは、その第i階層の回路ブロックを親ノードとする第i+1階層の回路ブロックとして検索結果表示画面102に表示される。親ノードと子ノードとの間は、接続線210で結ばれる。このように、検索結果表示画面102には、検索された複数の回路ブロックが、ツリー構造の様態で表示される。
例えば、回路ブロック202の条件部は、ユーザプログラム11内のコイルによって開閉される接点として、接点R01および接点R02を含んでいる。接点R01を開閉するコイルR01は、回路ブロック204の動作部および回路ブロック205の動作部に含まれている。また、接点R02を開閉するコイルR02は、回路ブロック206の動作部に含まれている。よって、回路ブロック202は、回路ブロック204、回路ブロック205、および回路ブロック206と夫々接続線210で接続される。さらに、回路ブロック204の条件部は、内部リレーの接点R11を含んでいる。接点R11を開閉するコイルR11は、回路ブロック207の動作部に含まれている。よって、回路ブロック204と回路ブロック207とは接続線210で接続される。回路ブロック202は、第1階層に属し、回路ブロック204、回路ブロック205、および回路ブロック206は第2階層に属し、回路ブロック207は第3階層に属する。
なお、1つの親ノードが複数の接点を有し、複数の接点が夫々別々の子ノードと接続される場合には、処理部は、異なる接点にかかる子ノード同士が互いに区別可能な様態で検索結果表示画面102に表示してもよい。
インタフェース装置9は、プログラム編集装置1がPLC2に接続するためのインタフェースである。演算装置7は、インタフェース装置9を介してPLC2と通信を実行する。演算装置7は、インタフェース装置9を介してPLC2と接続されることによって、ユーザプログラム11をPLC2に設定したり、PLC2からユーザプログラム11を読み出したりすることができる。
図6は、実施の形態1の検索処理にかかる動作を説明するフローチャートである。まず、処理部は、回路ブロックを選択する入力と検索コマンドの入力とを受け付ける(S1)。すると、処理部は、選択された回路ブロックを第1階層の回路ブロックとして記憶する(S2)。S2においては、処理部は、選択された回路ブロックを、例えばワークエリアに記憶する。処理部は、S4〜S10のループ処理により使用するパラメータiを、値「1」で初期化する(S3)。パラメータiは例えばワークエリアに記憶される。
S4〜S7の処理は、着目ブロックが含む接点を開閉するコイルを有する回路ブロックをラダー図から検索する単位検索処理を構成する。
具体的には、処理部は、第i階層の回路ブロックを1つ選択し、選択した回路ブロックを着目ブロックに設定する(S4)。i=1の場合には、S1の処理によって選択された回路ブロックが、着目ブロックに設定される。なお、2以上の着目ブロックが同時に存在することはないものとする。
処理部は、着目ブロックに内部リレーの接点があるか否かを判定する(S5)。着目ブロックに内部リレーの接点がある場合(S5、Yes)、処理部は、その接点を開閉するコイルを有する回路ブロックを、ラダー図表示画面101に表示中のラダー図から抽出する(S6)。なお、ラダー図表示画面101に表示中のラダー図は、ユーザプログラム11に対応する。処理部は、ラダー図表示画面101に表示中のラダー図から回路ブロックを抽出することは、ユーザプログラム11から回路ブロックを抽出することと同義である。S6の処理の後、処理部は、抽出した回路ブロックを、着目ブロックを親ノードとする第i+1階層の回路ブロックとして記憶する(S7)。着目ブロックに内部リレーの接点がない場合(S5、No)、処理部は、S6およびS7の処理をスキップする。
なお、着目ブロックに内部リレーの接点が複数存在する場合には、処理部は、S6の処理において、全ての内部リレーの接点について回路ブロックを抽出する。処理部は、S6の処理において、接点毎に全ての回路ブロックを抽出する。異なる接点に属する子ノード同士を区別可能な様態で各回路ブロックを検索結果表示画面102に表示する場合には、処理部は、例えば、第i+1階層の回路ブロックを着目ブロックに含まれる接点毎に分類して記憶する。
続いて、処理部は、第i階層の回路ブロックのうち、未選択の回路ブロックがあるか否かを判定する(S8)。第i階層の回路ブロックのうち、未選択の回路ブロックがある場合(S8、Yes)、処理部は、S4の処理を再び実行する。第i階層の回路ブロックの全てが選択済みである場合(S8、No)、処理部は、第i+1階層の回路ブロックを記憶しているか否かを判定する(S9)。処理部は、第i+1階層の回路ブロックを記憶している場合(S9、Yes)、パラメータiの値を「1」だけインクリメントし(S10)、その後、S4の処理を再び実行する。
処理部は、第i+1階層の回路ブロックを記憶していない場合(S9、No)、記憶している全ての階層の回路ブロックを検索結果表示画面102に表示する(S11)。処理部は、全ての階層の回路ブロックを、図5に示すように階層構造が判別可能かつ親ノードと子ノードとの関係が判別可能な様態で、検索結果表示画面102に表示する。S11の処理の後、処理部は、検索処理にかかる動作を終了する。
図7および図8は、実施の形態1と比較される、検索結果の表示方法を示す図である。例えば図7によれば、画面300には、検索処理によって検索された回路ブロック204〜207が一列に羅列されて表示されている。また、図8によれば、画面400には、ユーザプログラム11を示すラダー図が表示される。そして、検索処理によって検索された回路ブロック204〜207のうちのラダー図における所定の位置(例えばラダー図の先頭)に近い1つの回路ブロック204が画面400上において強調表示される。そして、所定の入力(例えば所定のキーによる入力)が行われる毎に、強調表示の対象が、回路ブロック205〜207のラダー図上における並びの順番(ここでは回路ブロック205、回路ブロック207、回路ブロック206の順番)でジャンプせしめられる。図7および図8に示す表示方法によれば、選択した回路ブロック202に含まれる接点を直接に開閉するコイルを有する回路ブロック204〜206と、回路ブロック204〜206のうちの回路ブロック204に含まれる接点を直接に開閉することで回路ブロック202に含まれる接点を間接に開閉するコイルを有する回路ブロック207と、が同列に表示されている。したがって、ユーザは、検索された各回路ブロック間の関連性を理解することが困難である。
これに対し、実施の形態1によれば、処理部は、単位検索処理によって回路ブロックを検索し、検索された回路ブロックを新しい検索対象として単位検索処理を繰り返し実行し、各単位検索処理により検索された回路ブロックを、その回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして検索結果表示画面102に表示する。ユーザは、例えば回路ブロック204〜206と、回路ブロック207とが異なる階層に属することが視認可能であるので、検索された回路ブロック間の関連性を簡単に理解することが可能となる。回路ブロック204〜207は、回路ブロック202が有するコイルY01を駆動するための条件を構成する。即ち、プログラム編集装置1は、所望のコイルを駆動するための条件を記述した箇所をわかりやすく提示することができる。
また、処理部は、各単位検索処理により検索された回路ブロックの夫々を、その回路ブロックが検索された際の検索対象の回路ブロックと接続線210で接続して検索結果表示画面102に表示する。これにより、ユーザは、検索結果表示画面102に表示されているどの回路ブロックについても、その回路ブロックに含まれる接点を開閉するコイルを有する全ての回路ブロックを簡単に理解することが可能となる。
また、処理部は、検索結果表示画面102に表示されている回路ブロックに対する編集入力を検索結果表示画面102を介して受け付けることが可能に構成されてもよい。処理部は、検索結果表示画面102に表示されている回路ブロックを編集する入力を受け付けたとき、入力された編集内容をユーザプログラム11に反映させる。ユーザは回路ブロックを検索した後に検索された回路ブロックをラダー図表示画面101から回路ブロックを探すことなく速やかに修正することができるので、編集操作の操作性が向上する。
また、処理部は、検索結果表示画面102に、予め設定された階層より下位の階層の回路ブロックを表示しないように構成されてもよい。表示しない階層は、ユーザによって可変に構成されてもよい。
実施の形態2.
処理部は、検索結果表示画面102において、検索された回路ブロックのうち一部の階層に属する回路ブロックを隠してもよい。図9は、実施の形態2の検索結果表示画面102の表示例を示す図である。
処理部は、検索結果表示画面102において、検索された回路ブロックのうち一部の階層に属する回路ブロックを隠してもよい。図9は、実施の形態2の検索結果表示画面102の表示例を示す図である。
まず、処理部は、回路ブロック202が選択されるとともに検索コマンドが入力されると、図9の上段に示すように、第1階層に回路ブロック202を表示し、第2階層以下に属する回路ブロックの表示を隠す。そして、処理部は、回路ブロック202に接続された接続線210の中央部分に、「+」の形を示す表示オブジェクト211を表示する。
表示オブジェクト211がポインティングデバイスの操作により押下されると、処理部は、その表示オブジェクト211を中央に有する接続線210の下位側に接続されている回路ブロックの表示を展開するための表示コマンドが入力されたものとして認識する。即ち、ユーザは、所望の接続線210を指定して表示コマンドを入力することができる。回路ブロック202に接続された接続線210に表示されている表示オブジェクト211が押下されると、図9の中段の検索結果表示画面102のように、処理部は、表示オブジェクト211を「−」の形を示す表示オブジェクト212に変更する。そして、処理部は、回路ブロック202を親ノードとする子ノードに相当する回路ブロック204〜206の表示を展開する。処理部は、回路ブロック204の子ノードに相当する回路ブロック207の表示を隠す。そして、処理部は、子ノードが存在する回路ブロック204の下位側(即ち回路ブロック204の右側)に接続線210を接続して表示し、その接続線210の中央部分に、表示オブジェクト211を表示する。
さらに回路ブロック204に接続された接続線210に表示されている表示オブジェクト211が押下されると、図9の下段の検索結果表示画面102のように、処理部は、表示オブジェクト211を「−」の形を示す表示オブジェクト212に変更する。そして、処理部は、回路ブロック204を親ノードとする子ノードに相当する回路ブロック207を表示する。回路ブロック207を親ノードとする子ノードの回路ブロックを有さない。
表示オブジェクト212がポインティングデバイスの操作により押下されると、処理部は、その表示オブジェクト212を中央に有する接続線210の下位側に接続されている、回路ブロックの表示を隠すための表示コマンドが入力されたものとして認識する。例えば図9の下段に示す状態の検索結果表示画面102において、回路ブロック202に接続された接続線210に表示されている表示オブジェクト212が押下されると、処理部は、その接続線210の下位側に、直接に接続されている回路ブロック204〜206と、間接に接続されている回路ブロック207と、の表示を隠し、図9の上段に示す状態の検索結果表示画面102を表示する。
このように、実施の形態2によれば、処理部は、下位側に接続される回路ブロックの表示を隠したり展開したりする表示コマンドを接続線210毎に受け付けることができる。処理部は、表示コマンドの入力を受け付けたとき、受け付けた表示コマンドに応じて各単位検索処理により検索された回路ブロックの検索結果表示画面102における表示を隠したり展開したりする。これにより、ユーザは、検索された回路ブロック群のうちの所望の部分のみを表示させ、他の部分を非表示にさせることができるので、階層構造の全体をより簡単に理解することが可能となる。また、視認性が向上する。
また、処理部は、表示を展開する表示コマンドを受け付けたとき、指定された接続線に直接に接続される回路ブロックの表示を展開し、表示が展開された回路ブロックにさらに下位の階層の回路ブロックが接続されている場合、当該下位の階層の回路ブロックの表示を隠す。これによりユーザは、順次表示コマンドを入力することによって、1階層ずつ表示を展開させることが可能となる。
なお、処理部は、初期状態で全ての回路ブロックを表示するか、所定の階層よりも下位の階層の回路ブロックを隠すか、が予めユーザにより設定されてもよい。
実施の形態3.
図10は、実施の形態3の検索結果表示画面102の表示例を示す図で、一階層ごとに結果を表示する様子を示した図である。関連する回路として検索された回路ブロックを図10に示すように一階層分、つまり接点R01、R02に直接関わる回路ブロックのみを処理部は表示する。それより下位の階層を表示する場合は図10に示す例のように、コイルR01に関連する一つの回路ブロックを検索対象として選択する。これにより、図5に示す回路と同じく下位の階層まで表示が可能となる。
図10は、実施の形態3の検索結果表示画面102の表示例を示す図で、一階層ごとに結果を表示する様子を示した図である。関連する回路として検索された回路ブロックを図10に示すように一階層分、つまり接点R01、R02に直接関わる回路ブロックのみを処理部は表示する。それより下位の階層を表示する場合は図10に示す例のように、コイルR01に関連する一つの回路ブロックを検索対象として選択する。これにより、図5に示す回路と同じく下位の階層まで表示が可能となる。
実施の形態3によれば、処理部は、検索結果表示画面102に表示された回路ブロックのうちの1つの回路ブロックを新たな検索対象とする検索コマンドの入力を受け付けることができる。検索結果表示画面102に表示されている回路ブロック204が選択されると、図10の枠220に示すように、回路ブロック204が強調表示される。この状態で検索コマンドが入力されると、処理部は、回路ブロック204を着目ブロックとする単位検索処理を実行する。回路ブロックが検索されると、処理部は、回路ブロック204の1つ下位の階層の回路ブロックとして前記検索された回路ブロックを検索結果表示画面102に表示する。
このように、実施の形態3によれば、検索結果表示画面102に表示された回路ブロックのうちの1つの回路ブロックを新たな検索対象とする検索コマンドの入力を受け付けたとき、新たな検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックをラダー図から検索する単位検索処理を実行する。そして、処理部は、検索された回路ブロックを新たな検索対象の回路ブロックの下位の階層の回路ブロックとして検索結果表示画面102に表示する。これにより、ユーザは、回路ブロック202の動作に関連する複数の回路ブロック204〜207を階層構造を順次掘り下げながら検索し、表示させることができる。そして、回路ブロック204〜206と、回路ブロック207とが異なる階層に属することが視認可能であるので、回路ブロック間の関連性を簡単に理解することが可能となる。即ち、プログラム編集装置1は、所望のコイルを駆動するための条件を記述した箇所をわかりやすく提示することができる。
実施の形態4.
実施の形態3においては、処理部は、選択された回路ブロックが条件部に有する各接点を開閉するコイルを有する回路ブロックを検索した。検索対象の接点がユーザによって選択されてもよい。
実施の形態3においては、処理部は、選択された回路ブロックが条件部に有する各接点を開閉するコイルを有する回路ブロックを検索した。検索対象の接点がユーザによって選択されてもよい。
図11は、実施の形態4のラダー図表示画面101の表示例を示す図である。ラダー図表示画面101において、ユーザは、ポインティングデバイスの操作によって接点を選択することができる。処理部は、選択された接点を強調表示する。図11の例によれば、回路ブロック202が有する接点R01が選択されている。そして、選択された接点R01の周囲は枠230で囲まれて表示されている。処理部は、接点が選択されている状態において右クリックまたは左クリックの入力がなされたとき、コマンド一覧を記述したコンテキストメニュー231をラダー図表示画面101上に表示する。ユーザは、ポインティングデバイスの操作によって、所望のコマンドをコンテキストメニュー231から選択することができる。図11に示すコンテキストメニュー231によれば、検索処理を実行するための検索コマンドとして「回路検索」が選択可能である。このように、実施の形態4においては、検索コマンドは、接点の指定の入力を含む。
処理部は、指定された接点を開閉させるコイルを有する回路ブロックを検索し、検索された回路ブロックを、指定された接点を有する回路ブロックの1つ下位の階層の回路ブロックとして検索結果表示画面102に表示する。
図12は、実施の形態4の検索結果表示画面102の表示例を示す図である。検索結果表示画面102には、接点R01を開閉するコイルR01を有する回路ブロック204および回路ブロック205が検索され、表示されている。
また、処理部は、検索結果表示画面102に表示された回路ブロックのうちの任意の回路ブロックに含まれる接点を指定した検索コマンドの入力を受け付けることができる。図12において、回路ブロック204に含まれる接点R11が選択されると、処理部は、接点R11の周囲に枠232を表示する。この状態で検索コマンドが入力されると、処理部は、接点R11を開閉するコイルR11を有する回路ブロックを検索する。そして、処理部は、図13に示すように、検索された回路ブロック207を、回路ブロック204の1つ下位の階層の回路ブロックとして検索結果表示画面102に表示する。
このように、実施の形態4においては、検索コマンドは、接点の指定の入力を含む。処理部は、指定された接点を開閉させるコイルを有する回路ブロックを検索し、検索された回路ブロックを、指定された接点を有する回路ブロックの1つ下位の階層の回路ブロックとして検索結果表示画面102に表示する。これにより、ユーザは、所望の接点に関連する回路ブロックを階層を掘り下げながら検索することが可能となる。
実施の形態5.
処理部は、PLC2がユーザプログラム11を実行している際に、検索結果表示画面102に表示されている回路ブロックに含まれる各接点および各コイルの動作状態をインタフェース装置9を介して取得することができるように構成されてもよい。処理部は、取得した各接点および各コイルの動作状態を、ユーザが視認可能な様態で検索結果表示画面102に表示する。
処理部は、PLC2がユーザプログラム11を実行している際に、検索結果表示画面102に表示されている回路ブロックに含まれる各接点および各コイルの動作状態をインタフェース装置9を介して取得することができるように構成されてもよい。処理部は、取得した各接点および各コイルの動作状態を、ユーザが視認可能な様態で検索結果表示画面102に表示する。
図14は、実施の形態5の検索結果表示画面102の表示例を示す図である。この図によれば、接点R01、接点X22、接点X23、接点X32、および接点X42が閉状態であり、回路ブロック204のコイルR01が導通状態であることが表示されている。
なお、処理部は、接点の動作状態のみを取得し表示してもよい。また、処理部は、コイルの動作状態のみを取得し表示してもよい。
このように実施の形態5によれば、検索結果表示画面102に表示された回路ブロックに含まれる各接点または各コイルの動作状態を、ユーザが視認可能な様態で検索結果表示画面102に表示する。これにより、ユーザは、検索された回路ブロックの状態をリアルタイムで確認できるので、バグのある回路ブロックを効率よく発見することが可能となる。
以上のように、本発明にかかるプログラム編集装置、方法、およびプログラムは、PLCの制御シーケンスを定めるプログラムを編集するためのプログラム編集装置、方法、およびプログラムに適用して好適である。
1 プログラム編集装置、2 PLC、3 デバイス、7 演算装置、8 記憶装置、9 インタフェース装置、10 プログラム編集ソフトウェア、11 ユーザプログラム、12 ディスプレイ、13 ユーザI/F、100 メイン画面、101 ラダー図表示画面、102 検索結果表示画面、200 母線、201〜207 回路ブロック、210 接続線、211,212 表示オブジェクト、220,230,232 枠、231 コンテキストメニュー、300,400 画面。
Claims (11)
- ラダープログラムに対する編集を支援するプログラム編集装置であって、
前記ラダープログラムを記憶する記憶部と、
前記ラダープログラムに対応するラダー図を第1画面に表示し、前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けた後、前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する単位検索処理を実行する処理部と、
を備え、
前記処理部は、前記検索された回路ブロックを検索対象として前記単位検索処理を繰り返し実行し、各単位検索処理により検索された回路ブロックを、当該回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして第2画面に表示する、
ことを特徴とするプログラム編集装置。 - 前記処理部は、前記第2画面に表示する対象の回路ブロックについて、前記対象の回路ブロックそのものを表示せず、前記対象の回路ブロックが存在することを示す記号を表示し、その記号に対するポインティングデバイスによる操作入力に応じて前記対象の回路ブロックを表示したり非表示にしたりする、
ことを特徴とする請求項1に記載のプログラム編集装置。 - ラダープログラムに対する編集を支援するプログラム編集装置であって、
前記ラダープログラムを記憶する記憶部と、
前記ラダープログラムに対応するラダー図を第1画面に表示し、前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けたとき、前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第1の単位検索処理を実行し、前記第1の単位検索処理によって検索された回路ブロックを第2画面に表示する処理部と、
を備え、
前記処理部は、前記第2画面に表示された回路ブロックのうちの一の回路ブロックを新たな検索対象とする検索コマンドの入力を受け付けたとき、前記新たな検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第2の単位検索処理を実行し、前記第2の単位検索処理によって検索された回路ブロックを前記新たな検索対象の回路ブロックの下位の階層の回路ブロックとして前記第2画面に表示し、同様にこの検索結果の回路ブロックについてさらに検索コマンドの入力を受け付け、複数階層にわたってこの検索を繰り返し実行できる
ことを特徴とするプログラム編集装置。 - 各検索コマンドは、接点を指定する入力を含み、
前記単位検索処理は、前記指定された接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する処理である、
ことを特徴とする請求項3に記載のプログラム編集装置。 - プログラマブルロジックコントローラ(PLC)に接続するインタフェース部をさらに備え、
前記処理部は、
前記インタフェース部を介して前記PLCに前記ラダープログラムを設定し、
前記PLCが前記ラダープログラムを実行している際に、前記第2画面に表示された回路ブロックに含まれる各接点または各コイルの動作状態を前記インタフェース部を介して前記PLCから取得して、前記取得した各接点または各コイルの動作状態を視認可能な様態で前記第2画面に表示する、
ことを特徴とする請求項1から請求項4の何れか1項に記載のプログラム編集装置。 - 前記第2画面は、GUI機能を有し、
前記処理部は、前記第2画面に表示された回路ブロックに対する編集入力を受け付けたとき、前記受け付けた編集入力を前記ラダープログラムに反映させる、
ことを特徴とする請求項1から請求項4の何れか1項に記載のプログラム編集装置。 - 前記処理部は、前記第2画面に、予め設定された階層より下位の階層の回路ブロックを表示しない、
ことを特徴とする請求項1または請求項2に記載のプログラム編集装置。 - コンピュータが、ラダープログラムに対応するラダー図を第1画面に表示するステップと、
前記コンピュータが、前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けるステップと、
前記コンピュータが、前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する単位検索処理を実行するステップと、
前記コンピュータが、前記検索された回路ブロックを検索対象として前記単位検索処理を繰り返し実行するステップと、
前記コンピュータが、各単位検索処理により検索された回路ブロックを、当該回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして第2画面に表示するステップと、
を備えることを特徴とする方法。 - コンピュータが、ラダープログラムに対応するラダー図を第1画面に表示するステップと、
前記コンピュータが、前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けるステップと、
前記コンピュータが、前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第1の単位検索処理を実行するステップと、
前記コンピュータが、前記第1の単位検索処理によって検索された回路ブロックを第2画面に表示するステップと、
前記コンピュータが、前記第2画面に表示された回路ブロックのうちの一の回路ブロックを新たな検索対象とする検索コマンドの入力を受け付けるステップと、
前記コンピュータが、前記新たな検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第2の単位検索処理を実行するステップと、
前記コンピュータが、前記第2の単位検索処理によって検索された回路ブロックを前記新たな検索対象の回路ブロックの下位の階層の回路ブロックとして前記第2画面に表示するステップと、
を備えることを特徴とする方法。 - ラダープログラムに対応するラダー図を第1画面に表示するステップと、
前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けるステップと、
前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する単位検索処理を実行するステップと、
前記検索された回路ブロックを検索対象として前記単位検索処理を繰り返し実行するステップと、
各単位検索処理により検索された回路ブロックを、当該回路ブロックが検索された際の検索対象の回路ブロックの1つ下位の階層の回路ブロックとして第2画面に表示するステップと、
をコンピュータに実行させることを特徴とするプログラム。 - ラダープログラムに対応するラダー図を第1画面に表示するステップと、
前記ラダー図を構成する複数の回路ブロックのうちの一の回路ブロックを検索対象とする検索コマンドの入力を受け付けるステップと、
前記検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第1の単位検索処理を実行するステップと、
前記第1の単位検索処理によって検索された回路ブロックを第2画面に表示するステップと、
前記第2画面に表示された回路ブロックのうちの一の回路ブロックを新たな検索対象とする検索コマンドの入力を受け付けるステップと、
前記新たな検索対象の回路ブロックが含む接点を開閉するコイルを有する回路ブロックを前記ラダー図から検索する第2の単位検索処理を実行するステップと、
前記第2の単位検索処理によって検索された回路ブロックを前記新たな検索対象の回路ブロックの下位の階層の回路ブロックとして前記第2画面に表示するステップと、
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014124207A JP5762601B1 (ja) | 2014-06-17 | 2014-06-17 | プログラム編集装置、方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014124207A JP5762601B1 (ja) | 2014-06-17 | 2014-06-17 | プログラム編集装置、方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5762601B1 true JP5762601B1 (ja) | 2015-08-12 |
JP2016004414A JP2016004414A (ja) | 2016-01-12 |
Family
ID=53887770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014124207A Expired - Fee Related JP5762601B1 (ja) | 2014-06-17 | 2014-06-17 | プログラム編集装置、方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5762601B1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6852519B2 (ja) | 2016-04-04 | 2021-03-31 | オムロン株式会社 | プログラム作成支援装置、プログラム作成支援装置の制御方法、およびプログラム作成支援装置の制御プログラム |
CN106990750B (zh) * | 2017-04-01 | 2019-12-24 | 贝加莱工业自动化(中国)有限公司 | 一种梯形图在线编辑方法 |
JP7141846B2 (ja) * | 2018-04-27 | 2022-09-26 | 株式会社Fuji | ラダー回路の表示装置 |
JP6836549B2 (ja) | 2018-05-31 | 2021-03-03 | ファナック株式会社 | ラダー表示装置 |
JP7070223B2 (ja) * | 2018-08-08 | 2022-05-18 | オムロン株式会社 | サポート装置およびサポートプログラム |
JP7412076B2 (ja) * | 2018-10-23 | 2024-01-12 | 株式会社キーエンス | プログラマブルロジックコントローラ用のエンジニアリングツール |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0235503A (ja) * | 1988-07-26 | 1990-02-06 | Okuma Mach Works Ltd | ラダー図表示におけるリレーコイルの探索方法 |
JPH04286001A (ja) * | 1991-03-15 | 1992-10-12 | Hitachi Ltd | プログラマブルコントローラのプログラミング方法及びその装置 |
JPWO2010137139A1 (ja) * | 2009-05-27 | 2012-11-12 | 三菱電機株式会社 | シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム |
-
2014
- 2014-06-17 JP JP2014124207A patent/JP5762601B1/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0235503A (ja) * | 1988-07-26 | 1990-02-06 | Okuma Mach Works Ltd | ラダー図表示におけるリレーコイルの探索方法 |
JPH04286001A (ja) * | 1991-03-15 | 1992-10-12 | Hitachi Ltd | プログラマブルコントローラのプログラミング方法及びその装置 |
JPWO2010137139A1 (ja) * | 2009-05-27 | 2012-11-12 | 三菱電機株式会社 | シーケンスプログラムのデバッグ装置、デバッグ方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2016004414A (ja) | 2016-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5762601B1 (ja) | プログラム編集装置、方法、およびプログラム | |
US11132820B2 (en) | Graph expansion mini-view | |
US9182981B2 (en) | Systems and methods for implementing pixel-based reverse engineering of interface structure | |
US20070097883A1 (en) | Generation of a network topology hierarchy | |
JP7041473B2 (ja) | 複雑なグラフ検索のための局所的な視覚グラフ・フィルタ | |
US20140232724A1 (en) | Moving visualizations between displays and contexts | |
KR20170073604A (ko) | 데이터 미리보기를 통한 작업 작성 기법 | |
CN110428003B (zh) | 样本类别标签的修正方法、装置以及电子设备 | |
KR20140108721A (ko) | 시퀀스 프로그램 작성 장치 | |
JP2017097845A (ja) | 複数のメディアソースからのコンテンツの組織化及び視覚化 | |
WO2016065960A1 (en) | Graphically building abstract syntax trees | |
TWI483173B (zh) | 提供媒體內容存取的方法及系統 | |
JP6434435B2 (ja) | 情報処理装置、操作支援方法および操作支援プログラム | |
WO2016000547A1 (zh) | 应用程序中控件的触发方法、装置及移动终端 | |
US10261758B2 (en) | Pattern recognition of software program code in an integrated software development environment | |
KR101985491B1 (ko) | 다이어그램 방식의 시각화 수식 작성을 통한 결과 생성 및 모니터링 장치 | |
CN111124393A (zh) | 一种算法逻辑的编辑方法、平台、电子设备及存储介质 | |
JP2011070265A (ja) | 情報検索装置、及び情報検索方法 | |
CN111191795A (zh) | 一种训练机器学习模型的方法、装置及系统 | |
JPWO2015145556A1 (ja) | ソフトウェア仕様間依存関係検証装置、及びソフトウェア仕様間依存関係検証方法 | |
JP2014123260A (ja) | システム監視画面の画像作成装置 | |
JP6364786B2 (ja) | 設計書管理プログラム、設計書管理方法および設計書管理装置 | |
CN116991956B (zh) | 一种基于eda的信号交互方法、电子设备及存储介质 | |
JP5296724B2 (ja) | 画面表示データ編集装置及び画面表示データ編集プログラム | |
JP7439955B2 (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: 20150512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5762601 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 |
|
LAPS | Cancellation because of no payment of annual fees |