JPH06161518A - プログラムコントローラ - Google Patents

プログラムコントローラ

Info

Publication number
JPH06161518A
JPH06161518A JP4318146A JP31814692A JPH06161518A JP H06161518 A JPH06161518 A JP H06161518A JP 4318146 A JP4318146 A JP 4318146A JP 31814692 A JP31814692 A JP 31814692A JP H06161518 A JPH06161518 A JP H06161518A
Authority
JP
Japan
Prior art keywords
program
memory
sequence
address
trace
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.)
Pending
Application number
JP4318146A
Other languages
English (en)
Inventor
Toshihiko Matsuda
敏彦 松田
Mitsuaki Kobayashi
光明 小林
Yasuo Morooka
泰男 諸岡
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4318146A priority Critical patent/JPH06161518A/ja
Publication of JPH06161518A publication Critical patent/JPH06161518A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】プログラマブルコントローラに、制御動作を記
憶しモニタする機能を備えることによりシーケンスプロ
グラムの作成,保守を容易にすること。特に、シーケン
スプログラムを変更することなく制御状態をモニタで
き、かつハードウェア構成が簡単なプログラマブルコン
トローラを提供すること。 【構成】シーケンスプログラムメモリ1に対応してトレ
ースメモリ4を設け、シーケンス命令実行毎に演算結果
を該シーケンス命令が格納されたシーケンスプログラム
メモリ1に対応した前記トレースメモリ4に格納する演
算手段2,トレースメモリ4のデータを読み出すトレー
スデータ読み出し手段5からなる。 【効果】シーケンスプログラムの各命令実行毎に演算状
態をトレースメモリに記憶するので、トレースメモリを
読み出すだけで任意の位置のシーケンス制御状態をモニ
タできる効果がある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラマブルコントロ
ーラに係り、特に制御動作を記憶し、モニタする機能を
備えることによりシーケンスプログラムの作成,保守を
容易にしたプログラマブルコントローラに関する。
【0002】
【従来の技術】従来よりプログラマブルコントローラは
リレー・シーケンス制御装置を置き換えて発展してきた
が、処理の高速化、プログラムメモリ容量の増加,機能
の向上が図られてきたため用途がさらに拡大している。
それにともない、従来のリレー・シーケンス制御装置と
は比較にならないほどに大規模,複雑な制御を行うよう
になってきている。
【0003】シーケンス制御は機械装置などの制御対象
の状態(接点信号のオン,オフ等)を入力装置により入
力し、シーケンスプログラムに従ってシーケンス演算処
理を行いその結果を出力装置から制御対象に出力して、
制御対象を動作させている。しかし、制御対象が希望す
る動作を行わない場合がある。それは、シーケンスプロ
グラムの新規作成,改造などに伴ったシーケンスプログ
ラムのバグ、あるいは入力装置,出力装置の故障などが
原因となっているが、その原因を調べるためにはシーケ
ンスプログラムの進行により変化するシーケンス制御の
実行状態をモニタし、その動作を解析する必要がある。
そのため、従来のプログラマブルコントローラでもモニ
タ機能が用意されており、モニタしたい入出力接点を指
定する専用命令をシーケンスプログラムに追加してモニ
タする、あるいはハードウェアで構成された回路にモニ
タしたい入出力接点のアドレスを設定し、演算装置が出
力する入出力接点のアドレスと比較し、設定された入出
力接点アドレスが出力されたときのデータをモニタする
などの方法がとられている。
【0004】
【発明が解決しようとする課題】しかし、専用の命令を
追加する方法では、モニタする入出力接点信号を指定す
るたび毎にシーケンスプログラムの変更が必要となるた
めに非常に時間がかかり原因追及を難しくしている。ま
たシーケンスプログラムを変更することから、この作業
が新たなシーケンスプログラムのバグを発生させる場合
もある。さらに演算装置はモニタ専用命令を処理する時
間を必要とするため、多数の入出力接点信号をモニタし
た場合にはシーケンスプログラムの実行時間が長くなっ
てしまい、モニタしようとする状態が変化してしまうと
いう問題点もあった。
【0005】後者のハードウェアでモニタする方法はハ
ードウェアの制限から同時にモニタできる入出力接点信
号はたかだか数点であるため、同時に多数の入出力接点
信号をモニタしないとその原因を解明できないような最
近の複雑,大規模なシステムの場合に問題が生じてい
る。また、モニタのためのハードウェア構成は、モニタ
する入出力接点のアドレスを保持するアドレスレジス
タ、アドレスレジスタに保持されたアドレスと演算器が
出力する入出力接点アドレスとを常に比較し、その一致
を検出する比較器、比較器が一致を検出したときに演算
器が操作している入出力接点データを記憶するレジスタ
からなるためプログラマブルコントローラの構成が複雑
になってしまうという問題点もある。
【0006】さらに両者ともにモニタできるのは入出力
接点信号であるため、シーケンスプログラムによって
は、特に入出力接点が論理和接続されたシーケンスプロ
グラムでは実際に調べたい演算結果をモニタするために
は、論理和接続されたすべての入出力接点信号をモニタ
し、その結果を人手により処理しないと望む箇所をモニ
タできないという問題点もあった。
【0007】本発明はかかる問題点に鑑みて、シーケン
スプログラムを変更することなくシーケンス制御状態を
モニタでき、かつハードウェア構成が簡単なプログラマ
ブルコントローラを提供することを目的とする。
【0008】
【課題を解決するための手段】かかる目的を達成するた
めに、本発明はシーケンスプログラムを格納するシーケ
ンスプログラムメモリに対応してトレースメモリを設
け、シーケンス命令実行毎に演算結果をその実行された
シーケンス命令が格納されたシーケンスプログラムメモ
リに対応した前記トレースメモリに格納するトレースデ
ータ書き込み手段を設けさらに、前記トレースメモリの
データを読み出すトレースデータ読み出し手段を設けて
いる。
【0009】
【作用】プログラマブルコントローラでは、次に実行す
る命令が格納されるアドレスがプログラムカウンタで示
され、シーケンスプログラムメモリのそのアドレスから
シーケンス命令が読みだされて実行される。本発明で
は、トレースデータ書き込み手段により1シーケンス命
令実行毎に、その演算結果を該シーケンス命令が格納さ
れているシーケンスプログラムメモリに対応したトレー
スメモリに書き込む。
【0010】トレースデータ読み出し手段はトレースデ
ータメモリを読み出して、前記シーケンス命令の演算結
果を得て、シーケンスプログラムの実行状態をモニタ可
能とする。
【0011】
【実施例】以下、図面を参照して本発明を説明する。
【0012】図1は本発明の一実施例を示し、ここで1
はシーケンスプログラムを格納するプログラムメモリ、
2は演算手段、3は入出力回路、4はトレースメモリ、
5はトレースメモリ読出手段を表わす。
【0013】演算手段2の内部は、例えば図示のように
構成されている。演算手段2において、21はシーケン
スプログラムカウンタ、22はタイミング制御部、23
は論理演算部、24はビットアキュームレータ、25は
入出力制御部を表わす。aはシーケンスプログラムカウ
ンタ21が出力するプログラムアドレスを伝達するプロ
グラムアドレスバス、bはプログラムメモリ1から読み
だされたシーケンス命令を伝達するインストラクション
バス、cは入出力する接点などを指定するアドレスであ
る入出力アドレスを伝達する入出力アドレスバス、dは
入出力回路3からの入力データ、または入出力回路3へ
出力するデータを伝達する入出力データ1、eは入出力
回路3に対して、入力又は出力動作を指定する入出力方
向、fは演算出力データ、gは演算入力データ、hはト
レースメモリライト、iはシーケンスプログラムカウン
タコントロール、jは演算コントロール、kは入出力コ
ントロール、lはリードアドレス、mはトレースメモリ
リード、nはトレースメモリデータを表わす。
【0014】シーケンスプログラムカウンタ21はプロ
グラムアドレスバスaに出力したプログラムアドレスに
よりプログラムメモリ1に格納されたシーケンス命令の
読出し位置を指定する。プログラムメモリ1はプログラ
ムアドレスバスaによって指定されるアドレスに格納さ
れたシーケンス命令をインストラクションバスbに出力
する。シーケンス命令は命令の操作を規定するオペコー
ド部と操作の対象を指定するオペランド部とから構成さ
れるが、そのいずれもがインストラクションバスbに読
みだされる。タイミング制御部22はインストラクショ
ンバスbに出力されたシーケンス命令のオペコード部分
を入力し、トレースメモリライトh、シーケンスプログ
ラムカウンタコントロールi、演算コントロールj、入
出力コントロールkの各コントロール信号を発生し、演
算手段2がオペコードで指定される動作を行うように制
御する。論理演算部23は演算入力データg,演算出力
データfを入力し、演算コントロールjで指定される論
理演算を行って結果をビットアキュームレータ24に出
力する。ビットアキュームレータ24は論理演算部23
の演算結果を保持するとともに演算出力データfとして
出力する。入出力制御部25はインストラクションバス
bから入出力回路を指定するオペランド部を取得して、
入出力アドレスバスcに出力し、タイミング制御部22
が発生する入出力コントロールkに従って入出力方向
e,入出力データバスdを動作させて入出力回路3を制
御し、入出力方向eが入力を示す場合には入出力回路3
の入力データを入出力データdを介して演算入力データ
gに入力し、逆に入出力方向eが出力を示す場合には演
算出力データfを入出力データdを介し入出力回路3に
出力する。
【0015】入出力回路3は入出力アドレスバスc,入
出力データd,入出力方向eを入力し、入出力方向eが
入力を指定している場合には入出力アドレスバスcで指
定されるアドレスの接点信号を入出力データdに入力す
る。入出力方向eが出力を指定している場合には、入出
力データdを入出力アドレスバスcで指定される出力線
に出力する。
【0016】トレースメモリ4はプログラムアドレスバ
スa,トレースメモリライトh,演算出力データf,リ
ードアドレスl,トレースメモリリードmを入力し、ト
レースメモリデータnを出力する。トレースメモリ4は
トレースメモリライトhが入力されると、演算出力デー
タfをプログラムアドレスバスaで指定されるアドレス
に格納し、トレースメモリリードmが入力されるとリー
ドアドレスlで指定されるアドレスに格納されたデータ
をトレースメモリデータnに出力する動作を行う。
【0017】トレースメモリ読出し手段5はリードアド
レスl,トレースメモリリードmを発生し、トレースメ
モリ4からトレースメモリデータnを読出す。
【0018】図1の実施例の動作を説明するためのラダ
ープログラムの一例を図2に示す。図2において、X1
00,X101は100,101の入出力アドレスの付
いた入力接点信号を、Y200は入出力アドレス200
の付いた出力接点を表わしている。図示したラダープロ
グラムはX100,X101がともにオンの場合に出力
接点Y200をオンにする処理を表わしている。このプ
ログラムはシーケンス命令に変換されプログラムメモリ
1に格納されて、実行される。それによりシーケンスコ
ントローラが前記プログラムの動作を行うようになる。
【0019】シーケンス命令への変換は図2に図示した
ように命令の種別で決まるオペコードと動作の対象を指
定するオペランドを組み合わせて行う。図示した例にお
いてLDIはオペランド部のデータをビットアキューム
レータ24にセットする命令で、そのオペコードは0
1,ANDはビットアキュームレータ24の演算出力デ
ータfとオペランドで指定するアドレスのデータとの論
理積をとり、その結果をビットアキュームレータ24に
セットする命令で、そのオペコードは02,STはビッ
トアキュームレータの演算出力データfをオペランドで
指定するアドレスにセットする命令で、そのオペコード
は03,ENDはシーケンスプログラムカウンタ21を
ゼロクリアし、プログラムの最初から実行させる命令
で、そのオペコードは99である。
【0020】図2に示したラダープログラムの実行時の
タイムチャートを示す図3を基に図1の実施例の動作を
説明する。図3においてタイミングクロックはタイミン
グ制御部22が内蔵するクロック信号を表わし、タイミ
ング制御部22はタイミングクロックの1周期毎に順に
演算手段2の各ブロックを動作させる制御信号を発生し
てシーケンス命令の実行を行う。1シーケンス命令の実
行は6タイミングクロックの期間、つまり6ステートで
構成される。
【0021】タイミング制御部22は第1ステートでイ
ンストラクションバスbからシーケンス命令のオペコー
ド部を入力し、それを解読した結果にもとづき第2,3
および第4ステートで演算コントロールj、入出力コン
トロールkを発生して演算手段2の各部を動作をさせ、
第5ステートでトレースメモリライトhを発生し、第6
ステートでシーケンスプログラムカウンタコントロール
iを発生してシーケンスプログラムカウンタ21を更新
する動作を行って各シーケンス命令を実行させる。第
2,3および第4ステートの動作は実行するシーケンス
命令によって異なるが、第1および第5、6ステーとは
実行するシーケンス命令にかかわらず同一で、上記動作
を行う。図2に示したラダープログラム実行時の動作を
図3に示す各シーケンス命令毎のタイムチャートにより
詳しく説明する。
【0022】最初の命令のLDIにおいて、タイミング
制御部22は第1ステートでインストラクションバスb
のオペコード部分を入力し、解読する。その結果、実行
すべき命令はLDI命令であり、さらに入出力処理を必
要としない命令であることが解読できるので第2,3ス
テートでは何の制御信号も発生しない。その後、第4ス
テートで演算コントロールjを発生し論理演算部23の
出力をセットさせ、ビットアキュームレータ24の出力
である演算出力データfを1にし、第5ステートではト
レースメモリライトhを発生し、第6ステートでシーケ
ンスプログラムカウンタコントロールiを発生して、シ
ーケンスプログラムカウンタ21を1増加させて次命令
の読出し準備を行ってLDI命令の実行を終了する。
【0023】第2の命令のAND X100において、
タイミング制御部22は、第1ステートでインストラク
ションバスbのオペコード部分を入力し、解読する。そ
の結果、実行すべき命令はAND命令であり、入力処理
を必要とする命令であることが解読できるので演算入力
データgを得るため第2ステートで入出力コントロール
信号kを発生し、入出力制御部25を動作させる。入出
力制御部25はインストラクションバスbのオペランド
部のデータ100を入出力アドレスバスcに出力し、入
出力方向eを入力とし、X100の接点信号を入出力デ
ータdに読出すので、第3ステートで演算入力データg
が論理演算部23に入力される。なお、演算入力データ
gには入力接点X100がオンしているので1が読出さ
れる。さらに、タイミング制御部22は第4ステートで
演算コントロールjを発生し、論理演算部23に演算出
力データfと演算入力データgに対し論理積演算を行い
新たな演算出力データfを決定させる。その結果演算出
力データfは1になる。第5ステートではトレースメモ
リライトhを発生し、第6ステートではシーケンスプロ
グラムカウンタコントロールiを発生して、シーケンス
プログラムカウンタ21を1増加させて次命令の読出し
準備を行ってAND命令の実行を終了する。第3の命令
のAND X101も前記の第2の命令とまったく同様
にして行われる。ただ命令のオペランド部のデータが1
01なので第3ステートでは入力接点X101の接点信
号が入力される。なお、入力接点X101の接点はオフ
なので演算入力データgには0が入力される。その結
果、論理積の結果である演算出力データfは第5ステー
トで0となる。
【0024】第4の命令のST Y200において、タ
イミング制御部22は第1ステートでインストラクショ
ンバスbのオペコード部分を入力し、解読する。その結
果、実行すべき命令はST命令であり、出力処理を必要
とする命令であるあることが解読できるので演算出力デ
ータfを出力するため第2ステートで入出力コントロー
ル信号kを発生し、入出力制御部25を動作させる。入
出力制御部25はインストラクションバスbのオペラン
ド部のデータ200を入出力アドレスバスcに出力し、
入出力方向eを出力に設定し、演算出力データfを入出
力データdに出力する。それにより入出力回路3が動作
し出力接点Y200に0がセットされる。第5ステート
ではトレースメモリライトhを発生する。さらに、第6
ステートではシーケンスプログラムカウンタコントロー
ルiを発生して、シーケンスプログラムカウンタ21を
1増加させて次命令の読出し準備を行ってST命令の実
行を終了する。
【0025】第5の命令のENDにおいて、タイミング
制御部22は第1ステートでインストラクションバスb
のオペコード部分を入力し、解読する。その結果、実行
すべき命令はEND命令で入出力処理を必要としない命
令であるあることが解読できるので、第2,3,4ステ
ートは何の動作も行わない。その後、第5ステートでト
レースメモリライトhを発生する。さらに、第6ステー
トではシーケンスプログラムカウンタコントロールiを
発生して、シーケンスプログラムカウンタ21を0に
し、シーケンスプログラムの最初から実行するようにし
て、END命令の実行を終了する。
【0026】以上、説明したように、トレースメモリ4
には各命令の第5ステートで演算出力データfが毎回書
き込まれているので、シーケンスプログラムが最後まで
実行された時点のトレースメモリ4に書き込まれたデー
タの状態は図4に示すようになる。つまり、各命令実行
時の演算状態が記録される。なお、トレースメモリ4の
書き込みアドレスはプログラムアドレスバスaで指定さ
れるアドレスとなるので、第1のシーケンス命令実行時
の演算出力データfは0番地、第2のシーケンス命令実
行時の演算出力データfは1番地というようにシーケン
ス命令が格納されたアドレスに対応する。
【0027】トレースメモリ読出し手段5はリードアド
レスバスl,トレースメモリリードmを出力してトレー
スメモリデータnを入力することによりトレースメモリ
4の任意番地のデータを読出すことができる。
【0028】ここで、図2に示したシーケンスプログラ
ムをモニタする例を説明する。今、出力接点Y200が
オンしないことが問題とする。出力接点Y200をセッ
トする命令は3番地に格納されているST Y200な
のでトレースメモリの3番地をトレースメモリ読出し手
段5により読出す。すると0なので、入出力回路3には
問題がないことがわかる。そこで、今度はその直前の命
令AND X101の演算出力データfを得るためにト
レースメモリの2番地を読出す。すると0なのでさらに
その直前の命令AND X100の演算出力データfを
得るためにトレースメモリの1番地を読出す。すると1
が読出される。この結果から命令ANDX101の演算
出力データfが0になっているため、つまり入力接点X
101がオフしているために出力接点Y200がオンし
ないことがわかる。即ち、入力接点X101が実際にオ
ンしていない、またはその入出力回路3に問題がある0
が入力されていることがわかる。
【0029】このように本実施例によれば、シーケンス
プログラムの各命令実行毎に演算状態をトレースメモリ
に記憶するので、トレースメモリを読み出すだけで任意
の位置のシーケンス制御状態をモニタできる。即ち、問
題となっている箇所から容易に原因となっている箇所ま
で辿ることができる。また、シーケンス制御状態をモニ
タするにシーケンスプログラムの変更を必要としない、
トレースメモリ4とトレースメモリ4をリード・ライト
する手段を設けるだけなのでハードウェア構成を簡単に
できる効果がある。
【0030】本発明の他の実施例を説明する。本実施例
で第1の実施例と異なるのはトレースメモリ4へのトレ
ースデータの書き込み時点が異なる、つまり図1で示す
タイミング制御部22が発生するトレースメモリライト
hの発生時期が異なるだけなので、図5に示すタイムチ
ャートにより本実施例を説明する。
【0031】図5において図3と同一名称のものは同一
のものを表わす。本実施例では1シーケンス命令は5サ
イクルのタイミングクロックの期間、つまり5ステート
で実行する。第1ステートでインストラクションバスb
のオペコード部分の入力を行うのに加え、トレースメモ
リライトhを同時に発生する点と、第5ステートでシー
ケンスプログラムカウンタコントロールiを発生する点
が図3と異なる。それ以外の動作タイミングは全く同一
である。
【0032】各命令の第1ステートにおいて、論理演算
部23は該当命令の論理演算をまだ行っていないため、
演算出力データfは該当命令の1つ前の命令実行によっ
て決定された値になっている。そのため、トレースメモ
リ4に書き込まれる演算出力データfとその演算出力デ
ータfを作成したシーケンス命令の格納アドレスとの対
応は1つずれる。図11に図2に示したシーケンスプロ
グラムの実行を終了した時点のトレースメモリ4のデー
タの状態を示す。
【0033】ここで、本実施例によりシーケンスプログ
ラムの動作をモニタする例を説明する。たとえば、出力
接点Y200がオンしない問題が発生したとする場合に
は、出力接点Y200をセットする命令ST Y200
はプログラムメモリ1の3番地に格納されているので、
1加えてトレースメモリの4番地をトレースメモリ読み
だし手段5により読出す。つまり、モニタしたいシーケ
ンス命令の格納されているアドレスより1つ大きいアド
レスのトレースメモリ4から読み出すことにより任意の
命令の実行状態をモニタすることができる。
【0034】以上説明したように、本実施例によれば、
各命令の実行を5ステートで行うことができるので、シ
ーケンスプログラムの実行を高速化できるという利点が
ある。なお、本実施例では全命令をすべて5ステートで
行うものとして説明したが、LDI,END命令などの
ように何の動作も行わないステートを持つ命令について
は、そのステートを省略することによりさらに高速化で
きることは明らかである。また、タイミングクロックの
立ち上がり、立ち下がり時点で各制御信号を発生したり
することによってもさらに高速かできることは明らかで
ある。
【0035】本発明の他の実施例を図6により説明す
る。
【0036】図6において図1と同一の符号を附したも
のは同一のものを表わす。本実施例の構成で第1の実施
例と異なるのは6の第2トレースメモリ、7のトレース
制御部が追加され、タイミング制御部22からプログラ
ム終了信号oを発生して前記トレース制御部7に入力し
ている点および、トレースメモリ読みだし手段5が第2
トレースメモリ6に接続している点が異なる。これによ
り本実施例では繰り返して実行されるシーケンスプログ
ラムの実行状態のモニタを可能としている。この点を中
心に説明する。
【0037】トレース制御部7の内部は、例えば図示の
ように構成される。71は転送制御部、72は上位アド
レスカウンタである。転送制御部71はタイミング制御
部22からプログラム終了信号oを入力し、転送アドレ
スp,転送タイミングr,上位アドレスアップsを発生
して、シーケンスプログラムの実行が終了(END命令
の実行でプログラム終了信号oが発生)毎にトレースメ
モリ4のデータを第2トレースメモリに転送する動作を
制御する。上位アドレスカウンタ72は第2トレースメ
モリ6の上位アドレスqを発生する。上位アドレスカウ
ンタ72はトレースメモリ4のデータを第2トレースメ
モリに転送終了する毎に転送制御部71が発生する上位
アドレスアップsをカウントし、そのカウント値を上位
アドレスqとして第2トレースメモリ6に入力する。
【0038】転送制御部71が発生する転送アドレスp
はトレースメモリ4と第2トレースメモリ6に入力さ
れ、トレースメモリ4に対してはデータの読みだしアド
レスを指定し、第2トレースメモリ6に対してはデータ
の書き込みアドレスの下位部分となる。上位アドレスq
は第2トレースメモリ6に接続され、書き込みアドレス
の上位部分となる。同様に、転送制御部71が発生する
転送タイミングrはトレースメモリ4と第2トレースメ
モリ6に入力され、トレースメモリ4に対してはデータ
の読みだし信号、第2トレースメモリ6に対してはデー
タの書き込み信号として作用する。さらに、トレースメ
モリ4から読み出されるトレースメモリデータn2は第
2トレースメモリの入力データとしている。そのため、
転送タイミングrが発生するとトレースメモリ4の転送
アドレスpに格納されたデータが第2トレースメモリ6
の上位アドレスqと転送アドレスpで指定されるアドレ
スに格納される。
【0039】プログラム終了信号oはタイミング制御部
22がEND命令を解読したときにその命令実行の最終
ステートで発生される。
【0040】本実施例の動作を説明する。図2に示した
シーケンスプログラムを実行する例を基に説明する。シ
ーケンスプログラムの実行は第1の実施例で説明した場
合と全く同様に行われ、トレースメモリ4にもトレース
データが全く同じように格納されていく。シーケンスプ
ログラムの実行が最後に達し、END命令を実行すると
プログラム終了信号oが発生し、それにより転送制御部
7が動作を開始する。転送制御部7は転送タイミングr
を発生し、トレースメモリ4のトレースデータを第2ト
レースメモリに転送する。次に、転送アドレスpを1つ
増加させ、上記動作を繰り返す。この動作を転送アドレ
スpがプログラムメモリ1の最終アドレスに達するまで
繰り返す。その後、転送制御部7は上位アドレスアップ
sを発生して上位アドレスカウンタ72をカウントアッ
プさせて転送動作を終了する。再度、プログラム終了信
号oが入力されると上記動作を繰り返す。
【0041】ここで、第2トレースメモリに格納される
データの格納アドレスに関して説明する。簡単のためプ
ログラムメモリ1は8シーケンス命令を格納でき、第2
トレースメモリの格納アドレスは次式で決まるものとし
て説明する。
【0042】
【数1】 格納アドレス=上位アドレスq×8+転送アドレスp 1回目のシーケンスプログラムの実行時のトレース結果
は上位アドレスqが0で、転送アドレスpが0から7ま
で増加するので、トレースメモリ4のトレースデータは
第2トレースメモリ6の0から7番地に転送される。2
回目のシーケンスプログラムの実行時のトレース結果は
上位アドレスqがカウントアップして1になっているの
で第2トレースメモリ6の8から15番地に転送され
る。N回目の結果は、8・(Nー1)番地から8・N−
1番地に転送される。
【0043】ここで、本実施例によりシーケンスプログ
ラムの動作をモニタする例を説明する。たとえば、出力
接点Y200が途中でオフしてしまう問題が発生したと
する。この場合には、出力接点Y200をセットする命
令ST Y200はプログラムメモリ1の3番地に格納
されるので、順に第2トレースメモリの3,11,…,
8・(N−1)+3,…番地を読み出し、前記読みだし
たデータが0となっているM回目の実行時点を検索す
る。これにより出力接点Y200がオフするのはM回目
の実行時に問題が発生していることがわかるので、次に
出力接点Y200にセットするデータを決定する処理の
結果、つまりAND X101,ANDX100のシー
ケンス命令の実行状態を第2トレースメモリ6の8・
(M−1)+2,8・(M−1)*8+1番地を読み出
すことにより調べる。必要により8・(M−2)+2,
8・(M−2)+1番地を読み出して、前回の実行状
態、さらには前々回の実行状態を読み出して調べる。
【0044】以上説明したように、本実施例によれば第
2トレースメモリ6にシーケンスプログラム実行毎の状
態を転送するので、繰り返し実行される状態をモニタで
きる効果がある。
【0045】さらに、本発明の他の実施例を図7および
図8を基に説明する。
【0046】図7において図1と同一の符号を附したも
のは同一のものを表わす。本実施例の構成で第1の実施
例と異なるのは、7bのトレース制御部が追加され、タ
イミング制御部22からプログラム終了信号oを発生し
て前記トレース制御部7bに入力している点、4bのト
レースメモリがプログラムアドレスバスaに加え上位ア
ドレスqも入力する点が異なる。これにより本実施例で
は繰り返して実行されるシーケンスプログラムの実行状
態のモニタをトレースデータの転送を行うことなく可能
としている。この点を中心に説明する。
【0047】トレース制御部7bの内部は、例えば図示
のように構成される。72は上位アドレスカウンタであ
る。上位アドレスカウンタ72はタイミング制御部22
から出力されるプログラム終了信号oをカウントし、そ
のカウント値を上位アドレスqとしてトレースメモリ4
bに出力する。プログラム終了信号oはタイミング制御
部22がEND命令を解読したときに、その命令実行の
最終ステートで発生する。
【0048】本実施例の動作を説明する。図2に示した
シーケンスプログラムを実行する例を基に説明する。シ
ーケンスプログラムの実行は第1の実施例で説明した場
合と全く同様に行われ、トレースメモリ4bにも実行結
果を格納する。シーケンスプログラムの実行が最後に達
しEND命令を実行するとプログラム終了信号oが発生
し、上位アドレスカウンタ72が該プログラム終了信号
oをカウントして上位アドレスqが1つ増加する。
【0049】ここで、第2トレースメモリ4bに格納さ
れる実行結果データの格納アドレスに関して図8を使い
説明する。簡単のためプログラムメモリ1は8シーケン
ス命令を格納でき、トレースメモリ4bの格納アドレス
は次式で決まるものとして説明する。
【0050】
【数2】格納アドレス=上位アドレスq×8+プログラ
ムアドレスバスa 1回目のシーケンスプログラムの実行時では上位アドレ
スqが0で、プログラムアドレスバスaが0から4まで
変化するので、実行結果はトレースメモリ4bの0から
4番地に格納される。2回目のシーケンスプログラムの
実行時には上位アドレスqがカウントアップして1にな
っているので、実行結果はトレースメモリの8から12
番地に格納される。N回目の結果は、8・(Nー1)番
地から8・(N−1)+4番地に格納される。
【0051】以上説明したように、本実施例によればト
レースメモリ4bにシーケンスプログラム実行毎の各命
令の実行結果を格納するので、繰り返して実行されるシ
ーケンスプログラム実行状態をモニタできる効果があ
り、しかもトレースデータの転送を必要としないので高
速にシーケンスプログラムを繰り返して実行できる効果
がある。
【0052】さらに、本発明の他の実施例を図9および
図10を基に説明する。
【0053】図9において図1と同一の符号を附したも
のは同一のものを表わす。本実施例の構成で第1の実施
例と異なるのは、プログラムアドレスバスaを入力し格
納アドレスrを出力する8の格納アドレス発生部が追加
され、トレースメモリ4がプログラムアドレスバスaの
変わりに格納アドレスrを入力する点が異なる。これに
より本実施例では、トレースメモリ4に格納する各命令
の実行結果をプログラムメモリ1に格納された命令の順
序にかかわらずに任意の順位,位置とすることができ
る。この点を中心に説明する。
【0054】格納アドレス発生部8は、プログラムアド
レスバスaを入力し、プログラムアドレスバスaのアド
レスからある定まった規則により格納アドレスrを発生
する。格納アドレス発生部8は例えば、図10に示すよ
うに格納アドレス発生メモリで構成される。プログラム
アドレスバスaは格納アドレス発生部8の格納アドレス
発生メモリの読みだしアドレスを指定する。指定された
格納アドレス発生メモリに格納されたデータが読みださ
れ、格納アドレスrとなる。たとえば格納アドレス発生
部8の格納アドレス発生メモリに図10で示すデータが
記憶されていれば、プログラムアドレスバスaが0のと
きに格納アドレスrは4番地となり、プログラムアドレ
スバスaが1では格納アドレスrは3番地、というよう
に格納アドレスrが出力される。格納アドレスrで指定
されるアドレスに各命令の実行結果が格納される。
【0055】以上説明したように、本実施例によれば実
行結果をトレースメモリの任意の番地に格納できるの
で、トレースデータを任意の順序で格納できる効果があ
る。
【0056】本実施例では格納アドレス発生部8を格納
アドレス発生メモリにより構成した例を説明したが、他
の方法によってもよい。また、シーケンスプログラム実
行毎に格納アドレスrの発生を変えて繰り返して実行さ
れるシーケンスプログラム実行状態をトレースメモリに
記憶するようにすることも容易である。
【0057】
【発明の効果】以上説明したように、本発明によれば各
シーケンス命令の実行毎に演算状態をトレースメモリに
記憶しているので、トレースメモリを読み出すだけで任
意にシーケンス制御状態をモニタできかつ、シーケンス
制御状態をモニタするためのシーケンスプログラムの変
更を必要としない効果がある。
【0058】また、トレースメモリ,トレースデータ書
込み手段とトレースデータ読出し手段から構成している
ので、ハードウェア構成が簡単なプログラマブルコント
ローラを提供できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す図である。
【図2】説明のためのシーケンスプログラムの一例を示
す図である。
【図3】実施例の動作を説明するタイムチャートであ
る。
【図4】実施例のトレースメモリのデータを説明する図
である。
【図5】本発明の他の実施例の動作を説明するタイムチ
ャートである。
【図6】本発明の他の実施例を示す図である。
【図7】本発明の他の実施例の構成を示す図である。
【図8】本発明の他の実施例の動作を説明する図であ
る。
【図9】本発明の他の実施例の構成を示す図である。
【図10】本発明の他の実施例の動作を説明する図であ
る。
【図11】他の実施例のトレースメモリのデータを説明
する図である。
【符号の説明】
1…シーケンスプログラムを格納するプログラムメモ
リ、2…演算手段、3…入出力回路、4…トレースメモ
リ、5…トレースメモリ読出手段、6…第2トレースメ
モリ、7…トレース制御部、8…格納アドレス発生部。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】シーケンスプログムを格納するプログラム
    メモリと、前記プログラムメモリに格納されたシーケン
    スプログラムに従って制御を行う演算手段とを備えたプ
    ログラマブルコントローラにおいて、 前記プログラマブルコントローラのプログラムメモリに
    対応してトレースメモリを設け、前記演算手段の1シー
    ケンス命令実行毎に該シーケンス命令が格納された前記
    プログラムメモリに対応した前記トレースメモリに前記
    演算手段の演算状態を記憶することを特徴としたプログ
    ラムコントローラ。
  2. 【請求項2】シーケンスプログムを格納するプログラム
    メモリと、前記プログラムメモリに格納されたシーケン
    スプログラムに従って制御を行う演算手段とを備えたプ
    ログラマブルコントローラにおいて、 前記プログラマブルコントローラのプログラムメモリに
    対応してトレースメモリを設け、前記演算手段が次シー
    ケンス命令を読出す毎に該シーケンス命令が格納されて
    いる前記プログラムメモリに対応した前記トレースメモ
    リに前記演算手段の演算状態を記憶することを特徴とし
    たプログラムコントローラ。
  3. 【請求項3】請求項1又は2記載のプログラマブルコン
    トローラにおいて、 演算手段がプログラムメモリに格納された特定のシーケ
    ンス命令を実行する毎に、トレースメモリのデータを他
    の演算手段,記憶手段あるいは、表示手段に転送するこ
    とを特徴とするプログラマブルコントローラ。
  4. 【請求項4】シーケンスプログムを格納するプログラム
    メモリと、前記プログラムメモリに格納されたシーケン
    スプログラムに従って制御を行う演算手段とを備えたプ
    ログラマブルコントローラにおいて、 前記演算手段の演算状態を記憶するトレースメモリを設
    け、前記演算手段の1シーケンス命令実行毎に該シーケ
    ンス命令が格納されたアドレスと、前記シーケンスプロ
    グラムの実行回数とから決定するアドレスに対応した前
    記トレースメモリに前記演算手段の演算状態を記憶する
    ことを特徴としたプログラムコントローラ。
  5. 【請求項5】シーケンスプログムを格納するプログラム
    メモリと、前記プログラムメモリに格納されたシーケン
    スプログラムに従って制御を行う演算手段とを備えたプ
    ログラマブルコントローラにおいて、 前記演算手段の演算状態を記憶するトレースメモリを設
    け、前記演算手段の1シーケンス命令実行毎に該シーケ
    ンス命令が格納されたアドレスを前記トレースメモリの
    格納アドレスに変換し、該格納アドレスに前記演算手段
    の演算状態を記憶することを特徴としたプログラムコン
    トローラ。
  6. 【請求項6】請求項1ないし5のいずれか1項に記載の
    プログラマブルコントローラにおいて、トレースメモリ
    のデータをシーケンスプログラムのモニタに使用するこ
    とを特徴とするプログラマブルコントローラ。
  7. 【請求項7】請求項1又は2記載のプログラマブルコン
    トローラにおいて、 前記トレースメモリは、前記プログラムメモリからシー
    ケンス命令の読みだし時に、その読みだし位置を指定す
    るプログラムアドレスと、前記演算手段の状態と、タイ
    ミング制御部で発生し前記トレースメモリへの書き込み
    を指示するトレースメモリライト、さらに、トレースメ
    モリ読みだし手段が発生し、前記トレースメモリに格納
    されたデータの読みだし位置を指定するリードアドレ
    ス、前記トレースメモリの読みだしを指定するトレース
    メモリリードとを入力し、 前記トレースメモリライトが発生すると前記演算手段の
    状態を前記プログラムアドレスで指定される前記トレー
    スメモリに格納し、 前記トレースメモリリードが発生すると前記リードアド
    レスのトレースメモリに格納されたデータを読みだすよ
    うに構成されたことを特徴とするプログラマブルコント
    ローラ。
  8. 【請求項8】請求項4ないし6のいずれか1項に記載の
    プログラマブルコントローラにおいて、 前記トレースメモリの書き込みアドレスは、前記プログ
    ラムメモリからシーケンス命令の読みだし時に、その読
    みだし位置を指定するプログラムアドレスを基に生成す
    ることを特徴とするプログラマブルコントローラ。
