JP2020077150A - トレース装置及びプログラマブルコントローラ - Google Patents

トレース装置及びプログラマブルコントローラ Download PDF

Info

Publication number
JP2020077150A
JP2020077150A JP2018209532A JP2018209532A JP2020077150A JP 2020077150 A JP2020077150 A JP 2020077150A JP 2018209532 A JP2018209532 A JP 2018209532A JP 2018209532 A JP2018209532 A JP 2018209532A JP 2020077150 A JP2020077150 A JP 2020077150A
Authority
JP
Japan
Prior art keywords
trace
ladder
signal
net
unit
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.)
Granted
Application number
JP2018209532A
Other languages
English (en)
Other versions
JP6795568B2 (ja
Inventor
坤 劉
Kun Liu
坤 劉
充 望月
Mitsuru Mochizuki
充 望月
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2018209532A priority Critical patent/JP6795568B2/ja
Priority to US16/587,985 priority patent/US11215963B2/en
Priority to DE102019215928.1A priority patent/DE102019215928A1/de
Priority to CN201911071318.8A priority patent/CN111158301B/zh
Publication of JP2020077150A publication Critical patent/JP2020077150A/ja
Application granted granted Critical
Publication of JP6795568B2 publication Critical patent/JP6795568B2/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/058Safety, monitoring
    • 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/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13142Debugging, tracing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface

Abstract

【課題】補正したトレース結果をラダー図で見せるトレース装置を提供する。【解決手段】ラダープログラムに基づいて信号の入出力を行うPLC400に通信可能に接続されるトレース装置100は、ラダープログラムにおけるネットの並び順を解析し、ネットが実行される順番を示す実行順信号テーブル1241を作成するラダープログラム解析部111と、トレース対象とするネットを1個以上設定するトレース対象設定部112と、トレースデータを、所定のサンプリング周期で取得するトレースデータ取得部113と、実行順信号テーブル1241に基づいて、トレース対象のラダー回路に含まれる接点の信号の状態(参照信号)の補正要否を判定する補正判定部114と、補正判定部114の判定結果に基づいて、補正したトレース結果をラダー図を出力する出力部115と、を備える。【選択図】図1

Description

本発明は、シーケンス制御プログラムのトレース装置及びプログラマブルコントローラに関する。
機械の動作には、指令に対する各動作の完了を待ってから、次の動作を行う工程が多くあり、そのような工程を実現するための一手法として、PLC(Programmable Logic Controller)(以下、「プログラマブルコントローラ」ともいう)における信号の状態により、動作の実行中や動作の完了等の判断を行い、次の動作へと移行する待ち合わせ処理が多くの場合において用いられている。
プログラマブルコントローラは、シーケンスプログラムに従って制御対象の制御を行っている。シーケンスプログラムは、例えば図2に例示されるようにラダー図の形式(「ラダープログラム」という)で表され、接点で信号状態の待ち合わせを示し、コイルにより負荷の駆動や信号の出力等を示すことができ、また、タイマ回路等による時間待ち処理をすることも可能である。
通常、ラダープログラム(シーケンスプログラム)によって期待通りの制御ができているかを、デバッグ装置によりデバッグすることが行われている(例えば、特許文献1、2、3参照)。また、プログラマブルコントローラの運転において、ユーザが予期していない現象が発生した場合に、トレース装置又はプログラマブルコントローラにより提供されるトレース機能を使用することで、原因の信号を調査する方法が知られている。
トレース機能には、トレースサンプリング周期があり、例えば、特許文献3には、トレース対象とする信号のトレースサンプリング周期に対応する任意の時刻にカーソルを合わせると、そのサンプリング周期(時刻)に対応するラダー図を表示する機能が提供されている。
特許第5362148号公報 特開平8−305418号公報 特許第5649748号
通常、トレースサンプリング周期はラダープログラムの実行周期と同期している。このため、トレース対象となる信号は、当該信号の書き込まれたネットを含むラダープログラムの実行直後(実行周期時)の信号がトレースサンプリング周期に対応する時刻の信号として表示される。例えば、トレース対象のコイルの信号(以下「更新信号」ともいう)が存在するネット中で参照される接点の信号の状態(以下「参照信号」ともいう)が、当該ネットが実行された後に別のネットにおいて書込まれた場合、当該トレースサンプリング周期(ラダープログラム実行周期)に対応する時刻におけるトレースサンプリング結果を見ると、トレース対象のネット内の接点(参照信号)とコイル(更新信号)の関係に矛盾が生じる場合がある。
矛盾が生じる様子を具体的に図4A〜図4Dを参照して説明する。図4Aには、ラダープログラム及び実行順信号テーブルを例示する。図4Bには、トレースサンプリング周期の1周期目と2周期目のトレース結果を示す。図4Cには、1周期目及び2周期目における各信号の状態を示すトレースグラフを示す。図4Dには、2周期目のネット番号100のラダー図を示す。図4B及び図4Cに示すように、2周期目にネット番号100のネットが実行されると、参照信号であるA及びBがいずれもオンであることから、トレース対象となる信号Cはオンとなる。ところが、ネット番号100のネットが実行された後にネット番号151のネットが実行されるため、信号Bがオフとなる。このため、2周期目のトレースサンプリング周期(ラダープログラムの実行周期)に対応する時刻におけるネット番号100のトレース結果をラダー図で表示すると、図4Dに例示するように、接点Bの信号の状態(参照信号)とコイルCの信号の状態(更新信号)との関係に矛盾が生じる。
このように、複雑なラダープログラムにおいて、例えば、トレース対象のコイルが存在するネット中の参照される接点の信号の状態が、当該ネットが実行された後に別のネットにおいて更新された(書込まれた)場合、トレースサンプリング周期(ラダープログラムの実行周期)時の信号の状態に基づいて当該ネットの信号の状態をラダー図に表示すると、例示したラダープログラムのように矛盾を生じる可能性がある。
そうすると、ユーザは、信号の変化とラダーの実行順序の関係を把握することが必要となる。しかしながら、複雑なラダープログラムにおいて、信号の変化とラダーの実行順序の関係を把握することはユーザにとって困難である。
この点、特許文献3には、PLCのデバッグ支援プログラムの表示画面において、表示画面100中の上半分に、ユーザプログラムを表示する回路モニタ表示領域110が設けられ、下半分にトレンドグラフを表示するトレンドグラフ表示領域120が設けられ、下半分のトレンドグラフ上のカーソルの移動と連動して、回路モニタ表示領域110で回路モニタ表示上のデバイスの値を表示することが開示されている。
しかしながら、特許文献3には、前述した課題とその対策については、記載も示唆もなく、複雑なラダープログラムにおいて、トレースサンプリング周期に対応するトレース対象のネットのラダー図を表示した場合、例示したラダープログラムと同様に矛盾が生じる可能性がある。
本発明は、トレース対象の構成要素(例えばネット又はコイル)に係るラダー回路の実行直後の信号状態を表示することを可能としたトレース装置又はトレース機能を備えたプログラマブルコントローラを提供することを目的とする。
(1)本発明は、複数のラダー回路を含むラダープログラムを実行するプログラマブルコントローラ(例えば後述の「PLC400」)に通信可能に接続されるトレース装置(例えば後述の「トレース装置100」)であって、前記ラダープログラムの実行時におけるトレース対象の構成要素(例えば後述の「ネット」又は「コイル」)を1つ以上設定するトレース対象設定部(例えば後述の「トレース対象設定部112」)と、前記ラダー回路が実行される順序を解析するラダープログラム解析部(例えば後述の「ラダープログラム解析部111」)と、指定された前記ラダープログラムの実行周期における前記トレース対象の構成要素に係るラダー回路のラダー図を出力する出力部(例えば後述の「出力部115」)と、前記トレース対象の構成要素に係るラダー回路の実行される実行順序と、前記ラダー回路に含まれる接点の信号の状態が更新される実行順序と、に基づいて、前記ラダー回路に含まれる接点の信号の状態の補正要否を判定する補正判定部(例えば後述の「補正判定部114」)と、を備え、前記出力部は、前記補正判定部により、前記ラダー回路に含まれる接点の信号の状態の補正が必要と判定された場合、前記ラダー回路に含まれる接点の信号の状態を1つ前の実行周期のトレース結果に基づいて補正した前記ラダー図を出力する、トレース装置に関する。
(2) (1)に記載のトレース装置において、前記出力部は、さらに、前記ラダープログラムの実行周期における、前記トレース対象の構成要素に係るラダー回路に含まれるすべての信号の状態を含むトレース結果を時系列で出力するようにしてもよい。
(3) (1)または(2)に記載のトレース装置において、前記出力部は表示器(例えば後述の「表示部140」)に出力するようにしてもよい。
(4) (3)に記載のトレース装置において、前記出力部は、前記ラダープログラムの指定された実行周期における前記トレース対象の構成要素に係るラダー回路のラダー図を前記表示器に出力するようにしてもよい。
(5) (1)から(4)までのいずれかに記載のトレース装置は、前記プログラマブルコントローラに含まれるようにしてもよい。
本発明によれば、トレース対象の構成要素に係るラダー回路の実行直後の信号状態を表示することを可能としたトレース装置又はトレース機能を備えたプログラマブルコントローラを提供できる。
本実施形態の基本的構成の概略図及びトレース装置100の機能ブロック図である。 ラダープログラムの一例を示す図である。 実行順信号テーブルの一例を示す図である。 トレース対象ネット中の全ての接点について、各接点の信号の状態が書き込まれたネットの位置情報(ネット番号)と実行順序番号の一例を示す図である。 トレースサンプリング周期(ラダープログラム実行周期)が1周期目と2周期目のトレース結果を示す一例を示す図である。 トレースグラフの一例を示す図である。 トレース対象ネットの補正前のラダー図の一例を示す図である。 補正後のトレースグラフの一例を示す図である。 トレース対象ネットの補正後のラダー図の一例を示す図である。 本実施形態のトレース装置によるトレース処理を示すフローチャートである。 本実施形態のトレース装置によるトレース処理を示すフローチャートである。 ネットの位置情報(ネット番号)と実行順序番号の一例を示す図である。 補正の必要のないラダー図及びトレースグラフの表示例を示す図である。 本実施形態のトレース装置による補正されたラダー図及びトレースグラフの表示例を示す図である。
(第1実施形態)
まず、本発明の1つの実施形態の概略を説明する。本実施形態は、ラダープログラムに基づいて信号の入出力を行うPLCに通信可能に接続されたトレース装置100であって、トレース対象の構成要素(ネット)に係るラダー回路に含まれる接点の信号の状態(参照される信号)が当該ラダー回路の実行後に、後続の別のラダー回路により書き込まれた場合であっても、当該トレースサンプリング周期における当該ラダー回路のラダー図を表示するとき、当該接点の信号の状態(参照される信号)を当該サンプリング周期の1つ前の周期のトレース結果で補正することで、当該ラダー回路の実行直後の信号状態を表示することを可能としたトレース装置100に関する。以下の説明では、構成要素としてネットを例示する。特に断らない限り、本実施形態においては、構成要素はネットを指すものとする。
次に、本実施形態におけるトレースシステム1000及びトレース装置100の構成について、図1を参照して説明をする。
図1は、本実施形態の基本的構成の概略図及びトレース装置100の機能ブロック図である。
本実施形態の基本的構成として、図1に示すトレースシステム1000は、トレース装置100と、PLC(プログラマブルコントローラ)400とを備えている。
トレース装置100と、PLC400とは、例えば、接続インタフェースを介して、通信可能に接続されている。なお、トレース装置100と、PLC400とは、直接又はネットワークを介して接続されてもよい。なお、PLC400は、例えば数値制御装置(図示せず)に含まれてもよい。
[PLC400]
PLC400は、ラダープログラム等のシーケンス制御プログラムを実行して、信号の入出力を行う装置である。PLC400は、ラダープログラムにしたがって各種制御や演算処理、通信処理を行うためのCPUやメモリ、通信部等を備えるが、これらの機能は、当業者にとって公知であり、説明及び図示を省略する。
[トレース装置100]
トレース装置100は、PLC400で実行されるラダープログラムに含まれる構成要素(ネット)のうち、トレース対象とする構成要素が1つ以上設定されると、ラダープログラムの実行周期毎にトレース対象として設定された構成要素に係るラダー回路のラダー図を出力する。
図1に示すように、トレース装置100は、制御部110と、記憶部120と、入力部130と、表示部140と、通信インタフェース部150と、を備える。
制御部110は、例えばCPU(中央処理装置)であって、記憶部120に記憶されたトレース装置100を制御する各種のプログラムを実行することにより、トレース装置100を統括制御する。制御部110の機能の詳細については、後述する。
記憶部120は、制御部110により実行されるプログラム等を記憶する記憶領域である。記憶部120は、プログラム記憶部121と、構成要素記憶部122と、トレースデータ記憶部123と、テーブル記憶部124と、を備える。
プログラム記憶部121は、例えば、上述した制御部110の各種機能を実行するプログラムを記憶する記憶領域である。
構成要素記憶部122は、入力部130を介してトレース対象として設定された構成要素を記憶する記憶領域である。
トレースデータ記憶部123は、取得したトレースデータを記憶する記憶領域である。
テーブル記憶部124は、ラダープログラムが実行された場合に、どのような順番でラダー回路が実行されていくかを示す実行順信号テーブル1241を記憶する記憶領域である。
入力部130は、例えば、キーボード、マウス、スイッチボタン等の各種ボタン等の入力装置である。
表示部140は表示装置であり、例えば、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等により構成される。
なお、入力部130と表示部140とが一体になったタッチパネルや、表示器を備えてもよい。
通信インタフェース部150は、例えば、RS232C用コネクタ等の所定のコネクタによって構成され、PLC400との間で直接接続するための通信制御デバイスである。
制御部110は、例えばCPU(中央処理装置)であって、記憶部120に記憶されたトレース装置100を制御する各種のプログラムを実行することにより、トレース装置100に所定の機能部(以下、「トレース制御機能部」と総称する)として機能させる。
制御部110(トレース制御機能部)は、任意のトレースサンプリング周期において、トレース対象とする信号の存在するネットのラダー図を表示するとき、当該ネットの実行直後の信号状態を表示することを可能とする。
このため、制御部110は、ラダープログラム解析部111と、トレース対象設定部112と、トレースデータ取得部113と、補正判定部114と、出力部115と、を備える。
[ラダープログラム解析部111]
ラダープログラム解析部111は、ラダープログラムにおけるラダー回路の並び順を解析し、ラダープログラムが実行された場合に、どのような順番(実行順)でラダー回路が実行されていくかを示す実行順信号テーブル1241を作成する。実行順信号テーブル1241は、テーブル記憶部124に記憶される。
図2にラダープログラムの一例を示す。図2に示すように、ラダープログラムは、一般に複数のプログラム(メインプログラムと、メインプログラム又はサブプログラムから呼び出される1以上のサブプログラム)を含む。各プログラムは、ラダー回路からなるネットを1つ以上含み、各ネットにはネット番号が付され、ネット番号の昇順に順次実行される。
ラダープログラム解析部111は、ラダープログラムを先頭から終端までラダー回路の実行順序にしたがって、各ネットを順次解析する。ラダープログラム解析部111は、各ネットに実行順序番号を付与して、当該ネットの位置情報、参照信号、及び更新信号を実行順信号テーブル1241に記録する。ここで、位置情報とは、そのネットが属するプログラム名称及びそのネットが属するプログラムにおけるネット位置(例えばネット番号)を含む情報である。なお、ラダープログラムが1つのプログラムで構成されている場合、プログラム名を含まなくてもよい。また、参照信号とは、前述したように、そのネットで参照される信号の名称、更新信号とは、そのネットで更新される信号の名称を意味する。
[実行順信号テーブル1241]
図3に、ラダープログラム解析部111により、図2に例示したラダープログラムを解析して作成される実行順信号テーブル1241の一例を示す。
図3を参照すると、例えば実行順序番号3において、信号Cを参照して信号Aが更新されている。その後、実行順序番号7において、信号Cが更新されていることがわかる。そうすると、このラダープログラムの実行周期に対応するトレースサンプリング周期で、実行順3に対応するネットのラダー図をそのまま表示した場合、信号Cと信号Aとが矛盾する可能性があることがわかる。
後述の補正判定部114は、実行順信号テーブル1241に基づいて、トレース対象の構成要素(ネット又はコイル)に係るラダー回路の実行される実行順序と、当該ラダー回路に含まれる参照される接点の信号の状態(すなわち参照信号)が更新される実行順序と、を参照することで、当該ラダー回路に含まれる接点の信号の状態(参照信号)の補正要否を判定する。補正判定部114の詳細は後述する。
[トレース対象設定部112]
トレース対象設定部112は、PLC400で実行されるラダープログラムに含まれる構成要素のうち、トレース対象とする構成要素が、例えば、入力部130を介してユーザにより、1個以上指定される。ユーザは、構成要素として、1個以上指定してもよい。なお、構成要素としてのネットを指定する場合、当該ネットの位置情報を指定する。
トレース対象設定部112は、実行順信号テーブル1241を参照して、トレース対象として指定された構成要素(ネット)に係るラダー回路中の全ての参照される接点(参照信号)について、当該参照信号が書き込まれる(更新される)ネットについてもトレース対象とする。トレース対象設定部112は、以上のように設定された構成要素を、構成要素記憶部122に記憶させる。
なお、トレース対象設定部112は、トレース対象とする構成要素(ネット)を指定する替わりに、トレース対象とする構成要素(ネット)に係るラダー回路に含まれるコイル(すなわち更新される更新信号)を指定してもよい。その場合、トレース対象設定部112は、当該コイルの存在する構成要素(ネット)の位置情報を、例えば実行順信号テーブル1241を参照して特定してもよい。
[トレースデータ取得部113]
トレースデータ取得部113は、トレースサンプリング周期毎にトレース対象の構成要素(ネット)に係るラダー回路に含まれる接点(参照信号)及びコイル(更新信号)の信号の状態を示すトレースデータを、所定のサンプリング周期で取得する。トレースデータ取得部113は、例えば、PLC400からトレースデータを取得する。トレースデータ取得部113は、トレース対象として設定された各構成要素に含まれるすべての信号の状態(ON/OFF)をトレースサンプリング周期毎に取得する。トレースデータ取得部113は、トレースサンプリング周期毎に取得した各構成要素に含まれるすべての信号の状態をトレースサンプリング周期毎に、トレースデータ記憶部123に記憶する。
図2及び図3を参照すると、例えば、ユーザがプログラムP1のネット1番をトレース対象と指定した場合、トレース対象設定部112は、少なくともサブプログラムP1のネット1番で参照される信号Cを更新するサブプログラムP2のネット1番についてもトレースする。
また、図4Aを参照すると、例えば、ユーザがネットの位置情報(例えばネット100番)をトレース対象と指定した場合、トレース対象設定部112は、少なくともネット100番で参照される信号Aを更新するネット10番及びネット100番で参照される信号Bを更新するネット番号151についてもトレースする。
[補正判定部114]
補正判定部114は、トレース対象の構成要素(ネット)に係るラダー回路のラダー図を出力する場合に、トレース対象の構成要素(ネット)に係るラダー回路の実行される実行順序と、当該ラダー回路に含まれる参照される接点の信号(参照信号)が更新される実行順序と、に基づいて、当該ラダー回路に含まれる参照される接点の信号(参照信号)の補正要否を判定する。
より具体的には、補正判定部114は、トレース対象の構成要素(ネット)に係るラダー回路に含まれるすべての参照される接点の信号(参照信号)について、各接点(参照信号)が更新される(書き込まれる)ラダー回路の実行順序番号を実行順信号テーブル1241を参照して特定する。
図4Aを参照しながら、説明する。前述したように、図4Aは、トレース対象ネット100中の全ての参照される接点の信号(A,B)について、各接点の信号が書き込まれたネットの位置情報(ネット番号)と実行順序番号を抽出する一例を示す図である。
図4Aに示すように、ネット番号100をトレース対象ネットとした場合、接点A及び接点Bが参照信号である。接点Aの信号は、ネット番号10のネットにより更新され、接点Bの信号はネット番号151のネットにより更新される。
補正判定部114は、トレース対象の構成要素(ネット)に係るラダー回路の実行順序番号(N)と、参照される各接点の信号(参照信号)が更新される(書き込まれる)ラダー回路の実行順序番号(N:(1≦i≦M))と、を比較する。ここで、iは、参照される各接点(参照信号)が更新される(書き込まれる)ラダー回路を識別するためのインデックス、Mは、参照される各接点の信号(参照信号)が更新される(書き込まれる)ラダー回路の個数とする。
補正判定部114は、すべてのi(1≦i≦M)に対して、式1を満たす場合、補正不要と判定する。
> N (式1)
すなわち、補正判定部114は、トレース対象の構成要素(ネット)に係るラダー回路が実行される前に、参照されるすべての接点の信号(参照信号)が更新されている場合、信号の関係に矛盾が生じないことから、補正不要と判定する。
これに対して、補正判定部114は、式2を満たすiが存在する場合、式2を満たす全てのiに対応するラダー回路により更新される(書き込まれる)接点の信号(参照信号)について、信号の関係に矛盾が生じる可能性があることから補正が必要と判定する。
< N (式2)
すなわち、補正判定部114は、トレース対象の構成要素(ネット)に係るラダー回路が実行された後に、更新される(書き込まれる)当該ラダー回路に含まれる接点の信号(すなわち参照される信号)については、補正が必要と判定する。
また、別の例として、図2及び図3を参照すると、例えば、ユーザがプログラムP1のネット1番をトレース対象と指定した場合、参照される信号Cは、信号Aが更新された後に更新されていることから、補正が必要と判定する。また、メインプログラムのネット3番をトレース対象と指定した場合、参照される信号Dは、信号Yが更新される前に更新されていることから、補正が不要と判定する。
図4Bを参照しながら、補正の要否について具体例で説明する。前述したように、図4Bは、トレースサンプリング周期(ラダープログラム実行周期)の1周期目及び2周期目のトレース結果を示す図である。図4Bに示すラダープログラム及びトレース対象のネットは、図4Aで示したものと同じである。
図4Aで説明したように、接点Aの信号はトレース対象のネット(番号100)が実行される前に、ネット番号10のネットにより更新されることから、接点Aの信号は補正が不要と判定される。これに対して、接点Bの信号はトレース対象のネット(番号100)が実行された後に、ネット番号151のネットにより更新されることから、接点Bの信号は補正が必要と判定される。
[出力部115]
出力部115は、トレースサンプリング周期(ラダープログラム実行周期)における、トレース対象の構成要素(ネット)に係るラダー回路に含まれるすべての信号の状態を含むトレース結果を時系列で例えば表示部140に出力するようにしてもよい。以下、トレースサンプリング周期(ラダープログラム実行周期)の時系列で出力される表をトレースグラフという。
より具体的には、トレースグラフには、トレース対象の構成要素(ネット)に係るラダー回路に存在する参照される各接点の信号(参照信号)が更新される(書き込まれる)ラダー回路を含める。
図4Cは、図4Aに示すラダープログラムのネット番号100のネットをトレース対象としたときに、トレースサンプリング周期(ラダープログラム実行周期)の時系列(1周期目及び2周期目)で出力されたトレースグラフを示す一例である。
図4Cに記載のトレースグラフを参照すると、例えば、ユーザがネット100番をトレース対象に指定した場合、トレースグラフには、信号A、B、Cに加えて、信号Aを更新するネット10番に存在する信号X、信号Bを更新するネット番号151のネットに存在する信号Yを含める。
出力部115は、指定されたトレースサンプリング周期(ラダープログラム実行周期)におけるトレース対象のネットのラダー図を出力する。
ここで、トレースサンプリング周期の指定は、例えば、表示部140がタッチパネルの場合、表示部140に出力されたトレースグラフ上の周期にカーソルを合わせることで、指定するようにしてもよい。また、入力部130を介してユーザにより周期番号を入力させるようにしてもよい。
出力部115は、ラダー図の出力に際して、補正判定部114により補正が必要と判定された、トレース対象の構成要素(ネット)に係るラダー回路に含まれる参照される接点の信号(参照信号)については、当該接点の信号(参照信号)を1つ前の実行周期のトレース結果に基づいて補正したラダー図を出力する。
図4Dに補正前のラダー図を、図4Fに補正後のラダー図を示す。出力部115は、補正判定部114により、補正が必要と判定された場合、図4Fに示すように、信号Bの状態を1つ前の実行周期のトレース結果に基づいて補正したラダー図を出力する。
なお、以上の説明では、出力部115の出力するラダー図が1個の場合を例示したが、これに限られない。トレース対象の構成要素(ネット)が複数個指定された場合、各構成要素(ネット)に係るラダー回路のラダー図を出力する。
また、出力部115は、表示部140に表示されたラダー図のうち、1つのラダー図が指定されると、指定されたラダー図のネットが実行された直後のトレースグラフを出力するようにしてもよい。図4Eにラダープログラムの実行周期(2周期目)で、ネット100が実行された直後の補正されたトレースグラフを表示する例を示す。
出力部115は、上記ラダー図及びトレースグラフを任意の装置に出力することができる。例えば、出力部115は、上記ラダー図及びトレースグラフをファイルに出力してもよい。また、出力部115は、上記ラダー図及びトレースグラフを例えば通信可能に接続される、スマートフォン、タブレット端末、PC等の端末(図示せず)に出力するようにしてもよい。これは、当業者にとって周知のWeb技術によって実施してもよい。
以上、本実施形態のトレースシステム1000の各機能部の実施形態をトレース装置100及びPLC400の構成に基づいて説明した。
次に、図5A及び図5Bのフローチャートを参照して、本実施形態の動作について説明する。図5A及び図5Bは、トレース装置100のラダープログラム解析部111、トレース対象設定部112、トレースデータ取得部113、補正判定部114、及び出力部115により行われる、指定されたトレースサンプリング周期において、指定されたネットの実行直後のラダー図を表示する動作を示すフローチャートである。説明を簡単にするために、トレース対象のネットを1個とするが、複数個の場合、例えば、ステップS13〜ステップS21を各ネットについて実行すればよい。なお、図5A及び図5Bで示すフローチャートは一例であって、これに限られない。
図5Aを参照すると、ステップS10において、トレース装置100(ラダープログラム解析部111)は、ラダープログラムを解析して、実行順信号テーブル1241を作成し、テーブル記憶部124に記憶する。
ステップS11において、トレース装置100(トレース対象設定部112)は、トレース対象とするネットの位置情報を、例えば入力部130を介して取得する。
ステップS12において、トレース装置100(トレースデータ取得部113)は、PLCにラダープログラムを実行させることで、トレースサンプリング周期毎に、トレースデータを取得し、トレースデータ記憶部123に記憶する。
ステップS13において、トレース装置100(補正判定部114)は、実行順信号テーブル1241を参照して、トレース対象のネットの実行順序番号Lを取得する。
ステップS14において、トレース装置100(補正判定部114)は、実行順信号テーブル1241を参照して、トレース対象のネットに含まれる参照される全ての接点iの信号(参照信号)について、当該参照信号が書き込まれる(更新される)ネットの実行順序番号Li(1≦i≦M)を抽出する。
ステップS15において、トレース装置100(出力部115)は、ユーザにより選択される、補正対象とするトレース結果の第N周期を、例えば入力部130を介して取得する。
ステップS16において、トレース装置100(補正判定部114)は、i=1とする。
図5Bを参照すると、ステップS17において、トレース装置100(補正判定部114)は、Li>Lか否かを判定する。Li>Lの場合(Yesの場合)、ステップS18に移る。Li<Lの場合(Noの場合)、ステップS19に移る。
ステップS18において、トレース装置100(補正判定部114)は、第N周期の実行順序Liのネットのコイル信号を(N−1)周期のトレース結果で補正して、記憶部120に記憶する。
ステップS19において、トレース装置100(補正判定部114)は、i=i+1とする。
ステップS20において、トレース装置100(補正判定部114)は、i>Mか否かを判定する。i>Mの場合(Yesの場合)、ステップS21に移る。i≦Mの場合(Noの場合)、ステップS17に移る。
ステップS21において、トレース装置100(出力部115)は、補正されたトレース結果に基づいてトレースサンプリング周期Nにおける当該ネットのラダー図を出力する。
次に、トレース結果をラダー図及びトレースグラフで見せる場合の具体例を説明する。
(具体例1)ラダー図を補正する必要がない場合
前述した図4A〜図4Fでは、トレース対象の構成要素(ネット)に係るラダー回路の実行順序番号にしたがって、補正の必要な場合の具体例を説明したが、ここでは、補正の必要がない例について説明する。
図6Aは、ネットの位置情報(ネット番号)と実行順序番号の一例を示す図である。図6Bは、補正の必要のないネット番号200(エ)のラダー図及びトレースグラフを表示する一例を示す図である。図6A及び図6Bから明らかなように、ネット番号200(エ)の接点A及び接点Bともに、ネット番号200(エ)の実行以前に更新される。したがって、出力部115は、ネット番号200(エ)のラダー図及びトレースグラフを表示する際、ラダー図及びトレースグラフを補正する必要がない。
次に、選択したネットに係るラダー回路が実行された直後の(補正された)トレースグラフを表示する具体例を説明する。
(具体例2)
図6Cは、ネット番号100(イ)のラダー図及びトレースグラフを表示する一例を示す図である。図6A及び図6Bから明らかなように、接点Bの信号がネット番号151のネットで更新される。したがって、図6Cに示すように、出力部115は、ネット番号100(イ)のラダー図及びトレースグラフを表示する際、ラダー図及びトレースグラフを補正する。
以上により、トレース対象の構成要素(ネット又はコイル)に係るラダー回路に含まれるすべての信号について参照される接点の信号(参照信号)が当該ラダー回路の実行後に、後続の別のラダー回路により書き込まれた場合であっても、当該トレースサンプリング周期における当該ラダー回路のラダー図を表示するとき、当該接点の信号(参照信号)を当該サンプリング周期の1つ前の周期のトレース結果で補正することができる。
それにより、当該ラダー回路を実行した直後の信号状態を確認することができる。また、複雑なラダーを分析する必要がなくなり、デバッグの効率が向上する。
また、出力部115は、補正されたラダー図に加えて、当該ネットに係る補正されたトレースグラフを出力することができる。これにより、当該ラダー回路を実行した直後の関連する信号の状態を確認することができ、デバッグの効率が向上する。
また、出力部115は、ユーザにより指定された実行周期を含む時系列にしたがって、トレース結果を表示部140に出力することができる。これにより、当該ラダー回路の信号の状態を時系列で確認することができる。該当ネットの実行する直前及び直後の状態が確認でき、デバッグの効率が向上する。
本発明で使用する動作プログラムを初めとするプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、上述した実施形態は、本発明の好適な実施形態の1つではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
<変形例1>
前述した実施形態では、構成要素として、ネットを例示したが、構成要素としてコイルを含めてもよい。また、トレース対象設定部112は、トレース対象として、ラダープログラムに含まれるネットの位置情報を1個以上指定することで、トレース対象とするネットが設定されたが、これに限られない。前述したように、トレース対象設定部112は、トレース対象としてコイルを指定してもよい。その場合、トレース対象設定部112は、当該コイルの存在するネットの位置情報を、例えば実行順信号テーブル1241を参照して特定することができる。
<変形例2>
トレース装置100として、前述した実施形態では、パーソナルコンピュータ(PC)又はサーバ装置を例示したが、トレース装置100をPLCが備えるものであってもよい。また、トレース装置100を数値制御装置(図示せず)が備えるものであってもよい。また、PLC400を数値制御装置(図示せず)が備えるものであってもよい。
<変形例3>
上述した実施形態では、シーケンス制御プログラムとしてラダー方式のプログラムを例に説明したが、これに限定されない。例えば、SFC(Sequential Function Chart)方式等の他のシーケンス制御プログラムであってもよい。
100 トレース装置
110 制御部
111 ラダープログラム解析部
112 トレース対象設定部
113 トレースデータ取得部
114 補正判定部
115 出力部
120 記憶部
122 構成要素記憶部
123 トレースデータ記憶部
124 テーブル記憶部
1241 実行順信号テーブル
130 入力部
140 表示部
400 PLC
1000 トレースシステム

Claims (5)

  1. 複数のラダー回路を含むラダープログラムを実行するプログラマブルコントローラに通信可能に接続されるトレース装置であって、
    前記ラダープログラムの実行時におけるトレース対象の構成要素を1つ以上設定するトレース対象設定部と、
    前記ラダー回路が実行される順序を解析するラダープログラム解析部と、
    指定された前記ラダープログラムの実行周期における前記トレース対象の構成要素に係るラダー回路のラダー図を出力する出力部と、
    前記トレース対象の構成要素に係るラダー回路の実行される実行順序と、前記ラダー回路に含まれる接点の信号の状態が更新される実行順序と、に基づいて、前記ラダー回路に含まれる接点の信号の状態の補正要否を判定する補正判定部と、を備え、
    前記出力部は、前記補正判定部により、前記ラダー回路に含まれる接点の信号の状態の補正が必要と判定された場合、前記ラダー回路に含まれる接点の信号の状態を1つ前の実行周期のトレース結果に基づいて補正した前記ラダー図を出力する、トレース装置。
  2. 前記出力部は、さらに、前記ラダープログラムの実行周期における、前記トレース対象の構成要素に係るラダー回路に含まれるすべての信号の状態を含むトレース結果を時系列で出力する、請求項1に記載のトレース装置。
  3. 前記出力部は表示器に出力する、請求項1又は請求項2に記載のトレース装置。
  4. 前記出力部は、前記ラダープログラムの指定された実行周期における前記トレース対象の構成要素に係るラダー回路のラダー図を前記表示器に出力する、請求項3に記載のトレース装置。
  5. プログラマブルコントローラであって、請求項1から請求項4までのいずれかに記載のトレース装置を含むプログラマブルコントローラ。
JP2018209532A 2018-11-07 2018-11-07 トレース装置及びプログラマブルコントローラ Active JP6795568B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018209532A JP6795568B2 (ja) 2018-11-07 2018-11-07 トレース装置及びプログラマブルコントローラ
US16/587,985 US11215963B2 (en) 2018-11-07 2019-09-30 Tracing apparatus and programmable controller
DE102019215928.1A DE102019215928A1 (de) 2018-11-07 2019-10-16 Verfolgungsvorrichtung und programmierbare Steuereinheit
CN201911071318.8A CN111158301B (zh) 2018-11-07 2019-11-05 追踪装置以及可编程控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018209532A JP6795568B2 (ja) 2018-11-07 2018-11-07 トレース装置及びプログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2020077150A true JP2020077150A (ja) 2020-05-21
JP6795568B2 JP6795568B2 (ja) 2020-12-02

Family

ID=70460006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018209532A Active JP6795568B2 (ja) 2018-11-07 2018-11-07 トレース装置及びプログラマブルコントローラ

Country Status (4)

Country Link
US (1) US11215963B2 (ja)
JP (1) JP6795568B2 (ja)
CN (1) CN111158301B (ja)
DE (1) DE102019215928A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH05274009A (ja) * 1992-03-27 1993-10-22 Keyence Corp プログラマブルコントロール装置用モニタ装置
JPH11212606A (ja) * 1998-01-28 1999-08-06 Sharp Corp プログラム作成装置及びプログラムモニタ装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5481909A (en) 1977-12-13 1979-06-29 Oki Electric Ind Co Ltd Method of making endless ink ribbon
US5237652A (en) * 1990-11-30 1993-08-17 Mcmanus Kirby L Programming system for programmable logic controller
JPH08305418A (ja) 1995-04-28 1996-11-22 Omron Corp シーケンスプログラムのデバッグ装置およびデバッグ方法
KR100216031B1 (ko) * 1996-08-10 1999-08-16 전주범 룩업-테이블을 이용한 키스톤 보정회로
JP2002099312A (ja) * 2000-09-22 2002-04-05 Mitsubishi Electric Corp プログラマブルコントローラおよび制御プログラム開発支援装置
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
US20060155393A1 (en) * 2005-01-10 2006-07-13 Emerson Process Management Power & Water Solutions, Inc. Method and system for converting ladder logic to boolean logic in a process control system
JP5296419B2 (ja) * 2008-06-06 2013-09-25 光洋電子工業株式会社 ラダープログラムの変更方法等
JP2012243136A (ja) * 2011-05-20 2012-12-10 Hitachi Industrial Equipment Systems Co Ltd ラダープログラミングツール
CN104204975B (zh) * 2012-03-26 2016-10-12 三菱电机株式会社 定序程序调试辅助装置
US20140304551A1 (en) 2012-12-17 2014-10-09 Mitsubishi Electric Corporation Program analysis supporting device and control device
JP5649748B1 (ja) 2013-04-12 2015-01-07 三菱電機株式会社 プログラマブルコントローラの周辺装置およびデバッグ支援プログラム
JP5987853B2 (ja) * 2014-02-19 2016-09-07 株式会社安川電機 ラダープログラム作成装置、コンピュータプログラム及びコンピュータ可読情報記録媒体
WO2016155857A1 (en) * 2015-03-27 2016-10-06 Bühler AG Adaptive cross plant control and steering system, and corresponding method thereof
JP6309927B2 (ja) * 2015-09-16 2018-04-11 ファナック株式会社 Ncプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置
JP2017134493A (ja) * 2016-01-26 2017-08-03 ファナック株式会社 ラダープログラムの自己保持回路の自動トレース機能を備えたラダープログラム表示装置
JP6852519B2 (ja) * 2016-04-04 2021-03-31 オムロン株式会社 プログラム作成支援装置、プログラム作成支援装置の制御方法、およびプログラム作成支援装置の制御プログラム
JP6356726B2 (ja) * 2016-05-19 2018-07-11 ファナック株式会社 ラダープログラム解析装置
CN109690426B (zh) * 2016-09-14 2021-08-20 三菱电机株式会社 梯形图程序编辑辅助装置及梯形图程序的编辑方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH05274009A (ja) * 1992-03-27 1993-10-22 Keyence Corp プログラマブルコントロール装置用モニタ装置
JPH11212606A (ja) * 1998-01-28 1999-08-06 Sharp Corp プログラム作成装置及びプログラムモニタ装置

Also Published As

Publication number Publication date
CN111158301B (zh) 2023-12-01
DE102019215928A1 (de) 2020-05-07
US11215963B2 (en) 2022-01-04
US20200142379A1 (en) 2020-05-07
CN111158301A (zh) 2020-05-15
JP6795568B2 (ja) 2020-12-02

Similar Documents

Publication Publication Date Title
JP5859173B1 (ja) エンジニアリングツール、プログラム編集装置およびプログラム編集システム
JP6006399B2 (ja) プログラマブル表示器、そのプログラム
CN109844660B (zh) 调试辅助装置以及调试辅助方法
JP5987853B2 (ja) ラダープログラム作成装置、コンピュータプログラム及びコンピュータ可読情報記録媒体
US20060085783A1 (en) Multi-process display method in debugger system
EP3839671A1 (en) Program generating device, program generating method, and program
JP2017102807A (ja) テスト支援装置、テスト支援方法、及びプログラム
CN106970870B (zh) 网页测试平台、网页测试方法和网页测试系统
US9547479B2 (en) Method for adapting GUI-based instrument components in a visual programming language
JP2013077134A (ja) 状態表示・指示入力装置
JP6795568B2 (ja) トレース装置及びプログラマブルコントローラ
JP4941674B2 (ja) シミュレーション・システム
US20150032419A1 (en) Plc designing apparatus
WO2015140940A1 (ja) システム構築支援装置、方法、および記録媒体
US20060070038A1 (en) Programmable controller
CN111624933B (zh) 用于顺控程序的追踪的顺控程序处理装置
JP2013092950A (ja) プログラムのデバッグ方法、デバッグ装置、およびデバッグ支援gui
JP2009169628A (ja) 監視制御システムの構築装置、構築方法およびプログラム
CN111124393A (zh) 一种算法逻辑的编辑方法、平台、电子设备及存储介质
JP2019106107A (ja) プログラム、情報処理装置及び画面テストシステム
JP6773732B2 (ja) トレース装置
JP5746300B2 (ja) ユーザ操作自動化装置
JP6407481B1 (ja) プログラム作成装置
EP3937024A1 (en) Control system, information processing device, and information processing program
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200410

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200714

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200722

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: 20201013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201112

R150 Certificate of patent or registration of utility model

Ref document number: 6795568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150