JP3892873B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP3892873B2
JP3892873B2 JP2005004152A JP2005004152A JP3892873B2 JP 3892873 B2 JP3892873 B2 JP 3892873B2 JP 2005004152 A JP2005004152 A JP 2005004152A JP 2005004152 A JP2005004152 A JP 2005004152A JP 3892873 B2 JP3892873 B2 JP 3892873B2
Authority
JP
Japan
Prior art keywords
data
trace
memory
sequence program
program
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
Application number
JP2005004152A
Other languages
English (en)
Other versions
JP2005115969A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005004152A priority Critical patent/JP3892873B2/ja
Publication of JP2005115969A publication Critical patent/JP2005115969A/ja
Application granted granted Critical
Publication of JP3892873B2 publication Critical patent/JP3892873B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、鉄鋼、製紙プラントや上下水道などの公共システム、自動車産業な
ど、産業用システムの制御に広く使用されているプログラマブルコントローラに
関する。
従来、この種のプログラマブルコントローラ(以下、PLCと略称)において
、プログラム実行状態をモニタするには、1スキャン分のシーケンスプログラム
を実行した後で、モニタ対象のプログラム範囲で使用されている変数のデータ内
容をPLCのデータメモリから読み出し、シーケンスプログラムを表示したモニ
タ装置の画面上で、変数を使用している命令の近傍にデータ内容を表示させたり
、該当するシーケンス命令の表示色を変えるなどの方法を採用していた。
この方法はシーケンスプログラム中でモニタの対象となる変数が一度だけ使用
されている場合には正しい内容を表示できるが、同一変数が繰り返し使用されて
いる場合には正しい内容を表示できない、という問題があった。
従来のコントローラのプログラムモニタの状態を図8で説明する。図8のプロ
グラムは変数A、Bを加えて変数Cに格納し、変数Cに変数Dを乗じてその結果
を再び変数Cに格納するというものである。このとき、実際の変数の内容は図8
(a)のようになるが、この実行完了後に変数の内容をモニタして表示すると図
8(b)のようになってしまい、変数Cに着目してみれば、乗算の入力側と出力
側で内容が同じ、という正しくないモニタ表示となっていた。
このように構成された従来の装置においては、次のような問題点が存在する。
シーケンスプログラムで使用したデータや結果を正しくモニタするためには、
モニタ対象となるプログラムを実行した直後にデータを1個ずつトレースすれば
可能であるが、従来は専用のシーケンス実行ハードウェア以外では、そのような
実施例はなかった。
近年、マイクロプロセッサの性能向上に伴い、シーケンスプログラムを汎用の
マイクロプロセッサを使用してインタプリタ方式やコンパイラ方式で実行する事
例が多くなっている。汎用マイクロプロセッサを使用した場合にはシーケンス命
令実行直後のデータトレースを実施した例はなかった。
本発明は、上記の事情に基づいてなされたもので、シーケンスプログラム実行
中の実データをモニタ可能とするプログラマブルコントローラを提供することを
目的としている。
前記目的を達成するため、請求項1に対応する発明は、シーケンスプログラムを記憶したプログラムメモリと、制御に必要なデータを記憶するデータメモリと、前記シーケンスプログラムの実行と全体の制御を実行するためのマイクロプロセッサと、前記シーケンスプログラムのモニタ範囲を実行中に、マイコンバス上のアドレス信号、データ信号、コマンド信号を監視し、シーケンス命令のオペランドデータがアクセスされたタイミングでオペランドデータをサンプリングして格納するデータトレース回路を備えたプログラマブルコントローラにおいて、
前記マイクロプロセッサが前記シーケンスプログラム実行時に使用したオペランドデータを前記データメモリへのアクセスが発生した時点で格納しておき、モニタ装置が前記シーケンスプログラムのモニタ範囲を表示する際に、シーケンス命令と共に前記オペランドデータの内容を表示することにより、前記シーケンスプログラム実行中の実データをモニタ可能にしたことを特徴とするプログラマブルコントローラである。
請求項1に対応する発明によれば、データトレース回路がモニタ対象範囲の検出、例えばユーザが作成したシーケンスプログラムの解釈、データ形の判定などを実行し、演算対象データと演算結果のデータを自動的にデータトレース回路に格納するので、シーケンスプログラムの実時間でのモニタが可能となる。
前記目的を達成するため、請求項2に対応する発明は、請求項1記載のプログラマブルコントローラにおいて、
インタプリタ方式で前記シーケンスプログラムを実行する場合に、前記シーケンスプログラムの実行中に、前記データトレース回路により、前記シーケンスプログラムメモリからの読出しデータをシーケンス命令と判断し、その命令をデコードすることでトレースするべきオペランドデータの種別を決定し、前記データメモリを対象とするメモリアクセスが発生したときにそのデータを取り込むことで、前記マイクロプロセッサがプログラムを実行するときに作業領域として使用するワークメモリの内容や一時的に使用されたデータのトレース可能としたことを特徴とするプログラマブルコントローラである。
請求項2に対応する発明によれば、インタプリタ方式に対応したデータトレース回路を付加することにより、シーケンスプログラムを実行する際にマイクロプロセッサがシーケンスプログラムメモリから読み出したプログラムのアドレスと内容からトレース範囲とトレース内容を判定し、その後データメモリに入出力されたデータを順次トレースするので、シーケンスプログラムの実時間モニタが可能となる。
前記目的を達成するため、請求項3に対応する発明は、請求項1記載のプログラマブルコントローラとモニタ装置からなるシステムにおいて、
コンパイラ方式で前記シーケンスプログラムを実行する場合に,前記シーケンスプログラム実行中に使用したデータを前記データトレース回路により、前記データメモリへの全てのアクセスについて、アドレスとデータ及び読出し又は書込みの別を組にして前記データトレース回路へ格納しておき、モニタ装置で前記シーケンスプログラムの内容と照合することで、前記マイクロプロセッサがプログラムを実行するときに作業領域として使用するワークメモリの内容や一時的に使用されたデータのトレースを可能としたことを特徴とするプログラマブルコントローラである。
請求項3に対応する発明によれば、コンパイラ方式に対応したデータトレース回路を付加することにより、コンパイラ方式でシーケンスプログラムを実行する際に、データメモリをアクセスしたときのアドレスとデータを組にしてデータトレース回路に格納するので、シーケンスプログラムの実時間モニタが可能となる。
前記目的を達成するため、請求項に対応する発明は、請求項1記載のプログラマブルコントローラにおいて、
前記シーケンスプログラムの中にジャンプ命令などの実行フローを制御する命令が存在した場合に、前記データトレース回路が実行フロー制御命令の実行を検出すると、そのときのシーケンスプログラムメモリのアドレスと、ジャンプ先のアドレスをアドレストレースメモリに格納することにより、モニタ装置でアドレストレースメモリの内容とモニタ中のシーケンスプログラムの内容を比較することで、トレースデータをモニタ表示中のプログラムと正しく対応させることが可能なようにしたことを特徴とするプログラマブルコントローラである。
請求項に対応する発明によれば、データトレース回路が使用したデータと併せてジャンプ元アドレスとジャンプ先アドレスもトレースするので、モニタの対象範囲にジャンプ命令が存在しても正しく実時間モニタが可能となる。
前記目的を達成するため、請求項に対応する発明は、請求項1記載のプログラマブルコントローラにおいて、前記シーケンスプログラムのデータトレースを行う際に、複数スキャン分のトレースデータを連続して格納可能なように構成したことを特徴とするプログラマブルコントローラである。
請求項に対応する発明によれば、データトレース手段が連続した複数スキ
ャン分のデータを卜レース可能なので、モニタ装置との間での通信周期とは係わ
りなく、高速なスキャン実行のモニタが可能となる。
前記目的を達成するため、請求項に対応する発明は、シーケンスプログラムを記憶したシーケンスプログラムメモリと、
制御に必要なデータを記憶するデータメモリと、
前記シーケンスプログラムの実行と全体の制御を実行するためのマイクロプロセッサを備えたプログラマブルコントローラにおいて、
モニタするデータを記憶するトレースバッファと、
モニタ開始アドレスを記憶するモニタ開始アドレスレジスタと、
モニタ終了アドレスを記憶するモニタ終了アドレスレジスタと、
前記プログラマブルコントローラのマイコンバス上のアドレスと前記モニタ開始アドレスレジスタに記憶されたモニタ開始アドレスが一致した後に前記データメモリへのアクセスが発生した時にアクセスされた前記データメモリのデータを前記トレースバッファに格納し、
前記プログラマブルコントローラのマイコンバス上のアドレスと前記モニタ終了アドレスレジスタに記憶されたモニタ終了アドレスが一致した後に前記トレースバッファへのデータの格納を終了するトレース制御手段とを有することを特徴とするプログラマブルコントローラである。
以上述べた本発明によれば、次のような作用効果が得られるプログラマブルコ
ントローラを提供できる。即ち、マイクロプロセッサによってシーケンスプログ
ラムを実行するプログラマブルコントローラにおいて、シーケンスプログラムを
実行した時点で使用されたデータをモニタすることが可能となるので、常にシー
ケンス命令と対応するオペランドデータが正しくモニタでき、プログラムの実行
状態の確認に有効である。
また、シーケンスプログラム中に繰り返し実行部分やジャンプが存在しても正
しくデータをモニタ可能なプログラマブルコントローラを提供することができる
以下、本発明の実施形態について図面を参照して説明する。
<第1の実施形態>
図1により本発明の第1の実施形態について説明する。図1において、CPU
1はマイクロプロセッサで、PLCの中枢部分であり、シーケンスの実行及び実
行制御を行う。
プログラムメモリ2はCPU1が実行するプログラムが格納されているメモリ
であり、OSやシーケンスプログラムの解釈、実行プログラムが格納される。
ワークメモリ3はCPU1がプログラムを実行するときに作業領域として使用
する。シーケンスプログラムメモリ(ユーザプログラムメモリ)4はユーザが作
成したシーケンスプログラムを格納するメモリである。データメモリ5はユーザ
が使用する変数などのデータを格納するメモリである。
マイコンバス6はPLC内の要素をCPU1と接続するためのバスであり、ア
ドレスバス、データバス、制御バスの総体である。I/O7はPLCと外部の制
御対象を接続するための入出力装置である。
通信インタフェース(通信I/F)8はPLCとモニタ装置20などを通信媒
体を介して接続するための回路である。
データトレース回路9はマイコンバス6を介してCPU1や各種メモリに接続
されており、マイコンバス6上の信号を監視しながら自立して動作できるように
構成されている。
図2はデータトレース手段、例えばデータトレース回路9の構成を説明するた
めの図である。トレース制御回路91はトレースの開始、停止タイミングを制御
したり、トレースすべきデータの形を実行中の命令種別によって判定するなどの
動作を行い、データトレース回路9全体の制御を行う。
アドレス比較回路92は、付属するアドレスレジスタとマイコンバス6上のア
ドレスを比較して一致信号をトレース制御回路91に送る。アドレスレジスタ9
3,94はCPU1によってセットされ、ここにセットされたアドレスがマイコ
ンバス6上に現れるとアドレス比較回路92がトレース制御回路91にアドレス
ー致信号を出力する。
アドレスレジスタは次の3個である。トレース開始アドレスレジスタ93はト
レース開始アドレスをセットするためのレジスタである。トレース終了アドレス
レジスタ94はトレース終了アドレスをセットするためのレジスタである。アド
レスマッチレジスタ95は、ループアドレス用他、汎用に使用されるレジスタで
ある。
トレースカウンタ96はトレースしたデータ数をカウントするカウンタであり
、次に述べるトレースバッファが一杯になったときにトレース制御回路91を介
してCPU1に割り込み信号10を発生させる。ビットトレースメモリ(ビット
トレースバッファ)97とワードトレースメモリ98及びアドレストレースメモ
リ99はトレースバッファとして使用されるメモリであり、それぞれ、ビットデ
ータ、ワードデータ、アドレスデータを格納する。
データトレース回路9は必要なときに割込み信号10を介してCPU1に割込
みをかけることができる。モニタ装置20はPLCのシーケンスプログラム実行
状態を監視したり、シーケンスプログラムの作成、修正に使用される。モニタ装
置20はCRT、他の表示装置とキーボード、他の入力装置を持っている。
CPU1はI/O7を介して外部の制御対象の状態を入力した後、シーケンス
プログラムメモリ4からシーケンスプログラムを読み出し、必要に応じてデータ
メモリ5内のデータをアクセスしながら実行し、結果をI/O7を介して外部の
制御対象に出力する。
シーケンスプログラムの実時間モニタを行うときには、まずモニタ開始アドレ
スをCPU1からトレース開始アドレスレジスタ93にセットし、モニタ終了ア
ドレスをトレース終了アドレスレジスタ94にセットする。
その後、シーケンスプログラムの実行を開始するとモニタ対象範囲のシーケン
スプログラムを実行した際に、トレース制御回路91がトレース開始アドレスを
検出して、それ以降の必要なデータをマイコンバス6から取り出して対応するト
レースバッファに格納し、トレースカウンタ96を更新していく。
トレース終了アドレスが検出されるか、トレースカウンタ96が規定の値にな
るとトレース制御回路91が割込み信号10を使用してそれをCPU1に知らせ
、トレースバッフアの読みとりやトレースの終了処理を要求する。
このようにしてデータトレース回路9を使用してシーケンスプログラムの実時
間モニタが可能になる。
次に、インタプリタ方式でシーケンスプログラムを実行する場合の動作につい
て説明する。ここで、インタプリタとは、必要最低限のソース、プログラムをそ
の都度変換して実行する方式で、例えば図式表示を図式単位毎に機械語に変換す
る方式である。
ここで、シーケンスプログラムをインタプリタ方式で実行するときの動作を図
3を使用して説明する。シーケンスプログラムメモリ4のA接点命令を実行しよ
うとすると、まずCPU1はシーケンスプログラムメモリ4からA接点命令のコ
ードを読み出す。CPU1はこの命令コードに対応した処理プログラムをプログ
ラムメモリ2から読み出して実行する。このプログラムの処理中にデータメモリ
5へのアクセスが発生する。
ここでは、オペランドであるXというビットの読み出しが発生する。この命令
がモニタの対象となっているときには、トレース制御回路91はシーケンスプロ
グラムメモリ4からの読み出しは命令コードであると判定してこのコードを取り
込み、コードをデコードしてトレースするべきデータの種別を決定する。
A接点の場合には、データメモリ5から読み出したビットデータがモニタ対象
となるので、トレース制御回路91はマイコンバス6の状態を監視し、データメ
モリからの読み出しが発生したときにそのデータを取り込み、命令コードから必
要なビットを判定して、ビットトレースメモリ97に格納する。トレースの開始
と終了アドレスの決定については前述した通りである。
このようにインタプリタ方式に対応したデータトレース回路9ではシーケンス
プログラムメモリ4とデータメモリ5へのアクセスを監視し、CPU1でのシー
ケンスプログラムの実行と並行して、適宜データバッファヘデータを格納するこ
とで実時間でのモニタが可能となる。
<第2の実施形態>
次に、図2を使用して第2の実施形態について、具体的に説明する。コンパイ
ラ方式でのシーケンスプログラムの実行は図4に示すようにシーケンスプログラ
ムメモリ4内にシーケンス命令をCPU1が解釈できる形にしたプログラムが直
接書かれている。
ここで、コンパイラはすべてのプログラムを一括して変換し、機械語プログラ
ムを生成することで、例えば図式表示を一括して機械語プログラムに変換するこ
とである。
トレース開始、終了の設定をシーケンスプログラムメモリ4のアドレスを使用
して実施することは前述の場合と同様である。
ただ、コンパイラ方式の場合では、シーケンスプログラムメモリ4内のコード
から元のシーケンス命令の内容やデータ形を判別することが困難なので、データ
トレース回路9ではトレースを開始した後は、データメモリ5への全てのアクセ
スについて、アドレスとデータ及び読み出し/書込みの別を組にしてトレースバ
ッファに書き込むものとする。この様子を図5に示す。
前記のデータの組はモニタ装置20に送り、モニ夕装置20側でモニタ中のプ
ログラム内容と照合することによってデータ形の判別や必要なデータの抽出を行
いモニタに使用するものとする。
上述のように構成することにより、コンパイラ方式のシーケンスプログラムの
実行においても実時間でのモニタが可能となる。
<第3の実施形態>
次に、第3の実施形態について、具体的に説明するが、第3の実施形態の構成
は図2においてデータトレース回路9を省略したものである。従って、この場合
はデータトレースをハードウェアではなく、ソフトウェアで実行する。もともと
、マイクロプロセッサはシーケンスプログラムをソフトウェアで実行しているの
であるが、モニタ範囲のシーケンスブログラムを実行するときには通常のシーケ
ンスプログラム処理用のプログラムとは異なるデータトレース時専用のプログラ
ムに切り替えて実行する。データトレース時専用のプログラムではシーケンスプ
ログラムのオペランドとなる変数データをデータメモリ5との間で入出力する際
に、そのデータをワークメモリ3などに設定したトレースバッファに格納するよ
うにプログラミングされている。
このように構成することにより、特別なハードウェアを使用することなく、実
時間でのモニタが可能となる。もちろん、この方法は、データトレース回路9を
使用する方式に比較してシーケンスプログラム処理時間が長くなる、という欠点
がある。
<第4の実施形態>
次に、第4の実施形態について、具体的に説明する。インタプリタ方式でシーケ
ンスプログラムを実行する場合には、図6に示すようにシーケンス命令に対応し
た処理プログラムがプログラムメモリ2内に用意されている。
実時間でのモニタを実行するために、この処理プログラムを2種類設けるもの
とする。一つは通常のシーケンス処理プログラムであり、他方はシーケンスプロ
グラムの実行と並行してデータのトレースを実行する処理を含んだプログラムで
ある。
CPU1がシーケンスプログラムをシーケンスプログラムメモリ4から1命令
分読み出して解釈し、プログラムメモリ2中の対応する処理プログラムを呼び出
す場合に、このシーケンスプログラムがモニタ対象となっている、という情報(
フラグなど)を使用してプログラムメモリ2からの呼び出しアドレスにオフセッ
トを設定してデータトレース用の処理プログラムが呼び出されるように構成する
このようにすることにより、インタプリタ方式のシーケンスプログラムにおい
て実時間のモニタが可能となる。
<第5の実施形態>
次に、第5の実施形態について、図7を使用して具体的に説明する。コンパイラ
方式でシーケンスプログラムを実行する場合には、ユーザが作成したシーケンス
プログラムをコンパイルする際に通常の処理用と、データトレース用の2種類の
コンパイルプログラムを作成しておく。2つのシーケンスプログラムは適当な大
きさを単位として分割しておき、モニタ実行はこのブロック単位で実行するよう
に構成する。
通常のシーケンスプログラムを実行中にモニタ対象となっているブロックに入
ったときには、そこでデータトレース用プログラムのルーチンにジャンプしてデ
ータトレースを命令処理と並行して実施し、データをトレースバッファに格納す
る。そして、モニタ対象のブロックの実行を終了したときには再び通常の処理プ
ログラムのブロックに戻るようにする。
このように構成することにより、データトレース用のプログラムでは必要なデ
ータ数や形が分かっているので効率の良い実時間でのモニタが可能となる。
<第6の実施形態>
次に第6の実施形態について、具体的に説明する。シーケンスプログラム中に
ループ実行等の繰り返し実行要素があると、その部分のデータだけが繰り返しト
レースされることになるが、モニタ装置20での表示では1種類のデータしか表
示できないので、着目した実行タイミングでのデータだけが必要となる。
ここでは、図2のデータトレース回路9を使用して動作を説明する。モニタ範
囲のシーケンスプログラム中に繰り返し実行部分があるときは、CPU1はモニ
タ開始後、繰り返し部分のプログラムの先頭アドレスをデータトレース回路9の
アドレスマッチレジスタ95に設定し、繰り返し回数をループカウンタ90に設
定する。シ−ケンースプログラムがこの命令を実行しようとしたときに、アドレ
ス比較回路92とトレース制御回路91は繰り返し演算であることを検出してこ
のアドレスの実行ごとにループカウンタ90を減算し始める。
そして、実行回数がCPU1からの指定回数になったときにだけデータトレー
スを実行するように制御するのである。繰り返し処理の部分が複数個ある場合に
は1個の繰り返し処理部分を実行後、繰り返しCPU1からアドレスマッチレジ
スタ95に次の繰り返し部分の先頭アドレスを設定することにより、上記と同様
に処理可能である。
このようにして繰り返し実行部分が存在しても実時間のモニタが可能となる。
<第7の実施形態>
次に、第7の実施形について、具体的に説明する。シーケンスプログラム中に
ジャンプ命令が存在するときには、通常の方法でデータトレースを実行すると、
モニタ時にデータとプログラムの表示が一致しなくなるという問題が生じる。
そこで、本実施形態のデータトレース回路9ではトレース制御回路91がジャ
ンプ命令の実行を検出すると、そのときのシーケンスプログラムメモリ4のアド
レスと、ジャンプ先のアドレスをアドレストレースメモリ99に格納するように
制御する。
こうすることにより、モニタ装置20側でアドレストレースメモリ99の内容
とモニタ中のプログラム内容を比較することによってトレースデータをモニタ表
示中のプログラムと正しく対応させることが可能となる。
<第8の実施形態>
次に第8の実施形態について、具体的に説明する。図2及び図3に示すように
データトレース回路9ではデータメモリ5に入出力されたデータをメモリの語長
に合わせてトレースするのではなく、シーケンス命令の種別から使用するデータ
形を判定してトレースバッファに格納するように構成している。つまり、ビット
データをオペランドとする命令を実行している場合には、データメモリ5に対し
てワード単位でのアクセスが発生したとしても、命令コードを解釈して必要なビ
ットデータを抽出し、そのデータだけをビットトレースメモリ97に格納する。
このように構成することにより、トレースデータ量を削減し、モニタ装置20
へのデータ伝送量を削減して高速のモニタを可能にしている。
<第9の実施形態>
次に、第9の実施形態について、具体的に説明する。一般にシーケンスプログ
ラムのスキャン実行時間はモニタ装置20とのデータ転送時間に比較すると大変
に短く、スキャン毎のトレースデータをモニタ装置20に伝送することには無理
がある。また、モニタ装置20に全スキャン分のデータが表示されても高速すぎ
て確認はほとんど不可能である。それでも連続したスキャン実行の結果を確認し
たい、という要求は存在する。
そこで、本実施形態のデータトレース回路9ではシーケンスプログラムの連続
したスキャン実行でのデータトレースを可能としている。これは、1スキャン分
のデータトレースが完了した後も、CPU1に割込み信号を送らず、所望のスキ
ャン分の実行完了後に割込みを発生させることによって実現する。データトレー
スレジスタやアドレストレースレジスタには1スキャン完了毎に境界を示す特別
なコードを書き込み、モニタ装置側でスキャンの境界を判別できるように構成す
る。
このようにすることにより、複数スキャン分のデータトレースが可能となる。
本発明のプログラマブルコントローラを説明するためのブロック図。 図1のデータトレース回路を説明するための図。 図1の動作を説明するための図であって、インタプリタ方式のプログラム実行を説明する図。 図1の動作を説明するための図であって、コンパイラ方式のプログラム実行を説明する図。 図1の動作を説明するための図であって、データトレースの様子を説明する図。 図1の動作を説明するための図であって、インタプリタ方式でのプログラムメモリの構成を説明する図。 図1の動作を説明するための図であって、コンパイラ方式でのシーケンスプログラムメモリの構成を説明する図。 従来のコントローラでのプログラムモニタの状態を説明するための図。
符号の説明
1…マイクロプロセッサ(CPU)、2…プログラムメモリ、3…ワークメモリ
、4…シーケンスプログラムメモリ、5…データメモリ、6…マイコンバス、7…I/O、8…通信インタフェース、9…データトレース回路、90…ループカウンタ、91…トレース制御回路、92…アドレス比較回路、93…トレース開始アドレスレジスタ、94…トレース終了アドレスレジスタ、95…アドレスマッチレジスタ、96…トレースカウンタ、97…ビットトレースメモリ、98…ワードトレースメモリ、99…アドレストレースメモリ、10…割込み信号、 20…モニタ装置。

