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

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

Info

Publication number
JPH04302001A
JPH04302001A JP6517391A JP6517391A JPH04302001A JP H04302001 A JPH04302001 A JP H04302001A JP 6517391 A JP6517391 A JP 6517391A JP 6517391 A JP6517391 A JP 6517391A JP H04302001 A JPH04302001 A JP H04302001A
Authority
JP
Japan
Prior art keywords
memory
device memory
address
contents
sequence 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.)
Pending
Application number
JP6517391A
Other languages
English (en)
Inventor
Tomitsugu Sugimoto
富嗣 杉本
Motohiro Kaga
加賀 元啓
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
Priority to JP6517391A priority Critical patent/JPH04302001A/ja
Publication of JPH04302001A publication Critical patent/JPH04302001A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、シーケンスプログラ
ムの所定の処理段階まで戻り、再動作が可能なプログラ
マブルコントローラに関するものである。
【0002】
【従来の技術】図17は従来例のプログラマブルコント
ローラのブロック構成図である。図において、1はプロ
グラマブルコントローラ本体、2はプログラマブルコン
トローラのシーケンスプログラムを作成時等に使用され
表示装置を有する周辺装置である。なお、プログラマブ
ルコントローラはプログラマブルコントローラ本体1と
周辺装置2とから構成されるものとする。3はシーケン
スプログラムを記憶するシーケンスプログラムメモリ、
4はプログラマブルコントローラ本体1に入力される入
力信号、5はプログラマブルコントローラ本体1より出
力される出力信号、6はシーケンスプログラムメモリ3
に記憶されているシーケンスプログラムにもとづき動作
するプログラマブルコントローラ本体1の演算処理部、
7は入力信号4の状態、出力信号5の状態および演算処
理部6の演算処理結果を記憶するデバイスメモリ、8は
シーケンスプログラムメモリ3に格納されているシーケ
ンスプログラムの命令を演算処理部6が実行可能な指令
に変換する場合などに必要な情報を記憶しているシステ
ムプログラムメモリである。9は周辺装置2の動作に必
要な情報を記憶する制御用メモリ、10は制御用メモリ
9に記憶されている情報にもとづき動作する演算処理部
である。
【0003】次に、図17に示されるプログラマブルコ
ントローラの動作について説明する。プログラマブルコ
ントローラは周知のように周辺装置2で作成したシーケ
ンスプログラムをシーケンスプログラムメモリ3に記憶
させた後、このシーケンスプログラムを演算処理部6が
実行することにより所定の処理が行われ、演算処理結果
がデバイスメモリ7に出力される。また、シーケンスプ
ログラムによる演算処理部6の演算処理は入力信号4ま
たはデバイスメモリ7に記憶されている内容により処理
内容が変化するように構成されている。図18は簡単な
シーケンスプログラムの1例について、ラダー言語によ
る表現141と、ニモニック言語による表現142と、
シーケンスプログラムメモリ3においてラダー言語によ
る表現141のそれぞれのラダーステップの情報が格納
される先頭アドレス143と、ニモック言語による表現
142のそれぞれのニモックステップの先頭アドレス1
44とを記したシーケンスプログラムの説明図である。 図18に示されるシーケンスプログラムは、シーケンス
プログラムメモリ3に記憶されている。このシーケンス
プログラムを実行すると、まず、シーケンスプログラム
メモリ3の0番地に記録されているLD  X0が読出
され実行される。その結果デバイスメモリ7のX0の番
地の内容が読出される。次に、シーケンスプログラムメ
モリ3の1番地に記憶されているOUT  Y10が読
出され実行される。その結果、先にデバイスメモリ7よ
り読出されたX0番地の内容が“1”であれば、デバイ
スメモリ7のY10番地の内容を“1”にし、X0番地
の内容が“0”であればデバイスメモリ7のY10番地
の内容を“0”にする。以下、同様にシーケンスプログ
ラムのニモニック言語で表記された命令を順次実行する
。そして、シーケンスプログラムメモリ3の13番地に
記憶されているEND命令を実行すると0番地に戻り、
再び始めからシーケンスプログラムを実行する。従って
、シーケンスプログラムはエンドレスに繰返し実行され
る。 さて、シーケンスプログラムのデバグの便宜のためなど
の目的からプログラマブルコントローラはシーケンスプ
ログラムを1ステップ実行する毎に一時停止するステッ
プ運転ができるように構成されている。すなわち、ステ
ップ運転でプログラマブルコントローラを動作させると
、上述のシーケンスプログラムの各ニモニック言語で表
記された命令を、動作指令を与える毎に順次1つづ実行
しその都度一時停止するように動作する。シーケンスプ
ログラムのデバグ等において、現在一時停止しているシ
ーケンスプログラムの実行段階から所定の実行段階まで
戻り、再びシーケンスプログラムを実行したい場合、図
17に示される従来装置では、シーケンスプログラムを
所定の実行段階までもう一度初めから実行しなくてはな
らず、非能率的であった。
【0004】次に、他の従来例として図19に示す特公
昭64−7201公報記載のプログラマブルコントロー
ラについて説明する。この図19に示される従来例にお
いては、入力状態保持手段151、内部状態保持手段1
52、および出力状態保持手段153の内容を10組ま
で、記憶可能な状態保存バッファ手段154を有すると
ともに、入力信号155の変化を時系列的に書込みおよ
び読出しの可能なFIFO構造のバッファメモリである
入力信号保存バッファ手段156を有している。なお、
入力状態保持手段151と、出力状態保持手段153と
内部状態保持手段152とをまとめたものは、図17に
示される従来例のデバイスメモリ7に相当している。状
態保存バッファ手段154はプログラマブルコントロー
ラの動作中に、マスタークロック発生手段157が発生
したマスタークロックが分周手段158により分周され
たステップバッククロック毎に間欠的に入力状態保持手
段151、内部状態保持手段152、および、出力状態
保持手段153の内容とステップバッククロックの周期
情報とを記憶するように構成されており、入力信号保存
バッファ手段156はマスタークロック毎に入力信号1
55の変化を記憶するように構成されている。すなわち
、マスタークロック毎に記録できるのは入力信号155
についてのみであり、内部状態保持手段152、および
、出力状態保持手段153の状態はステップバッククロ
ック毎にしか記憶されない。従って、プログラマブルコ
ントローラの内部状態をシーケンスプログラムの所定の
実行段階まで戻すには、戻したい所定の実行段階のすぐ
前のステップバッククロックの時点にプログラマブルコ
ントローラの内部状態をまず設定し、その後、入力信号
保存バッファ手段156に記憶された内容にもとづき戻
したい所定の実行段階まで動作を進めるようにする。 従って、所定の実行段階まで戻す動作は時間がかゝり操
作も容易とは言えない。また、マスタークロック毎の入
力状態保持手段151、内部状態保持手段152、およ
び出力状態保持手段153の内容が記録されていないの
で、プログラマブルコントローラ内に記憶された情報に
もとづくプログラマブルコントローラの動作の確認また
はシーケンスプログラムのデバグができない。また、こ
のような問題点を緩和するためにステップバッククロッ
クの周期をマスタークロックの周期に近づけると状態保
存バッファ手段154の容量を大きくしなくてはならず
装置が大形化し高価なものとなる。
【0005】
【発明が解決しようとする課題】上記のような従来のプ
ログラマブルコントローラではすでに一度実行した所定
の動作段階より動作を再開できるようにするには、動作
再開可能な段階毎に全デバイス情報を記憶するメモリが
必要であり、動作再開可能な段階数を多くすれば大容量
のメモリが必要となるという問題点があった。また、動
作再開可能な段階を少なくし、入力信号のみを連続して
入力信号記憶メモリに記憶しておき、まず動作再開可能
な段階に戻し、そこから上述の入力信号記憶メモリにも
とづき所定の動作段階まで動作を進める従来例があるが
、操作が2段階となり、デバグに時間を要するなどの問
題点があった。
【0006】この発明が解決しようとする課題は小容量
のメモリで動作再開可能な段階数を多くとることができ
るとともにデバグが容易なプログラマブルコントローラ
を得ることである。
【0007】
【課題を解決するための手段】この発明に係るプログラ
マブルコントローラは外部からの入力信号の状態と、外
部へ出力する出力信号の状態と、シーケンスプログラム
にもとづき演算処理する演算処理部の所定の処理の結果
とが、それぞれ予め定めれたアドレスに記憶され、上記
入力信号の状態、出力信号の状態、および、所定の処理
の結果のいずれかが変化すると内容が変化するデバイス
メモリ、このデバイスメモリの内容の変化を検知するデ
バイスメモリ変化検知手段、このデバイスメモリ変化検
知手段の出力信号にもとづき変化したデバイスメモリの
アドレスと、このアドレスに記憶された内容とを履歴的
に順次記憶するデバイスメモリ変化記憶メモリ、このデ
バイスメモリ変化記憶メモリの内容にもとづきデバイス
メモリの内容をシーケンスプログラムの所定の動作段階
の状態に設定するデバイスメモリ内容設定手段を備える
ようにしたものである。また、デバイスメモリ変化記憶
メモリは、デバイスメモリ変化検知手段の出力信号にも
とづき変化したデバイスメモリのアドレスおよび、この
アドレスに記憶された内容とともに、シーケンスプログ
ラムの実行番地を記憶するようにしたものである。また
、デバイスメモリ変化記憶メモリは、デバイスメモリ変
化検知手段の出力信号にもとづき変化したデバイスメモ
リのアドレスおよび、このアドレスに記憶された内容を
予め設定した所定条件の成立毎に記憶するようにしたも
のである。
【0008】
【作用】上記のように構成したプログラマブルコントロ
ーラはデバイスメモリの内容の変化を検知するデバイス
メモリ変化検知手段の出力信号にもとづき変化したデバ
イスメモリのアドレスおよび内容をデバイスメモリ変化
記憶メモリに履歴的に順次記憶することにより、このデ
バイスメモリ変化記憶メモリの内容にもとづきデバイス
メモリの内容をシーケンスプログラムの所定の動作段階
の状態に設定することができる。
【0009】
【実施例】実施例1.図1はこの発明の一実施例を示す
プログラマブルコントローラのブロック構成図である。 図において、11はデバイスメモリ7の各番地毎に1ビ
ットの容量のメモリを有するフラグメモリである。この
フラグメモリ11は、デバイスメモリ7に書換えがあっ
たとき書換えのあったアドレスと同じアドレスの内容が
“1”にセットされるメモリである。12はフラグメモ
リ11が“1”にセットされているアドレスと、このア
ドレスのデバイスメモリ7の内容等が順次履歴的に記憶
されるデバイスメモリ変化記憶メモリ、13はデバイス
メモリ7の内容全体が転送されるデバイスメモリ内容コ
ピーメモリ、14はプログラマブルコントローラ本体1
より転送される1ブロックのデータの個数を数えた結果
を記憶するデータ個数カウントメモリ、15はプログラ
マブルコントローラ本体1より送られて来た1ブロック
のサンプリングデータが、初めから数えて何ブロック目
のデータであるか数えた結果を記憶するサンプリング回
数カウントメモリである。なお、1ブロックのサンプリ
ングデータとは、予め設定した所定条件の成立毎にまと
めてプログラマブルコントローラ本体より転送されて来
るデバイスメモリ7の内容とそのアドレスである。また
、フラグメモリ11およびサンプリング中フラグ16は
プログラマブルコントローラ本体1に設けられており、
デバイスメモリ変化記憶メモリ12、デバイスメモリ内
容コピーメモリ13、データ個数カウントメモリ14、
およびサンプリング回数カウントメモリ15は周辺装置
2に設けられている。また、図において、1〜10は、
それぞれ、図17に示されるものと同様なので説明を省
略する。
【0010】次に、図1に示されるこの発明の一実施例
によるプログラマブルコントローラの動作について説明
する。図2は、周辺装置2のデータサンプル時の動作を
示すフロー図である。なお、データのサンプルは、所定
の動作段階の状態にプログラマブルコントローラの内部
状態を戻すとき必要になるデータをサンプルし記憶する
ために行われるものである。周辺装置2は所定時間毎に
図2に示される開始S201の状態になりステップS2
02に移行する。
【0011】ステップS202でデータサンプルを行う
指令すなわち動作履歴記憶指令パルスの有無を判定する
。なお、動作履歴記憶指令パルスは、例えば、周辺装置
2に設けられた所定のキーを操作者が押すことにより発
生する。ステップS202で動作履歴記憶指令パルスが
有れば次のステップS203に進み、無ければステップ
S212に進む。ステップS203ではサンプリング回
数カウントメモリ15をクリヤし(サンプリング回数カ
ウントメモリの内容をクリヤ、すなわち、“0”にし)
次のステップS204に進む。ステップS204ではプ
ログラマブルコントローラ本体(以後PC本体と称す)
1にサンプリング開始指令パルスを送出し、ステップS
205に進む。
【0012】ステップS205ではPC本体1より1ブ
ロックのサンプリングデータが送られて来るまで待つ。 次に、PC本体1の動作について、図3のフロー図によ
り説明する。図3において、ステップS301は、シー
ケンスプログラムの実行に先立つ前処理動作に入るステ
ップであり、シーケンスプログラムはこの前処理動作の
後に動作を開始する。また、図3に示される動作フロー
は終了ステップであるステップS310まで動作すると
また、このステップS301に戻り、所定の停止指令が
与えられるまでエンドレスに繰返し実行される。
【0013】ステップS301からステップS302へ
は無条件で移行する。ステップS302では周辺装置2
からサンプリング開始指令パルスが送られて来たか判定
し、サンプリング開始指令パルスが送られて来ていなけ
ればステップS303に進み、送られて来ていればステ
ップS304に進む。ステップS304では、フラグメ
モリ11をクリヤ、すなわち、内容をすべて“0”にし
、サンプリング中フラグ16を“1”にセットする。 又、周辺装置2のデバイスメモリ内容コピーメモリ13
にデバイスメモリの内容を転送し、次のステップS30
5に進む。なお、このステップS304は周辺装置2よ
りサンプル開始指令パルスが送られて来た時だけ実行さ
れ、サンプリング中はステップS303を通りバイパス
される。
【0014】また、ステップS302からステップS3
03に進んだ場合は、ステップS303でサンプリング
中フラグ16が“1”か否かを判定し、“1”であれば
ステップS305に進み、“0”であればステップS3
06に進む。なお、ステップS301〜ステップS30
4は、シーケンスプログラムの実行に先立つ前処理動作
のステップであり、ステップS305およびS306は
シーケンスプログラムの実行動作のステップである。
【0015】ステップS305では、シーケンスプログ
ラムを実行する。また、デバイスメモリ7に書換えがあ
れば書換のあったフラグメモリ11のアドレスに“1”
を書込み次のステップS307に進む。なお、デバイス
メモリ7に書換えがあったか否かの判定については、図
2および図3のフロー図の説明の後に説明する。
【0016】ステップS307では予め設定した所定条
件、例えば、所定時間の過程、所定回数のシーケンスプ
ログラムの実行、または、所定のデバイスメモリ7の内
容が所定値にセットされるなどの1ブロックの終了条件
が成立したか否かを判定し、成立していなければそのま
ゝ終了ステップであるS310に進み、成立していれば
次のステップS308に進む。
【0017】ステップS308では、周辺装置2に1ブ
ロックのサンプリングデータとその終了信号である1ブ
ロック終了信号とを送り次のステップS309に進む。 なお、1ブロックのサンプリングデータはフラグメモリ
11に“1”が書込まれているものであればそのアドレ
スとそのアドレスにおけるデバイスメモリ7の内容とを
有するものとする。ステップS309では次の動作に備
えフラグメモリ11をクリヤ、すなわち、内容をすべて
“0”にし、フラグメモリ11の内容をクリヤ、すなわ
ち、すべて“0”にする。そして、次の終了ステップS
310に進む。また、ステップS303よりステップS
306に進むのはサンプリング中でない場合であり、ス
テップS306でシーケンスプログラムを実行するのみ
で終了ステップであるステップS310に進む。なお、
ステップS307〜S309はサンプリング中において
シーケンスプログラムを1回実行する毎に実行される後
処理またはEND処理を構成している。
【0018】次に、周辺装置2の動作を示すフロー図で
ある図2に戻り説明する。ステップS205でPC本体
より1ブロックのサンプリングデータが送られて来ると
、次のステップS206に進む。ステップS206では
サンプル個数カウントメモリ14をクリヤ、すなわち、
“0”にし次のステップS207に進む。ステップS2
07では、デバイスメモリ変化記憶メモリ12にPC本
体1より送られて来たデバイスメモリのアドレスと、そ
のデバイスメモリの内容とをそれぞれ1つづ書込み、デ
ータ個数カウントメモリ14の内容に1を加え、次のス
テップS208に進む。なお、1ブロックのサンプリン
グデータとしてデバイスメモリのアドレスとそのデバイ
スメモリの内容とが送られて来ていない場合は無動作で
次のステップS208に進む。
【0019】ステップS208ではPC本体1より1ブ
ロックのサンプリングデータ終了を示す1ブロック終了
信号が送られて来たか否かを判定し、送られて来ていな
ければステップS207に戻る。また、1ブロック終了
信号が送られて来ていれば次のステップS209に進む
。ステップS209ではサンプリング回数カウントメモ
リ15の内容に1を加え、次のステップS210に進む
。ステップS210ではサンプリング回数カウントメモ
リ15の内容とデータ個数カウントメモリ14の内容を
デバイスメモリ変化記憶メモリ12に書込み次のステッ
プS211に進む。
【0020】ステップS211では、周辺装置2のキー
等により指令される動作履歴記憶終了指令の有無を判定
し、動作履歴記憶終了指令が無ければステップS205
に戻り、有れば次のステップS212に進む。ステップ
S212ではPC本体1に設けれているサンプリング中
フラグ16をクリヤ、すなわち、“0”にし、次の終了
ステップS213に進む。
【0021】なお、ステップS207〜ステップS21
0によりデバイスメモリ変化記憶メモリ12には図7に
示される様式でサンプリング回数501をデータ個数5
02とが各々の1ブロックのサンプリングデータ505
に添えて記憶される。また、1ブロックのサンプリング
データ505は0組〜複数組のデバイスメモリのアドレ
ス503およびデバイスメモリの内容504より構成さ
れている。また、サンプリング回数501、データ個数
502、および1ブロックのサンプリングデータ505
よりサンプリングブロック506が構成される。
【0022】次に、先に述べた図3に示されるステップ
S305におけるデバイスメモリ7に書換えがあったか
否かの判定について図4に示されるフロー図により説明
する。図3に示されるフロー図でステップS305の状
態になるとともに図4の開始ステップS401に入り、
図4で示されるフロー図の動作を開始する。ステップS
401からステップS402へは無条件でそのまゝ移行
する。ステップS402ではサンプリング中フラグ16
が“1”であるか否かにより、“1”であれば次のステ
ップS403に進み、“0”であればステップS404
に進み終了する。
【0023】ステップS403ではデバイスメモリ7に
書込指令があるか否かを判定し、書込指令があればステ
ップS405に進み、なければステップS402に戻る
。ステップS405ではデバイスメモリ7の、これから
書込む番地にすでに書込まれている内容を読出し、次の
ステップS406に進む。ステップS406では、ステ
ップS405で読出された内容と、これから書込指令に
より書込む内容と同一か否かを判定する。同一であれば
ステップS402に戻り、同一でなければ次のステップ
S407に進む。ステップS407ではデバイスメモリ
7の書込指令により書込まれる番地と同一アドレスのフ
ラグメモリ11の内容を“1”にセットし、ステップS
402に戻る。
【0024】なお、以上のステップS401〜ステップ
S407までの動作は、システムプログラムメモリ8に
格納されているプログラムにより実行され、デバイスメ
モリ変化検知手段18はこのプログラムにより構成され
る。
【0025】図5は、図6に示されるラダー言語の命令
6002が実行され、入力条件6001が成立していた
場合のデバイスメモリ7およびフラグメモリ11の内容
の変化を示す図である。図において、図5(a)はラダ
ー言語の命令6002が実行される前のデバイスメモリ
7およびフラグメモリ11の内容を示し、図5(b)は
実行された後のデバイスメモリ7およびフラグメモリ1
1の内容を示している。図5において、5001はフラ
グメモリ11の内容を示し、5002はデバイスメモリ
7の内容を示し、5003はデバイスメモリ7およびフ
ラグメモリ11のアドレスを示している。図5に示され
るようにラダー言語の命令6002が実行されることに
よりデバイスメモリ7のD0 番地の内容が0000H
 から0010H に変化し、同時に図4に示される動
