JPWO2015170382A1 - エンジニアリングツール、プログラム編集装置およびプログラム編集システム - Google Patents

エンジニアリングツール、プログラム編集装置およびプログラム編集システム Download PDF

Info

Publication number
JPWO2015170382A1
JPWO2015170382A1 JP2015521902A JP2015521902A JPWO2015170382A1 JP WO2015170382 A1 JPWO2015170382 A1 JP WO2015170382A1 JP 2015521902 A JP2015521902 A JP 2015521902A JP 2015521902 A JP2015521902 A JP 2015521902A JP WO2015170382 A1 JPWO2015170382 A1 JP WO2015170382A1
Authority
JP
Japan
Prior art keywords
program
debugging
formal
executed
instruction
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
JP2015521902A
Other languages
English (en)
Other versions
JP5859173B1 (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 JP5859173B1 publication Critical patent/JP5859173B1/ja
Publication of JPWO2015170382A1 publication Critical patent/JPWO2015170382A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23283Debugging, breakpoint

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)
  • Software Systems (AREA)

Abstract

エンジニアリングツール10が、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラでデバッグ用プログラムが実行され、かつデバッグ用プログラムが選択されなかった場合には、コントローラでデバッグ用プログラムが実行されることなく正式プログラムが実行されるよう、正式プログラムとデバッグ用プログラムとを区別して編集するプログラム表示編集部11を備える。

Description

