JPS59183405A - プログラマブル・コントロ−ラ - Google Patents

プログラマブル・コントロ−ラ

Info

Publication number
JPS59183405A
JPS59183405A JP5694483A JP5694483A JPS59183405A JP S59183405 A JPS59183405 A JP S59183405A JP 5694483 A JP5694483 A JP 5694483A JP 5694483 A JP5694483 A JP 5694483A JP S59183405 A JPS59183405 A JP S59183405A
Authority
JP
Japan
Prior art keywords
instruction
address
branch
memory
execution
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
JP5694483A
Other languages
English (en)
Inventor
Tadashi Inoue
忠 井上
Noboru Asami
朝見 昇
Mitsuru Nakamura
満 中村
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.)
Omron Corp
Original Assignee
Tateisi Electronics Co
Omron Tateisi Electronics Co
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 Tateisi Electronics Co, Omron Tateisi Electronics Co filed Critical Tateisi Electronics Co
Priority to JP5694483A priority Critical patent/JPS59183405A/ja
Publication of JPS59183405A publication Critical patent/JPS59183405A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/058Safety, monitoring
    • 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/14Plc safety
    • G05B2219/14098Displaying instructions for monitoring state of machine

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

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

Description

【発明の詳細な説明】 (発明の分野) この発明はプログラマブル・コントローラに関し、特に
分岐命令を含むユーザプログラムの実行過程をモニタす
る技術に関する。
(発明の背顯) 従来のプログラマブル・コン1〜[1−ラには、モニタ
対象としてアドレスを入力すると、そのアドレスに対応
する命令内容およびその実行に伴う入出力状態がモニタ
表示される、いわゆるトレース機能を有するものがある
。このトレース機能によればミューザブログラムに分岐
命令が含まれていなくて、プログラムが零アドレスより
順番に実行される場合、このプログラムによる制御の流
れは充分確認することができる。
ところが、ユーザプログラムに制御の流れを変える命令
、すなわち無条件ジャンプ命令や条件付きジャンプ命令
などの分岐命令が含まれている場合、制御のルートが複
数に分かれることとなる。
この場合に、従来のトレース機能では実際のプログラム
実行がどのようなルートを取って流れているのかを知る
のは非常に困難であった。プログラマブル・コントロー
ラにおいて実際の制御の流れのルートを知ることは、デ
バッグ処理や被制御系の工程の流れなどをつかむのに非
常に便利であるが、従来のトレース機能ではこれを簡単
に行なうことができなかった。
(発明の目的) この発明の目的は、分岐命令を含んだユーザプログラム
の実行中に、各分岐命令で制御がどのルートに流れてい
くかを簡単にモニタすることができるようにしたプログ
ラマブル・コンI−ローラを提供することにある。
(発明の構成と効果) 上記の目的を達成するために、この発明は、ユーザプロ
グラムの実行過程で、それに含まれる分岐命令が実行さ
れたとき、その分岐命令のアドレスおよび/または命令
と、その分岐命令の実行結果の分岐先のアドレスおよび
/または命令とを1組の情報として一時記憶する手段と
、この手段による記憶情報を表示する手段とを有するこ
とを特徴とする。
この構成によれば、ユーザプログラム中のどの分岐命令
でどのルートに制御が流れていくかを簡単にモニタする
ことができる。
(実施例の説明) 第1図はこの発明を適用したプログラマブル・コントロ
ーラの全体の概略構成を示すブロック図である。このプ
ログラマブル・コントローラは、全体の制御の中枢とな
るCPUI (中央処理ユニット)と、CPU1によっ
て実行されるシステムプログラムを格納したシステムプ
ログラムメモリ2と、CPU1によって各種可変データ
の一時格納エリアとして使われるワーキングメモリ3と
、使用者が任意に設定し、CPtJlによって解読実行
されるユーザプログラムが格納されるユーザプログラム
メモリ4と、外部入力信号が与えられる入力インターフ
ェイスおよび外部出力信号を送出する出力インターフェ
イスを含んだ入出力回路5と、入出力回路5に対応した
入出力データのバッフ7メモリとなるエリアの他にいわ
ゆる内部リレーや補助リレーなどと呼ばれるその伯の回
路データを記憶する入出カメモリ6と、CPU 1に各
種の動作指令を与えたりユーザプログラムの作成入力や
モニタ指令入力を行なったり、その入力時の表示やモニ
タ表示などがなされるプログラミングコンソール7とを
備えている。
第2図は分岐命令を含んだユーザプログラムの一例を示
している。同図(A>はソースプログラムであるフロー
チャートの形で表わしており、同図(B)はそのプログ
ラムがユーザプログラムメモリ4にどのようなアドレス
対応で格納さ才する力\を示している。この例において
は、アドレス1001と2002にそれぞれ条件付きジ
ャンプ命令(CJ P )があり、アドレス2003と
3002にそれぞれ無条件ジャンプ命令(JMP)があ
る。
上記のユーザプログラムを例にとり、この発明の要旨と
なる分岐命令に関するモニタ機能(以下、この6能をブ
ランチトレースと称す)につ(Xで包括的に説明する。
第2図(A)のユーザプログラムが同図に矢印のような
ルートで実行され、そのときにこの部分についてプログ
ラミングコンソール7からブランチ1へレースの指令を
与えている場合、ユーザプログラムが矢印のように実行
される過程でワーキングメモリ3に割り当てられている
ブランチトレース用バッファに、第3図に示すようにモ
ニタデータが一時記憶され、そのデータがプログラミン
グコンソール7の表示器に表示される。
詳jホすると、ワーキングメモリ3のレジスタR1には
ユーザプログラムメモリ1のアドレス101のCJP/
LBLO命令が実行されたことが一時記憶され、続くレ
ジスタR2にはアドレス1001のCJP命令の実行に
よりアドレス2000のLBLO命令に分岐したことが
記憶される。このように、分岐命令のアドレスおよびそ
の命令内容と、その分岐命令の実行結果の分岐先アドレ
スと命令内容とが1組のデータとしてワーキングメモリ
の所定エリアに記憶される。同様に、レジスタR3には
ユーザプログラムのアドレス2002のCJP/LBL
1命令が実行されたことが一時記憶され、続くレジスタ
R4にはそのCJP命令の実行によってアドレス300
0のしBL1命令に分岐したことが一時記憶される。同
様に、レジスタR5にはユーザプログラムのアドレス3
002のJ、MP/LBL2命令が実行されたことが一
時記憶され、続くレジスタR6にそのJMP命令の実行
結果でアドレス1003のLBL2命令にジャンプした
ことが記憶される。
ワーキングメモリ3に上述のように記憶されたモニタデ
ータは、プログラミングコンソール7の表示器に表示さ
れる。これは、表示器の規模が人き(プれば多数のデー
タを一度に表示できるが、小規模な表示器が使われてい
る場合、一定の順番で順次モニタデータを表示するよう
に構成する。
上述のようなブランチトレースの処理は、第4図のフロ
ーチャートに示すシステムプログラムがcpuiによっ
て実行されることで実現される。
以下、このフローチャートに従ってブランチ1〜レース
の処理手順を説明する。まず、以下の処理で使用される
幾つかのフラグについて説明する。第3図に示すように
、これらのフラグはワーキングメモリ3に設定されてい
る。
フラグF1は、プログラミングコンソール7のキー操作
によってブランチトレース指令を与えたときに1″にセ
ットされる。フラグFOは、CPU1がブランチトレー
ス指令に応答してその処理を実行しているときに1″に
セットされる。
フラグF2はユーザプログラムメモリ4がら実行するた
めに読出した命令が分岐命令であった場合に゛1″にセ
ットされる。フラグF3は、ワーキングメモリ3の上述
したブランチトレース用バッファレジスタR1〜R32
に1つでもモニタデータが書込まれたときに“′1゛′
にセットされる。
第4図のフローチャートにおいて、最初のステップ1’
OOのイニシャル処理を実行後、まずステップ101で
、上記レジスタR1〜R32にモニタデータが格納され
ていることを示すフラグF3の状態をチェックする。モ
ニタデータが格納されておらずF 3 = ” O”で
あれば、ステップ103で、プログラミングコンソール
7からキー人力があるか否かをチェックする。キー人力
がない場合は通常のユーザプログラムの実行動作を行な
う。
つまり、ステップ141でユーザプログラムメモリ4か
らプログラムカウンタで指定される位置命令を読出す。
ここで、フラグFOおよびフラグF1がともに“0″で
ある場合、ステップ110でNo→ステップ117でN
O→ステップ115→ステップ116と進み、ステップ
141で読出した命令をステップ115で実行し、続く
ステップ116で上記プログラムカウンタを制御して実
行アドレス値を更新する。その後ステップ1C)1に戻
る。通常の状態では、実質的にステップ141→115
→116が繰り返されて、ユーザプログラムが実行され
ていく。
上述のユーザプログラムの実行動作中に、プログラミン
グコンソール7のキーボードを操作してブランチトレー
ス指令を与えると、そのキー人力がステップ103で検
出され、続くステップ104でブランチトレースである
ことが解析され、続くステップ110でプログラミング
コンソール7から入力されるブランチトレースの開始指
定アドレスを受付け、これをワーキングメモリ3のレジ
スタR33に格納するとともに、ステップ111でフラ
グ[1を“1″にセットし、その後ステップ141に進
む。
フラグF1が#、111にセットされると、ステップ1
17でYESと判定されてステップ118に進む。ここ
で現在実行中のユーザプログラムのアドレスと、ステッ
プ110で受付けたトレース開始指定アドレスが一致す
るか否かを判断する。両アドレスが一致しない場合はス
テップ115に進む。両アドレスが一致した場合にはフ
ラグFOを“1″にセットし、その後ステップ115に
進む。
フラグFOが1″にセットされると、ステップ110で
YESと判定されてステップ111に進む。ここではフ
ラグF2が1111+にセットされているか否かを判断
する。F2=″゛O″の場合、ステップ112に進み、
現在ユーザプログラムメモリ4から読出している命令が
分岐命令か否かを判断する。分岐命令でない場合はステ
ップ115に進む。分岐命令である場合、ステップ11
3に進み、その分岐命令の命令語とアドレスを上述のバ
ッファレジスタR1〜R32に先頭から順番にストアす
る。その後ステップ114でフラグF2を1″にセット
し、ステップ115に進む。
フラグF2が” 1 ”にセットされると、ステップ1
11でYESと判定されてステップ12.0に進む。ス
テップ120では、そのときユーザプロダラムメモリ4
から読出している命令8Bとそのアドレス、すなわちス
テップ113でレジスタRnに格納した分岐命令の実行
によって分岐した先のアドレスと命令語をレジスタRn
に続く次のレジスタRn+’1に格納する。これで分岐
命令とアドレス、分岐先命令とアドレスという1組のモ
ニタデータがワーキングメモリ3に格納された。
続くステップ121ではフラグF3を1″にセットする
。続くステップ122では、上記バッファレジスタR1
〜R32のうちの書込み先を指定する11のカウンタを
更新する(+2する)。続くステップ123ではバッフ
ァレジスタR1〜R32が全て使用中にな、ったか否か
を判断する。バッファレジスタR1〜R32が満杯にな
った場合にはステップ126に進み、フラグFO,Fl
F2を“0″にリセットし、その後ステップ115に進
む。バッファレジスタR1〜R,32が満杯になってい
なければステップ124に進み、現在ユーザプログラム
メモリ4から読出している命令が分岐命令か否かを判断
する。分岐命令である場合には先のステップ113に進
み、再びその命令とアドレスをレジスタR1にストアす
ることになる。分岐命令でない場合にはステップ125
に進み、フラグF2をO″とし、その後ステップ115
に進む。
このようにして、ユーザプログラムの実行過程で、実行
した分岐命令の命令語とアドレス、その実行結果で進ん
だ分岐先のアドレスと命令語を1組とするモニタデータ
が分岐命令を実行するたびにバッファレジスタR1〜R
32に順次格納されてい(。
レジスタR1〜R32にモニタデータが格納されて、上
述のようにフラグF3が11111にセットされると、
ステップ101でYESと判定されてステップ102に
進む。このステップ102ではバッファレジスタR1〜
R32のモニタデータをプログラミングコンソール7の
表示器に転送して表示する。続くステップ142でプロ
グラミングコンソール7のキーボードからの入力をチェ
ックする。このとき、プログラミングコンソール7から
表示更新キーの入力が検出されると、ステップ107→
108と進み、そのキー人力に応答してレジスタR1〜
R32のデータのうちのどのデータを表示するかの制御
を行なう。また、プログラミングコンソール7からクリ
アキーの入力が検出された場合、ステップ105→10
6と進み、フラグFO,Fl、F2.F3を全て′O′
°にリセットする。
【図面の簡単な説明】
第1図はこの発明のプログラマブル・コントローラの全
体構成を示づ−ブロック図、第2図は分岐命令を含んだ
ユーザプログラム例を示す図、第3図はワーキングメモ
リ3におけるメモリマツプの二部を示す図、第4図はこ
の発明に係る分岐命令に関するモニタ処理の手順を示す
フローチャートである。 1・・・・・・CPtJ 3・・・・・・ワーキングメモリ 4・・・・・・ユーザプログラムメモリ5・・・・・・
入出力回路 6・・・・・・入出カメモリ 7・・・・・・プログラミングコンソール特許出願人 立石電機株式会社 第2図 −31− 第3図

Claims (1)

    【特許請求の範囲】
  1. (1)ユーザプログラムの実行、過程で、それに含まれ
    る分岐命令が実行されたとき、その分岐命令のアドレス
    および/または命令と、その分岐命令の実行結果の分岐
    先のアドレスおよび/または命令とを1組の情報として
    一時記憶する手段と、この手段による記憶情報を表示す
    る手段とを有することを特徴とするプログラマブル・コ
    ントローラ。
JP5694483A 1983-04-01 1983-04-01 プログラマブル・コントロ−ラ Pending JPS59183405A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5694483A JPS59183405A (ja) 1983-04-01 1983-04-01 プログラマブル・コントロ−ラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5694483A JPS59183405A (ja) 1983-04-01 1983-04-01 プログラマブル・コントロ−ラ

Publications (1)

Publication Number Publication Date
JPS59183405A true JPS59183405A (ja) 1984-10-18

Family

ID=13041653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5694483A Pending JPS59183405A (ja) 1983-04-01 1983-04-01 プログラマブル・コントロ−ラ

Country Status (1)

Country Link
JP (1) JPS59183405A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56168265A (en) * 1980-05-29 1981-12-24 Mitsubishi Electric Corp Branch location storage system of digital computer
JPS5739457A (en) * 1980-08-18 1982-03-04 Mitsubishi Electric Corp Program device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56168265A (en) * 1980-05-29 1981-12-24 Mitsubishi Electric Corp Branch location storage system of digital computer
JPS5739457A (en) * 1980-08-18 1982-03-04 Mitsubishi Electric Corp Program device

Similar Documents

Publication Publication Date Title
JP2010507855A (ja) 非対称型マルチプロセッサ装置上の診断動作の実行
JPS59183405A (ja) プログラマブル・コントロ−ラ
JPH06242819A (ja) Pcの信号状態制御方式
JPS62162105A (ja) フロ−チヤ−ト式プログラマブルコントロ−ラ
JPS63284644A (ja) 命令アドレス出力回路
JPH04332003A (ja) プログラマブルコントローラ
JPS59216202A (ja) プログラマブル・コントロ−ラ
JPS6220023Y2 (ja)
JPH01233522A (ja) データフロー型情報処理装置のシミュレーション装置
JPH0259829A (ja) マイクロコンピュータ
JPS59212906A (ja) プログラマブル・コントロ−ラ
JPH0458303A (ja) プログラマブルコントローラ
JPH01223504A (ja) プログラマブルコントローラのサンプリングトレース方式
JPH01232446A (ja) コンピュータのプログラム開発支援装置
JPH04174034A (ja) プログラム開発支援装置のステップ実行動作方法
JPH0772908A (ja) プログラマブルコントローラ
JPS5949609A (ja) 模擬実行機能を備えたプログラマブル・コントロ−ラ
JPS63180139A (ja) プログラム評価用マイクロコンピユ−タ
JPS5829057A (ja) レジスタのトレ−ス装置
JPS63177205A (ja) プログラマブルコントロ−ラのプログラミング装置
JPS62282327A (ja) 情報処理装置
JPH0214333A (ja) データフロープログラムのデバッグ装置
JPS59165143A (ja) デ−タ処理装置
JPS59119413A (ja) プログラマブルコントロ−ラ
JPH04216103A (ja) プログラマブルコントローラにおけるユーザプログラムのトレース方式