Claims (6)

  1. シーケンスプログラムを記憶したプログラムメモリと、制御に必要なデータを記憶するデータメモリと、前記シーケンスプログラムの実行と全体の制御を実行するためのマイクロプロセッサと、前記シーケンスプログラムのモニタ範囲を実行中に、マイコンバス上のアドレス信号、データ信号、コマンド信号を監視し、シーケンス命令のオペランドデータがアクセスされたタイミングでオペランドデータをサンプリングして格納するデータトレース回路を備えたプログラマブルコントローラにおいて、
    前記マイクロプロセッサが前記シーケンスプログラム実行時に使用したオペランドデータを前記データメモリへのアクセスが発生した時点で格納しておき、モニタ装置が前記シーケンスプログラムのモニタ範囲を表示する際に、シーケンス命令と共に前記オペランドデータの内容を表示することにより、前記シーケンスプログラム実行中の実データをモニタ可能にしたことを特徴とするプログラマブルコントローラ。
  2. 請求項1記載のプログラマブルコントローラにおいて、
    インタプリタ方式で前記シーケンスプログラムを実行する場合に、前記シーケンスプログラムの実行中に、前記データトレース回路により、前記シーケンスプログラムメモリからの読出しデータをシーケンス命令と判断し、その命令をデコードすることでトレースするべきオペランドデータの種別を決定し、前記データメモリを対象とするメモリアクセスが発生したときにそのデータを取り込むことで、前記マイクロプロセッサがプログラムを実行するときに作業領域として使用するワークメモリの内容や一時的に使用されたデータのトレースを可能としたことを特徴とするプログラマブルコントローラ。
  3. 請求項1記載のプログラマブルコントローラとモニタ装置からなるシステムにおいて、
    コンパイラ方式で前記シーケンスプログラムを実行する場合に,前記シーケンスプログラム実行中に使用したデータを前記データトレース回路により、前記データメモリへの全てのアクセスについて、アドレスとデータ及び読出し又は書込みの別を組にして前記データトレース回路へ格納しておき、モニタ装置で前記シーケンスプログラムの内容と照合することで、前記マイクロプロセッサがプログラムを実行するときに作業領域として使用するワークメモリの内容や一時的に使用されたデータのトレースを可能としたことを特徴とするプログラマブルコントローラ。
  4. 請求項1記載のプログラマブルコントローラにおいて、
    前記シーケンスプログラムの中にジャンプ命令などの実行フローを制御する命令が存在した場合に、前記データトレース回路が実行フロー制御命令の実行を検出すると、そのときのシーケンスプログラムメモリのアドレスと、ジャンプ先のアドレスをアドレストレースメモリに格納することにより、モニタ装置でアドレストレースメモリの内容とモニタ中のシーケンスプログラムの内容を比較することで、トレースデータをモニタ表示中のプログラムと正しく対応させることが可能なようにしたことを特徴とするプログラマブルコントローラ。
  5. 請求項1記載のプログラマブルコントローラにおいて、
    前記シーケンスプログラムのデータトレースを行う際に、複数スキャン分のトレースデータを連続して格納するように構成したことを特徴とするプログラマブルコントローラ。
  6. シーケンスプログラムを記憶したシーケンスプログラムメモリと、
    制御に必要なデータを記憶するデータメモリと、
    前記シーケンスプログラムの実行と全体の制御を実行するためのマイクロプロセッサを備えたプログラマブルコントローラにおいて、
    モニタするデータを記憶するトレースバッファと、
    モニタ開始アドレスを記憶するモニタ開始アドレスレジスタと、
    モニタ終了アドレスを記憶するモニタ終了アドレスレジスタと、
    前記プログラマブルコントローラのマイコンバス上のアドレスと前記モニタ開始アドレスレジスタに記憶されたモニタ開始アドレスが一致した後に前記データメモリへのアクセスが発生した時にアクセスされた前記データメモリのデータを前記トレースバッファに格納し、
    前記プログラマブルコントローラのマイコンバス上のアドレスと前記モニタ終了アドレスレジスタに記憶されたモニタ終了アドレスが一致した後に前記トレースバッファへのデータの格納を終了するトレース制御手段とを有することを特徴とするプログラマブルコントローラ。