作フローによりフラグメモリ11のD0 番地の内容が
0から1にに変化する。
【0026】次に、図2〜図4のフロー図に示される動
作が行われた結果デバイスメモリ変化記憶メモリ12お
よびデバイスメモリ内容コピーメモリ13の内容にもと
づき、周辺装置2からの指令によりデバイスメモリ7の
内容をシーケンスプログラムの所定の動作段階の状態に
戻し、そこから再びシーケンスプログラムを実行する場
合の動作について、図8に示される周辺装置2の動作フ
ロー図により説明する。
【0027】周辺装置2は所定時間毎に繰返し開始ステ
ップS601から図8に示される動作を開始する。
【0028】ステップS601からステップS602へ
は無条件に直ちに移行する。ステップS602では、例
えば周辺装置2に設けられたキー操作による戻し動作指
令が与えれているか否かを判定する。与えれていなけれ
ばそのまゝ終了ステップS609に移行し、戻し動作指
令が与えられていれば次のステップS603に進む。
【0029】ステップS603ではPC本体1の動作を
停止させ次のステップS604に進む。なお、ステップ
S602ですでにPC本体1の動作が停止している場合
はステップS603は無動作で次のステップS604に
進む。ステップS604では、デバイスメモリ内容コピ
ーメモリ13の内容をPC本体1のデバイスメモリ7に
転送し次のステップS605に進む。
【0030】ステップS605ではデバイスメモリ変化
記憶メモリ12のアドレスの昇順に、デバイスメモリ変
化記憶メモリ12の1つのアドレス記憶されている内容
であるデバイスメモリの内容504を、このデバイスメ
モリの内容504の記憶されている1つの前のアドレス
に記憶されているデバイスメモリの番地503の指示す
るデバイスメモリ7のアドレスに書込み次のステップS
606に進む。ステップS606では、戻し動作指令が
指示する所定数のサンプリングブロック506に関して
ステップS605の動作が完了したか判定し、完了して
いなければステップS605に戻り、完了していれば次
のステップS607に進む。
【0031】ステップS607では、例えば周辺装置2
に設けられたキーの操作によるPC本体1の動作再開指
令を待ち、PC本体1の動作再開指令が与えられゝば次
のステップS608に進む。ステップS608ではPC
本体1は動作を再開する。すでに、ステップS604〜
ステップS606により、デバイスメモリ7の内容が戻
し動作指令の指示するシーケンスプログラムの動作段階
の状態に設定されているので、PC本体1は正常に動作
再開ができる。ステップS608の動作が終了すると次
の終了ステップS609に進む。
【0032】なお、図8に示される動作は、制御メモリ
9に記憶されているプログラムにより実行され、デバイ
スメモリ内容設定19はこのプログラムにより構成され
るものとする。
【0033】実施例2.実施例1においては動作履歴記
憶指令パルスおよび動作履歴記憶終了指令は周辺装置2
に設けられたキーの操作により発生させたが、図9に示
されるようにシーケンスプログラム中に記述された命令
により発生させるようにしてもよい。図9は、デバイス
メモリ7に記憶された入力信号X0の状態が“1”にな
るとSAMPという動作履歴記憶指令パルスを発生させ
る命令9001の例を示している。この実施例によれば
、例えば、特定の入力信号4が送れて来たときから動作
履歴を記憶開始または終了させるようにできる効果があ
る。
【0034】実施例3.図10は、この発明の他の実施
例によるプログラマブルコントローラのブロック構成図
である。図において17はデバイスメモリ7のいずれか
のアドレスの内容に変化があるか否かを検知するデバイ
スメモリ内容変化検知手段である。このデバイスメモリ
内容変化検知手段17は、実施例1の場合のようにシス
テムプログラムメモリ8に格納されているシステムプロ
グラムによりデバイスメモリの内容の変化を検知するよ
うに構成せずに図11に示されるハードウェア回路によ
り構成される。また、図11の示されるハードウェア回
路は図12のタイミング図に示される動作を行う。
【0035】図11において、901はデバイスメモリ
7に書込むデータを送るデータラインであり、このデー
タラインは8ビット分の8本の信号線より構成される。 902はデバイスメモリ7の書込みおよび読出しアドレ
スをデバイスメモリ7に送るアドレスラインであり、こ
のアドレスラインはデバイスメモリ7の容量により定ま
る所定の本数の信号線より構成される。903はデバイ
スメモリ7に書込みを行うか、読出しを行うかを指示す
る書込み読出し信号ラインである。904はデータライ
ン901の信号をデバイスメモリ7に送出するか否か切
換るバッファゲートであり、このバッファゲート904
はバッファゲート切換信号905が“1”のときデータ
ライン901の信号をデバイスメモリ7に送出し、バッ
ファゲート切換信号905が“0”のときデータライン
901の信号をデバイスメモリ7から切離すように動作
する。
【0036】906はデバイスメモリ7から読出された
データと、データライン901の信号とを比較し、不一
致のとき“1”を出力する比較器である。また、907
は比較器906の出力信号である不一致出力と比較タイ
ミングライン908の信号との論理積を出力するAND
ゲート、909はANDゲート907の出力信号である
割込信号である。
【0037】次に、図12の動作タイミング図により、
図11に示されるハードウェア回路の動作について説明
する。図において、1001はデータライン901の信
号波形、1002はアドレスライン902の信号波形、
1003は書込み読出し信号線903の信号波形、10
04はバッファゲート切換信号905の信号波形、10
05はデバイスメモリ7より読出されたデータを示す信
号波形、1006は比較タイミング908の信号波形、
1007は割込信号909の信号波形である。図12に
おいて、点線でかこまれた右側の部分1008が本来の
デバイスメモリ7に書込む動作を示す部分であり、点線
でかこまれた左側の部分1009は、デバイスメモリ7
の書込みに先立ち、すでに同一アドレスに書込まれてい
る内容に読出し、これから書込もうとしている内容と同
一か否か比較し、比較結果同一でなければ割込信号90
1を発生する動作の部分である。
【0038】すなわち、点線でかこまれた左側の部分1
009では、書込み読出し信号903を読込みの状態で
ある“0”にするとともにバッファゲート切換信号90
5を“0”にし、アドレスライン902が指示するデバ
イスメモリ7の内容を読出す。また、このデバイスメモ
リ7より読出された信号と書込みデータが送られて来て
いるデータライン901とが比較器906に入力される
。そして、比較タイミングライン908の信号と比較器
906の出力信号である不一致信号との論理積が割込信
号としてANDゲート907より出される。
【0039】また、点線でかこまれた右側の部分100
8では、書込み、読出し信号ライン903は“1”にな
るとともにバッファゲート切換信号ライン905も“1
”になり、データライン901の信号はデバイスメモリ
7に送られ、通常の書込み動作が行われる。
【0040】図13は、割込信号がANDゲート907
より出力されたときのプログラマブルコントローラの動
作フローを示す図である。割込信号が発生するのは、デ
バイスメモリ7に書込みを行うに当り、すでに当該番地
に書込まれている内容と新たに書込む内容と一致しない
場合である。この場合、図13に動作フロー図のように
プログラマブルコントローラは割込動作を行い、デバイ
スメモリ変化記憶メモリ12にデバイスメモリ7の当該
アドレス、この当該アドレスにすでに書込まれいた内容
、および、割込が発生したとこのシーケンスプログラム
の実行番地を記憶する。割込が発生すると、まずステッ
プS1101で割込動作中であることを示す割込中フリ
ップフロップをセットし、各種レジスタの待避などを行
う。
【0041】ステップS1102ではデバイスメモリ変
化記憶メモリ12のアドレスポインタを記憶するアドレ
スポインタメモリ(図示せず)の指示するアドレスにデ
バイスメモリ7の書込みアドレスを書込み次のステップ
S1103に進む。ステップS1103ではアドレスポ
インタメモリの内容に1を加え次のステップS1104
に進む。ステップS1104ではアドレスポインタメモ
リの指示するアドレスにデバイスメモリ7から書込みに
先立ち読出された内容を書込み次のステップS1105
に進む。
【0042】ステップS1105ではアドレスポインタ
メモリの内容に1を加え次のステップS1106に進む
。ステップS1106ではアドレスポインタメモリの指
示するアドレスに割込発生時のシーケンスプログラムの
実行番地を書込み次のステップS1107に進む。ステ
ップS1107ではアドレスポインタメモリの内容に1
を加え次のステップS1108に進む。ステップS11
08では割込中フリップフロップをリセットし、各種レ
ジスタの復帰など割込終了復帰処理を行い終了する。
【0043】図14は、図13に示される動作フロー図
によりデバイスメモリ変化記憶メモリ12に書込まれた
情報であるデバイスメモリのアドレス1201、デバイ
スメモリの内容1202、および、シーケンスプログラ
ムの実行番地1203がデバイスメモリ変化記憶メモリ
12にどのように記憶されているかを示す図である。図
14において、1204は、デバイスメモリのアドレス
1201、デバイスメモリの内容1202、および、シ
ーケンスプログラムの実行番地1203を1組にしたサ
ンプリングデータである。このサンプリングデータ12
04は、割込が発生する度に順次デバイスメモリ変化記
憶メモリ12に書込まれてゆく。なお、デバイスメモリ
変化記憶メモリ12のアドレスポインタを記憶するアド
レスポインタメモリは予めデータのサンプリングに先立
ちクリヤ、すなわち内容を“0”にしておくものとする
【0044】次に、図13で示される動作フロー図によ
りデバイスメモリ変化記憶メモリ12に記憶されたサン
プリングデータにもとづき、デバイスメモリ7の内容を
シーケンスプログラムの所定の動作段階の状態に設定す
る動作について図15に示されるPC本体1の動作フロ
ー図により説明する。
【0045】この実施例においては、デバイスメモリ変
化記憶メモリ12に、デバイスメモリ7の内容が変化し
たときのシーケンスプログラムの実行番地が記憶されて
いるのでデバイスメモリ7の内容を所定のシーケンスプ
ログラムの実行番地における状態に設定することができ
る。また、デバイスメモリ変化記憶メモリ12にはデバ
イスメモリ7から読出されたデータが書込まれているの
でシーケンスプログラムを逆方向にたどりながらデバイ
スメモリ7の内容を設定してゆくことができる。
【0046】図15において、開始ステップS1301
には、例えばシーケンスプログラムを1回実行する毎な
どの所定時間毎に入るものとする。ステップS1301
からステップS1302には無条件でそのまま移行する
。ステップS1302では、例えば、周辺装置2に設け
られたキーの操作による戻し動作指令が指令されている
かを判定し、指令されていなければ終了ステップS13
09に進み、指令されていれば次のステップS1303
に進む。ステップS1303ではPC本体1のシーケン
スプログラムの動作を停止させ次のステップS1304
に進む。なお、PC本体1のシーケンスプログラムがす
でに停止している場合は無動作で次のステップS130
4に進む。
【0047】ステップS1304では、デバイスメモリ
変化記憶メモリ12のアドレスポインタメモリの内容を
最後のサンプリングデータ1204のシーケンスプログ
ラムの実行番地1203が記憶されているアドレスにし
、次のステップS1305に進む。なお、通常ステップ
S1303からステップS1304に進んだときデバイ
スメモリ変化記憶メモリ12のアドレスポインタメモリ
の内容は、シーケンスプログラムの実行番地1203が
記憶されているアドレスに1に加えた値が記憶されてい
るのでデバイスメモリ変化記憶メモリ12のアドレスポ
インタメモリに記憶されている内容に1を減じたものを
デバイスメモリ変化記憶メモリ12のアドレスポインタ
メモリに書込めばよい。
【0048】ステップS1305ではデバイスメモリ変
化記憶メモリ12のアドレスポインタメモリの内容が指
示するアドレスのデバイスメモリ変化記憶メモリ12の
内容がシーケンスプログラムメモリ3のアドレスカウン
タの内容と等しいか否か判定し、等しい場合、すなわち
、判定条件が成立した場合は次のステップS1306に
進み、等しくない場合はステップS1308に進む。 ステップS1308ではシーケンスプログラムメモリ3
のアドレスカウンタの内容を−1したものに書換え次の
ステップS1309に進む。
【0049】ステップS1309ではシーケンスプログ
ラムメモリ3のアドレスカウンタの内容と戻し動作指令
で指定されたシーケンスプログラムの戻し番地とシーケ
ンスプログラムメモリ3のアドレスカウンタの内容とが
等しいか否かを判定し、等しい場合は次の終了ステップ
S1310に進み、等しくない場合はステップS130
5に戻る。ステップS1306では、デバイスメモリ変
化記憶メモリ12のアドレスポインタメモリの内容に1
を減じた番地のデバイスメモリ変化記憶メモリ12の内
容を、デバイスメモリ変化記憶メモリ12のアドレスポ
インタメモリの内容に2を減じた番地の内容が示すデバ
イスメモリ7のアドレスに書込み次のステップS130
7に進む。
【0050】ステップS1307では、デバイスメモリ
変化記憶メモリ12のアドレスポインタメモリの内容を
3を減じたものにし、次のステップS1308に進む。 図13のフロー図の流れの概要を説明すると、初めは、
ステップS1301→ステップS1302→ステップS
1303→ステップS1304→ステップS1305→
ステップS1308→ステップS1309→ステップS
1305と進み、ステップS1305で判定条件が成立
するまでステップS1305→ステップS1308→ス
テップS1309→ステップS1305の動作を繰返し
実行する。ステップS1305で判定条件が成立すると
、シーケンスプログラムメモリ3のアドレスカウンタの
内容が、図14に示されるシーケンスプログラムの実行
番地1203と一致したものとして、図14に示される
デバイスメモリのアドレス1201が指示するデバイス
メモリ7の番地に図14に示されるデバイスメモリの内
容1202を書込む。これで、デバイスメモリ7の内容
をシーケンスプログラムの実行番地1203で割込が生
じる前の状態に戻されることになる。
【0051】次のステップS1307では、次の読出し
動作に備えデバイスメモリ変化記憶メモリ12のアドレ
スポインタメモリの内容を3を減じたものにする。ステ
ップS1309では、ステップS1308を所定回数通
過し、シーケンスプログラムメモリ3のアドレスカウン
タの内容と戻し動作指令で指定されたシーケンスプログ
ラムの戻し番地に等しいか否かを判定し、等しければ、
戻し動作指令で指定されたシーケンスプログラムの戻し
番地における状態にPC本体1の内部状態の設置が完了
したものとして次の終了ステップS1310に進む。
【0052】なお、図15および図15に示される動作
はシステムプログラムメモリ8に記憶されているシステ
ムプログラムにより実行され、デバイスメモリ内容設定
手段20は、このプログラムにより構成されるものとす
る。この実施例によりば、シーケンスプログラムの1命
令〜数命令の戻り動作が容易にできるとともに、任意の
シーケンスプログラムの実行段階に直接戻す動作ができ
る効果がある。
【0053】また、デバイスメモリ変化検知手段はハー
ドウェア回路に上り構成されるので、プログラマブルコ
ントローラの動作速度をほとんど減少させない特徴があ
る。
【0054】実施例4.実施例3においては、繰返し実
行されるシーケンスプログラムの1回分の動作の中で前
の動作段階に戻す動作は可能であるが、シーケンスプロ
グラムの複数回にわたる前の動作段階に戻す動作はでき
ない。図16のフロー図は、実施例3における上述の問
題を解消した一例を示すものである。図16において、
ステップS1401〜ステップS1408については図
13におけるステップS1301〜ステップS1308
と同様なので説明を省略する。
【0055】ステップS1408の動作が完了すると次
のステップS1411に進む。ステップS1411では
、戻し動作指令により指定された戻りスキャン数を記憶
している戻りスキャン回数カウンタ(図示せず)が零に
等しいか否かを判定し、等しくなければステップS14
12に進み、等しければステップS1414に進む。 なお、戻りスキャン数は戻し動作において、シーケンス
プログラムを何回実行分戻すかの回数を示すものとする
。ステップS1412では、シーケンスプログラムメモ
リ3のアドレスカウンタの内容が零であるか否かを判定
し、零でなければステップS1405に戻り、零であれ
ば次のステップS1413に進む。ステップS1413
では戻りスキャン回数カウンタの内容を1を減じたもの
に変え、ステップS1405に戻る。
【0056】ステップS1414では、戻し動作指令に
より指定された戻し番地とシーケンスプログラムメモリ
3のアドレスカウンタの内容と一致しているか否か判定
し、一致していなければステップS1405に戻り、一
致していれば戻し動作が終了したものとして終了ステッ
プS1415に進む。すなわち、戻しスキャン回数カウ
ンタの内容が零になるまで図15においてステップS1
408→ステップS1411→ステップS1412→ス
テップS1405または、ステップS1408→ステッ
プS1411→ステップS1412→ステップS141
3→ステップS1405の径路を繰返し通過し、シーケ
ンスプログラムメモリ3のアドレスカウンタが零になる
度にステップS1413で戻りスキャン回数カウンタの
内容を1減じたものに変えてゆく。そして、ステップS
1411で戻りスキャン回数カウンタの内容が零になる
と、ステップS1414に進みステップS1414でシ
ーケンスプログラムメモリのアドレスカウンタの内容が
戻し動作指令により指定された戻し番地に一致したか判
定する。一致していなければ一致するまでステップS1
405に戻り一致すれば終了する。
【0057】この実施例によれば、シーケンスプログラ
ムの複数回にわたる前の動作段階に戻すことができる他
、実施例3と同様の効果がある。
【0058】実施例5.実施例1〜実施例4においては
、デバイスメモリ7の変化を検知するためにシステムプ
ログラムメモリ8に記憶されたシステムプログラム、ま
たは、ハードウェア回路のいずれかを用いるように特定
しているが、いずれを用いるようにしてもよい。
【0059】
【発明の効果】この発明は、以上説明したように構成さ
れており、変化したデバイスメモリのアドレスおよび内
容を履歴的に順次デバイスメモリ変化記憶メモリに記憶
することにより、このデバイスメモリ変化記憶メモリの
内容にもとづきデバイスメモリの内容をシーケンスプロ
グラムの所定の動作段階の状態に設定し、この所定の動
作段階より動作の再開ができるので小容量のメモリで動
作再開可能段階数の多いデバグが容易なプログラマブル
コントローラを得ることができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施例1によるプログラマブルコン
トローラのブロック構成図である。
【図2】図1に示すプログラマブルコントローラの周辺
装置の動作フロー図である。
【図3】図1に示すプログラマブルコントローラのPC
本体の動作フロー図である。
【図4】図1に示すプログラマブルコントローラのデバ
イスメモリに書換えがあったか否かの判定を行う動作の
フロー図である。
【図5】図1に示すプログラマブルコントローラのデバ
イスメモリおよびフラグメモリの内容の変化を示す図で
ある。
【図6】図5に示す動作を行うラダー言語の命令を示す
図である。
【図7】図1に示すプログラマブルコントローラのデバ
イスメモリ変化記憶メモリの内容を示す図である。
【図8】図1に示すプログラマブルコントローラの周辺
装置の動作フローを示す図である。
【図9】この発明の実施例2によるプログラマブルコン
トローラのラダー言語による命令を示す図である。
【図10】この発明の実施例3によるプログラマブルコ
ントローラのブロック構成図である。
【図11】図10に示されるプログラマブルコントロー
ラのデバイスメモリ内容変化検知手段のブロック構成図
である。
【図12】図11に示されるデバイスメモリ内容変化検
知手段の動作タイミング図である。
【図13】図10に示されるプログラマブルコントロー
ラの割込動作を示す動作フロー図である。
【図14】図10に示されるプログラマブルコントロー
ラのデバイスメモリ変化記憶メモリの内容を示す図であ
る。
【図15】図10に示されるプログラマブルコントロー
ラのこの発明の実施例3によるPC本体の動作フロー図
である。
【図16】この発明の実施例4によるプログラマブルコ
ントローラのPC本体の動作フロー図である。
【図17】従来のプログラマブルコントローラのブロッ
ク構成図である。
【図18】シーケンスプログラムの一例を示す図である
【図19】従来の他のプログラマブルコントローラを示
すブロック構成図である。
【符号の説明】
6  演算処理部 7  デバイスメモリ 12  デバイスメモリ変化記憶メモリ17  デバイ
スメモリ変化検知手段 18  デバイスメモリ変化検知手段 19  デバイスメモリ内容設定手段 20  デバイスメモリ内容設定手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  外部からの入力信号の状態と、外部へ
    出力する出力信号の状態と、シーケンスプログラムにも
    とづき演算処理する演算処理部の所定の処理の結果とが
    、それぞれ予め定めれたアドレスに記憶され、上記入力
    信号の状態、出力信号の状態、および、所定の処理の結
    果のいずれかが変化すると内容が変化するデバイスメモ
    リ、このデバイスメモリの内容の変化を検知するデバイ
    スメモリ変化検知手段、このデバイスメモリ変化検知手
    段の出力信号にもとづき変化した上記デバイスメモリの
    アドレスと、このアドレスに記憶された内容とを履歴的
    に順次記憶するデバイスメモリ変化記憶メモリ、このデ
    バイスメモリ変化記憶メモリの内容にもとづき上記デバ
    イスメモリの内容を上記シーケンスプログラムの所定の
    動作段階の状態に設定するデバイスメモリ内容設定手段
    、を備えたプログラマブルコントローラ。
  2. 【請求項2】  デバイスメモリ変化記憶メモリは、デ
    バイスメモリ変化検知手段の出力信号にもとづき変化し
    たデバイスメモリのアドレスおよび、このアドレスに記
    憶された内容とともに、シーケンスプログラムの実行番
    地を記憶することを特徴とする請求項第1項記載のプロ
    グラマブルコントローラ。
  3. 【請求項3】  デバイスメモリ変化記憶メモリは、デ
    バイスメモリ変化検知手段の出力信号にもとづき変化し
    たデバイスメモリのアドレスおよび、このアドレスに記
    憶された内容を予め設定した所定条件の成立毎に記憶す
    ることを特徴とする請求項第1項記載のプログラマブル
    コントローラ。
JP6517391A 1991-03-29 1991-03-29 プログラマブルコントローラ Pending JPH04302001A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6517391A JPH04302001A (ja) 1991-03-29 1991-03-29 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6517391A JPH04302001A (ja) 1991-03-29 1991-03-29 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH04302001A true JPH04302001A (ja) 1992-10-26

Family

ID=13279241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6517391A Pending JPH04302001A (ja) 1991-03-29 1991-03-29 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH04302001A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740185B2 (en) 2013-04-12 2017-08-22 Mitsubishi Electric Corporation Peripheral device for programmable controller and debug support program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740185B2 (en) 2013-04-12 2017-08-22 Mitsubishi Electric Corporation Peripheral device for programmable controller and debug support program

Similar Documents

Publication Publication Date Title
EP0241946B1 (en) Information processing system
JPS63291134A (ja) 論理集積回路
JP2526690B2 (ja) プログラマブルコントロ―ラの制御方法
JPH03204737A (ja) 信号処理プロセッサのデバッグ回路
JP3024422B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラの運転方法
US5070476A (en) Sequence controller
JPH04302001A (ja) プログラマブルコントローラ
JP2878264B1 (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
JP3389745B2 (ja) プログラムの性能測定装置と方法
JPH0475147A (ja) 情報処理システムにおける時間監視装置
JPS5828272Y2 (ja) 計算機のデバツク装置
JPS63206802A (ja) プログラマブル・コントロ−ラ
JPS62237533A (ja) デ−タ処理装置
JPH03161803A (ja) プロセス制御装置
JPH03119436A (ja) マイクロ命令アドレストレーサ
JPH05233379A (ja) 実行履歴記憶装置
JPH02242445A (ja) 情報処理装置のデバッグ機構
JPH04232506A (ja) ロボットの制御装置
JPH02282837A (ja) 命令トレーサ
JPH04310138A (ja) データ伝送装置のデバッグ方法
JPS628236A (ja) 動作履歴記憶装置
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPS58195961A (ja) マイクロプログラム制御方式
JPS6132115A (ja) 機器制御方式
JPS62111336A (ja) デバツグ方式