JP6122054B2 - ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 - Google Patents
ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 Download PDFInfo
- Publication number
- JP6122054B2 JP6122054B2 JP2015050570A JP2015050570A JP6122054B2 JP 6122054 B2 JP6122054 B2 JP 6122054B2 JP 2015050570 A JP2015050570 A JP 2015050570A JP 2015050570 A JP2015050570 A JP 2015050570A JP 6122054 B2 JP6122054 B2 JP 6122054B2
- Authority
- JP
- Japan
- Prior art keywords
- ladder
- circuit
- branch circuit
- ladder circuit
- branch
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13052—Display of ladder diagram
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Computer Hardware Design (AREA)
Description
本発明は、ラダープログラムのモニタ装置に関し、特にあるラダー回路に至る分岐回路を自動的に抽出して一括表示する機能を有するラダープログラムのモニタ装置に関する。
ラダープログラムを作成、動作を検証(デバッグ)、動作時の異常等を診断する際は、ラダープログラム中から関連するラダー回路を画面上に呼び出すことが頻繁に行われる。そのため、目的のラダー回路で使われている信号や命令を条件としてラダー回路を検索、抽出するための機能が提供されていることが多い。
一般に、ラダープログラムの中から特定のラダー回路を探す場合、そのラダー回路で使われている信号を指定し、その信号が含まれるラダー回路を検索することで目的のラダー回路を抽出している。検索条件の信号はその信号に割り当てられた名称(識別子)やアドレス等を表す文字列で指定するのが一般的であり、また、検索の結果は、最初に条件に合致すると判定されたラダー回路を画面上に呼び出したり、条件に合致すると判定された全ラダー回路を一覧で表示したりして、オペレータに通知される。
一方で、ラダープログラムでは、ジャンプ命令やサブルーチン呼び出し命令によって、プログラムの動作を分岐させることができ、ラダープログラムのモニタ装置では、このようなジャンプ命令やサブルーチン呼び出し命令等の分岐回路について、その分岐条件となる信号状態を確認することができる。
また、ラダー回路を抽出して表示する従来技術としては、ある信号を使用している複数のラダー回路を抽出して表示する機能を備えたラダープログラムのモニタ装置が開示されている(特許文献1〜4など)。
ラダープログラムの動作検証において、あるラダー回路が動作しない場合、即ち処理がスキップされている場合には、動作しないラダー回路が実行されるためのジャンプ命令やサブルーチン呼び出し命令等の分岐回路を確認する必要がある。
この作業を上記した従来技術を用いて行う場合、ユーザは動作しないラダー回路を実行させる各分岐回路を順次手動で検索して分岐条件の確認を行う必要があるが、大規模なラダープログラムに対して手作業で分岐回路を検索して確認するのは多大な労力がかかり、ユーザにとって大きな負担となっていた。
そこで本発明の目的は、ラダー回路が動作しない原因を容易に見つけることを可能とするラダー回路のモニタ装置を提供することである。
本願の請求項1に係る発明は、ラダープログラムのモニタ装置において、確認対象のラダー回路に係る情報を記憶するための確認対象ラダー回路情報格納領域と、表示対象となるラダー回路に係る情報を記憶するための表示対象ラダー回路情報テーブルと、ユーザから前記ラダープログラム内の確認対象のラダー回路の指定を受け付け、前記指定された確認対象のラダー回路に係る情報を、前記確認対象ラダー回路情報格納領域および前記表示対象ラダー回路情報テーブルに記憶する確認対象ラダー回路指定手段と、前記確認対象ラダー回路情報格納領域に記憶された前記確認対象のラダー回路に基づいて、前記ラダープログラム内における前記確認対象のラダー回路より前に位置する直近の分岐回路を検索する検索手段と、前記直近の分岐回路の種類に基づいて、前記ラダープログラムから表示対象とするべき分岐回路を抽出して前記表示対象ラダー回路情報テーブルに追加すると共に、前記直近の分岐回路に係る情報に基づいて、次の確認対象となるべきラダー回路を決定して前記次の確認対象となるべきラダー回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶する抽出手段と、前記表示対象ラダー回路情報テーブルに記憶された前記表示対象となるラダー回路を表示する表示手段と、を備え、前記ラダープログラム内の位置における最先の分岐回路が確認対象とされるまで前記検索手段、および前記抽出手段による処理を繰り返す、ことを特徴とするラダープログラムのモニタ装置である。
本願の請求項2に係る発明は、前記抽出手段は、前記直近の分岐回路がサブプログラムの先頭を示す分岐回路である場合、前記サブプログラムの先頭を示す分岐回路、前記サブプログラムの最終を示す分岐回路、および前記サブプログラムの呼出しを示す分岐回路を前記表示対象ラダー回路情報テーブルに追加し、前記サブプログラムの呼出しを示す分岐回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶し、前記直近の分岐回路がジャンプ命令を示す分岐回路である場合であって、前記ジャンプ命令を示す分岐回路が前記ラダープログラム内の位置において前記確認対象となるラダー回路よりも下方向へのジャンプを命令している場合、前記ジャンプ命令を示す分岐回路、および前記ジャンプ命令によるジャンプ先を示す分岐回路を前記表示対象ラダー回路情報テーブルに追加し、前記ジャンプ命令を示す分岐回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶し、それ以外の場合には前記ラダープログラム内の位置において前記確認対象ラダー回路情報格納領域に記憶されているラダー回路より前に位置する直近の分岐回路を前記確認対象ラダー回路情報格納領域に記憶する、ことを特徴とする請求項1に記載されたラダープログラムのモニタ装置である。
本願の請求項3係る発明は、前記表示手段は、前記表示対象となるラダー回路で使用されている各接点の時間経過に伴う信号変化を表示する表示モードを有する、ことを特徴とする請求項1または2に記載されたラダープログラムのモニタ装置である。
本発明により、あるラダー回路が動作しない(処理がスキップされている)場合に、そのラダー回路に至る分岐回路を抽出して表示することにより、そのラダー回路を動作させるために必要な条件を容易に見つけることができる。
本発明のラダープログラムモニタ装置は、以下の手段により、ラダープログラムの分岐回路を抽出して表示する機能を提供する。
ユーザから、確認対象のラダー回路の指定を受け付け、該確認対象のラダー回路のラダープログラム内での位置情報を特定すると、ラダープログラムを解析し、分岐回路(ジャンプ開始、ジャンプ終了、サブルーチン呼び出し、サブルーチン先頭、サブルーチン最終等)の位置情報を抽出する。そして、抽出された分岐回路の位置情報に基づいて、指定された確認対象のラダー回路が含まれる分岐回路を検索する。
ユーザから、確認対象のラダー回路の指定を受け付け、該確認対象のラダー回路のラダープログラム内での位置情報を特定すると、ラダープログラムを解析し、分岐回路(ジャンプ開始、ジャンプ終了、サブルーチン呼び出し、サブルーチン先頭、サブルーチン最終等)の位置情報を抽出する。そして、抽出された分岐回路の位置情報に基づいて、指定された確認対象のラダー回路が含まれる分岐回路を検索する。
検索された確認対象のラダー回路が、ジャンプ開始とジャンプ終了の間に含まれている場合には、そのジャンプの開始、終了の回路を表示データとして抽出し、検索された確認対象のラダー回路が、サブプログラム内に含まれている場合には、そのサブプログラムの開始、終了の回路と、サブプログラムの呼び出し回路を表示データとして抽出する。
更に、前記抽出処理により表示データとして抽出された回路を新たな確認対象のラダー回路として上記と同様の抽出処理を行い、分岐回路を表示データとして抽出する。このように抽出処理を繰返し、表示データとして抽出されたすべての回路を、表示器上にまとめて表示する。また、表示データとして抽出された回路で使用されている接点を、トレース機能のサンプリングアドレスとして、それらの信号変化を一括して診断する。
上記処理により、ラダープログラムの先頭からユーザから指定された確認対象のラダー回路に至るまでの間で、該確認対象のラダー回路の動作に関連する分岐回路のみが表示対象として抽出されるため、ユーザは表示された分岐回路を見ることで、該確認対象のラダー回路を動作させるために必要な条件を容易に見つけることができるため、ラダープログラム全体を見直しするのと比べて格段に労力が軽減される。
以下、本発明の一実施形態を図面と共に説明する。
図1は、本実施形態の説明に用いるラダープログラムの一部を表示器上に表示した際の表示画面イメージを示しており、また、図2は、図1で表示しているラダープログラムを概略的に示すラダー図である。図1に表示されているラダー図(図2の右上部、104〜111ネット目)の場合、通常は接点D−MEMがオンとなる場合には、コイルR−MEMもオンとなるが、図においては、接点D−MEMがオンになっているにもかかわらず、コイルR−MEMはオンになっていない。ここで、コイルR−MEMがオンとならない原因としては、該当ラダー回路がジャンプ命令やサブプログラム呼び出し命令によってスキップされていることが考えられる。そのため、本実施形態のラダープログラムモニタ装置では、以下の手順によりスキップ箇所を容易に見つけ出せるようにする。
図1は、本実施形態の説明に用いるラダープログラムの一部を表示器上に表示した際の表示画面イメージを示しており、また、図2は、図1で表示しているラダープログラムを概略的に示すラダー図である。図1に表示されているラダー図(図2の右上部、104〜111ネット目)の場合、通常は接点D−MEMがオンとなる場合には、コイルR−MEMもオンとなるが、図においては、接点D−MEMがオンになっているにもかかわらず、コイルR−MEMはオンになっていない。ここで、コイルR−MEMがオンとならない原因としては、該当ラダー回路がジャンプ命令やサブプログラム呼び出し命令によってスキップされていることが考えられる。そのため、本実施形態のラダープログラムモニタ装置では、以下の手順によりスキップ箇所を容易に見つけ出せるようにする。
<手順1:確認対象のラダー回路の指定>
図3に示すように、ユーザが、ラダープログラムを表示しているモニタ画面において、カーソルを確認したい回路上に移動し、タッチパネルやキー操作によりソフトキー[分岐確認]を選択すると、ラダープログラムモニタ装置は、図4に示すように、カーソル下のラダー回路をメモリ上に設けられた確認対象ラダー回路情報格納領域に確認対象のラダー回路に係る情報として設定して、該確認対象のラダー回路に係る情報のラダープログラム上の位置情報を取得する。また、ラダープログラムモニタ装置は、図5に示すように、該確認対象のラダー回路に係る情報をメモリ上に設けられた表示対象ラダー回路情報テーブルに表示対象のラダー回路に係る情報として追加する。確認対象のラダー回路に係る情報、表示対象のラダー回路に係る情報は、図4、図5に示すように、少なくともネット番号(行番号)と回路の種類、および名称を含んでいる。
図3に示すように、ユーザが、ラダープログラムを表示しているモニタ画面において、カーソルを確認したい回路上に移動し、タッチパネルやキー操作によりソフトキー[分岐確認]を選択すると、ラダープログラムモニタ装置は、図4に示すように、カーソル下のラダー回路をメモリ上に設けられた確認対象ラダー回路情報格納領域に確認対象のラダー回路に係る情報として設定して、該確認対象のラダー回路に係る情報のラダープログラム上の位置情報を取得する。また、ラダープログラムモニタ装置は、図5に示すように、該確認対象のラダー回路に係る情報をメモリ上に設けられた表示対象ラダー回路情報テーブルに表示対象のラダー回路に係る情報として追加する。確認対象のラダー回路に係る情報、表示対象のラダー回路に係る情報は、図4、図5に示すように、少なくともネット番号(行番号)と回路の種類、および名称を含んでいる。
<手順2:ラダープログラムの解析>
本手順では、ラダープログラムモニタ装置は、対象となるラダープログラムを解析して該ラダープログラムに含まれる分岐回路を全て抽出し、該抽出した分岐回路に係る情報を登録した分岐回路情報テーブルをメモリ上に作成する(図6)。分岐回路として抽出するのは、ジャンプ命令(JUMP)、サブプログラム呼出し命令(CALL)、ジャンプ先のラベル(LABEL)、呼び出し先のサブプログラムの先頭(SP)、サブプログラムの最終(SPE)、などの分岐に係る回路である。抽出される分岐回路に係る情報は、図6に示すように、少なくともネット番号(行番号)と命令の種類、および名称を含んでいる。
本手順では、ラダープログラムモニタ装置は、対象となるラダープログラムを解析して該ラダープログラムに含まれる分岐回路を全て抽出し、該抽出した分岐回路に係る情報を登録した分岐回路情報テーブルをメモリ上に作成する(図6)。分岐回路として抽出するのは、ジャンプ命令(JUMP)、サブプログラム呼出し命令(CALL)、ジャンプ先のラベル(LABEL)、呼び出し先のサブプログラムの先頭(SP)、サブプログラムの最終(SPE)、などの分岐に係る回路である。抽出される分岐回路に係る情報は、図6に示すように、少なくともネット番号(行番号)と命令の種類、および名称を含んでいる。
<手順3:分岐回路情報テーブルの検索>
本手順では、ラダープログラムモニタ装置は、手順1で確認対象ラダー回路情報格納領域に記憶した確認対象のラダー回路に係る情報に基づいて、手順2で作成した分岐回路情報テーブルから、ラダープログラム内において確認対象のラダー回路以前に位置する分岐回路の内、最後の分岐回路を検索する(図7)。図7の例では、確認対象のラダー回路はラダープログラム内において106ネット目に位置し、それ以前に位置する分岐回路のうち最も後にあるものは、104ネット目の「SP P1」である。ラダープログラムモニタ装置は、確認対象のラダー回路に係る情報のネット番号(行番号)と、分岐回路情報テーブルに登録されているそれぞれの分岐回路に係る情報のネット番号(行番号)とを比較することで、これを検索する。
本手順では、ラダープログラムモニタ装置は、手順1で確認対象ラダー回路情報格納領域に記憶した確認対象のラダー回路に係る情報に基づいて、手順2で作成した分岐回路情報テーブルから、ラダープログラム内において確認対象のラダー回路以前に位置する分岐回路の内、最後の分岐回路を検索する(図7)。図7の例では、確認対象のラダー回路はラダープログラム内において106ネット目に位置し、それ以前に位置する分岐回路のうち最も後にあるものは、104ネット目の「SP P1」である。ラダープログラムモニタ装置は、確認対象のラダー回路に係る情報のネット番号(行番号)と、分岐回路情報テーブルに登録されているそれぞれの分岐回路に係る情報のネット番号(行番号)とを比較することで、これを検索する。
<手順4:表示対象の分岐回路の抽出>
本手順では、手順3において検索された分岐回路に基づいて、分岐回路情報テーブルから表示対象のラダー回路を抽出し、該表示対象のラダー回路に係る情報を表示対象ラダー回路情報テーブルに登録する。抽出する表示対象のラダー回路は、以下に説明するように、手順3で検索された分岐回路の種類によって異なる。
本手順では、手順3において検索された分岐回路に基づいて、分岐回路情報テーブルから表示対象のラダー回路を抽出し、該表示対象のラダー回路に係る情報を表示対象ラダー回路情報テーブルに登録する。抽出する表示対象のラダー回路は、以下に説明するように、手順3で検索された分岐回路の種類によって異なる。
手順3で検索された分岐回路がサブプログラムの先頭(SP)の場合には、そのサブプログラムの先頭・最終と、サブプログラムの呼び出し元を表示対象のラダー回路に係る情報として表示対象ラダー回路情報テーブルに追加する。図8の例では、検索された分岐回路が「SP P1」であり、サブプログラムP1の先頭であるため、更にサブプログラムP1の最終(SPE P1)とサブプログラムP1の呼び出し元(CALL P1)を分岐回路情報テーブルから抽出し、これら3つの分岐回路に係る情報を、表示対象のラダー回路に係る情報として表示対象ラダー回路情報テーブルに追加する。この場合、サブプログラムの呼び出し元の分岐回路に係る情報を確認対象ラダー回路情報格納領域に設定して次の確認対象のラダー回路とする。
なお、サブプログラムの呼び出し元の分岐回路は複数存在する場合があるが、その場合にはそれぞれのサブプログラムの呼び出し元の分岐回路ついて、表示対象のラダー回路情報テーブルへの追加と、確認対象ラダー回路情報格納領域への設定、および後述する手順3,4の繰り返し実行を行うようにすればよい。その場合において、表示対象のラダー回路情報テーブルに既に記憶されているラダー回路については重複が発生しないように追加をしないようにすればよい。
手順3で検索された分岐回路がジャンプ命令(JUMP)である場合には、そのジャンプ先を分岐回路情報テーブルから検索する。図9は、今まで説明してきた手順に沿って実行される2回目の手順3(確認対象ラダー回路情報格納領域に「CALL P1」が登録されている)において、分岐回路情報テーブルから20ネット目の「JUMP L2」が検索される例を示している。
そして、検索されたジャンプ回路のジャンプ先が確認対象のラダー回路の位置よりもラダープログラム内で下の位置にある(ネット番号が大きい)場合は、手順3で検索されたジャンプ命令と、そのジャンプ先に係る情報を、表示対象のラダー回路に係る情報として表示対象ラダー回路情報テーブルに追加する(図10)。この場合、ジャンプ命令の分岐回路に係る情報を確認対象ラダー回路情報格納領域に設定して次の確認対象のラダー回路とする。
一方で、検索されたジャンプ回路のジャンプ先が確認対象のラダー回路の位置よりもラダープログラム内で上の位置にある(ネット番号が小さい)場合は、表示対象の追加は行わず、ジャンプ命令の分岐回路に係る情報を確認対象ラダー回路情報格納領域に設定して次の確認対象のラダー回路とする。
一方で、検索されたジャンプ回路のジャンプ先が確認対象のラダー回路の位置よりもラダープログラム内で上の位置にある(ネット番号が小さい)場合は、表示対象の追加は行わず、ジャンプ命令の分岐回路に係る情報を確認対象ラダー回路情報格納領域に設定して次の確認対象のラダー回路とする。
手順3で検索された分岐回路が、ジャンプ命令やサブプログラムの先頭以外の場合には、表示対象の追加は行わず、該分岐回路に係る情報を確認対象ラダー回路情報格納領域に設定して次の確認対象のラダー回路とする。
そして、手順3,4を、テーブルの先頭に達するまで繰り返し実行する。
そして、手順3,4を、テーブルの先頭に達するまで繰り返し実行する。
<手順5:表示対象のラダー回路の表示>
本手順では、手順1〜4を経て抽出した表示対象のラダー回路を画面に表示する。また、表示したラダー回路において使用されている接点等を信号状態に応じて強調表示する。図11は、上述した例において手順1〜4を実行した結果、表示対象ラダー回路情報テーブルに登録されたラダー回路を、信号状態を強調表示した状態で表示した例を示している。このように、106ネット目のR−MEMに係る分岐回路、即ちラダープログラムの先頭から106ネット目に至るまでに通る分岐回路、および106ネット目をスキップしている可能性のある分岐回路のみを表示することにより、30ネット目のR3.1がオフのためサブプログラムP1が呼び出されず、106ネット目が処理されないことが一見して把握することができる。
本手順では、手順1〜4を経て抽出した表示対象のラダー回路を画面に表示する。また、表示したラダー回路において使用されている接点等を信号状態に応じて強調表示する。図11は、上述した例において手順1〜4を実行した結果、表示対象ラダー回路情報テーブルに登録されたラダー回路を、信号状態を強調表示した状態で表示した例を示している。このように、106ネット目のR−MEMに係る分岐回路、即ちラダープログラムの先頭から106ネット目に至るまでに通る分岐回路、および106ネット目をスキップしている可能性のある分岐回路のみを表示することにより、30ネット目のR3.1がオフのためサブプログラムP1が呼び出されず、106ネット目が処理されないことが一見して把握することができる。
また、抽出したラダー回路を表示している画面(図12)において、動的な分岐回路の条件の変化を確認したい場合は、ソフトキー[分岐トレース]を選択することにより、画面表示がトレース画面(図13)に切り替わり、上記回路で使用されている各接点の信号変化を把握することができるため、タイミングによって成立しない条件場合についても、容易に確認することができる。
図14は、本実施形態におけるラダープログラムモニタ装置上で実行される処理のフローチャートである。
●[ステップSA01]ユーザから確認対象のラダー回路の指定を受け付け、指定されたラダー回路を確認対象ラダー回路情報領域に設定する。
●[ステップSA02]ステップSA01で指定された確認対象のラダー回路を、表示対象ラダー回路情報テーブルに登録する。
●[ステップSA03]ラダープログラムを解析し、該ラダープログラムに含まれる分岐回路を全て抽出して分岐回路情報テーブルに登録する。
●[ステップSA01]ユーザから確認対象のラダー回路の指定を受け付け、指定されたラダー回路を確認対象ラダー回路情報領域に設定する。
●[ステップSA02]ステップSA01で指定された確認対象のラダー回路を、表示対象ラダー回路情報テーブルに登録する。
●[ステップSA03]ラダープログラムを解析し、該ラダープログラムに含まれる分岐回路を全て抽出して分岐回路情報テーブルに登録する。
●[ステップSA04]分岐回路情報テーブルから、確認対象ラダー回路情報領域に設定されているラダー回路のラダープログラム内での位置以前に位置する分岐回路の内の最後のラダー回路を検索する。
●[ステップSA05]確認対象ラダー回路情報領域に設定されているラダー回路が、分岐回路情報テーブルの先頭、または分岐回路情報テーブルの先頭に登録されているラダー回路よりラダープログラム内で上に位置するか(ステップSA04でラダー回路が検索されなかったか否か)を判定する。前記条件が成立する場合には表示対象ラダー回路の抽出が終了したと判定しステップSA14へ進み、成立しない場合にはステップSA06へ進む。
●[ステップSA05]確認対象ラダー回路情報領域に設定されているラダー回路が、分岐回路情報テーブルの先頭、または分岐回路情報テーブルの先頭に登録されているラダー回路よりラダープログラム内で上に位置するか(ステップSA04でラダー回路が検索されなかったか否か)を判定する。前記条件が成立する場合には表示対象ラダー回路の抽出が終了したと判定しステップSA14へ進み、成立しない場合にはステップSA06へ進む。
●[ステップSA06]ステップSA04で検索された分岐回路がサブプログラムの先頭(SP)であるか否かを判定する。サブプログラムの先頭である場合にはステップSA07へ進み、そうでない場合にはステップSA09へ進む。
●[ステップSA07]ステップSA04で検索された分岐回路SPと、該分岐回路SPから始まるサブプログラムの最終SPE、該分岐回路SPを呼び出すサブプログラム呼出し回路CALLを、表示対象ラダー回路情報テーブルに追加する。
●[ステップSA08]ステップSA07で登録した分岐回路SPを呼び出すサブプログラム呼出し回路CALLを、確認対象ラダー回路情報領域に設定し、ステップSA04へ戻る。
●[ステップSA07]ステップSA04で検索された分岐回路SPと、該分岐回路SPから始まるサブプログラムの最終SPE、該分岐回路SPを呼び出すサブプログラム呼出し回路CALLを、表示対象ラダー回路情報テーブルに追加する。
●[ステップSA08]ステップSA07で登録した分岐回路SPを呼び出すサブプログラム呼出し回路CALLを、確認対象ラダー回路情報領域に設定し、ステップSA04へ戻る。
●[ステップSA09]ステップSA04で検索された分岐回路がジャンプ命令(JUMP)であるか否かを判定する。ジャンプ命令である場合にはステップSA10へ進み、そうでない場合にはステップSA13へ進む。
●[ステップSA10]ステップSA04で検索されたジャンプ命令が、ラダープログラム内の位置において確認対象ラダー回路情報領域に設定されているラダー回路よりも下方向へジャンプするジャンプ命令であるか否かを判定する。下方向へジャンプするジャンプ命令である場合にはステップSA11へ進み、そうでない場合にはステップSA13へ進む。
●[ステップSA11]ステップSA04で検索された分岐回路JUMPと、該分岐回路の飛び先である分岐回路LABELを、表示対象ラダー回路情報テーブルに追加する。
●[ステップSA12]ステップSA11で登録した分岐回路JUMPを、確認対象ラダー回路情報領域に設定し、ステップSA04へ戻る。
●[ステップSA10]ステップSA04で検索されたジャンプ命令が、ラダープログラム内の位置において確認対象ラダー回路情報領域に設定されているラダー回路よりも下方向へジャンプするジャンプ命令であるか否かを判定する。下方向へジャンプするジャンプ命令である場合にはステップSA11へ進み、そうでない場合にはステップSA13へ進む。
●[ステップSA11]ステップSA04で検索された分岐回路JUMPと、該分岐回路の飛び先である分岐回路LABELを、表示対象ラダー回路情報テーブルに追加する。
●[ステップSA12]ステップSA11で登録した分岐回路JUMPを、確認対象ラダー回路情報領域に設定し、ステップSA04へ戻る。
●[ステップSA13]ステップSA04で検索された分岐回路を、確認対象ラダー回路情報領域に設定し、ステップSA04へ戻る。
●[ステップSA14]表示対象ラダー回路情報テーブルに登録されたラダー回路を表示器上に表示する。
●[ステップSA14]表示対象ラダー回路情報テーブルに登録されたラダー回路を表示器上に表示する。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
Claims (3)
- ラダープログラムのモニタ装置において、
確認対象のラダー回路に係る情報を記憶するための確認対象ラダー回路情報格納領域と、
表示対象となるラダー回路に係る情報を記憶するための表示対象ラダー回路情報テーブルと、
ユーザから前記ラダープログラム内の確認対象のラダー回路の指定を受け付け、前記指定された確認対象のラダー回路に係る情報を、前記確認対象ラダー回路情報格納領域および前記表示対象ラダー回路情報テーブルに記憶する確認対象ラダー回路指定手段と、
前記確認対象ラダー回路情報格納領域に記憶された前記確認対象のラダー回路に基づいて、前記ラダープログラム内における前記確認対象のラダー回路より前に位置する直近の分岐回路を検索する検索手段と、
前記直近の分岐回路の種類に基づいて、前記ラダープログラムから表示対象とするべき分岐回路を抽出して前記表示対象ラダー回路情報テーブルに追加すると共に、前記直近の分岐回路に係る情報に基づいて、次の確認対象となるべきラダー回路を決定して前記次の確認対象となるべきラダー回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶する抽出手段と、
前記表示対象ラダー回路情報テーブルに記憶された前記表示対象となるラダー回路を表示する表示手段と、
を備え、
前記ラダープログラム内の位置における最先の分岐回路が確認対象とされるまで前記検索手段、および前記抽出手段による処理を繰り返す、
ことを特徴とするラダープログラムのモニタ装置。 - 前記抽出手段は、
前記直近の分岐回路がサブプログラムの先頭を示す分岐回路である場合、前記サブプログラムの先頭を示す分岐回路、前記サブプログラムの最終を示す分岐回路、および前記サブプログラムの呼出しを示す分岐回路を前記表示対象ラダー回路情報テーブルに追加し、前記サブプログラムの呼出しを示す分岐回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶し、
前記直近の分岐回路がジャンプ命令を示す分岐回路である場合であって、前記ジャンプ命令を示す分岐回路が前記ラダープログラム内の位置において前記確認対象となるラダー回路よりも下方向へのジャンプを命令している場合、前記ジャンプ命令を示す分岐回路、および前記ジャンプ命令によるジャンプ先を示す分岐回路を前記表示対象ラダー回路情報テーブルに追加し、前記ジャンプ命令を示す分岐回路に係る情報を前記確認対象ラダー回路情報格納領域に記憶し、
それ以外の場合には前記ラダープログラム内の位置において前記確認対象ラダー回路情報格納領域に記憶されているラダー回路より前に位置する直近の分岐回路を前記確認対象ラダー回路情報格納領域に記憶する、
ことを特徴とする請求項1に記載されたラダープログラムのモニタ装置。 - 前記表示手段は、前記表示対象となるラダー回路で使用されている各接点の時間経過に伴う信号変化を表示する表示モードを有する、
ことを特徴とする請求項1または2に記載されたラダープログラムのモニタ装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015050570A JP6122054B2 (ja) | 2015-03-13 | 2015-03-13 | ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 |
DE102016104029.0A DE102016104029B4 (de) | 2015-03-13 | 2016-03-07 | Kontrollvorrichtung mit der Funktion zum Extrahieren und Darstellen eines Zweigkreises in einem Kontaktplanprogramm |
US15/067,183 US9766994B2 (en) | 2015-03-13 | 2016-03-11 | Monitoring device with function of extracting and displaying branch circuit in ladder program |
CN201610142960.0A CN105974875B (zh) | 2015-03-13 | 2016-03-14 | 具有梯形图程序的分支电路提取及显示功能的监视装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015050570A JP6122054B2 (ja) | 2015-03-13 | 2015-03-13 | ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016170662A JP2016170662A (ja) | 2016-09-23 |
JP6122054B2 true JP6122054B2 (ja) | 2017-04-26 |
Family
ID=56801128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015050570A Active JP6122054B2 (ja) | 2015-03-13 | 2015-03-13 | ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9766994B2 (ja) |
JP (1) | JP6122054B2 (ja) |
CN (1) | CN105974875B (ja) |
DE (1) | DE102016104029B4 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6212074B2 (ja) * | 2015-06-29 | 2017-10-11 | ファナック株式会社 | 最寄りのネットコメントを表示可能なラダープログラム編集装置 |
JP6356726B2 (ja) * | 2016-05-19 | 2018-07-11 | ファナック株式会社 | ラダープログラム解析装置 |
JP6988597B2 (ja) * | 2018-03-14 | 2022-01-05 | オムロン株式会社 | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム |
JP7172864B2 (ja) * | 2019-06-07 | 2022-11-16 | オムロン株式会社 | サポート装置およびサポートプログラム |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3961200A (en) * | 1973-09-06 | 1976-06-01 | John C Dute | Apparatus for constructing control circuits having relay circuit functional characteristics |
CA2004457A1 (en) * | 1988-12-06 | 1990-06-06 | Seigo Igaki | Minutia data extraction in fingerprint identification |
JPH0755601Y2 (ja) * | 1989-03-22 | 1995-12-20 | 豊田工機株式会社 | シーケンスcad機能を備えたcnc装置 |
GB2232514B (en) * | 1989-04-24 | 1993-09-01 | Yokogawa Electric Corp | Programmable controller |
JP2923997B2 (ja) * | 1989-09-21 | 1999-07-26 | ソニー株式会社 | ラダーシーケンス方式のプログラムにおける異常の原因箇所究明方法 |
JP2978260B2 (ja) * | 1991-03-15 | 1999-11-15 | 株式会社日立製作所 | プログラマブルコントローラのプログラミング方法及びその装置 |
JPH04370806A (ja) * | 1991-06-20 | 1992-12-24 | Hitachi Ltd | プログラマブルコントローラ |
JP3380912B2 (ja) | 1991-11-08 | 2003-02-24 | オムロン株式会社 | 故障診断のための診断対象のグループ化方法および装置 |
US5742624A (en) * | 1992-08-24 | 1998-04-21 | Omron Corporation | Fault detecting apparatus and method |
JPH06134718A (ja) | 1992-10-30 | 1994-05-17 | Nikko Kasei Kk | 積層セラミックス板およびその製造方法 |
JPH06314203A (ja) * | 1993-04-28 | 1994-11-08 | Fujitsu Ltd | コンパイラの最適化方法および装置 |
US5471597A (en) * | 1993-12-23 | 1995-11-28 | Unisys Corporation | System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables |
US6006033A (en) * | 1994-08-15 | 1999-12-21 | International Business Machines Corporation | Method and system for reordering the instructions of a computer program to optimize its execution |
US5675645A (en) * | 1995-04-18 | 1997-10-07 | Ricoh Company, Ltd. | Method and apparatus for securing executable programs against copying |
JP4245811B2 (ja) * | 1998-07-30 | 2009-04-02 | 三菱電機株式会社 | ラダー回路編集装置 |
JP2001067122A (ja) * | 1999-08-26 | 2001-03-16 | Matsushita Electric Works Ltd | ラダープログラム診断方法及び設備診断装置 |
JP2003084813A (ja) | 2001-09-14 | 2003-03-19 | Fuji Electric Co Ltd | ラダー回路の編集装置、および、その編集方法 |
JP3892405B2 (ja) | 2003-03-10 | 2007-03-14 | 株式会社名機製作所 | 射出成形機のシーケンス回路表示方法 |
JP2006092441A (ja) * | 2004-09-27 | 2006-04-06 | Fanuc Ltd | プログラマブルコントローラ |
JP2008204254A (ja) | 2007-02-21 | 2008-09-04 | Koyo Electronics Ind Co Ltd | ラダープログラムの回路自動抽出方法 |
JP4964036B2 (ja) * | 2007-06-27 | 2012-06-27 | 株式会社デジタル | エディタ装置およびエディタプログラム |
JP2009122936A (ja) | 2007-11-14 | 2009-06-04 | Fanuc Ltd | 異常調査用表示機能を備えたシーケンスプログラムモニタ装置およびプログラマブルコントローラ |
TWI489232B (zh) * | 2012-11-14 | 2015-06-21 | Inst Information Industry | 遠端監控系統及方法及其記錄媒體 |
CN104035382A (zh) * | 2013-03-05 | 2014-09-10 | 李孝虎 | 一种变频器监控*** |
-
2015
- 2015-03-13 JP JP2015050570A patent/JP6122054B2/ja active Active
-
2016
- 2016-03-07 DE DE102016104029.0A patent/DE102016104029B4/de active Active
- 2016-03-11 US US15/067,183 patent/US9766994B2/en active Active
- 2016-03-14 CN CN201610142960.0A patent/CN105974875B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9766994B2 (en) | 2017-09-19 |
CN105974875B (zh) | 2018-08-28 |
JP2016170662A (ja) | 2016-09-23 |
DE102016104029B4 (de) | 2019-02-07 |
US20160267001A1 (en) | 2016-09-15 |
DE102016104029A1 (de) | 2016-09-15 |
CN105974875A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6122054B2 (ja) | ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 | |
KR101543196B1 (ko) | 시퀀스 프로그램 작성 장치 | |
JP6212074B2 (ja) | 最寄りのネットコメントを表示可能なラダープログラム編集装置 | |
US6889114B2 (en) | Automatic programming and simulation apparatus | |
KR100860963B1 (ko) | 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법 | |
JPWO2014080490A1 (ja) | プログラム作成支援装置、方法および記録媒体 | |
KR101324370B1 (ko) | 시퀀스 프로그램의 디버그 장치, 디버그 방법, 및 프로그램 | |
US20110040716A1 (en) | Information terminal device and function use method | |
JP2007316783A (ja) | 表示画面制御装置および表示画面制御方法 | |
KR101711772B1 (ko) | 시스템 구축 지원 장치 | |
JP6092686B2 (ja) | 運用作業フロー作成支援方法および運用作業フロー作成支援システム | |
JP2019153042A (ja) | 数値制御装置 | |
CN107316639A (zh) | 一种基于语音识别的信息输入方法及装置,电子设备 | |
US8755612B2 (en) | Identifying truncated character strings | |
JP2010122959A (ja) | テスト支援システム、方法、及び、プログラム | |
JP2009104252A (ja) | デバッグ支援装置およびデバッグ支援方法 | |
JP2005352612A (ja) | プログラム開発支援装置および変数名リスト表示方法 | |
JP2003084813A (ja) | ラダー回路の編集装置、および、その編集方法 | |
JP2009245456A (ja) | プログラム開発支援装置および処理方法 | |
JP5914369B2 (ja) | ユーザインタフェース評価装置 | |
JP2006146955A (ja) | 開発支援装置 | |
JP5325931B2 (ja) | 影響分析方法および影響分析プログラム | |
KR101886986B1 (ko) | 엔지니어링 툴 프로그램 및 엔지니어링 툴 | |
CN111158301B (zh) | 追踪装置以及可编程控制器 | |
JP6025955B1 (ja) | プログラム解析装置及びプログラム解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170223 |
|
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: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6122054 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |