JPH04216103A - プログラマブルコントローラにおけるユーザプログラムのトレース方式 - Google Patents

プログラマブルコントローラにおけるユーザプログラムのトレース方式

Info

Publication number
JPH04216103A
JPH04216103A JP40275190A JP40275190A JPH04216103A JP H04216103 A JPH04216103 A JP H04216103A JP 40275190 A JP40275190 A JP 40275190A JP 40275190 A JP40275190 A JP 40275190A JP H04216103 A JPH04216103 A JP H04216103A
Authority
JP
Japan
Prior art keywords
user program
instruction
identification
memory
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.)
Granted
Application number
JP40275190A
Other languages
English (en)
Other versions
JP2906382B2 (ja
Inventor
Shunji Kuwa
桑 俊司
Kimihiro Fujii
公博 藤井
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
Omron Corp
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP40275190A priority Critical patent/JP2906382B2/ja
Publication of JPH04216103A publication Critical patent/JPH04216103A/ja
Application granted granted Critical
Publication of JP2906382B2 publication Critical patent/JP2906382B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユーザプログラムの命
令実行軌跡を時系列的にメモリに記憶させ、周辺ツール
にてユーザが参照できるようにするプログラマブルコン
トローラ(以下、PCという)におけるユーザプログラ
ムのトレース方式に関する。
【0002】
【従来の技術】従来のPCにおいて、ユーザプログラム
のトレース機能、つまりユーザプログラムの実行軌跡(
位置)を時系列的に記憶する機能は公知の技術であり、
例えば図10に示すような工程でユーザプログラムの命
令実行毎に行われていた。
【0003】すなわち、従来はユーザプログラムを実行
する場合には、同図に示すように最初にプログラムカウ
ンタから次に実行すべきユーザプログラムの命令のアド
レスを読み込み(ST100)、各命令毎にトレース実
行の設定が有るか無いかを判定し(ST110)、トレ
ース実行の設定有りの場合にはデータサンプリング処理
、つまり現在実行中のプログラムカウンタの値もしくは
実行中の命令のオブジェクトコード等をトレースメモリ
に順次格納し(ST120)、その後に上記アドレスに
基づいてユーザプログラムから命令を読み込み(ST1
50)、その命令に基づく処理を実行していた(ST1
80)。
【0004】
【発明が解決しようとする課題】ところで、PCにおい
てユーザが上記のようなトレース機能を使用するのはユ
ーザプログラムのデバッグ時であることがほとんどで、
このトレース機能を使用した場合でも、その機能を使用
していないときと比べてユーザプログラムの実行処理速
度が変わらないことが要求されている。
【0005】しかし、従来のトレース方式では図10に
示すようにユーザプログラムの各命令毎に、トレース実
行の有/無の判断および実際のデータサンプリング処理
が追加されるので、プログラム中の命令数が増加するに
従い命令自身の処理時間以外の時間が必要とされ、オー
バーヘッドタイムが増大し、本来の命令処理速度よりも
大幅な処理の遅れが生じるという問題があった。
【0006】また、トレースしたデータを格納するため
のメモリ(トレースメモリ)の容量に関しても、実行し
た命令をすべてデータとしてサンプリングしているため
に容量不足が生じるおそれがあり、長時間にわたるトレ
ースが困難であるという問題があった。
【0007】そこで、本発明は上記問題に鑑み成された
もので、実時間に近い処理速度でユーザプログラムの実
行軌跡をトレースできると共に、限られたメモリ容量で
トレース可能なPCのユーザプログラムのトレース方式
を提供することを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
本発明は、ユーザプログラムの命令実行軌跡を時系列的
にメモリに記憶させ、表示装置に表示させる等の方法に
より周辺ツールにてユーザが参照できるようにするプロ
グラマブルコントローラにおけるユーザプログラムのト
レース方式において、命令自身を識別するための識別番
号がオペランドとして設定されている識別命令を上記ユ
ーザプログラム中の任意の位置に格納し、上記ユーザプ
ログラムの実行中に上記識別命令が実行された時だけそ
の識別命令の上記識別番号をメモリに記憶させ、上記メ
モリに格納された上記識別番号を周辺ツールにてユーザ
が参照できるようにしたことを特徴とする。
【0009】
【作用】上記構成によれば、命令自身を識別するための
識別番号がオペランドとして設定されている識別命令が
ユーザプログラム中の任意の位置に設定されて、ユーザ
プログラムの実行中にその識別命令が実行された時だけ
、その識別命令の上記識別番号がメモリに格納される。 メモリに格納された識別番号は表示装置に表示させる等
の方式により周辺ツールにてユーザが参照できるようさ
れる。
【0010】このため、従来まではユーザプログラムの
各命令毎に必要とされていたトレース実行の有/無の判
断や実際のデータサンプリング処理が必要でなくなり、
実時間に近い処理速度でユーザプログラムの命令実行軌
跡をトレースできると共に、トレースのためのメモリ容
量が少なくて済むようになる。
【0011】
【実施例】以下、本発明に係るPCにおけるユーザプロ
グラムのトレース方式の一実施例を図面に基づいて説明
する。
【0012】図1は本実施例のユーザプログラムのトレ
ース方式が適用されるPCの内部構成を示すブロック図
で、このPCはPC全体の制御やトレース処理等の各種
処理を行うマイクロプロセッサ(以下、MPUという)
1と、システムプログラムメモリ2と、MPU1で処理
されたデータが一時的に記憶されるワーキングメモリ3
と、MPU1で処理されたトレースデータ(サンプリン
グデータ)が記憶されるトレースメモリ4と、ユーザに
より任意にプログラミングされたプログラムが格納され
るユーザプログラムメモリ5と、キーボード6と、CR
T等の表示装置7と、キーボード5により入力されたデ
ータやユーザプログラムにより実行されたデータ、表示
装置7に出力されるデータ等が格納されるI/Oメモリ
8と、周辺装置等が接続されるインタフェース9と、こ
れらのものを接続する内部バス10とを有する。
【0013】そして、上記システムプログラムメモリ2
には、MPU1がPC全体の制御や各種処理を実行した
り、ユーザプログラムの実行中に後述する識別命令が実
行されるときだけ図7に示すような工程でトレース処理
を行うようにプログラミングされたシステムプログラム
が格納されている。
【0014】また、本実施例ではユーザの設定により図
2に示すようなフォーマット、つまり命令語として「M
ARK」、そのオペランドとしてこの命令自身を識別す
るための4bit の識別番号が設定された識別命令M
1を複数作成し、それらの識別命令M1を例えば図3に
示すようにラダー言語で作成されたユーザプログラム1
1中の任意の位置、特にジャンプ命令M2等の条件によ
る分岐実行の直後に格納しておく。その結果、このユー
ザプログラム11は図4に示すようになり、ジャンプ命
令M2の前後等の任意の位置に上記識別命令M1が格納
されたものになる。なお、オペランドとしての識別番号
は単なる通し番号でも良いし、またユーザプログラム中
における識別命令M1自身の格納位置を示す番号でもよ
く、さらにその入力範囲等はインプリメントに依存して
設定される。
【0015】次に、この実施例のユーザプログラムのト
レース方式の処理を、図5ないし図7に示すフローチャ
ートを参照して説明する。
【0016】図5はユーザプログラムの実行を含めたP
Cの全体処理を示すフローチャートで、まずPCは電源
ONにより所定の初期処理を行う(ST10)。
【0017】次に、PCに接続される周辺装置(ツール
)の初期処理等の共通処理を行い(ST20)、ユーザ
プログラムが実行可能か否かを判定する(ST30)。
【0018】ユーザプログラムが実行可能なら(ST3
0“Yes”)、その実行が初回の実行か否かを判定し
(ST40)、初回実行の場合には(ST40“Yes
”)、I/Oメモリ8のクリア等のユーザプログラム実
行のための初期処理を行う一方(ST50)、初回実行
でない場合には(ST40“No ”)、そのままユー
ザプログラムを実行し(ST60)、I/Oメモリ8の
リフレッシュを行う(ST70)。
【0019】また、上記ユーザプログラム実行可能か否
かの判定のところで(ST30)、実行可能でない場合
には(ST30“No ”)、ユーザプログラムを実行
せずにI/Oメモリ8のリフレッシュを行う(ST70
)。このように共通処理からI/Oメモリ8のリフレッ
シュまでの各種処理(ST20〜70)を電源オン初期
処理後繰り返して、PCにおいてユーザプログラムが実
行される。
【0020】ところで、上記ユーザプログラムの命令実
行処理(ST60)は図6に示すように各命令毎に行わ
れ、まず最初にMPU1内で制御部(図示せず)がプロ
グラムカウンタ(図示せず)から次に実行すべき命令の
アドレスを読み込み(ST200)、そのアドレスが識
別命令「MARK」のものである場合や、転送命令「M
OV」およびジャンプ命令「JMP」等の通常の命令の
ものの場合でも、トレース実行の有/無の判断や実際の
データサンプリング処理を行わず、そのままそのアドレ
スに対応した命令をユーザプログラムメモリ4から読み
込む(ST210)。
【0021】そして、命令を解析して(ST220)、
その命令が終了を示す終了命令「END」(図4参照)
であるか否かを判定し(ST230)、終了命令である
場合には(ST230“Yes”)、ユーザプログラム
を終了する一方、終了命令でない場合には(ST230
“No ”)、各命令内容に基づいた処理を実行し(S
T240)、プログラムカウンタの値を更新して(ST
250)、次の命令実行のためにプログラムカウンタの
読み込み(ST200)へ戻る。
【0022】その際、識別命令を実行するときだけ(S
T240)、図7に示すような本実施例によるトレース
処理を実行する。すなわち、同図に示すように最初にト
レース実行の設定が有るか無いかを判定し(ST300
)、トレース実行の設定がある場合には(ST300“
Yes”)、その識別命令つまりプログラムカウンタに
格納されたアドレスに対応した識別命令のオペランドを
トレースメモリ4に格納してトレース処理を実行し(S
T310)、トレースメモリ4のデータ格納領域が無く
なった場合には(ST320“Yes”)、トレース実
行有りの設定をクリアしてトレース処理を終了し(ST
330)、図6に示すように次の命令実行のためにプロ
グラムカウンタの値を更新し(ST250)、プログラ
ムカウンタの読み込み(ST200)へ戻る。
【0023】このようにして、図6に示すプログラムカ
ウンタの読み込みから更新までの処理(ST200〜S
T250)、および図7に示すトレース処理(ST30
0〜330)を、ユーザプログラムの全ての命令実行が
終了するまで繰り返す。
【0024】このため、上記のようにしてユーザプログ
ラム中の各命令が順次実行されれば、ユーザプログラム
中に格納された識別命令も順次実行されて、トレースメ
モリ4には図8のトレースメモリ4のメモリマップに示
すように、“0005”,“0000”,“0001”
,“0002”,・・・と識別命令のオペランドである
識別番号が時系列的に順次格納される一方、表示装置7
には例えば図9に示すようにトレースメモリ4上に時系
列的に格納された識別命令のオペランドがその命令語の
「MARK」と共に表示される。
【0025】従って、本実施例によれば、ユーザは上述
のような識別命令をユーザプログラム中の任意の位置に
設定し、ユーザプログラムの実行後に表示装置7に表示
された識別命令のオペランドである識別番号を観察する
ことにより、ユーザプログラムの命令実行軌跡を検出す
ることができるので、ユーザプログラムの各命令毎に必
要とされていたトレースのための判断処理や、実際のデ
ータサンプリング処理が必要無くなり、従来の方式と比
較してより実処理速度に近い形でユーザプログラムの実
行軌跡のトレースが可能となると共に、トレースメモリ
4の容量が少なくて済むようになる。
【0026】尚、図8上、サンプリングスタートポイン
トとはトレースメモリ4上でのデータサンプリングのス
タート位置を示すポインタであり、サンプリング現ポイ
ンタとはトレースメモリ4上での最終サンプリングデー
タの格納位置を示すポインタである。
【0027】
【発明の効果】以上説明したように、本発明では、命令
自身を識別するための識別番号がオペランドとして設け
られている識別命令をユーザプログラム中の任意の位置
に設定し、ユーザプログラム実行中に上記識別命令が実
行された時だけ、その識別命令の識別番号がメモリに格
納して、その識別番号を表示装置に表示させる等の方式
により周辺ツールにてユーザが参照できるようにしたの
で、従来まではユーザプログラムの各命令毎に必要とさ
れていたトレース実行の有/無の判断や実際のデータサ
ンプリング処理が必要でなくなり、実時間に近い処理速
度でユーザプログラムの命令実行軌跡をトレースできる
と共に、トレースのためのメモリ容量が少なくて済むよ
うになる。
【0028】このため、トレースサンプリングに要する
処理時間によるオーバーヘッドタイムを必要最低限に押
さえることができるので、ユーザプログラムのデバッグ
手段としてその作業工数を大幅に削減することが可能と
なる。
【0029】また、ユーザが必要とするレベルでこの命
令を使用する数および位置を選択することができるので
、必要最低限のトレースサンプリングだけを行うことが
でき、それに必要とされるトレースメモリの使用量も押
さえられることにより、長時間にわたるトレース処理の
継続が可能となる。
【図面の簡単な説明】
【図1】本発明に係るPCの概略構成を示すブロック図
【図2】本実施例におけるトレース機能を有する識別命
令の一例を示す説明図。
【図3】ユーザプログラムの一例を示す説明図。
【図4】本実施例による識別命令が格納されたユーザプ
ログラムの一例を示す説明図。
【図5】PCの全体処理を示すフローチャート。
【図6】本実施例によるトレース実行処理を示すフロー
チャート。
【図7】本実施例による識別命令の実行処理を示すフロ
ーチャート。
【図8】本実施例により識別命令が格納されたトレース
メモリの状態を示すメモリマップ。
【図9】本実施例によるトレース結果を表示装置に示し
た場合の一例を示す説明図。
【図10】従来のトレース実行処理を示すフローチャー
ト。
【符号の説明】
1      マイクロプロセッサ2      シス
テムプログラムメモリ3      ワーキングメモリ
4      トレースメモリ5      ユーザプ
ログラムメモリ6      キーボード7     
 表示装置8      I/Oメモリ9      
インタフェース10      内部バス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  ユーザプログラムの命令実行軌跡を時
    系列的にメモリに記憶させ、表示装置に表示させる等の
    方法により周辺ツールにてユーザが参照できるようにす
    るプログラマブルコントローラにおけるユーザプログラ
    ムのトレース方式において、命令自身を識別するための
    識別番号がオペランドとして設定されている識別命令を
    上記ユーザプログラム中の任意の位置に格納し、上記ユ
    ーザプログラムの実行中に上記識別命令が実行された時
    だけその識別命令の上記識別番号をメモリに記憶させ、
    上記メモリに格納された上記識別番号を周辺ツールにて
    ユーザが参照できるようにしたことを特徴とするプログ
    ラマブルコントローラにおけるユーザプログラムのトレ
    ース方式。
JP40275190A 1990-12-17 1990-12-17 プログラマブルコントローラにおけるユーザプログラムのトレース方式 Expired - Fee Related JP2906382B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40275190A JP2906382B2 (ja) 1990-12-17 1990-12-17 プログラマブルコントローラにおけるユーザプログラムのトレース方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40275190A JP2906382B2 (ja) 1990-12-17 1990-12-17 プログラマブルコントローラにおけるユーザプログラムのトレース方式

Publications (2)

Publication Number Publication Date
JPH04216103A true JPH04216103A (ja) 1992-08-06
JP2906382B2 JP2906382B2 (ja) 1999-06-21

Family

ID=18512544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40275190A Expired - Fee Related JP2906382B2 (ja) 1990-12-17 1990-12-17 プログラマブルコントローラにおけるユーザプログラムのトレース方式

Country Status (1)

Country Link
JP (1) JP2906382B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280378A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ・システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280378A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ・システム

Also Published As

Publication number Publication date
JP2906382B2 (ja) 1999-06-21

Similar Documents

Publication Publication Date Title
EP0402856A2 (en) Instruction execution control system
JP3358759B2 (ja) プログラマブルコントローラのデータトレース方法
JP2003508864A (ja) スレッド志向デバッギング
JPH10214203A (ja) 情報処理装置
JPH04216103A (ja) プログラマブルコントローラにおけるユーザプログラムのトレース方式
US7086054B2 (en) Method and device for reconstructing the process sequence of a control program
JP3152178B2 (ja) ロック動作測定方法
JP3404730B2 (ja) プログラミング装置のプログラム更新検出方法
JP3330767B2 (ja) 情報処理装置および情報処理装置におけるトレース取得方法
JPH01223504A (ja) プログラマブルコントローラのサンプリングトレース方式
JPS6128144A (ja) トレ−ス動作実行装置
JPH08320813A (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JP2001166966A (ja) デバッガにおける被テストプログラムの実行環境管理方法
JP3638505B2 (ja) シミュレーション装置及びマイクロプロセッサ用ソフトウェアシミュレーション方法
JPS61253526A (ja) 対話形式プログラムの自動実行処理装置
JPS6215606A (ja) プログラマブルコントロ−ラの実行速度確認方法
JPH03185531A (ja) タスク時間の尺度変換表示方法
JPH04218804A (ja) プログラマブルコントローラ
JPH0354645A (ja) プログラム実行時間測定装置
JPH0795288B2 (ja) マイクロコンピュータ
JPH02186449A (ja) デバッグ装置
JPH06309175A (ja) インタプリタのプログラム実行方式
JPH10260862A (ja) 開発支援装置
Dandamudi SPIM Simulator and Debugger
JPH0362238A (ja) ファイル容量決定支援方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990226

LAPS Cancellation because of no payment of annual fees