本発明は、シーケンスプログラムを作成するエンジニアリングツール、プログラム編集装置およびプログラム編集システムに関する。
シーケンスプログラムをデバッグする方法として、現在値の変更処理や実行条件付きテストを行なう方法があるが、これらの方法では、設定操作に手間がかかっていた。現在値の変更処理は、シーケンスプログラムの実行中にメモリの値を手動で変更する処理である。現在値の変更処理が実行されるためには、専用ダイアログ画面が開かれ、変更するメモリ番号および値を指定する必要がある。実行条件付きテストは、シーケンスプログラムの特定箇所(条件)において、メモリの値が指定された値に設定される機能を有している。この機能では、プログラムエディタ以外の専用ダイアログ画面が開かれたうえで、条件と、変更したいメモリ番号および値と、を指定する必要がある。
また、シーケンスプログラムをデバッグする方法として、例えば、以下の(1)〜(6)に示す一連の操作を行なう方法がある(例えば、特許文献1参照)。なお、以下では、実際の製品として稼働するシーケンスプログラムを正式プログラムという。
(1)正式プログラムが作成され、コントローラで実行可能なように変換される。
(2)正式プログラムがコントローラへ書込まれて実行され、モニタなどで動作が確認される。
(3)実行時に不具合が検出されると、正式プログラムのうちデバッグをしたい部分である不具合箇所に、デバッグ用のプログラムが追加される。例えば、常時ONにしたい回路の条件部に“OR TRUE”の回路要素が挿入されるなどして、デバッグ用のプログラムが追加される。その後、デバッグ用のプログラムが挿入された全体のプログラムが、コントローラで実行可能なように変換される。
(4)デバッグ用のプログラムを含む全体のプログラムがコントローラへ書込まれて実行され、再度モニタなどで動作が確認される。
(5)正式プログラムとデバッグ用のプログラムとの実行を切り替えて動作確認が行なわれる場合には、上記(3)と(4)が繰り返される。具体的には、全体のプログラムの修正、変換、書込み、動作確認が繰り返される。
(6)正式プログラムの正常動作が確認された後、デバッグ用のプログラム部分が削除される。そして、正式プログラムが、コントローラで実行可能なよう、再度変換されてコントローラへ書込まれる。この後、コントローラでは、正式プログラムを用いた処理が実行される。
特開平4−370805号公報
しかしながら、上記従来の技術では、デバッグ作業の際に、プログラムの編集、変換、書込み、実行を繰り返す必要があるので、デバッグ作業に手間がかかるという問題があった。
本発明は、上記に鑑みてなされたものであって、容易にデバッグを行うことができるエンジニアリングツール、プログラム編集装置およびプログラム編集システムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、エンジニアリングツールが、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とする。
本発明によれば、容易にデバッグを行うことができるシーケンスプログラムを作成することが可能になるという効果を奏する。
図1は、実施の形態に係るデバッグシステムの構成を示す図である。 図2は、全体プログラムの表示例を示す図である。 図3は、PLCの実行モードを切り替える画面の一例を示す図である。 図4は、デバッグの処理手順を示すフローチャートである。 図5は、デバッグ用プログラムの第1の作成例を説明するための図である。 図6は、デバッグ用プログラムの第2の作成例を説明するための図である。 図7は、プログラム編集装置のハードウェア構成を示す図である。
以下に、本発明の実施の形態に係るエンジニアリングツール、プログラム編集装置およびプログラム編集システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
本実施の形態では、「正式プログラム」、「デバッグ用プログラム」、「全体プログラム」という用語を以下のように区別して用いる。
正式プログラム:実際の製品として動作させられるプログラムコードもしくはその実行オブジェクト。正式プログラムは、実際の製品の製造工程などで、コントローラがロボットなどを制御する際に用いられる。
デバッグ用プログラム:製品出荷前に動作確認用として作成されて動作させられるプログラムコード部分もしくはその実行オブジェクト。デバッグ用プログラムは、実際の製品としては動作しない部分である。
全体プログラム:デバッグ用プログラムが挿入された正式プログラムであり、シーケンスプログラムの全体を指す。
なお、以下の説明における全体プログラムは、デバッグ用プログラムが挿入された正式プログラムであってもよいし、デバッグ用プログラムが挿入される前の正式プログラムであってもよい。
図1は、実施の形態に係るデバッグシステムの構成を示す図である。PLC(Programmable Logic Controller)システムを用いたデバッグシステム1は、プログラム編集装置2とPLC20とを有している。プログラム編集装置2は、コンピュータなどであり、エンジニアリングツール10と、モニタなどの表示部32と、マウスやキーボードなどの受付部31とを備えている。
受付部31は、外部装置などで作成された正式プログラムやユーザからの指示などを受付ける。受付部31は、エンジニアリングツール10に接続されており、正式プログラムやユーザ入力される指示をエンジニアリングツール10に入力する。表示部32は、エンジニアリングツール10に接続されており、エンジニアリングツール10からの指示に従って、全体プログラム、正式プログラム、デバッグ用プログラムなどのシーケンスプログラムを表示する。
エンジニアリングツール10は、ラダープログラムなどのシーケンスプログラムを作成するプログラミングツールである。エンジニアリングツール10は、PLC20で動作させるシーケンスプログラムを編集する。エンジニアリングツール10は、例えばコンピュータ上のS/W(ソフトウェア)として実現できる。
デバッグシステム1は、シーケンスプログラムをデバッグする際に、デバッグ専用のプログラムを作成して実行する手間を省くことによってシーケンスプログラムの設計工数を削減する。本実施の形態では、エンジニアリングツール10が、正式プログラムとデバッグ用プログラムとを切替え可能なよう全体プログラムを作成する。
エンジニアリングツール10は、デバッグ用プログラムがデバッグ専用命令を備えるよう、全体プログラムを作成する。エンジニアリングツール10は、デバッグ専用命令の部分と、正式プログラムの部分とを区別して全体プログラムの表示・編集を行う機能を有している。PLC20は、デバッグモード時のみデバッグ用プログラムのデバッグ専用命令を実行し、通常モード時には、正式プログラムを実行する。
PLC20は、コントローラの一例であり、シーケンスプログラムを用いてロボットなどを制御する。本実施の形態のPLC20は、エンジニアリングツール10で作成された全体プログラムを用いてロボットなどを制御する。このように全体プログラムは、エンジニアリングツール10で作成・編集・モード切替が行われ、PLC20でモード切替に応じた処理が実行される。
エンジニアリングツール10は、プログラム表示編集部11と、命令管理部12と、プログラム記憶部13と、プログラム変換部14と、実行切替部15と、PLC通信部16とを備えている。
プログラム表示編集部11は、PLC20で実行されるプログラムコードを編集するエディタとしてのアプリケーションソフトである。PLC20やロボットを用いたPLCシステムでは、シーケンスプログラムにラダー言語が用いられることが多い。以下では、シーケンスプログラムがラダープログラムである場合について説明する。
プログラム表示編集部11は、受付部31から入力されたユーザからの指示に基づいて、シーケンスプログラムの表示部32への表示処理や編集処理などを実行する。プログラム表示編集部11は、例えば、ユーザからの指示に応じたデバッグ専用命令をシーケンスプログラム内に挿入する。
プログラム表示編集部11は、デバッグ用プログラムが選択された場合には、PLC20でデバッグ用プログラムが実行され、デバッグ用プログラムが選択されなかった場合には、PLC20でデバッグ用プログラムが実行されることなく正式プログラムが実行されるよう、正式プログラムとデバッグ用プログラムとを区別して編集する。
また、プログラム表示編集部11は、ユーザから指定された正式プログラム内の回路を正式プログラムからデバッグ用プログラムに切替える。また、プログラム表示編集部11は、デバッグ専用命令で作成されたデバッグ用プログラムを正式プログラムと区別して表示させる機能を有している。
図2は、全体プログラムの表示例を示す図である。プログラム表示編集部11は、全体プログラムの少なくとも一部を表示部32に表示させる。このとき、プログラム表示編集部11は、デバッグ用プログラム41と正式プログラムとを区別して表示させる。プログラム表示編集部11は、例えば、デバッグ用プログラム41と正式プログラムとを異なる色で表示させてもよいし、デバッグ用プログラム41を所定の線などで囲ってもよい。プログラム表示編集部11は、編集の完了した全体プログラムをプログラム記憶部13に送る。
命令管理部12は、プログラム表示編集部11でシーケンスプログラム内に入力することのできる命令の一覧を記憶する。命令管理部12は、正式プログラムで使用する正式命令と、デバッグ用プログラムで使用するデバッグ専用命令とを区別して管理する。命令管理部12で管理されている命令は、ユーザからの指示に従ってプログラム表示編集部11に送られる。また、命令管理部12で管理されている命令は、プログラム変換部14によって読み出される。
プログラム記憶部13は、外部装置で作成された編集前の正式プログラムのプログラムコードやプログラム表示編集部11で作成された全体プログラムのプログラムコードを記憶する。また、プログラム記憶部13は、プログラム変換部14で変換された全体プログラムの実行コードを記憶する。
プログラム変換部14は、プログラム記憶部13内にある全体プログラムのプログラムコードをPLC20で実行可能な実行コードに変換する処理であるコンパイルを実行する。実行コードは、PLC20で実行する処理を並べたものであり、例えば、命令とそのオペランドからなるコマンドの列として表現される。
本実施の形態のプログラム変換部14は、プログラム表示編集部11が全体プログラムに挿入したデバッグ専用命令を、PLC20で実行可能なデバッグ専用命令に変換する機能を備えている。
プログラム変換部14は、プログラムコードをPLC20で実行可能な実行コードに変換する際に、命令管理部12で管理されている命令を読み出す。そして、プログラム変換部14は、読み出した命令が正式命令であるかデバッグ専用命令であるかに基づいて、プログラムコードを変換する。プログラム変換部14は、各プログラムコードが正式命令とデバッグ専用命令の何れであるかが識別可能となるよう、プログラムコードを変換する。
プログラム変換部14は、例えば、各プログラムコードに、正式命令であることを示す情報またはデバッグ専用命令であることを示す情報を付加しておく。プログラム変換部14は、変換後の全体プログラムをプログラム記憶部13およびPLC通信部16に送る。
実行切替部15は、PLC20の実行モードを切り替えるインタフェースの機能を有している。図3は、PLCの実行モードを切り替える画面の一例を示す図である。エンジニアリングツール10は、PLC20の実行モードを切り替える際に用いるアイコンを、シーケンスプログラムの編集画面に表示させる。PLC20の実行モードを切り替える際に用いるアイコンは、通常モードを示すアイコンとデバッグモードを示すアイコンである。通常モードを示すアイコンおよびデバッグモードを示すアイコンは、シーケンスプログラムを編集する画面のツールバー上などに配置される。
通常モードを示すアイコンは、PLC20に正式プログラムを実行させる際に選択されるアイコンであり、デバッグモードを示すアイコンは、PLC20にデバッグ用プログラムを実行させる際に選択されるアイコンである。
実行切替部15は、通常モードを示すアイコンが押されると、通常モードを指示する命令をPLC通信部16に送る。実行切替部15は、デバッグモードを示すアイコンが押されると、デバッグモードを指示する命令をPLC通信部16に送る。
PLC通信部16は、プログラム変換部14で変換された全体プログラムの実行コードをPLC20に書き込む。また。PLC通信部16は、通常モードで動作させる命令またはデバッグモードで動作させる命令をPLC20に送る。なお、以下の説明では、通常モードを指示する命令またはデバッグモードを指示する命令を、モード切替命令という場合がある。
PLC20は、PLC通信部16によって書き込まれた実行コードを実行するH/W(ハードウェア)である。PLC20は、プログラム実行部21を備えている。プログラム実行部21は、実行コードの処理を実行するCPU(Central Processing Unit)などである。本実施の形態のプログラム実行部21は、モード切替命令に従って、全体プログラムを実行するモードを、デバッグモードと通常モードとの何れかに切替える。プログラム実行部21は、モード切替命令に従って、デバッグモードと通常モードとの何れかで全体プログラムを実行する。プログラム実行部21は、デバッグモード時にはデバッグ専用命令を実行し、通常モード時にはデバッグ専用命令を実行しない。なお、プログラム実行部21は、S/Wで実現されたシミュレータでもよい。
つぎに、デバッグシステム1が実行するデバッグの処理手順について説明する。図4は、デバッグの処理手順を示すフローチャートである。正式プログラムが作成されると、この正式プログラムが受付部31を介してプログラム記憶部13に書き込まれる。そして、プログラム変換部14は、プログラム記憶部13内にある正式プログラムのプログラムコードを、PLC20で実行可能な実行コードに変換する(ステップS10)。プログラム記憶部13は、変換後の実行コードを記憶しておく。
PLC通信部16は、プログラム変換部14で変換された正式プログラムの実行コードをPLC20に書き込む(ステップS20)。この後、PLC20のプログラム実行部21は、正式プログラムを用いてPLC20を動作させる。そして、PLC20の動作確認が行なわれることにより、正式プログラムの不具合が検査される(ステップS30)。
正式プログラムの不具合が検出されると、正式プログラムのうち動作確認したい箇所にデバッグ専用命令を用いたデバッグ用プログラムが追加される。このデバッグ用プログラムは、正式プログラム内に挿入される。例えば、常時ONにしたい回路の条件部に「OR TRUE」の回路要素が挿入される。そして、デバッグ用プログラムが挿入された正式プログラムが、全体プログラムとしてプログラム記憶部13に書き込まれる。
プログラム変換部14は、プログラム記憶部13内にあるデバッグ用プログラムのプログラムコードを、PLC20で実行可能な実行コードに変換する(ステップS40)。プログラム記憶部13は、変換後の実行コードを記憶しておく。
図5は、デバッグ用プログラムの第1の作成例を説明するための図である。図5では、正式プログラムで回路が作成された後、選択された範囲の正式プログラムがデバッグ用プログラムに変更される場合の操作と画面のイメージを示している。
正式プログラムが配置されている回路領域の中から、デバッグ用プログラムに切替えたい領域42がユーザによって選択されると(ST1)、プログラム表示編集部11は、選択された領域42を強調表示する。
この後、ユーザから表示切替の指示が受付部31に入力されると、プログラム表示編集部11は、領域42を正式プログラムからデバッグ用プログラムに切り替える(ST2)。さらに、プログラム表示編集部11は、領域42内に、デバッグ用プログラムが設定される領域であることを示す情報を表示させる。プログラム表示編集部11は、例えば、「#DEBUG」などの文字を領域42内に表示させる(ST3)。これにより、ユーザは容易にデバッグ用プログラムを作成することができる。
図6は、デバッグ用プログラムの第2の作成例を説明するための図である。図6では、デバッグ専用命令が入力された場合にプログラム表示編集部11が表示させる画面の例を示している。
プログラム表示編集部11は、全体プログラムを表示させた後、全体プログラムの編集を受け付ける状態になる。ユーザによって全体プログラム内の何れかの回路位置と、デバッグ専用命令とが入力されると、プログラム表示編集部11は、入力されたデバッグ専用命令を全体プログラム内の指定された回路位置に設定する(ST11)。
デバッグ専用命令は、例えば、OR命令に相当する「OR_D TRUE」などであり、正式命令に「_D」の文字が付加されることによって、正式命令と区別可能なよう構成されている。デバッグ専用命令が入力されてユーザによって確定されると、プログラム表示編集部11は、入力されたデバッグ専用命令をデバッグ用プログラムとして表示する(ST12)。これにより、ユーザは、デバッグ用プログラムと正式プログラムとを容易に判別できる。
プログラム変換部14がデバッグ用プログラムの変換を実行した後、PLC通信部16は、変換されたデバッグ用プログラムの実行コードをPLC20に書き込む。これにより、プログラム変換部14で変換された、デバッグ用プログラムの実行コードと正式プログラムの実行コードと、がPLC20に書き込まれた状態となる。このように、PLC通信部16は、デバッグ用プログラムの実行コードおよび正式プログラムの実行コードを、PLC20に書き込むことによって、全体プログラムの実行コードを、PLC20に書き込む(ステップS50)。
この後、実行モードを切り替えるためのアイコンがユーザによって選択されると、実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。デバッグモードを示すアイコンが選択された場合(ステップS60、デバッグモード)、実行切替部15は、PLC20の実行モードをデバッグモードに切り替える(ステップS70)。具体的には、PLC通信部16が、デバッグモードを指示するモード切替命令を、プログラム実行部21に送る。
この後、プログラム実行部21は、デバッグ用プログラムを用いてPLC20を動作させる。具体的には、プログラム実行部21は、デバッグ用プログラムと正式プログラムとを含む全体プログラムを用いてPLC20を動作させる。これにより、PLC20の動作確認が行われる(ステップS80)。そして、PLC20の動作確認が行われることによって、正式プログラムの不具合が検査される(ステップS90)。
正式プログラムに不具合がある場合(ステップS90、Yes)、正式プログラムが修正され、修正後の正式プログラムがプログラム変換部14で実行コードに変換される(ステップS100)。
具体的には、プログラム表示編集部11が、正式プログラムを表示部32に表示させるとともに、ユーザからの指示に従って正式プログラムを変更する。そして、プログラム記憶部13は、正式プログラムが変更された全体プログラムを記憶しておく。この後、プログラム変換部14は、全体プログラムのうち、変更された部分を、PLC20で実行可能な実行コードに変換する。プログラム記憶部13は、変換後の実行コードを記憶しておく。
そして、PLC通信部16は、プログラム変換部14で変換された正式プログラムの実行コードをPLC20に書き込む。ここでは、全体プログラムのうち、変更された部分の実行コードが、PLC20に書き込まれる。
これにより、プログラム変換部14で変換された、デバッグ用プログラムの実行コードと、正式プログラムの実行コードと、がPLC20に書き込まれた状態となる。この結果、全体プログラムの実行コードがPLC20に書き込まれる(ステップS50)。この後、実行モードを切り替えるためのアイコンがユーザによって選択される。実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。
また、ステップS90の処理において、正式プログラムに不具合がない場合(ステップS90、No)、実行モードを切り替えるためのアイコンがユーザによって選択される。実行切替部15は、選択されたアイコンの種類を判別する(ステップS60)。
デバッグモードを示すアイコンが選択された場合(ステップS60、デバッグモード)、デバッグシステム1では、ステップS70〜S100,S50,S60の一連の処理またはステップS70〜S90,S60の一連の処理が行われる。
一方、通常モードを示すアイコンが選択された場合(ステップS60、通常モード)、実行切替部15は、PLC20の実行モードを通常モードに切り替える(ステップS110)。具体的には、PLC通信部16が、通常モードを指示するモード切替命令を、プログラム実行部21に送る。
この後、プログラム実行部21は、正式プログラムを用いてPLC20を動作させる。具体的には、プログラム実行部21は、全体プログラムのうちデバッグ用プログラムを用いることなく正式プログラムのみを用いてPLC20を動作させる。これにより、デバッグシステム1では、正式プログラムを用いたPLC20の動作が実行される。
ここで、デバッグ専用命令の構成例について説明する。デバッグ専用命令は、プログラム実行部21で実行させるCPU命令であり、所定のビット数(例えば、32ビット)で構成されている。本実施の形態では、デバッグモードを示す情報がデバッグ専用命令内に格納されている。また、通常モードを示す情報が正式命令内に格納されている。
デバッグ専用命令および正式命令には、それぞれ、アドレス、ベース番号、命令の実行条件、命令、命令の種別などが格納されている。アドレスは、例えば、指定ベースからのオフセット値である。例えば、デバッグモードまたは通常モードを示すビットが、命令の実行条件内に追加されている。
具体的には、デバッグ専用命令内の実行条件には、デバッグモードを示すビットが格納され、正式命令内の実行条件には、通常モードを示すビットが格納されている。そして、プログラム実行部21は、デバッグモードまたは通常モードを示すビットに基づいて、動作モードを切り替える。
また、アドレスを示すビットのうちの所定ビット(例えば、上位1ビット)に、デバッグモードまたは通常モードを示す情報が格納されていてもよい。例えば、デバッグシステム1では、0x8000〜0xFFFFをデバッグ専用命令に設定しておく。これにより、プログラム実行部21は、アドレスに基づいて、動作モードを切り替える。
CPU命令内にデバッグモードを示す情報が格納されている場合、このCPU命令は、デバッグ専用命令なので、プログラム実行部21は、デバッグ用プログラムを用いてPLC20を動作させる。
また、CPU命令内に通常モードを示す情報が格納されている場合、このCPU命令は、正式命令なので、プログラム実行部21は、正式プログラムを用いてPLC20を動作させる。本実施の形態のデバッグシステム1は、通常モードを実行する際にはデバッグ用プログラムを用いないので、通常モードの実行動作に影響を与えることはない。
なお、デバッグモードを示す情報をCPU命令内に格納しておく場合には、通常モードを示す情報をCPU命令内に格納しておかなくてもよい。この場合、プログラム実行部21は、デバッグモードを示す情報がCPU命令内に格納されていなければ、このCPU命令は正式命令であると判断する。
また、通常モードを示す情報をCPU命令内に格納しておく場合には、デバッグモードを示す情報をCPU命令内に格納しておかなくてもよい。この場合、プログラム実行部21は、通常モードを示す情報がCPU命令内に格納されていなければ、このCPU命令はデバッグ専用命令であると判断する。
図7は、プログラム編集装置のハードウェア構成を示す図である。プログラム編集装置2は、CPU91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部32、受付部31を有している。プログラム編集装置2では、これらのCPU91、ROM92、RAM93、表示部32、受付部31がバスラインBを介して接続されている。
CPU91は、コンピュータプログラムである編集プログラム90を用いて正式プログラムの編集を行う。表示部32は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、正式プログラム、デバッグ用プログラム、全体プログラム、PLC20の動作状態などを表示する。受付部31は、マウスやキーボードを備えて構成され、ユーザから外部入力される指示情報であるプログラム編集に必要なパラメータ等を受け付ける。受付部31が受け付けた指示情報は、CPU91へ送られる。
編集プログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた編集プログラム90を実行する。具体的には、プログラム編集装置2では、ユーザによる受付部31への指示入力に従って、CPU91がROM92内から編集プログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
プログラム編集装置2で実行される編集プログラム90は、プログラム表示編集部11と、命令管理部12と、プログラム変換部14と、実行切替部15と、PLC通信部16と、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。なお、命令管理部12、プログラム変換部14、実行切替部15、PLC通信部16の各機能は、編集プログラム90とは、異なる別のプログラムに格納しておいてもよい。
このように、デバッグシステム1では、デバッグ作業中の正式プログラムとデバッグ用プログラムとの実行切替を1つの操作で行うことができる。このため、シーケンスプログラムの修正、変換、PLC20への書込み操作を繰り返す必要がなくなる。この結果、デバッグ時の作業であるプログラム作成や設定等の作業量を削減できる。
また、PLC20を動作させるために、デバッグ終了後に、デバッグ用プログラムを削除すること、デバッグ用プログラムが削除された正式プログラムを変換すること、PLC20への書込み処理を行うことが、不要となる。したがって、デバッグ終了後の正式プログラムへの切替えの作業量を削減できる。また、デバッグ用プログラムの消し忘れなどによる品質劣化を防止できるので、シーケンスプログラムの品質を維持できる。
また、正式プログラムとデバッグ用プログラムとは、1つのオブジェクトである。そして、全体プログラム中の命令を実行するか否かによって、通常モード時とデバッグモードとを切り替えている。このため、正式プログラムとデバッグ用プログラムとを別々に生成する必要はない。
なお、プログラム変換部14は、正式プログラムとデバッグ用プログラムとを、まとめて同時に変換してもよい。また、PLC通信部16は、正式プログラムとデバッグ用プログラムとを、まとめて同時にプログラム実行部21に書き込んでもよい。
このように実施の形態によれば、デバッグ作業における一連の操作数を減らすことができるので、シーケンスプログラムのデバッグ作業の工程数を削減することができる。したがって、短時間で容易にデバッグを行うことができるシーケンスプログラムを作成することが可能になる。
以上のように、本発明に係るエンジニアリングツール、プログラム編集装置およびプログラム編集システムは、シーケンスプログラムの作成に適している。
1 デバッグシステム、2 プログラム編集装置、10 エンジニアリングツール、11 プログラム表示編集部、12 命令管理部、13 プログラム記憶部、14 プログラム変換部、15 実行切替部、16 PLC通信部、20 PLC、21 プログラム実行部、31 受付部、32 表示部、41 デバッグ用プログラム。
上述した課題を解決し、目的を達成するために、本発明のエンジニアリングツールは、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部と、前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換する変換部と、を備えることを特徴とする。
上述した課題を解決し、目的を達成するために、本発明のエンジニアリングツールは、実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部と、前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換する変換部と、前記コントローラに実行させるモードを、ユーザ入力される指示情報に基づいて、前記デバッグ用プログラムが実行されるデバッグモードと、前記正式プログラムが実行される通常モードと、の何れかに切り替える実行切替部と、を備えることを特徴とする。