JP2005004152A 2005-01-11 2005-01-11 プログラマブルコントローラ Expired - Fee Related JP3892873B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005004152A JP3892873B2 (ja) 2005-01-11 2005-01-11 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005004152A JP3892873B2 (ja) 2005-01-11 2005-01-11 プログラマブルコントローラ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11048488A Division JP2000250779A (ja) 1999-02-25 1999-02-25 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2005115969A JP2005115969A (ja) 2005-04-28
JP3892873B2 true JP3892873B2 (ja) 2007-03-14

Family

ID=34545418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005004152A Expired - Fee Related JP3892873B2 (ja) 2005-01-11 2005-01-11 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP3892873B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036617B2 (en) 2019-02-28 2021-06-15 Fanuc Corporation Sequence program processor used for tracing of sequence program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2483966T3 (es) * 2009-04-20 2014-08-08 Pilz Gmbh & Co. Kg Método y dispositivo para programar un controlador industrial de una instalación automatizada
JPWO2012131933A1 (ja) * 2011-03-30 2014-07-24 富士通株式会社 情報処理装置、プログラム、および解析方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59160247A (ja) * 1983-03-02 1984-09-10 Omron Tateisi Electronics Co プログラムテスト装置
JPS6073756A (ja) * 1983-09-29 1985-04-25 Fujitsu Ltd プログラム・トレ−ス装置
JPS61183705A (ja) * 1985-02-09 1986-08-16 Meidensha Electric Mfg Co Ltd プログラマブルコントロ−ラの演算トレ−ス処理方法
JP2595082B2 (ja) * 1989-02-16 1997-03-26 富士電機株式会社 プログラマブルコントローラの動作状態監視装置
JPH0458303A (ja) * 1990-06-28 1992-02-25 Toshiba Corp プログラマブルコントローラ
JPH06161518A (ja) * 1992-11-27 1994-06-07 Hitachi Ltd プログラムコントローラ
JPH06266420A (ja) * 1993-03-16 1994-09-22 Toshiba Corp プログラマブルコントローラ
JPH0764469A (ja) * 1993-08-27 1995-03-10 Omron Corp プログラマブルコントローラ
JPH0772908A (ja) * 1993-09-03 1995-03-17 Toshiba Corp プログラマブルコントローラ
JPH07219807A (ja) * 1994-02-08 1995-08-18 Toshiba Corp プログラマブルコントローラシステム
JP3358759B2 (ja) * 1994-06-08 2002-12-24 株式会社安川電機 プログラマブルコントローラのデータトレース方法
JPH0887309A (ja) * 1994-09-14 1996-04-02 Toshiba Corp プログラマブルコントローラ
JPH09134209A (ja) * 1995-11-09 1997-05-20 Toshiba Mach Co Ltd プログラマブルコントローラにおける入出力処理値トレース方法およびプログラマブルコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036617B2 (en) 2019-02-28 2021-06-15 Fanuc Corporation Sequence program processor used for tracing of sequence program