JP4318146A 1992-11-27 1992-11-27 プログラムコントローラ Pending JPH06161518A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4318146A JPH06161518A (ja) 1992-11-27 1992-11-27 プログラムコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4318146A JPH06161518A (ja) 1992-11-27 1992-11-27 プログラムコントローラ

Publications (1)

Publication Number Publication Date
JPH06161518A true JPH06161518A (ja) 1994-06-07

Family

ID=18096009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4318146A Pending JPH06161518A (ja) 1992-11-27 1992-11-27 プログラムコントローラ

Country Status (1)

Country Link
JP (1) JPH06161518A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250779A (ja) * 1999-02-25 2000-09-14 Toshiba Corp プログラマブルコントローラ
JP2005115969A (ja) * 2005-01-11 2005-04-28 Toshiba Corp プログラマブルコントローラ
JP2011008473A (ja) * 2009-06-25 2011-01-13 Yokogawa Electric Corp プログラマブルコントローラ
WO2012124541A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250779A (ja) * 1999-02-25 2000-09-14 Toshiba Corp プログラマブルコントローラ
JP2005115969A (ja) * 2005-01-11 2005-04-28 Toshiba Corp プログラマブルコントローラ
JP2011008473A (ja) * 2009-06-25 2011-01-13 Yokogawa Electric Corp プログラマブルコントローラ
WO2012124541A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP2012194680A (ja) * 2011-03-15 2012-10-11 Omron Corp 制御装置、制御システム、ツール装置および収集指示プログラム
US9921560B2 (en) 2011-03-15 2018-03-20 Omron Corporation Control device, control system, tool device, and collection instruction program

Similar Documents

Publication Publication Date Title
US4058711A (en) Asynchronous dual function multiprocessor machine control
JPH06161518A (ja) プログラムコントローラ
US4101967A (en) Single bit logic microprocessor
US4688193A (en) Bit processing utilizing a row and column ladder sequence
EP0342674A2 (en) Pipeline circuit for timing adjustment
JP6529670B2 (ja) プログラマブルロジックコントローラ
JPH06187015A (ja) シーケンサのプログラム変換装置
JPS6172303A (ja) シーケンス論理演算制御方法
JPS6217847Y2 (ja)
JPH06266420A (ja) プログラマブルコントローラ
SU1182566A2 (ru) Устройство дл управлени тренажером операторов систем управлени
JP2526894B2 (ja) プログラマブル・コントロ−ラの演算装置
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
KR920006970B1 (ko) 프로그래머블 콘트롤러의 연산처리장치
SU1645960A1 (ru) Устройство дл контрол хода программ
SU1089550A1 (ru) Устройство дл дискретного управлени
JPH05297913A (ja) プログラマブルコントロ−ラ
SU1439564A1 (ru) Генератор тестовых воздействий
JPS61100802A (ja) プログラマブルシ−ケンスコントロ−ラの演算処理方式
JPS6378238A (ja) 目的コ−ド生成装置
JPS60198939A (ja) 分割デ−タの転送方式
JPH0648467B2 (ja) 電源制御装置
JPH03161883A (ja) マイクロプロセッサ
JPH0319570B2 (ja)
JPS62196737A (ja) マイクロプログラム制御装置