Claims (11)

  1. 実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とするエンジニアリングツール。
  2. 前記プログラム表示編集部は、
    前記正式プログラムと前記デバッグ用プログラムとを区別する情報を前記正式プログラムおよび前記デバッグ用プログラムの少なくとも一方に付加することを特徴とする請求項1に記載のエンジニアリングツール。
  3. 前記コントローラに実行させるモードを、ユーザ入力される指示情報に基づいて、前記デバッグ用プログラムが実行されるデバッグモードと、前記正式プログラムが実行される通常モードと、の何れかに切り替える実行切替部をさらに備えることを特徴とする請求項1または2に記載のエンジニアリングツール。
  4. 前記プログラム表示編集部は、
    前記正式プログラムの中の何れかの回路を選択する選択指示と、選択された回路を前記デバッグ用プログラムに切替える切替え指示と、がユーザ入力されると、選択された回路を前記デバッグ用プログラムに変更することによって前記デバッグ用プログラムを作成することを特徴とする請求項1から3のいずれか1つに記載のエンジニアリングツール。
  5. 前記プログラム表示編集部は、
    前記デバッグ用プログラムで使用されるデバッグ専用命令を、ユーザ入力される指示情報に基づいて前記正式プログラムの中に挿入することによって、前記デバッグ用プログラムを作成することを特徴とする請求項1から3のいずれか1つに記載のエンジニアリングツール。
  6. 前記プログラム表示編集部が前記正式プログラムまたは前記デバッグ用プログラムとして入力することのできる命令として、前記正式プログラムで使用される正式命令と、前記デバッグ用プログラムで使用される前記デバッグ専用命令と、を区別して記憶する命令管理部をさらに備え、
    前記プログラム表示編集部は、前記命令管理部が記憶する命令に基づいて、前記正式プログラムと前記デバッグ用プログラムとを区別して編集することを特徴とする請求項1から5のいずれか1つに記載のエンジニアリングツール。
  7. 前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換する変換部をさらに備えることを特徴とする請求項1から6のいずれか1つに記載のエンジニアリングツール。
  8. 変換後の前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラに書き込む通信部をさらに備えることを特徴とする請求項7に記載のエンジニアリングツール。
  9. 前記変換部は、前記命令管理部が記憶する命令に基づいて、前記正式プログラムおよび前記デバッグ用プログラムを前記コントローラで実行可能なように変換することを特徴とする請求項7に記載のエンジニアリングツール。
  10. 実際の製品として動作させられる正式プログラムの動作確認時に用いられるデバッグ用プログラムが選択された場合には、コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備えることを特徴とするプログラム編集装置。
  11. シーケンスプログラムを編集するプログラム編集装置と、
    前記プログラム編集装置から送られてくるシーケンスプログラムを用いて動作するコントローラと、
    を有し、
    前記シーケンスプログラムは、
    実際の製品として動作させられる正式プログラムと、前記正式プログラムの動作確認時に用いられるデバッグ用プログラムと、を含み、
    前記プログラム編集装置は、
    前記デバッグ用プログラムが選択された場合には、前記コントローラで前記デバッグ用プログラムが実行され、かつ前記デバッグ用プログラムが選択されなかった場合には、前記コントローラで前記デバッグ用プログラムが実行されることなく前記正式プログラムが実行されるよう、前記正式プログラムと前記デバッグ用プログラムとを区別して編集するプログラム表示編集部を備え、
    前記コントローラは、
    前記デバッグ用プログラムが選択された場合には、前記デバッグ用プログラムを実行し、かつ前記デバッグ用プログラムが選択されなかった場合には、前記デバッグ用プログラムを実行することなく前記正式プログラムを実行する、
    ことを特徴とするプログラム編集システム。