Also Published As

Publication number Publication date
JP2005115969A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
JP4718901B2 (ja) 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
US6096089A (en) Power simulation system, power simulation method and computer-readable recording medium for recording power simulation program
JPH11194957A (ja) デバッグ支援装置、並列実行情報生成装置、及びこれらに適用されるプログラムを記録した記録媒体
KR20110070468A (ko) 인스트루먼테이션 실행 장치 및 방법
JP3938580B2 (ja) 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム
US11409636B2 (en) Processor including debug unit and debug system
KR100829788B1 (ko) 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법
JP3892873B2 (ja) プログラマブルコントローラ
JP6407919B2 (ja) 数値制御装置および変数判定方法
JP2000250779A (ja) プログラマブルコントローラ
CN103077069B (zh) 指令解析的方法及装置
JPH08249018A (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JP2785606B2 (ja) パイプライン処理方式コンピュータ用プログラムのデバッガ
JP2002163126A (ja) デバッグ用cpuに内蔵のイベント検出回路、イベント検出方法および外部周辺回路
JPH04268928A (ja) エミュレーション装置及び半導体装置
JPH1165881A (ja) Cpuの拡張割込み制御方式及びそのcpuで使用するデバッガ
JPS6042968B2 (ja) 情報処理装置
JP2000222243A (ja) デバッグ装置及びデバッグ方法
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
KR950007937B1 (ko) 피엘씨 게이트 어레이의 내부 레지스터 운용회로
JPH0795288B2 (ja) マイクロコンピュータ
JPH02191046A (ja) プログラムの追跡方式
JPH04290130A (ja) プロセッサのエラー管理方式
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091215

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101215

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111215

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131215

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees