JP4569011B2 - プログラマブルコントローラ及びその周辺装置 - Google Patents
プログラマブルコントローラ及びその周辺装置 Download PDFInfo
- Publication number
- JP4569011B2 JP4569011B2 JP2001045227A JP2001045227A JP4569011B2 JP 4569011 B2 JP4569011 B2 JP 4569011B2 JP 2001045227 A JP2001045227 A JP 2001045227A JP 2001045227 A JP2001045227 A JP 2001045227A JP 4569011 B2 JP4569011 B2 JP 4569011B2
- Authority
- JP
- Japan
- Prior art keywords
- multiple access
- value
- monitor
- sequence program
- peripheral
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明はプログラマブルコントローラ(以下、PCと称す)の制御プログラムのデバッグに関わり、特にPC内の動作中の状態を格納するデバイスが、どのタイミングで変化したかをロギングし、ロギング結果をもとに同一デバイスへの重複アクセス箇所の解析、解析結果の表示を行うプログラマブルコントローラ及びその周辺装置に関する。
【0002】
【従来の技術】
従来のPC内のデバイス値をモニタする動作を、図8のPCのデバッグ装置構成図と、図9及び図10のフローチャートを用いて説明する。
【0003】
図8は、従来におけるPC内のデバイス値をモニタするデバッグ装置構成を示した構成図である。
図において、101はシーケンスプログラムの実行、デバイス値モニタへの応答等を行うPC、102はPC101内の現在のデバイス値をモニタするPCの周辺装置、103は周辺装置102に接続されデバイス値などのモニタ情報をオペレータに対して表示するためのCRT等の表示手段、104は周辺装置102に接続され所定の入力を行う入力手段、例えばキーボードである。
【0004】
PC101において、110はシーケンスプログラムやデバイス値を格納するメモリであり、シーケンスプログラムを格納するプログラムメモリ110a、デバイス値を格納するデバイスメモリ110bを有している。
111はプログラムメモリ110aに格納されているシーケンスプログラムを読みとり、命令を順次実行し、結果となるデバイス値をデバイスメモリ110bに格納していくシーケンスプログラム実行部、112はPCの周辺装置102との間でデータの授受を行う周辺I/F部である。
【0005】
PC周辺装置102において、120はPC101との間でデータの授受を行うPCI/F部、121はデバイス値をPCI/F部120及びPCの周辺I/F部112を介してデバイスメモリ110bから収集するモニタ実行部、122はモニタ実行部121が収集したデバイス値に従い実際に表示手段103にモニタ結果を表示するモニタ結果表示処理部、123はキーボード104からの入力を処理するキー入力処理部である。
【0006】
次に、PCのシーケンスプログラム実行部111のPC内の現在のデバイス値をモニタする動作について、図9のフローチャートを用いて説明する。
ステップS51にて、プログラムメモリ110aに格納されているシーケンスプログラム内の1命令を実行する。
次にステップS522で、デバイスメモリ110bにアクセスし、ステップS51により変化したデバイス値をデバイスメモリ110bへ格納する。
その後、ステップS53にて、実行した命令がEND命令かどうかを判断し、END命令であればシーケンスプログラムスキャンが完了したので、ステップS54に移行し、PCの周辺装置102からのデバイス値要求(ステップS61)が無いかチェックし、デバイス値要求(ステップS61)があれば、ステップS55でデバイス値取得(ステップS62)に基づきPCの周辺装置102へデバイスメモリ110bのデータを転送する。
そして、デバイスメモリ110bのデータ転送が完了したらステップS51の動作へ戻る。
一方、ステップS53にて実行した命令がEND命令でない場合や、ステップS54にて周辺装置102からのデバイス値要求(ステップS61)がない場合も、再びステップS51の命令実行へ戻る。
この動作を繰り返すことによりプログラムメモリ10aに格納されたシーケンスプログラムを実行する。
【0007】
次に、PCの周辺装置102から現在のデバイス値をモニタする動作について、図10のフローチャートを用いて説明する。
キーボード104からモニタ開始指令が入力されると、キー入力処理部123によりデバイス値モニタが開始する。
デバイス値モニタ処理を開始すると、デバイス値要求(ステップS61)とデバイス値取得(ステップS62)で、PC内のデバイスメモリ110bのデバイス値を取得する。
PC101ではシーケンスプログラム実行部111の処理が、ステップS54で示される「周辺装置からの取得要求有り?」の処理に達した時にデバイス値要求を受け付け、ステップS55でPCの周辺装置102にデバイス値が転送される。
次にステップS63にて、取得したデバイス値をモニタ結果として、モニタ実行部121により現在のデバイス値を分析し、モニタ結果表示処理部122により表示情報を作成し、モニタ結果として多重アクセス情報と同時に表示手段103に表示する。
その後、ステップS64にて、キーボード104よりデバイス値モニタ終了要求が有るかをチェックし、デバイス値モニタ終了要求があればデバイス値モニタ処理を終了し、デバイス値モニタ終了要求が無ければステップS61以降の処理を繰り返す。
【0008】
以上のように、図9及び図10のフローチャートの処理を繰り返し実行することにより、PCの周辺装置102によるPC101内のデバイスメモリ110bのモニタが行われる。
【0009】
【発明が解決しようとする課題】
従来のPCの周辺装置によりPC内のデバイス値をモニタする場合、プログラムの開始から、プログラムの終了を示すEND命令が実行されるまでを1シーケンススキャンとし、END命令実行時にモニタ結果としてデバイス値の現在の状態のみをPCの周辺装置に出力している。
そのため、同じデバイスがON/OFFを繰り返した場合、あるいは同じデバイスのデバイス値が複数回変化した場合に、END命令処理直前に実行した処理がデバイスメモリにセットした値のみがモニタ結果として出力される。
このモニタ結果では、“いつ”、“どのようにして”デバイス値が変化したのかを知ることはできず、シーケンスプログラムの動作やデバイス値が複数回変化するような動作をした場合に、“なぜ”デバイス値が変わってしまったのか、あるいは“どのシーケンスプログラム処理により”値が書き換えられてしまったのかを特定することが困難であり、誤ってデバイス値を書き換えてしまっている等のシーケンスプログラムのプログラムミス箇所を検出するのは困難であった。
【0010】
本発明の目的は、同一デバイスへ複数回アクセスがあった場合(以下、多重アクセスと称す)、多重アクセス時のデバイス番号をロギングし、デバック効率を向上するものである。
また、同一デバイスへ複数回アクセスがあった場合(以下、多重アクセスと称す)、多重アクセス時の外部より値を書き換えた外部機器の情報をロギングし、デバッグ効率を向上するものである。
また、シーケンススキャン毎のデバイス番号のロギングを可能とし、シーケンスプログラムのプログラムミス箇所を容易に検出し、シーケンスプログラムのデバック/修正を容易に行い、デバック効率を向上するものである。
【0011】
【課題を解決するための手段】
本発明に係わるプログラマブルコントローラは、複数の命令を含むシーケンスプログラムをステップ毎に命令実行するシーケンスプログラム実行部と、上記シーケンスプログラムの1シーケンススキャン内にデバイス値が変化した場合、デバイス値が変化したデバイス番号及びステップ番号を格納するとともに、シーケンスプログラムのEND命令実行時に外部機器の書き込みによりデバイス値が変化した場合、デバイス値が変化したデバイス番号及びステップ番号に加え上記外部機器の種別情報を格納するメモリと、を備えたものである。
【0013】
さらに、デバイス変化記憶領域は、シーケンスプログラムのEND命令実行時に、外部機器の書き込みによりデバイス値が変化したデバイス番号の履歴をも格納するものである。
【0014】
さらにまた、多重アクセス記憶領域にデバイス値が変化したデバイス番号が格納された後、シーケンスプログラムの実行を中断するものである。
【0016】
また、本発明に係わるプログラマブルコントローラの周辺装置は、プログラムコントローラのメモリより格納されている情報を取得し、END命令実行時に外部機器の書き込みによりデバイス値が変化した場合に当該外部機器の種別を表示するものである。
【0018】
【発明の実施の形態】
本発明の実施の形態について、図1のPC及び、PCの周辺装置であるデバッグ装置からなるシステム構成図と、図2及び図3のフローチャートを用いて説明する。
【0019】
図1は、本発明におけるPC内のデバイス値をモニタするデバッグ装置構成を示した構成図である。
図において、1はシーケンスプログラムの実行、デバイス値モニタへの応答、多重アクセス情報のロギング等を行うPC、2はPC1内の現在のデバイス値及びPC内のデバイスの多重アクセス状況をモニタするPCの周辺装置、3は周辺装置2に接続されデバイス値と多重アクセス結果などのモニタ情報をオペレータに対して表示するためのCRT等の表示手段、4は周辺装置2に接続され所定の入力を行う入力手段、例えばキーボード、5はPC1に接続された外部機器(例えばアナログ入力ユニット等)である。
【0020】
PC1において、10はシーケンスプログラムやデバイス値を格納するメモリであり、シーケンスプログラムを格納するプログラム記憶領域としてのプログラムメモリ10a、デバイス値を格納するデバイス記憶領域としてのデバイスメモリ10b、実行した命令のステップを格納する実行ステップ格納エリア10c、シーケンスプログラムがアクセスしたデバイス番号と、そのシーケンスプログラムのステップ番号を格納するデバイス変化記憶領域としてのデバイス変化テーブル10d、デバイス変化テーブル105のデータの中から、同一のデバイスにアクセスしている箇所を格納した多重アクセス記憶領域としての多重アクセステーブル10eを有している。
11はプログラムメモリ10aに格納されているシーケンスプログラムを読みとり、命令を順次実行し、結果となるデバイス値をデバイスメモリ10bに格納していくシーケンスプログラム実行部、12はPCの周辺装置2との間でデータの授受を行う周辺I/F部、13はPC1に接続された外部機器5からの入力をデバイスメモリ10bへ書き込む外部機器アクセス処理部である。
【0021】
PC周辺装置2において、20はPC1との間でデータの授受を行うPCI/F部、21はデバイス値をPCI/F部20及びPCの周辺I/F部12を介してデバイスメモリ10bから収集するモニタ実行部、22はモニタ実行部21が収集したデバイス値に従い実際に表示手段3にモニタ結果を表示するモニタ結果表示処理部、23はキーボード4から入力された各種入力を処理しPCI/F部20に入力情報の指示をだすキー入力処理部、24は多重アクセス結果をPCI/F部20及びPC1の周辺I/F部12を介して、多重アクセステーブル10eに格納されているデータを分析する多重アクセス分析部、25は多重アクセス分析部24がデバイス番号を比較した結果、デバイス番号が重複していた場合に、重複した部分を多重アクセスと判断し、表示手段3に多重アクセス結果を表示する多重アクセス結果表示処理部である。
【0022】
次に、PCのシーケンスプログラム実行部11の動作について、図2のフローチャートを用いて説明する。
図2のフローチャートは、PC1がシーケンスプログラムの実行を開始すると同時に実行を開始する。
PCのシーケンスプログラム実行部11は、ステップS1でPCの周辺装置2から多重アクセスモニタ開始要求が有るかを判断し、多重アクセスモニタ要求が無ければステップS2に移行して、プログラムメモリ10aに格納されているシーケンスプログラム内の1命令を実行する。
次にステップS3で、デバイスメモリ10bにアクセスし、ステップS2により変化したデバイス値をデバイスメモリ10bへ格納する。
その後、ステップS4にて、実行した命令がEND命令かどうかを判断し、END命令であればシーケンスプログラムスキャンが完了したので、ステップS5に移行し、PCの周辺装置2からのデバイス値要求(ステップS32)が無いかチェックし、デバイス値要求(ステップS32)があれば、ステップS6でデバイス値取得(ステップS33)に基づきPCの周辺装置2へデバイスメモリ10bのデータを転送する。
そして、デバイスメモリ10bのデータ転送が完了したらステップS1の動作へ戻る。
一方、ステップS4にて実行した命令がEND命令でない場合や、ステップS5にて周辺装置2からのデバイス値要求(ステップS32)がない場合も、再びステップS1の命令実行へ戻る。
この動作を繰り返すことによりプログラムメモリ10aに格納されたシーケンスプログラムを実行する。
【0023】
なお、ステップS1における多重アクセスモニタ開始要求有りの判断処理を設けることにより、オペレータが多重アクセスモニタを実行しない場合のPC1の1スキャン動作の延びを最小限(従来のデバイス値モニタ時と同等)にとどめることが可能である。
【0024】
ステップS1において、PCの周辺装置2より多重アクセスモニタ要求があれば、ステップS7に移行し、プログラムメモリ10aに格納されているシーケンスプログラム内の1命令を実行し、実行した命令のステップ番号をステップS10で参照するために、PCのメモリ10内の実行ステップ格納エリア10cへ保存しておく。
なお、実行ステップ格納エリア10cは、図4の様にステップ番号格納エリアにより構成されており、命令実行を繰り返すたびに実行した命令のステップ番号を順次上書きする形で格納する。
【0025】
次に、ステップS8によりデバイスメモリ10bにアクセスし、ステップS2により変化したデバイス値をデバイスメモリ10bへ格納する。
その後、ステップS9では、ステップS7で実行した命令がEND命令かどうかを判断を行う。
ステップS7で実行した命令がEND命令で無い場合は、ステップS10に移行し、シーケンスプログラムがステップS7によりデータの書き込みを行った際に併せて取得したデバイス番号をデバイス変化テーブル10dのn番地のデバイス番号格納位置へ格納し、その後、ステップS11では、ステップS7にて実行ステップ格納エリア10cに保存したステップ番号を同様にデバイス変化テーブル10dのn番地のステップ番号格納位置へ格納し、nの値を+1する。
なお、デバイス変化テーブル10dは、図5に示す様に、各番地に応じて、デバイス番号、ステップ番号並びに、予めプログラマブルコントローラ及び外部機器に登録された機器種別情報を格納するアクセス元により構成されており、命令が実行される度にステップS10、ステップS11と同様の処理を繰り返すことによりデバイス番号とステップ番号を格納する。
【0026】
次に、ステップS12にて、同一のデバイス番号がデバイス変化テーブル10dへ格納されているかを確認するために、シーケンスプログラム実行部により今回格納したデバイス番号と既に格納されているデバイス番号が一致しているかをデバイス変化テーブルの先頭から順番に比較し、デバイス番号が一致するデータが見つかった場合にデバイス番号が重複していたと判断する。
ステップS12にてデバイス番号が重複していた場合に、既にデバイス変化テーブル10dに格納済みであると判断し、ステップS13に移行して、多重アクセステーブル10eへ、今回デバイス変化テーブル10dに格納したデバイス番号とステップ番号を、図6に示すデバイス番号とステップ番号により構成された多重アクセステーブル10eのm番地にも同じデータ(デバイス番号、今回検出したステップ番号)を多重アクセステーブルへコピーし、mの値を+1する。
一方、ステップS12にて、デバイス番号が重複していないと判断した場合は、ステップS13における多重アクセステーブル10eへの多重アクセス情報格納処理をスキップし、ステップS7の命令実行へ戻り同様の処理を繰り返す。
【0027】
ステップS9において、ステップS7で実行した命令がEND命令であれば、ステップS14に移行し、外部機器アクセス有りのチェック処理によりアナログ入力ユニット等の外部機器5から外部機器アクセス処理部13を通してEND処理実行時にアナログ入力情報等の書き込みが有ったどうかをシーケンスプログラム実行部のEND処理によりチェックする。
チェックの結果、外部機器5からの書き込みがなければ、ステップS19に移行して、周辺装置2からの取得要求有り?のチェック処理を行う。
一方、外部機器5から書き込みがあれば、ステップS15に移行して、外部機器5から外部機器アクセス処理部13を通してデータの書き込みを行った際に併せて取得したデバイス番号をデバイス変化テーブル10dのn番地のデバイス番号格納位置へ格納し、その後、ステップS16にて、アクセスした外部機器種別をデバイス変化テーブル10dのn番地のアクセス元格納位置へ格納し、nの値を+1する。
【0028】
次に、ステップS17にて、同一のデバイス番号がデバイス変化テーブル10dへ格納されているかを、今回格納したデバイス番号と既に格納されているデバイス番号が一致しているかをデバイス変化テーブル10dの先頭から順番に比較し、デバイス番号が一致するデータが見つかった場合にデバイス番号が重複していたと判断する。
ステップS17にてデバイス番号が重複していた場合に、既にデバイス変化テーブル10dに格納済みであると判断し、ステップS18に移行して、多重アクセステーブル10eへ、今回デバイス変化テーブル10dに格納したデバイス番号とステップ番号を、図6に示す多重アクセステーブル10eのm番地にも同じデータ(デバイス番号、ステップ番号、アクセス元)を多重アクセステーブルへコピーし、mの値を+1する。
一方、ステップS17にて、デバイス番号が重複していないと判断した場合は、ステップS18における多重アクセステーブル10eへの多重アクセス情報格納処理をスキップし、ステップS19へ移行する。
【0029】
ステップS19では、PCの周辺装置2がデバイスの多重アクセス情報を表示するために、周辺装置2からデバイス値多重アクセス情報取得要求を行なっているか否かをチェックする。
ステップS19にて、周辺装置2からデバイス値多重アクセス要求(ステップS36)がない場合は、再びステップS7へ戻る。
一方、デバイス値多重アクセス情報要求(ステップS36)があれば、周辺装置2へデバイスの多重アクセス情報を転送する必要があるので、ステップS20に移行し、デバイス値多重アクセス情報取得処理(ステップS37)に基づきPCの周辺装置2へデバイスメモリ10bのデータと、多重アクセステーブル10eのデータを、周辺I/F部12及びPCI/F部20を介して多重アクセステーブル内の全データを多重アクセステーブルに格納した状態のまま転送する。
【0030】
ここでEND命令時のみステップS19における周辺装置からの取得要求有りのチェック処理を実行するのは、多重アクセスモニタ中もPC1のスキャンタイムを極力延ばさないよう、周辺装置へデバイス値多重アクセス情報転送処理(ステップS20)の処理回数を制限するためである。
【0031】
ステップS20による処理が完了した場合は、新規に多重アクセス情報を取得するために、ステップS21にて、デバイス変化テーブル/多重アクセステーブル初期化処理を行い、デバイス変化テーブル10dと多重アクセステーブル10eを初期化しすると共に、デバイス変化テーブル10dと多重アクセステーブル10eの格納位置を示すn及びmの値も初期化する。
その後、ステップS22における多重アクセスモニタ終了の判断処理により、周辺装置2から多重アクセスモニタ終了要求(ステップS40)があるかをチェックし、多重アクセスモニタ終了要求があれば、ステップS1における多重アクセスモニタ開始チェック処理に戻り同様の処理を繰り返す。
一方、多重アクセスモニタ終了要求が無ければ、ステップS7における命令実行処理へ戻る。
この動作を繰り返すことにより、PC内の動作中の状態を格納するデバイスがどのタイミングで変化したか及び、多重アクセス情報ロギングしながら、シーケンスプログラムを実行する。
【0032】
次に、PCの周辺装置2の動作について、図3のフローチャートを用いて説明する。
オペレータがPCの周辺措置2のキーボード4よりモニタ開始要求を出すことにより図3のフローチャートは開始する。
ステップS31における多重アクセスモニタ要求有りのチェック処理により、オペレータがキーボード4から多重アクセスモニタ要求を出しているかをチェックし、多重アクセスモニタ要求がなければ、デバイス値要求(ステップS32)とデバイス値取得(ステップS33)で、PC内のデバイスメモリ10bのデバイス値を取得する。
PC1ではシーケンスプログラム実行部11の処理が、ステップS5で示される「周辺装置からの取得要求有り?」の処理に達した時にデバイス値要求を受け付け、ステップS6でPCの周辺装置2にデバイス値が転送される。
次にステップS34にて、取得したデバイス値をモニタ結果として、モニタ実行部21により現在のデバイス値を分析し、モニタ結果表示処理部22により表示情報を作成し、モニタ結果として多重アクセス情報と同時に表示手段3に表示する。
その後、ステップS35にて、キーボード4よりデバイス値モニタ終了要求が有るかをチェックし、デバイス値モニタ終了要求があればデバイス値モニタ処理を終了し、デバイス値モニタ終了要求が無ければステップS31以降の処理を繰り返す。
【0033】
なお、多重アクセスモニタ要求有無のチェック処理(ステップS31)を設けることにより、多重アクセスモニタを実行しない場合のPCの周辺装置2のデバイスモニタ間隔を従来とどぼ同等の性能で実行可能とする。
【0034】
ステップS31による多重アクセスモニタ要求有無のチェックの結果、オペレータより多重アクセスモニタ要求がある場合には、ステップS36に移行し、周辺装置2のPCI/F部20及びPC1の周辺I/F部12を通して、多重アクセステーブルに格納された多重アクセス情報の転送をPC1に要求する。
そして、ステップS37における、デバイス値多重アクセス情報取得処理で、周辺装置2のPCI/F部20及び、PC1の周辺I/F部12を通して、PC1内のデバイスメモリ10bのデバイス値と、多重アクセステーブル10eの多重アクセス情報を取得する。
PC1ではシーケンスプログラム実行部11が、ステップS19に達した時にこの多重アクセス情報要求を受け付け、周辺装置2へデバイス値多重アクセス情報転送処理(ステップS20)でPC1の周辺I/F部12及び、周辺装置2のPCI/F部20を通して、周辺装置2にデバイス値と多重アクセス情報が転送される。
【0035】
次に、ステップS38におけるデバイス値モニタ多重アクセス情報表示処理により、ステップS37で取得したデバイス値と多重アクセス情報を、多重アクセス分析部24により多重アクセステーブルの内容を元に、同一のデバイス番号が多重アクセステーブルに複数回登録されているか、複数回登録されていた場合のアクセス元は同一か/異なるか等を分析し、多重アクセス結果表示処理部25により表示情報を作成してモニタ結果として表示手段3へ表示する。
また、ステップS38における多重アクセス情報表示処理と同時に、モニタ実行部21により現在のデバイス値を従来技術同様に分析し、モニタ結果表示処理部22により表示情報を作成し、モニタ結果として多重アクセス情報と同時に表示手段3に表示する。
【0036】
図7は、多重アクセス情報と現在のデバイス値を併せて表示した表示例を示した図である。
図において、71はモニタ対象のデバイス番号を格納したデバイス欄、72はモニタ実行部21によりモニタした各デバイスの現在のデバイス値を2進数化してON/OFF状態として表示、73はデバイス変化テーブルに格納されたデバイス番号と現在モニタ中のデバイス番号が一致した場合に、各デバイスに対して値を書き込んだ命令の実行ステップ番号(デバイス変化テーブルのステップ番号)が示される書込みステップ欄、74は命令実行により多重アクセスが発生した場合(多重アクセステーブルに格納されたデバイス番号と現在モニタ中のデバイス番号が一致した場合)に、該多重アクセスの発生したデバイスの多重アクセスステップ番号(多重アクセステーブルのステップ番号)を表示する多重アクセスステップ表示欄、75は多重アクセステーブルに格納されたデバイス番号と現在モニタ中のデバイス番号が一致した場合に、多重アクセス実行を行った多重アクセステーブルのアクセス元に格納されたアクセス元(命令実行で多重アクセス発生時はシーケンスプログラム、外部機器から多重アクセス発生時は外部接続機器等)を表示する多重アクセス実行元欄である。
【0037】
その後、ステップS39における多重アクセスモニタ終了要求ありのチェック処理により、オペレータがキーボード4から多重アクセスモニタ終了要求を出しているかをチェックし、多重アクセスモニタ終了要求がなければ、ステップS36のデバイス値多重アクセス要求の処理以降を繰り返し実行し、多重アクセスモニタ終了要求があれば、ステップS40にて、周辺装置2のPCI/F部20及びPC1の周辺I/F部12を通して多重アクセスモニタ終了要求をPC1に要求する。
ステップS40の多重アクセスモニタ終了要求により、プログラマブルコントローラはステップS22の判断により多重アクセスモニタ処理を終了する。
【0038】
本実施の形態によれば、シーケンスプログラムの1命令ごとに、デバイスの変化の履歴を格納しておくので、複数回同一デバイスへのデバイス値の書込によりON/OFFの状態、PC内のデバイス値の変化が複数回発生するような動作をした場合、同一デバイスへデバイス値の書込が行われたデバイス番号と多重アクセスを行ったシーケンスプログラムの命令実行ステップ番号を知ることができ、“いつ”、“どのようにして”、“どの命令実行時によって”デバイス値が変化したのかを即座に知ることができる。
そのため、従来の重複アクセス時に“いつ”、“どのようにして”デバイス値が変化したのかを知ることがでず、原因調査が困難であったPCの周辺装置に比べ、シーケンスプログラムのプログラムミスの検出を容易にする効果がある。
これにより、PCシステム開発に置けるデバック効率向上が可能となる。
また、PCに接続した外部機器からの書き込み結果についても、“いつ”、“どの外部機器から”デバイス値が書き換えられたかを知ることができ、同様にPCを含むシステムの動作に関するミス検出を容易にする効果が得られる。
さらに、シーケンスプログラム実行部のステップS13の処理の後に、重複書き込み発生時にはシーケンスプログラムの実行を中断する処理を設けることにより、重複書き込み発生時には重複書き込みが発生した状態を保持したままプログラム実行を中断し、エラー発生状態を確認することも可能である。
さらにまた、PCまたはPCの周辺装置に、デバイスメモリへの書き込み禁止の命令や外部機器情報を登録する多重アクセス禁止命令テーブル及び、多重アクセス禁止機器テーブルを設け、デバイス変化テーブルのアクセス元に登録された命令又は外部機器情報と多重アクセス禁止命令テーブル及び、多重アクセス禁止機器テーブルを比較しながら、重複アクセスモニタを実行することにより、(説明に無いので、実施の形態欄に一例として、説明を追記ください)書き込み禁止命令及び外部機器から書き込みが有った場合に重複書き込みが発生した状態を保持したままプログラム実行を中断し、エラー発生状態を確認することも可能である。
また、本発明ではPC側にて実行しているデバイスの重複チェック処理を、PCの周辺装置側の多重アクセスモニタ処理のステップS33の後に設けることにより、多重アクセスモニタ実行中のPCのスキャンタイムへの影響を無くすことも可能である。
【0039】
【発明の効果】
本発明によれば、複数回同一デバイスへのデバイス値の書込によりON/OFFの状態、PC内のデバイス値の変化が複数回発生するような動作をした場合、同一デバイスへデバイス値の書込が行われたデバイス番号と多重アクセスを行ったシーケンスプログラムの命令実行ステップ番号を知ることができ、“いつ”、“どのようにして”、“どの命令実行時によって”デバイス値が変化したのかを即座に知ることができる。
そのため、シーケンスプログラムのプログラムミスの検出を容易にすることができ、PCシステム開発に置けるデバック効率向上が可能となる。
【図面の簡単な説明】
【図1】 本発明におけるデバッグ装置構成を示した構成図である。
【図2】 本発明におけるPCのシーケンスプログラム実行部の動作を示したフローチャートである。
【図3】 本発明におけるPCの周辺装置の動作を示したフローチャートである。
【図4】 本発明における実行ステップ格納エリアの構成を示した図である。
【図5】 本発明におけるデバイス変化テーブルの構成を示した図である。
【図6】 本発明における多重アクセステーブルの構成を示した図である。
【図7】 本発明で提案するモニタ結果の表示例である。
【図8】 従来のデバッグ装置構成をしめした構成図である。
【図9】 従来のPCのシーケンスプログラム実行部の動作を示したフローチャートである。
【図10】 従来のPCの周辺装置の動作を示したフローチャートである。
【符号の説明】
1 PC、2 PC周辺装置、3 表示手段、4 キーボード、5 外部機器、10 メモリ、10a プログラムメモリ、10b デバイスメモリ、10c実行ステップ格納エリア、10d デバイス変化テーブル、10e 多重アクセステーブル、11 シーケンスプログラム実行部、12 周辺I/F部、13外部機器アクセス処理部、20 PCI/F部、21 モニタ実行部、22 モニタ結果表示処理部、23 キー入力処理部、24 多重アクセス分析部、25 多重アクセス結果表示処理部。
Claims (2)
- 複数の命令を含むシーケンスプログラムをステップ毎に命令実行するシーケンスプログラム実行部と、
上記シーケンスプログラムの1シーケンススキャン内にデバイス値が変化した場合、デバイス値が変化したデバイス番号及びステップ番号を格納するとともに、シーケンスプログラムのEND命令実行時に外部機器の書き込みによりデバイス値が変化した場合、デバイス値が変化したデバイス番号及びステップ番号に加え上記外部機器の種別情報を格納するメモリと、
を備えたことを特徴とするプログラマブルコントローラ。 - 請求項1に記載のプログラムコントローラのメモリより格納されている情報を取得し、END命令実行時に外部機器の書き込みによりデバイス値が変化していた場合には当該外部機器の種別を表示することを特徴とするプログラマブルコントローラの周辺装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001045227A JP4569011B2 (ja) | 2001-02-21 | 2001-02-21 | プログラマブルコントローラ及びその周辺装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001045227A JP4569011B2 (ja) | 2001-02-21 | 2001-02-21 | プログラマブルコントローラ及びその周辺装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002251207A JP2002251207A (ja) | 2002-09-06 |
JP4569011B2 true JP4569011B2 (ja) | 2010-10-27 |
Family
ID=18907064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001045227A Expired - Fee Related JP4569011B2 (ja) | 2001-02-21 | 2001-02-21 | プログラマブルコントローラ及びその周辺装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4569011B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6812637B2 (ja) * | 2016-01-20 | 2021-01-13 | 富士電機株式会社 | プログラマブルコントローラシステム、その開発支援装置、ターゲット装置 |
JPWO2020065863A1 (ja) * | 2018-09-27 | 2021-01-07 | 三菱電機株式会社 | プログラマブルロジックコントローラ、方法、及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62259104A (ja) * | 1986-05-06 | 1987-11-11 | Toshiba Corp | シ−ケンサ |
JPH04195428A (ja) * | 1990-11-28 | 1992-07-15 | Fuji Electric Co Ltd | プログラマブルコントローラ |
JPH04259006A (ja) * | 1991-02-13 | 1992-09-14 | Fanuc Ltd | Pmcの使用アドレス表示方法 |
JP2000004243A (ja) * | 1998-06-15 | 2000-01-07 | Mitsubishi Electric Corp | プログラマブルコントローラのデータ通信方法およびプログラマブルコントローラ |
WO2000043883A1 (fr) * | 1999-01-25 | 2000-07-27 | Mitsubishi Denki Kabushiki Kaisha | Unite peripherique de controleur programmable |
-
2001
- 2001-02-21 JP JP2001045227A patent/JP4569011B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62259104A (ja) * | 1986-05-06 | 1987-11-11 | Toshiba Corp | シ−ケンサ |
JPH04195428A (ja) * | 1990-11-28 | 1992-07-15 | Fuji Electric Co Ltd | プログラマブルコントローラ |
JPH04259006A (ja) * | 1991-02-13 | 1992-09-14 | Fanuc Ltd | Pmcの使用アドレス表示方法 |
JP2000004243A (ja) * | 1998-06-15 | 2000-01-07 | Mitsubishi Electric Corp | プログラマブルコントローラのデータ通信方法およびプログラマブルコントローラ |
WO2000043883A1 (fr) * | 1999-01-25 | 2000-07-27 | Mitsubishi Denki Kabushiki Kaisha | Unite peripherique de controleur programmable |
Also Published As
Publication number | Publication date |
---|---|
JP2002251207A (ja) | 2002-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4984239A (en) | Automatic verification system for maintenance/diagnosis facility in computer system | |
JP4569011B2 (ja) | プログラマブルコントローラ及びその周辺装置 | |
JP3358759B2 (ja) | プログラマブルコントローラのデータトレース方法 | |
JP2001243089A (ja) | ソフトウェア検証装置及びソフトウェア検証方法 | |
JPH1091477A (ja) | 制御用マイクロコンピュータ装置及び該装置の保守ツール | |
JP2684966B2 (ja) | 入出力処理装置のデバッグ装置 | |
JPS62139050A (ja) | 保守診断処理装置管理による命令試験方式 | |
JPS6337436A (ja) | プログラム開発支援装置 | |
JPS63201736A (ja) | プログラマブルコントロ−ラのプログラミング装置 | |
JPH0465729A (ja) | シンボリック・デバッガ | |
JPH05108407A (ja) | 計算機用プログラムのデバツクシステム | |
JPH07295860A (ja) | ソフトウエア試験方法およびそのための装置 | |
JPH0221341A (ja) | 他機プログラム動作の監視装置 | |
JPH05100898A (ja) | プログラムデバツグ方式 | |
JPH01184551A (ja) | プログラムのデバッギング方式 | |
JPH02253305A (ja) | Pcの信号トレース方式 | |
JPH10228434A (ja) | ネットワークを利用したハードウェア診断システム | |
JPH0472257B2 (ja) | ||
JPH05143395A (ja) | 診断プログラム実行方式およびそれに使用されるログ情報表示方式 | |
JPH0587850B2 (ja) | ||
JPH0358254A (ja) | チャネルのデータ転送試験方式 | |
JPH0573347A (ja) | エミユレーシヨン装置 | |
JPH05313941A (ja) | コンピュータプログラムのデバッグ方法 | |
JPH04284543A (ja) | マイクロコンピュータプログラムトレース装置 | |
JPH01156838A (ja) | 中央処理装置命令の試験方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040701 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100406 |
|
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: 20100713 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100726 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |