JP6351906B1 - デバッグ装置 - Google Patents

デバッグ装置 Download PDF

Info

Publication number
JP6351906B1
JP6351906B1 JP2018505755A JP2018505755A JP6351906B1 JP 6351906 B1 JP6351906 B1 JP 6351906B1 JP 2018505755 A JP2018505755 A JP 2018505755A JP 2018505755 A JP2018505755 A JP 2018505755A JP 6351906 B1 JP6351906 B1 JP 6351906B1
Authority
JP
Japan
Prior art keywords
execution
executed
operation verification
instruction
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.)
Active
Application number
JP2018505755A
Other languages
English (en)
Other versions
JPWO2019003313A1 (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 JP6351906B1 publication Critical patent/JP6351906B1/ja
Publication of JPWO2019003313A1 publication Critical patent/JPWO2019003313A1/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

発明にかかるデバッグ装置(100)は、検証対象シーケンスプログラム(16)に含まれる命令を実行するプログラム実行部(12)と、プログラム実行部(12)で実行された命令と、実行された命令の実行内容と実行された命令の直前の命令の実行結果との関係を表す実行種別と、を判定する動作検証状況判定部(14)と、動作検証状況判定部(14)で判定された実行種別毎の命令の実行有無と、実行種別と、実行された命令を識別する識別情報とを対応付けて記憶する動作検証状況記憶部(15)と、プログラム実行部(12)で実行された命令と実行された命令の実行種別とを命令の実行有無に応じて視認可能な形式で表示する動作検証状況表示部(21)と、を備える。

Description

本発明は、シーケンスプログラムのデバッグに使用されるデバッグ装置に関する。
一般にプログラムの開発では、作成したプログラムが所望の動作をするか動作検証を行い、動作検証により不具合を発見した場合にはプログラムを修正して不具合を解消させるといったデバッグを実施する。
プログラムの動作検証の網羅率をカバレッジと呼び、動作検証およびデバッグを行ったプログラムは不具合がないと見なせることから、カバレッジはプログラムの品質指標として用いられている。カバレッジにはいくつかの種類があり、代表的なものとして、プログラムを構成する全ての処理のうち、1回以上実行した処理の割合を示すC0カバレッジがある。また、カバレッジはその意味から、プログラム開発における動作検証の進捗を示す指標としても用いることができる。
工場などの生産現場における作業の自動化を実現するFA(Factory Automation)分野ではシーケンスプログラムが使用される。シーケンスプログラムは、ある処理を実施する最小単位である命令を複数組み合わせて構成される。命令は、実行条件と呼ばれる属性を持ち、実行条件と、直前の命令に対し何らかの計算を実施する論理式(以下、前条件と呼ぶ)の結果とにより、命令の実行要否が判断される。なお、前条件が成立する場合を真、成立しない場合を偽と称する。
実行条件には複数の種類があり、前条件が真の場合にのみ命令が実行され、前条件が偽の場合は実行されないON時実行、前条件が偽から真に変化した場合のみ命令が実行される立上り実行、前条件の真偽に関係なく常に命令が実行される常時実行などがある。常時実行の命令はON実行とOFF実行という二種類の実行種別を持ち、ON実行とOFF実行とは実行結果が異なる。すなわち、常時実行の命令は前条件が真の場合と偽の場合とで実行する内容が異なる。ON実行は前条件が真の場合に実行され、OFF実行は前条件が偽の場合に実行される。
上述したように、シーケンスプログラムを構成する命令には、常時実行といった、C言語等の一般的に使用されるプログラミング言語にはない実行条件が存在するため、カバレッジを得るために必要な動作検証も、一般的に使用されるプログラミング言語とは異なる。例えばC0カバレッジを100%にする場合を考える。C0カバレッジとは、全ての実行可能な処理のうち、実行された処理の割合を示す指標である。一般的なプログラムでは、処理が実行される条件が偽の場合は処理がスキップされるため、動作検証の対象の命令のうち、処理が実行される条件が真の場合に実行された処理のみ評価すれば、C0カバレッジは100%となる。一方、シーケンスプログラムにおいては、命令それぞれが持つ実行条件を考慮する必要がある。動作検証の対象の命令に常時実行の命令が含まれている場合、C0カバレッジを100%とするためには、常時実行のON実行およびOFF実行の両方を検証する必要がある。
特許文献1には、シーケンス制御回路図の定義ファイルとレジスタの変化状態とを照合し、照合結果からカバレッジである動作網羅率を算出するとともに動作網羅率を表示するシーケンス制御システムが開示されている。
特開2000−293208号公報
一般的なプログラミング言語のカバレッジを視覚的に表現する技術および定量的に百分率で表す技術は、前条件が真の場合に実行された命令に対してのみ実現される。一方、シーケンスプログラムでは同一の命令であっても前条件により実行の種別が異なる場合があり、前条件が真の場合の検証のみではカバレッジを正確に計測することはできない。このため、シーケンスプログラムではカバレッジの視覚的な表現が困難であり、また動作検証の進捗管理および確認が困難である、という問題があった。
特許文献1には、シーケンス制御回路図および試験パターンのカバレッジを算出する技術が示されている。しかしながら、レジスタの変化の有無からカバレッジを算出しており、ON実行およびOFF実行といった命令の実行種別を区別することはしていない。そのため、実行された命令の実行種別をユーザが確認して常時実行の命令の検証が完了したか否かを判断する作業が必要となり、効率的にデバッグを進めることが難しいという問題がある。
本発明は、上記に鑑みてなされたものであって、デバッグの作業効率を向上させるデバッグ装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるデバッグ装置は、シーケンスプログラムに含まれる命令を実行する実行部と、実行部で実行された命令と、実行された命令の実行内容と前記実行された命令の直前の命令の実行結果との関係を表す実行種別と、を判定する判定部と、を備える。また、デバッグ装置は、判定部で判定された実行種別毎の命令の実行有無と、実行種別と、実行された命令を識別する識別情報とを対応付けて記憶する記憶部と、実行部で実行された命令と実行された命令の実行種別とを命令の実行有無に応じて視認可能な形式で表示する表示部と、を備える。また、実行種別は、直前の命令の実行結果が真の場合に実行するON実行と、直前の命令の実行結果が偽の場合に実行するOFF実行とを含む。
本発明にかかるデバッグ装置は、デバッグの作業効率を向上させることができるという効果を奏する。
実施の形態1にかかるデバッグ装置の構成例を示す図 実施の形態1にかかる動作検証設定入力部が動作検証設定を受け付ける際に表示する動作検証設定ダイアログボックスの一例を示す図 実施の形態1にかかるPLC(Programmable Logic Controller)で実行されるシーケンスプログラムおよびシーケンスプログラムを構成する命令の一例を示す図 実施の形態1にかかる動作検証状況判定部が収集した動作検証状況を保存する形式の一例を示す図 実施の形態1にかかる動作検証状況表示部が、動作検証の状況をシーケンスプログラムの表示背景を変更することによりユーザに通知する場合の表示例を示す図 実施の形態1にかかる動作検証状況表示部が、動作検証の状況をシーケンスプログラムの表示背景を変更することによりユーザに通知する場合の他の表示例を示す図 実施の形態1にかかる動作検証状況表示部が、動作検証の状況をシーケンスプログラムの各命令に対応づけて表示するマークを変更することによりユーザに通知する場合の表示例を示す図 実施の形態1にかかる動作検証状況表示部が、プログラムの表示を変更することにより動作検証の状況を表す場合の表示例を示す図 実施の形態1にかかるデバッグ装置が動作検証状況を表示する動作を示すフローチャート 実施の形態1にかかる動作検証状況表示部が複数の動作検証状況の中から選択した1つ以上の動作検証状況に基づいて表示を行う動作を示すフローチャート 実施の形態1にかかる動作検証状況表示部が表示装置に表示させる動作検証状況選択画面の一例を示す図 実施の形態1にかかるデバッグ装置のPLCのハードウェア構成を示す図 実施の形態2にかかるデバッグ装置の構成例を示す図
以下に、本発明の実施の形態にかかるデバッグ装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるデバッグ装置の構成例を示す図である。実施の形態1にかかるデバッグ装置100は、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)1と、コンピュータ2内部のエンジニアリングツール20とを含んで構成される。エンジニアリングツール20は、エンジニアリングツール20として動作するためのプログラムをコンピュータ2が実行することにより実現される。コンピュータ2は、エンジニアリングツール20として動作するためのプログラムを実行するプロセッサ、プログラムおよび各種データを保持するメモリ、ディスプレイである表示装置、マウスおよびキーボードである入力装置、通信インタフェースといった各種ハードウェアを備える。PLC1とコンピュータ2はネットワークケーブル3を介して接続される。なお、接続経路については無線を使用してもよい。
PLC1は、プログラムメモリ11、プログラム実行部12および動作検証結果管理部13を備える。動作検証結果管理部13は、動作検証状況判定部14および動作検証状況記憶部15を備える。PLC1は、2つの動作モード、具体的には、被制御機器を制御する通常モードと、シーケンスプログラムのデバッグを行うデバッグモードとを有し、図示を省略したスイッチといった切り替え手段をユーザが操作することにより動作モードを選択可能に構成されている。動作検証結果管理部13は、デバッグモードが選択されている場合に動作する。
プログラムメモリ11は、被制御機器を制御するシーケンスプログラムを記憶するメモリであり、検証対象シーケンスプログラム16を保持する。検証対象シーケンスプログラム16は、デバッグ装置100を使用して行うデバッグの対象プログラムである。プログラム実行部12は、プログラムメモリ11で保持されているシーケンスプログラムを実行する実行部である。プログラム実行部12は、デバッグモードが選択されている場合は検証対象シーケンスプログラム16を実行する。検証対象シーケンスプログラム16は、プログラムメモリ11で保持されているシーケンスプログラムの中からユーザが指定したシーケンスプログラムである。また、プログラム実行部12は、デバイスメモリ17を有する。デバイスメモリ17は、プログラム実行部12がシーケンスプログラムを実行すると実行内容に従って値が更新される各種のデバイス値を保持するメモリである。デバイス値は、PLC1が制御対象機器の制御で使用する制御情報の値を示す。FA分野では、制御情報を識別する情報をデバイスと呼び、デバイス値は制御対象機器の状態を示す。
動作検証結果管理部13の動作検証状況判定部14は、デバッグモードにおいてプログラム実行部12が検証対象シーケンスプログラム16を実行しているとき、命令の実行種別および命令の実行有無と命令の組を、動作検証状況として取得し、動作検証状況記憶部15に保存する。すなわち、動作検証状況判定部14は、プログラム実行部12で実行された、検証対象シーケンスプログラム16内の命令および実行された命令の実行種別を判定する判定部であり、判定結果を実行された命令と対応付けて動作検証状況記憶部15に保存する。命令の実行種別は上述したON実行およびOFF実行といった情報であり、命令で実行する内容とこの命令の直前の命令の実行結果との関係を表す。動作検証状況判定部14は、プログラム実行部12のデバイスメモリ17から読み出したデバイス値を解析することにより動作検証状況を取得する。動作検証状況判定部14は、デバイスメモリ17内の特定のデバイス値が更新されたか否かをモニタすることにより、特定のデバイス値に対応する命令が実行されたか否かを知ることができる。また、動作検証状況判定部14は、プログラム実行部12がシーケンスプログラム中のどの命令を実行しようとしているかについても、デバイスメモリ17内のデバイス値をモニタすることにより知ることができる。各命令の実行種別および前条件はシーケンスプログラムを解析することにより知ることができる。動作検証結果管理部13の動作検証状況記憶部15は、動作検証状況判定部14が取得した動作検証状況を受け取り記憶する記憶部である。
エンジニアリングツール20は、動作検証状況表示部21、動作検証設定入力部22および動作検証設定書込部23を有する。
動作検証状況表示部21は、動作検証状況記憶部15で記憶されている動作検証状況に基づき、検証対象シーケンスプログラム16の動作検証の進捗状況を、ユーザが視認可能な形式でコンピュータ2の表示装置(図示せず)に表示する表示部である。動作検証状況表示部21は、シーケンスプログラムを表示装置に表示する機能も有する。
動作検証設定入力部22は、動作検証対象のシーケンスプログラムの設定と、動作検証対象のシーケンスプログラムの実行回数の設定と、検証対象の実行種別の設定とを、動作検証設定としてユーザから受け付ける。図2は、実施の形態1にかかる動作検証設定入力部22が動作検証設定を受け付ける際に表示装置が表示する動作検証設定ダイアログボックスの一例を示す図である。図2に示した動作検証設定ダイアログボックスは、検証対象プログラム名および検証対象実行種別がプルダウンにより設定可能に構成され、検証対象実行回数がテキストボックスへの数値入力により設定可能に構成されている。図2に示されている内容の状態でOKボタンが押下された場合、動作検証設定入力部22は、名称がMAINのシーケンスプログラムに含まれているON実行の命令を対象として、合計10回検証を行う内容の動作検証設定を受け付ける。検証対象実行種別では、ON実行およびOFF実行を個別に指定することができるほか、ON実行およびOFF実行の両方を検証対象として選択できることとする。なお、動作検証設定を図2に示した検証対象プログラム名、検証対象実行回数および検証対象実行種別に限定するものではない。その他の情報を動作検証設定に含ませてもよい。また、本実施の形態では、動作検証設定入力部22が動作検証設定の入力をユーザから受け付けることとしたが、規定の形式で記述されたファイルの入力により、エンジニアリングツール20が動作検証設定の情報を取得するようにすることも可能である。
動作検証設定書込部23は、動作検証設定入力部22が受け付けた動作検証設定を示す情報を、動作検証結果管理部13の動作検証状況判定部14に書き込み、書き込んだ情報に従って動作するよう、動作検証状況判定部14を設定する。仮に、動作検証設定入力部22が図2に示されている内容の動作検証設定を受け付け、これに対応する情報を動作検証設定書込部23が動作検証状況判定部14に書き込んだ場合、動作検証状況判定部14は、名称がMAINのシーケンスプログラムがプログラム実行部12で実行された場合に、このシーケンスプログラムが10回実行されるまでの間、ON実行の命令が実行されたか否かをモニタする。この場合、動作検証状況判定部14は、シーケンスプログラムが10回実行されるまでの間のモニタ結果を動作検証状況として動作検証状況記憶部15に書き込む。
図3は、実施の形態1にかかるPLC1で実行されるシーケンスプログラムおよびシーケンスプログラムを構成する命令の一例を示す図である。図3に示したシーケンスプログラムはエンジニアリングツール20の図示を省略したプログラム作成部にて作成される。シーケンスプログラムは、PLC1が実行可能なコードに変換された後、エンジニアリングツール20からPLC1へ伝送され、PLC1のプログラムメモリ11に書き込まれる。なお、図3ではラダー言語で作成したシーケンスプログラムの例を示している。図3に記載の「(0)」、「(2)」、「(4)」および「(6)」はステップ番号である。
図4は、実施の形態1にかかる動作検証状況判定部14がプログラム実行部12から収集した動作検証状況を動作検証状況記憶部15へ保存する形式の一例を示す図である。図4に示したように、動作検証状況は、命令を表すステップ番号(step number)、命令の実行条件を表すランタイプ(run type)、ON実行完了フラグおよびOFF実行完了フラグを含む。ステップ番号は命令の識別情報である。また、この識別情報は、実行されたシーケンスプログラムの中から、どの命令が実行されたかを特定する為の情報である。ランタイプが‘0’の場合は常時実行を表し、‘1’の場合は常時実行ではない実行条件を表す。動作検証状況判定部14は、プログラム実行部12のデバイスメモリ17に格納されているデバイス値を読み出すことにより、どのステップ番号の命令が実行されたのかおよび命令を実行する際の前条件を確認し、確認結果に従い、ON実行完了フラグまたはOFF実行完了フラグにチェックを入れる。図4に示した動作検証状況は、ステップ番号‘0’に対応する命令のON実行が実行済み、ステップ番号‘2’に対応する命令のOFF実行が実行済み、ステップ番号‘4’に対応する命令のON実行およびOFF実行が実行済み、ステップ番号‘8’に対応する命令のON実行およびOFF実行が実行済みであることを示している。なお、動作検証状況の保存形式は図4に示したものに限定されない。どの命令をどの実行条件で実行済みかが分かるのであれば、バイナリデータまたはテキストデータといった形式で記憶してもよい。
つづいて、エンジニアリングツール20の動作検証状況表示部21が動作検証状況を表示装置に表示する形式について、図5〜図8を使用して説明する。
図5は、実施の形態1にかかる動作検証状況表示部21が、動作検証の状況をシーケンスプログラムの表示背景を変更することによりユーザに通知する場合の表示例を示す図である。図5は、図3に示したシーケンスプログラムの表示背景を、シーケンスプログラムに含まれる各命令の実行状況に対応させて変更した例を示している。表示背景の変更方法の代表例は色の変更である。例えば、ON実行とOFF実行の双方を実行済みの場合は青、ON実行のみ実行済みの場合は背景色をオレンジとし、OFF実行のみ実行済みの場合は背景色を黄とし、ON実行およびOFF実行の両方とも実行されていない場合は背景色を白とする。
図6は、実施の形態1にかかる動作検証状況表示部21が、動作検証の状況をシーケンスプログラムの表示背景を変更することによりユーザに通知する場合の他の表示例を示す図である。図6に示した例では、背景色の変更に加えて、ON実行およびOFF実行の双方を実行済みの命令を表示しないようにしている。ON実行およびOFF実行の双方を実行済みの命令を表示しないことで、動作検証が完了していない命令がどれくらい残っているのかをユーザが容易に知ることができる。図6に示した例では、ステップ番号が4の命令についてはON実行およびOFF実行が実行済みであるため、ステップ番号が4の命令は表示されていない。
図7は、実施の形態1にかかる動作検証状況表示部21が、動作検証の状況をシーケンスプログラムの各命令に対応づけて表示するマークを変更することによりユーザに通知する場合の表示例を示す図である。図7は、図3に示したシーケンスプログラムに含まれる各命令の実行状況を黒塗の丸(●)、白抜きの丸(○)および二重丸(◎)で表した例を示している。具体的には、ON実行のみ実行済みの命令には‘●’を付与し、OFF実行のみ実行済みの命令には‘○’を付与し、ON実行とOFF実行の双方を実行済みの命令には‘◎’を付与している。
図8は、実施の形態1にかかる動作検証状況表示部21が、プログラムの表示を変更することにより動作検証の状況を表す場合の表示例を示す図である。図8では、一度でもON実行された経路および命令の表示を変更することにより動作検証の状況を表す例を示している。ON実行された経路および命令の表示を変更する方法としては、ON実行されていない状態では破線で表し、ON実行された場合に実線での表示に変更する方法が考えられる。また、ON実行されていない状態とON実行された状態とで表示色を変更する方法も考えられる。表示の変更方法はON実行がされたことが分かるのであればどのような方法であってもよい。
図5〜図8では、カバレッジの網羅率を、色分け等によって表示しているが、単純に「○○%実施」と表示画面上に表示するようにしてもよい。このような表示は、図5〜図8のラダープログラム上に併せて表示してもよい。また、色分け等による表示と数値による表示とを併せて行うようにしてもよい。カバレッジの網羅率は、動作検証状況表示部21が、動作検証状況記憶部15で記憶されている動作検証状況に基づいて算出する。なお、動作検証状況表示部21は、実行条件が常時実行の命令についてはON実行およびOFF実行の双方が実行済みの場合に当該命令の動作検証が完了しているものとしてカバレッジの網羅率を算出する。
つづいて、デバッグ装置100が動作検証状況を表示する動作について、図9を用いて説明する。図9は、実施の形態1にかかるデバッグ装置100が動作検証状況を表示する動作を示すフローチャートである。
デバッグ装置100が動作検証状況を表示する動作においては、動作検証状況判定部14が、検証対象シーケンスプログラム16をプログラム実行部12が実行している状態において、ステップ毎にデバイスメモリ17からデバイス値を収集し、収集したデバイス値に基づいて命令の実行の有無を判定する(ステップS11)。なお、命令の実行有無の判定には、既存のシーケンスプログラムのモニタ技術を使用できる。また、命令の実行種別については、該当の命令の実行条件の種類および前条件から判定できる。動作検証状況判定部14は、収集したデバイス値に基づいて、命令の実行の有無および実行種別を判定する。
次に、動作検証状況判定部14は、判定結果、すなわち命令の実行の有無および実行種別を、ステップ番号と対応付けて動作検証状況記憶部15に格納する(ステップS12)。命令の実行の有無および実行種別とステップ番号と対応付けたものが図4に示した動作検証状況である。
次に、動作検証状況表示部21が、動作検証状況記憶部15に格納されている動作検証状況に基づいて、検証対象シーケンスプログラム16の各命令の実行状況および実行種別を表示装置に表示する(ステップS13)。
図9に示したステップS13において、動作検証状況表示部21は、図5〜図8に示した内容例の画面を表示する。また、動作検証状況記憶部15に複数の動作検証状況が格納されている場合、動作検証状況表示部21は、複数の動作検証状況の中からユーザが選択した1つ以上の動作検証状況に基づいて表示画面を生成する。一般的に、プログラムのデバッグ作業では、プログラムの動作条件の設定を変更しながら、複数の動作条件の元でプログラウを実行し、不具合の有無を確認する。そのため、複数の動作条件の各々に対応する動作検証結果が得られることになる。本実施の形態にかかるデバッグ装置100の場合、図2を用いて説明した動作検証設定がプログラムの動作条件に相当し、図4を用いて説明した動作検証状況がプログラムの動作検証結果に相当する。すなわち、動作検証状況記憶部15には複数の動作検証状況が格納されている。
図10は、実施の形態1にかかる動作検証状況表示部21が複数の動作検証状況の中から選択した1つ以上の動作検証状況に基づいて表示を行う動作を示すフローチャートである。
動作検証状況表示部21は、図9に示したステップS13において表示を行う場合、まず、動作検証状況を選択する画面を表示装置に表示する(ステップS21)。このステップS21での表示は図11に示した画面とすることができる。図11は、実施の形態1にかかる動作検証状況表示部21が表示装置に表示させる動作検証状況選択画面の一例を示す図である。図11に示した画面表示例は、動作検証状況記憶部15で記憶されている動作検証状況のファイル名(動作検証状況_001,動作検証状況_002,…)のリストと、各ファイルを選択するためのチェックボックスと、表示開始ボタンと、キャンセルボタンとを含む。ユーザは、チェックボックスにチェックを入れることで表示させたい動作検証状況を選択し、表示開始ボタンを押下することで動作検証状況の表示を開始させる。すなわち、動作検証状況表示部21は、ステップS21を実行して図11に示した画面を表示装置に表示させた後、1つ以上の動作検証状況のファイルが選択され、表示開始ボタンが押下されるのを待つ。
動作検証状況表示部21は、1つ以上の動作検証状況が選択された状態で表示開始ボタンが押下されると、選択された動作検証状況に基づいて、図5〜図8に示した中のいずれか一つの内容例の画面を表示装置に表示する(ステップS22)。複数の動作検証状況が選択された状態でステップS22を実行する場合、動作検証状況表示部21は、選択された動作検証状況の内容をマージし、マージ後の動作検証状況に従い表示を行う。
一例として、動作検証状況_001および動作検証状況_002が選択され、動作検証状況_001はON実行のみを実行した結果、動作検証状況_002はOFF実行のみを実行した結果である場合について考える。この場合、動作検証状況表示部21は、動作検証状況_001および動作検証状況_002を解析することにより、ある命令のON実行およびOFF実行の双方が実行済みかどうか、実行済みではない場合にON実行とOFF実行のどちらが実行済みではないのか、ON実行およびOFF実行の双方が実行済みではないのかを把握し、各命令のON実行およびOFF実行の実行状況が視認可能な内容の画面(図5〜図8に示した中のいずれか一つの内容例の画面)を表示装置へ表示する。
また、他の例として、動作検証状況_001および動作検証状況_002が選択され、動作検証状況_001にはステップ番号XXの常時実行の命令(以下、命令Aとする)のON実行は実行されたがOFF実行は実行されていないことを示す情報が含まれ、動作検証状況_002には命令AのON実行は実行されていないがOFF実行は実行されたことを示す情報が含まれている場合について考える。この場合、動作検証状況表示部21は、動作検証状況_001および動作検証状況_002を解析することにより命令AのON実行およびOFF実行の双方が実行済み、すなわち検証済みであることが分かる。そのため、動作検証状況表示部21は、命令AのON実行およびOFF実行を検証済みであることを視認可能な内容の画面を表示装置へ表示する。
つづいて、実施の形態1にかかるデバッグ装置100を構成するPLC1のハードウェア構成について説明する。図1に示したPLC1は、図12に示したプロセッサ201、メモリ202および通信インタフェース203で実現することができる。プロセッサ201は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、CPU(Central Processing Unit)、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ202は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、またはEEPROM(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。メモリ202は、2種類以上の記憶装置を組み合わせたものであってもよい。
PLC1のプログラムメモリ11はメモリ202により実現される。PLC1のプログラム実行部12はプロセッサ201およびメモリ202により実現される。PLC1の動作検証結果管理部13はプロセッサ201およびメモリ202により実現される。すなわち、動作検証状況判定部14は、動作検証状況判定部14として動作するためのプログラムをメモリ202が保持しておき、このプログラムをプロセッサ201がメモリ202から読み出して実行することにより実現される。また、動作検証状況記憶部15は、メモリ202により実現される。なお、図12に示した通信インタフェース203は、エンジニアリングツール20を実現するコンピュータ2と通信を行う際に利用する。なお、既に説明したように、エンジニアリングツール20は、エンジニアリングツール20として動作するためのプログラムをコンピュータ2が実行することにより実現される。
以上のように、本実施の形態にかかるデバッグ装置100は、シーケンスプログラムを実行するプログラム実行部12と、プログラム実行部12で実行された命令、実行された命令の実行種別および前条件をデバイスメモリ17に格納されたデバイス値に基づいて判定する動作検証状況判定部14と、動作検証状況判定部14による判定結果を動作検証状況として記憶する動作検証状況記憶部15と、を備える。これにより、実行された命令の実行種別をユーザが確認する必要が無くなり、ユーザの作業負荷を軽減させることができる。よって、シーケンスプログラムのデバッグの作業効率を向上させることができる。また、シーケンスプログラムの動作検証の進捗状況をユーザが視認可能な形式で表示する動作検証状況表示部21を備える。これにより、動作検証の進捗状況をユーザが容易に知ることができ、デバッグの作業効率をさらに向上させることができる。
なお、本実施の形態では、実行種別としてON実行、OFF実行を用いているが、実行種別としてはこれに限らず、プログラムの実行内容が定義付けられたものであれば良い。
実施の形態2.
実施の形態1では、PLC1が動作検証結果管理部13を備えた構成のデバッグ装置について説明したが、エンジニアリングツール20を含んだコンピュータ2が動作検証結果管理部13を備えた構成としてもよい。
図13は、実施の形態2にかかるデバッグ装置の構成例を示す図である。実施の形態2にかかるデバッグ装置100aは、PLC1aと、実施の形態1で説明した動作検証結果管理部13、およびエンジニアリングツール20を実現するコンピュータ2aとを備える。PLC1aは、実施の形態1で説明したPLC1から動作検証結果管理部13を削除した構成のPLCである。コンピュータ2は、実施の形態1で説明したエンジニアリングツール20に加えて、実施の形態1で説明した、プログラム実行部12が実行した命令および実行種別を判定してその結果を記憶する動作検証結果管理部13を備える。PLC1aのプログラムメモリ11およびプログラム実行部12は、実施の形態1で説明したPLC1のプログラムメモリ11およびプログラム実行部12と同じであるため説明を省略する。また、コンピュータ2aのエンジニアリングツール20および動作検証結果管理部13は、実施の形態1で説明したコンピュータ2のエンジニアリングツール20およびPLC1の動作検証結果管理部13と同じであるため説明を省略する。
なお、エンジニアリングツール20と動作検証結果管理部13とを別構成としたが、エンジニアリングツール20が動作検証結果管理部13を備える構成としてもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1,1a PLC、2,2a コンピュータ、3 ネットワークケーブル、11 プログラムメモリ、12 プログラム実行部、13 動作検証結果管理部、14 動作検証状況判定部、15 動作検証状況記憶部、16 検証対象シーケンスプログラム、17 デバイスメモリ、20 エンジニアリングツール、21 動作検証状況表示部、22 動作検証設定入力部、23 動作検証設定書込部、100,100a デバッグ装置。

Claims (5)

  1. シーケンスプログラムに含まれる命令を実行する実行部と、
    前記実行部で実行された命令と、前記実行された命令の実行内容と前記実行された命令の直前の命令の実行結果との関係を表す実行種別と、を判定する判定部と、
    前記判定部で判定された実行種別毎の命令の実行有無と、前記実行種別と、前記実行された命令を識別する識別情報とを対応付けて記憶する記憶部と、
    前記実行部で実行された命令と前記実行された命令の実行種別とを前記命令の実行有無に応じて視認可能な形式で表示する表示部と、
    を備え
    前記実行種別は、前記直前の命令の実行結果が真の場合に実行するON実行と、前記直前の命令の実行結果が偽の場合に実行するOFF実行とを含む
    ことを特徴とするデバッグ装置。
  2. 前記表示部は、前記実行部で実行されたシーケンスプログラムに対比して前記実行された命令と前記実行種別とを表示することを特徴とする請求項1に記載のデバッグ装置。
  3. 前記表示部は、前記実行部で実行された命令の、前記シーケンスプログラムに含まれる全ての命令に対する割合を表示することを特徴とする請求項1または2に記載のデバッグ装置。
  4. 前記判定部は、前記実行部で実行された命令および前記実行された命令の実行種別の判定を複数の動作検証設定に従って行うことが可能に構成され、異なる動作検証設定に従って前記判定を行い複数の判定結果を生成し、
    前記表示部は前記複数の判定結果を1つの画面で表示することを特徴とする請求項1に記載のデバッグ装置。
  5. 前記表示部は、前記複数の判定結果のうち、ユーザが指定した判定結果を1つの画面で表示することを特徴とする請求項4に記載のデバッグ装置。
JP2018505755A 2017-06-27 2017-06-27 デバッグ装置 Active JP6351906B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/023623 WO2019003313A1 (ja) 2017-06-27 2017-06-27 デバッグ装置

Publications (2)

Publication Number Publication Date
JP6351906B1 true JP6351906B1 (ja) 2018-07-04
JPWO2019003313A1 JPWO2019003313A1 (ja) 2019-06-27

Family

ID=62779846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018505755A Active JP6351906B1 (ja) 2017-06-27 2017-06-27 デバッグ装置

Country Status (3)

Country Link
JP (1) JP6351906B1 (ja)
CN (1) CN109791398B (ja)
WO (1) WO2019003313A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7173928B2 (ja) * 2019-06-05 2022-11-16 ファナック株式会社 数値制御装置
WO2021005691A1 (ja) * 2019-07-08 2021-01-14 三菱電機株式会社 制御装置、プログラム監視方法及びプログラム
CN115104088B (zh) * 2020-02-14 2024-02-06 三菱电机株式会社 程序提供装置、程序提供方法及程序提供系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204004A (ja) * 1989-12-29 1991-09-05 Sharp Corp プログラマブルコントローラ
JP2000293208A (ja) * 1999-04-02 2000-10-20 Hitachi Ltd シーケンス制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310056A (ja) * 2004-04-26 2005-11-04 Mitsubishi Electric Corp プログラム実行制御方式
JP4718901B2 (ja) * 2005-05-27 2011-07-06 パナソニック株式会社 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
CN104063321B (zh) * 2014-06-27 2017-06-13 北京控制工程研究所 一种针对MicroBlaze软核程序的测试验证系统及测试验证方法
JP6076565B1 (ja) * 2015-04-16 2017-02-08 三菱電機株式会社 プログラム診断装置、プログラム診断方法及びプログラム診断プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204004A (ja) * 1989-12-29 1991-09-05 Sharp Corp プログラマブルコントローラ
JP2000293208A (ja) * 1999-04-02 2000-10-20 Hitachi Ltd シーケンス制御システム

Also Published As

Publication number Publication date
WO2019003313A1 (ja) 2019-01-03
CN109791398A (zh) 2019-05-21
JPWO2019003313A1 (ja) 2019-06-27
CN109791398B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
KR101627488B1 (ko) 엔지니어링 툴, 프로그램 편집 장치 및 프로그램 편집 시스템
JP6351906B1 (ja) デバッグ装置
US20090013313A1 (en) Debug device, debug method, and program
JP2010152429A (ja) Guiアプリケーションテスト支援装置及びテスト支援方法
JP2008293138A (ja) ソフトウェア開発支援プログラム、ソフトウェア開発支援方法
JP5849592B2 (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
KR102300005B1 (ko) 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템
JP6275009B2 (ja) 試験装置及び試験プログラム
US20220092476A1 (en) Dependence relationship detection device and dependence relationship detection method
JP2016045712A (ja) プログラマブルロジックコントローラ
JP4767309B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
WO2022138442A1 (ja) ラダープログラム解析装置
JP5319643B2 (ja) ソフトウェアプロダクトライン開発支援装置およびその方法
KR101999321B1 (ko) 프로그램 검증 시스템 및 검증 방법
JP4062546B2 (ja) デバッグ装置
KR101303866B1 (ko) 기판 처리 장치의 모니터링 방법
WO2018123039A1 (ja) プログラム比較装置およびプログラム差分照合方法
JP6407481B1 (ja) プログラム作成装置
JP7055264B1 (ja) プログラマブルコントローラ、プログラマブルコントローラシステム及びプログラム
WO2024195093A1 (ja) 処理フロー可視化装置、処理フロー可視化方法、および処理フロー可視化プログラム
WO2023238262A1 (ja) 情報処理装置、試験方法、及び試験プログラム
KR20120058753A (ko) 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법
JP7228374B2 (ja) シミュレーションシステム及びシミュレート方法
WO2020235095A1 (ja) プログラマブルロジックコントローラ、コンピュータ、方法、及びプログラム
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180202

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180202

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351906

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