JP2015521902A 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム Active JP5859173B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062342 WO2015170382A1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム

Publications (2)

Publication Number Publication Date
JP5859173B1 JP5859173B1 (ja) 2016-02-10
JPWO2015170382A1 true JPWO2015170382A1 (ja) 2017-04-20

Family

ID=54392251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015521902A Active JP5859173B1 (ja) 2014-05-08 2014-05-08 エンジニアリングツール、プログラム編集装置およびプログラム編集システム

Country Status (7)

Country Link
US (1) US9727442B2 (ja)
JP (1) JP5859173B1 (ja)
KR (1) KR101627488B1 (ja)
CN (1) CN105408823B (ja)
DE (1) DE112014002979T8 (ja)
TW (1) TWI564685B (ja)
WO (1) WO2015170382A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102056350B1 (ko) * 2015-01-28 2019-12-16 미쓰비시덴키 가부시키가이샤 인텔리전트 기능 유닛 및 프로그래머블 로직 컨트롤러 시스템
TWI579721B (zh) * 2016-06-13 2017-04-21 崑山科技大學 建立個人化程式設計模型的方法
JP6624008B2 (ja) * 2016-10-27 2019-12-25 横河電機株式会社 エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
JP6946953B2 (ja) * 2017-11-10 2021-10-13 オムロン株式会社 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム
JP7180158B2 (ja) * 2018-07-13 2022-11-30 オムロン株式会社 プログラム開発装置、およびコントローラ
JP7234810B2 (ja) * 2019-06-07 2023-03-08 オムロン株式会社 サポート装置およびサポートプログラム
CN115066676B (zh) * 2020-02-14 2023-06-09 三菱电机株式会社 控制系统、程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质
KR20230069661A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
JP7208441B1 (ja) * 2021-12-22 2023-01-18 三菱電機株式会社 Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03240803A (ja) 1990-02-19 1991-10-28 Mitsubishi Electric Corp シーケンスプログラム編集装置
JP2951751B2 (ja) 1991-06-20 1999-09-20 株式会社日立製作所 プログラマブルコントローラ、並びにプログラム編集表示方法およびプログラム編集表示装置
JPH11249715A (ja) 1998-02-26 1999-09-17 Yaskawa Electric Corp シーケンスプログラムの自動生成方法とモーションコントローラ
JPH11242509A (ja) * 1998-02-26 1999-09-07 Omron Corp プログラマブルロジックコントローラ
US6353896B1 (en) * 1998-12-15 2002-03-05 Lucent Technologies Inc. Method and apparatus for testing event driven software
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6775579B2 (en) 2001-08-06 2004-08-10 Entivity, Inc. Flowchart-based control system with active debugging objects
US7191361B2 (en) * 2001-08-31 2007-03-13 National Instruments Corporation System and method enabling asynchronous execution of a test executive subsequence
JP2004062223A (ja) * 2002-07-24 2004-02-26 Yaskawa Electric Corp プログラマブルコントローラのプログラミング装置。
JP2004295295A (ja) 2003-03-26 2004-10-21 Yaskawa Electric Corp シミュレーションによりプログラムデバッグをする制御装置
JP4462402B2 (ja) 2003-07-16 2010-05-12 オムロン株式会社 プログラマブルコントローラ用のプログラム開発支援装置および処理方法並びにプログラムおよび記録媒体
JP2008059421A (ja) * 2006-09-01 2008-03-13 Yokogawa Electric Corp シーケンスプログラム編集支援装置
JP2009193276A (ja) * 2008-02-14 2009-08-27 Koyo Electronics Ind Co Ltd ラダープログラム作成装置およびこれを用いたラダープログラム作成実行システム
US8059547B2 (en) * 2008-12-08 2011-11-15 Advantest Corporation Test apparatus and test method
US9417626B2 (en) * 2008-09-29 2016-08-16 Fisher-Rosemount Systems, Inc. Efficient design and configuration of elements in a process control system
JP5086296B2 (ja) * 2009-03-19 2012-11-28 株式会社日立産機システム プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
US20120072777A1 (en) 2009-05-27 2012-03-22 Mitsubishi Electric Corporation Debugging device, debugging method, and computer program for sequence program
JP2011022838A (ja) * 2009-07-16 2011-02-03 Yokogawa Electric Corp デバッグ装置およびラダープログラム確認方法
WO2011137464A1 (de) 2010-05-03 2011-11-10 Keba Ag Verfahren zum selektiven aufzeichnen, rekonstruieren und analysieren des programmlaufs eines steuerungsprogramms
JP5636783B2 (ja) * 2010-07-22 2014-12-10 富士電機株式会社 プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法
CN102789413B (zh) * 2011-05-23 2016-02-17 同济大学 一种并行程序的调试系统及方法
CN102855179A (zh) * 2011-06-30 2013-01-02 国际商业机器公司 虚拟机环境下的程序调试方法和系统
JP5800135B2 (ja) 2011-07-15 2015-10-28 富士電機株式会社 プログラマブルコントローラ
JP5849592B2 (ja) 2011-10-07 2016-01-27 富士電機株式会社 プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
US8745591B2 (en) * 2011-10-19 2014-06-03 Microsoft Corporation Data flow visualization and debugging
JP5599535B2 (ja) 2012-03-26 2014-10-01 三菱電機株式会社 シーケンスプログラムデバッグ支援装置
US9586455B2 (en) 2012-03-29 2017-03-07 Toyota Jidosha Kabushiki Kaisha Road surface condition estimating apparatus
US20140059518A1 (en) * 2012-08-24 2014-02-27 Velocio Networks, Inc. Method for Object Oriented Programming of Programmable Logic Controllers in Graphical Programming Languages
JP6171387B2 (ja) * 2013-02-15 2017-08-02 オムロン株式会社 コントローラ、情報処理装置およびプログラム
US9779133B2 (en) * 2014-11-25 2017-10-03 Sap Se Contextual debugging of SQL queries in database-accessing applications
US9678855B2 (en) * 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code

Also Published As

Publication number Publication date
US20160147638A1 (en) 2016-05-26
JP5859173B1 (ja) 2016-02-10
TWI564685B (zh) 2017-01-01
US9727442B2 (en) 2017-08-08
DE112014002979T5 (de) 2016-03-10
KR20160014098A (ko) 2016-02-05
CN105408823B (zh) 2017-07-18
DE112014002979T8 (de) 2016-06-09
KR101627488B1 (ko) 2016-06-03
TW201606463A (zh) 2016-02-16
CN105408823A (zh) 2016-03-16
WO2015170382A1 (ja) 2015-11-12

Similar Documents

Publication Publication Date Title
JP5859173B1 (ja) エンジニアリングツール、プログラム編集装置およびプログラム編集システム
JP2008282363A (ja) プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム
JP6891838B2 (ja) 開発支援装置、開発支援方法、および開発支援プログラム
KR101889631B1 (ko) 시퀀스 프로그램 작성 지원 장치
EP1942386A1 (en) Simulation data creation supporting device
WO2018073868A1 (ja) デバッグ支援装置およびデバッグ支援方法
US20120072777A1 (en) Debugging device, debugging method, and computer program for sequence program
JP3805776B2 (ja) グラフィカルプログラミング装置及びプログラマブル表示器
JP6351906B1 (ja) デバッグ装置
JP5566473B2 (ja) システム設計装置
JP2005084800A (ja) プログラマブルコントローラ
JP2016059989A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP4277206B2 (ja) ラダープログラムの表示方法および表示装置
KR100790470B1 (ko) 디바이스 드라이버 테스트를 위한 테스트 케이스 자동 생성방법 및 장치
KR101716480B1 (ko) Gui 기반의 테스트케이스 입력 장치
TWI569118B (zh) 畫面作成軟體
JP2006309666A (ja) プログラム開発支援装置、プログラム動作比較方法および半導体集積回路製造方法
JP6407481B1 (ja) プログラム作成装置
JP6795568B2 (ja) トレース装置及びプログラマブルコントローラ
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
KR101303866B1 (ko) 기판 처리 장치의 모니터링 방법
JP5287630B2 (ja) 制御システム、制御システムの交信方法、通信ユニット、および通信ユニットの交信方法
JP2019211843A (ja) ラダー表示装置
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム
JPH07253876A (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: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151215

R150 Certificate of patent or registration of utility model

Ref document number: 5859173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250