JP3167245B2 - Programmable controller operating state monitoring device - Google Patents
Programmable controller operating state monitoring deviceInfo
- Publication number
- JP3167245B2 JP3167245B2 JP15243494A JP15243494A JP3167245B2 JP 3167245 B2 JP3167245 B2 JP 3167245B2 JP 15243494 A JP15243494 A JP 15243494A JP 15243494 A JP15243494 A JP 15243494A JP 3167245 B2 JP3167245 B2 JP 3167245B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution
- stored
- memory
- instruction
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、プログラマブルコント
ローラの動作状態をプログラムの実行順に表示すること
によりその動作状態を監視するプログラマブルコントロ
ーラ動作状態監視装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a programmable controller operation state monitoring device for monitoring the operation state of a programmable controller by displaying the operation state of the program in the order of execution of the program.
【0002】[0002]
【従来の技術】作業現場、工場等においては、ベルトコ
ンベアの出口を通過した製品数、圧力、温度等の数値的
情報、あるスイッチがオンされたか否かといった2値で
表すことができる論理的情報等に対応させてシーケンス
制御が行われている。このシーケンス制御は、仕様の変
更、修正等がつきものである。このため、ユーザが入力
したプログラムに従ってシーケンス制御を実行し、プロ
グラムを自由に変更、或いは作成できるプログラマブル
コントローラ(以降、PCと記載する)がシーケンス制
御に広く用いられている。2. Description of the Related Art In a work site, a factory, or the like, a logical value that can be represented by two values such as numerical information such as the number of products passing through an outlet of a belt conveyor, pressure, temperature, and whether or not a certain switch is turned on. Sequence control is performed in accordance with information and the like. This sequence control is accompanied by a change or modification of the specification. For this reason, a programmable controller (hereinafter, referred to as a PC) capable of executing sequence control according to a program input by a user and freely changing or creating the program is widely used for sequence control.
【0003】PCのプログラム言語としては、図示表現
プログラムが広く用いられている。図示表現プログラム
は、表示パネル等の画面上でリレーシンボル、ロジック
シンボル等の図形シンボルを接続することにより作成す
るプログラムである。PCのプログラムの作成は、一般
にプログラミング装置(サポートツール)を用いて行わ
れる。As a PC programming language, an illustration expression program is widely used. The illustration representation program is a program created by connecting graphic symbols such as relay symbols and logic symbols on a screen such as a display panel. The creation of a PC program is generally performed using a programming device (support tool).
【0004】図18は、従来のプログラマブルコントロ
ーラ100及びサポートツール110の概略構成を示す
回路ブロック図であり、同図を参照してプログラムの作
成、及びサポートツール110からPC100へのプロ
グラムロードについて説明する。FIG. 18 is a circuit block diagram showing a schematic configuration of a conventional programmable controller 100 and a support tool 110. Referring to FIG. 18, the creation of a program and the loading of a program from the support tool 110 to the PC 100 will be described. .
【0005】サポートツール110におけるプログラム
の作成は、一般に対話形式で行われる。即ち、ユーザが
キーボード111上においてキー操作を行うと、そのキ
ー操作に応じて表示部112に図形シンボルが表示さ
れ、ユーザは表示部112上に表示された図形シンボル
を見ながらそれらを線で結ぶことによりプログラムの作
成を行う。図19は、このようにして作成されたラダー
図によるプログラム例を示す説明図である。The creation of a program in the support tool 110 is generally performed in an interactive manner. That is, when the user performs a key operation on the keyboard 111, a graphic symbol is displayed on the display unit 112 in accordance with the key operation, and the user connects them with a line while looking at the graphic symbol displayed on the display unit 112. By doing so, a program is created. FIG. 19 is an explanatory diagram showing an example of a program based on the ladder diagram created in this way.
【0006】PC100はサポートツールI/F部10
2によりサポートツール110と接続されている。サポ
ートツール110の表示部112上に描いたラダー図
(プログラム)は、所定のキーが操作されると、今まで
表示部112上に描いた全てのラダー図はオブジェクト
コードに変換されてPC100に送られ、ここでメモリ
103に格納される。これにより、プログラムロードが
完了し、CPU(CENTRAL PROCESSOR UNIT)101はメ
モリ103に格納されたプログラムをアドレス毎に読み
出してそのアドレスに格納された命令を実行する。The PC 100 has a support tool I / F unit 10
2 is connected to the support tool 110. The ladder diagram (program) drawn on the display unit 112 of the support tool 110 is converted into an object code and transmitted to the PC 100 when a predetermined key is operated. And stored in the memory 103 here. As a result, the program loading is completed, and the CPU (CENTRAL PROCESSOR UNIT) 101 reads the program stored in the memory 103 for each address and executes the instruction stored at that address.
【0007】ここで、PC100は、一般に、プログラ
ムの演算結果が格納されるデータメモリ(図示せず)、
PC100に接続された外部機器への出力データ(通常
はオンオフ指示である)、或いはそれからの入力データ
(通常はオンオフ状態を示すデータである)が格納され
る入出力メモリ(図示せず)を備えている。命令の実行
におけるその多くは、外部機器からの入力データの読み
込み、或いは外部機器へのデータの出力であり、これら
は入出力メモリへのアクセスに対応するものである。Here, the PC 100 generally has a data memory (not shown) for storing the operation results of the program,
An input / output memory (not shown) is provided for storing output data (usually an on / off instruction) to an external device connected to the PC 100 or input data therefrom (usually data indicating an on / off state). ing. Most of the execution of instructions is reading input data from an external device or outputting data to an external device, and these correspond to access to an input / output memory.
【0008】サポートツール110は、上記したような
プログラムを作成する機能の他に、通常、PC100の
シーケンス制御の進行状態、内部の論理状態といった動
作状態を監視するモニタ機能を備えている。モニタ機能
を備えたサポートツール(PC動作状態監視装置)11
0によるPC100のモニタは、一般に、以下のように
して行われる。The support tool 110 has, in addition to the function for creating a program as described above, a monitor function for monitoring the operating state of the PC 100 such as the progress of sequence control and the internal logical state. Support tool with monitoring function (PC operation state monitoring device) 11
The monitoring of the PC 100 by 0 is generally performed as follows.
【0009】先ず、PC動作状態監視装置110は、メ
モリ103にオブジェクトコードで格納されたプログラ
ムを読み出してこれを逆アセンブルし、表示部112上
にラダー図(仕様記述形式)に変換してこれを表示す
る。次に、当該ラダー図で使用されている接点、コイル
等(これらは各々入、出力機器に対応する)の図形シン
ボルの名称(これはプログラムのオペランドに対応す
る)により、入出力メモリ、或いはデータメモリにおい
てデータを読み出すアドレス(実行アドレス)を得て、
その実行アドレスに格納されたデータを読み出す。さら
に、この読み出したデータを表示部112上に表示した
ラダー図において対応する図形シンボルに重ねて表示す
る。First, the PC operation state monitoring device 110 reads out a program stored as object code in the memory 103, disassembles it, converts it into a ladder diagram (specification description format) on the display unit 112, and converts it into a ladder diagram. indicate. Next, the input / output memory or the data is determined by the names of the graphic symbols of the contacts, coils, etc. (these correspond to input and output devices, respectively) used in the ladder diagram (which correspond to the operands of the program). Obtain an address (execution address) for reading data in the memory,
The data stored at the execution address is read. Further, the read data is displayed so as to be superimposed on the corresponding graphic symbol in the ladder diagram displayed on the display unit 112.
【0010】[0010]
【発明が解決しようとする課題】しかしながら、図18
に示した従来のPC動作状態監視装置110には、以下
の問題点がある。However, FIG.
Has the following problems.
【0011】従来のPC動作状態監視装置110は、前
述したように、PC100が参照している接点、コイル
の名称により実行アドレスを得て、その接点、コイルに
対応する入、出力機器の動作状態を示すデータを入出力
メモリ等から読み出すことによりモニタを行っているた
め、テンポラリレジスタとして使用するメモリ(以降、
これをローカルメモリと記載する)の内容(命令の演算
結果のデータ)を得ることができず、PC100の動作
状態を正確にモニタできないという問題点があった。As described above, the conventional PC operating state monitoring apparatus 110 obtains an execution address based on the names of the contacts and coils referred to by the PC 100, and operates the input and output devices corresponding to the contacts and coils. Is monitored by reading data from the input / output memory, etc., indicating that the memory used as a temporary register
The content (this is referred to as a local memory) cannot be obtained (data of the operation result of the instruction), and the operating state of the PC 100 cannot be accurately monitored.
【0012】図19を参照して上記した問題点を説明す
る。図19は、プログラム例を示していると同時にモニ
タ表示例を示しており、図形シンボルを表示するその輝
度により動作状態(オン或いはオフ)を示している。図
19に示すように、1行目のレジスタR0は接点AとB
の論理積が代入されるものであり、4行目に接点として
表示されている。このようにして用いられるレジスタR
0のデータ値(論理値)はローカルメモリに格納され
る。The above problem will be described with reference to FIG. FIG. 19 shows an example of a monitor display at the same time as an example of a program, and shows an operation state (ON or OFF) depending on the luminance of a graphic symbol. As shown in FIG. 19, the register R0 in the first row has the contacts A and B
Is substituted, and is displayed as a contact on the fourth line. Register R used in this manner
The data value (logical value) of 0 is stored in the local memory.
【0013】ローカルメモリには、タイマ値、カウント
値といった数値データも格納される。これらはレジスタ
R0のように補助的に用いられるものと異なり、通常、
専用の領域が割り当てられることからアクセスすること
ができるが、レジスタR0のデータが格納される領域は
その都度割り当てられることから、そのデータ値を読み
出すことができない。このため、図19のように、接点
A及びBがオン(データ値が1)となっているにも係わ
らずレジスタR0はオンではなくオフ(データ値が0)
となっている。なお、図19に具体的には示していない
が、これは、レジスタR1についても同様である。The local memory also stores numerical data such as a timer value and a count value. These are different from auxiliary ones such as the register R0.
Although access is possible because a dedicated area is allocated, the data value of the register R0 cannot be read because the area where the data is stored is allocated each time. Therefore, as shown in FIG. 19, although the contacts A and B are on (data value is 1), the register R0 is not on but off (data value is 0).
It has become. Although not specifically shown in FIG. 19, the same applies to the register R1.
【0014】PC動作状態監視装置110がローカルメ
モリからこのようなレジスタR0、R1のデータ値を読
み出せれば上記した問題点を回避できることになるが、
そのためには、ローカルメモリのアドレス(領域)と、
そこに格納されたデータの種類(レジスタR0等に対応
する)との対応関係をPC動作状態監視装置110に通
知しなければならないので、CPU101の処理が重く
なり、CPU101の処理速度を著しく低下させること
になる。更には、PC動作状態監視装置110がローカ
ルメモリのデータを読み出すまで、このローカルメモリ
に対してデータを書き込むことができないことにもな
る。If the PC operation state monitoring device 110 can read such data values of the registers R0 and R1 from the local memory, the above-mentioned problem can be avoided.
To do this, the address (area) of the local memory and
Since the correspondence with the type of data stored therein (corresponding to the register R0 or the like) must be notified to the PC operation state monitoring device 110, the processing of the CPU 101 becomes heavy, and the processing speed of the CPU 101 is significantly reduced. Will be. Further, data cannot be written to the local memory until the PC operation state monitoring device 110 reads data from the local memory.
【0015】また、ラダー図で使用している接点、コイ
ル等の名称に対応する入、出力機器の動作状態をCPU
101の演算結果としており、CPU101の演算結果
をその実行順に取り出すことができないため、正確なモ
ニタ表示を行うことができないという問題点があった。The operation states of the input and output devices corresponding to the names of the contacts and coils used in the ladder diagram are determined by the CPU.
Since the calculation result of the CPU 101 is not obtained, the calculation result of the CPU 101 cannot be taken out in the order of execution, so that there is a problem that an accurate monitor display cannot be performed.
【0016】PC100は、一般に、メモリ103に格
納されたプログラムをアドレス毎に順次実行する直列処
理方式をとっている。このため、プログラムの実行順に
その動作状態をモニタしない場合、通常、プログラムを
実行することでその動作状態が切り換わる出力機器と、
ユーザ等によりその動作状態が切り換わる入力機器との
正確な対応関係をモニタ表示することができない。The PC 100 generally employs a serial processing method for sequentially executing a program stored in the memory 103 for each address. For this reason, if the operation state is not monitored in the execution order of the program, usually, an output device whose operation state is switched by executing the program,
It is impossible to monitor and display an accurate correspondence with an input device whose operation state is switched by a user or the like.
【0017】また、PC動作状態監視装置110は、C
PU101による命令の実行とは非同期にその実行結果
を読み出すので、表示部112上のモニタ表示は実行結
果の同時性がなく、例えば所定の入力機器のスイッチが
オンまたはオフとなった時点の状態を正確にモニタ表示
することができないという問題点もある。Further, the PC operation state monitoring device 110
Since the execution result is read out asynchronously with the execution of the instruction by the PU 101, the monitor display on the display unit 112 has no synchronization of the execution result. For example, the state at the time when the switch of the predetermined input device is turned on or off is displayed. There is also a problem that accurate monitor display cannot be performed.
【0018】上記したこれらの問題点は、表示部112
のモニタ表示を固定させてその時の動作状態の確認を行
う場合においても、同様の理由により発生する。再び、
図19を参照して上記した問題点を説明する。2行目の
接点Dは、接点CとレジスタR1の論理和が1となった
ときにオンとなる。図18に示されているように、接点
Cがオンとなっているので、このとき接点Dはオンとな
っていなければならないが、接点Dはオフとなってい
る。The above-mentioned problems are caused by the display unit 112.
Also, when the monitor display is fixed and the operation state at that time is checked, the same occurs for the same reason. again,
The above problem will be described with reference to FIG. The contact D in the second row is turned on when the logical sum of the contact C and the register R1 becomes 1. As shown in FIG. 18, since the contact C is on, the contact D must be on at this time, but the contact D is off.
【0019】また、4行目及び5行目では、コイルEの
セットコイル、リセットコイルがともにオンとなってい
る。この両者は、同時にオンとなることはないので、明
らかに誤ったモニタ表示が行われていることがわかる。In the fourth and fifth rows, both the set coil and the reset coil of the coil E are turned on. Since these two are not turned on at the same time, it is apparent that an incorrect monitor display is clearly performed.
【0020】このようなことは、特に、各接点における
動作状態の切り換わりの変化が早いロジック等において
多く発生し、その問題点がより深刻となる。従来におい
て、プログラムの実行順にその動作状態をモニタ表示で
きるようにしたものとして、例えば、特開昭59−15
7718号公報の「プログラマブルコントローラの動作
状態監視方式」がある。しかし、この公報を適用したP
C動作状態監視装置は、共通バス上に出力された命令コ
ード、入、出力機器番号、それらの動作状態データをト
レースメモリに順次格納することでその動作状態をモニ
タしているので、共通バスの全てをトレースが必要なこ
とからハードウェアが重くなるといった問題点や、共通
バスを介さないでローカルメモリに命令の演算結果が格
納された場合、そのローカルメモリに格納されたデータ
を得られないという問題点がある。Such a problem often occurs particularly in a logic or the like in which the switching of the operating state at each contact changes quickly, and the problem becomes more serious. Conventionally, as an operation state of a program which can be displayed on a monitor in the order of execution of the program, see, for example,
No. 7718 discloses an “operating state monitoring method for a programmable controller”. However, P
The C operation state monitoring device monitors the operation state by sequentially storing the instruction code, input and output device numbers, and their operation state data output on the common bus in the trace memory, and thus monitors the operation state of the common bus. The problem is that the hardware becomes heavy because all the traces are required, and if the operation result of the instruction is stored in the local memory without passing through the common bus, the data stored in the local memory cannot be obtained. There is a problem.
【0021】本発明は、上記問題点に鑑みてなされたも
ので、簡易なハードウェアにより、ローカルメモリに格
納される演算結果を含めてPCの動作状態を命令の実行
順にモニタ表示するPC動作状態監視装置を提供するこ
とを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and has a simple hardware to monitor and display a PC operation state including an operation result stored in a local memory in the order of execution of instructions. It is an object to provide a monitoring device.
【0022】[0022]
【課題を解決するための手段】図1に示す原理図を参照
して、本発明の手段について説明する。本発明のPC動
作状態監視装置9は、プログラムメモリ1に格納された
プログラムの命令をアドレス毎に読み出して実行する実
行手段2を備えたプログラマブルコントローラ3の動作
状態を監視することを前提とする。The means of the present invention will be described with reference to the principle diagram shown in FIG. The PC operation state monitoring device 9 of the present invention is premised on monitoring the operation state of the programmable controller 3 including the execution unit 2 that reads out and executes the instructions of the program stored in the program memory 1 for each address.
【0023】このPC動作状態監視装置9の手段は、プ
ログラムメモリ1に格納されたプログラムの命令を実行
手段2が実行する際の監視条件を指定する条件指定手段
4と、実行手段2がプログラムメモリ1からプログラム
の命令を読み出した情報を条件指定手段4により指定し
た監視条件と比較する比較手段5と、実行手段2がプロ
グラムの命令を実行した結果が格納されるトレースメモ
リ7と、比較手段5の比較結果に基づいてトレースメモ
リ7に実行手段2の実行結果を書き込む書込手段6と、
トレースメモリ7に書き込まれた実行結果を読み出して
表示する表示手段8とを具備している。The means of the PC operating state monitoring device 9 includes a condition designating means 4 for designating a monitoring condition when the execution means 2 executes the instruction of the program stored in the program memory 1 and a program memory for executing the program instruction. A comparing means for comparing information obtained by reading a program instruction from the program instruction with a monitoring condition designated by the condition designating means; a trace memory storing a result of execution of the program instruction by the execution means; Writing means 6 for writing the execution result of execution means 2 to trace memory 7 based on the comparison result of
A display unit 8 for reading and displaying the execution result written in the trace memory 7;
【0024】なお、前述した構成において、条件指定手
段4は、図2に示すように、プログラムメモリ1のアド
レス範囲を監視条件として格納するアドレス範囲格納手
段11を備え、比較手段5は該アドレス範囲格納手段1
1に格納されたアドレス範囲と実行手段2がプログラム
メモリ1から命令を読み出したアドレスとを比較するこ
とが望ましい。In the above-described configuration, the condition specifying means 4 includes an address range storing means 11 for storing an address range of the program memory 1 as a monitoring condition as shown in FIG. Storage means 1
It is desirable to compare the address range stored in the instruction unit 1 with the address at which the execution unit 2 has read the instruction from the program memory 1.
【0025】また、条件指定手段4は、プログラムメモ
リ1に格納されたプログラムのタスク番号を監視条件と
して格納するタスク番号格納手段12を備え、比較手段
5は該タスク番号格納手段12に格納されたタスク番号
と実行手段2が実行しているプログラムのタスク番号と
を比較することが望ましい。The condition specifying means 4 includes a task number storing means 12 for storing a task number of the program stored in the program memory 1 as a monitoring condition, and the comparing means 5 is stored in the task number storing means 12. It is desirable to compare the task number with the task number of the program being executed by the execution means 2.
【0026】また、条件指定手段4は、プログラムメモ
リ1におけるサブルーチンを呼び出す命令が格納された
呼出元アドレスを監視条件として格納する呼出元アドレ
ス格納手段13を備え、比較手段5は該呼出元アドレス
格納手段13に格納された呼出元アドレスと実行手段2
が実行しているサブルーチンの呼出元アドレスとを比較
することが望ましい。The condition specifying means 4 includes a caller address storage means 13 for storing, as a monitoring condition, a caller address at which an instruction for calling a subroutine in the program memory 1 is stored. The comparing means 5 stores the caller address. Caller address stored in means 13 and execution means 2
It is desirable to compare with the caller address of the subroutine that is executing.
【0027】また、前述した構成における書込手段6
は、実行手段2が命令を読み出したプログラムメモリ1
のアドレスの順序を監視し、該アドレスの順序に不整合
が発生したとき、トレースメモリ7への書き込みを停止
することが望ましい。The writing means 6 in the above-described configuration
Is the program memory 1 from which the execution means 2 has read the instruction.
It is desirable to monitor the order of the addresses, and stop the writing to the trace memory 7 when the order of the addresses becomes inconsistent.
【0028】また、書込手段6は、実行手段2が命令を
読み出したプログラムメモリ7のアドレスの順序を監視
し、該アドレスの順序にループが発生したとき、トレー
スメモリ7への書き込みを該ループに対応させてループ
させることが望ましい。The writing means 6 monitors the order of the addresses in the program memory 7 from which the execution means 2 has read out the instruction, and when a loop occurs in the order of the addresses, writes the data to the trace memory 7 in the loop. It is desirable to make a loop corresponding to
【0029】[0029]
【作用】本発明のPC動作状態監視装置9は、プログラ
ムメモリ1の監視領域を領域指定手段4により指定し、
実行手段2がプログラムメモリ1から命令を読み出した
所定の情報と領域指定手段4が指定した監視領域とを比
較手段5が比較し、この比較手段5の比較結果に基づい
て書込手段6が実行手段2の実行(演算)結果をトレー
スメモリ7に書き込み、このトレースメモリ7に書き込
まれた実行結果を表示手段8がモニタ表示する。これに
より、ローカルメモリに格納される実行結果を含め、実
行手段2による命令の実行結果はその命令の実行順にモ
ニタ表示される。The PC operating state monitoring device 9 of the present invention specifies the monitoring area of the program memory 1 by the area specifying means 4,
The comparing means 5 compares the predetermined information read by the execution means 2 from the program memory 1 with the monitoring area designated by the area designating means 4, and the writing means 6 executes based on the comparison result of the comparing means 5. The execution (operation) result of the means 2 is written in the trace memory 7, and the execution result written in the trace memory 7 is displayed on the monitor 8 by the monitor. Thus, the execution results of the instructions by the execution means 2, including the execution results stored in the local memory, are displayed on the monitor in the order of execution of the instructions.
【0030】条件指定手段4は、監視条件を格納するア
ドレス範囲格納手段11、タスク番号格納手段12、及
び呼出元アドレス格納手段13のなかでタスク番号格納
手段12、及び呼出元アドレス格納手段13の一方を少
なくとも備えており、条件指定手段4が備えた格納手段
に格納された監視条件に該当する命令を実行手段2が実
行した場合、その実行結果がトレースメモリ7に格納さ
れる。条件指定手段4が上記した3つの格納手段を全て
備えた場合、ユーザは所望する部分だけの実行手段2の
実行結果をモニタ表示することが可能となる。The condition specifying means 4 includes an address range storing means 11 for storing monitoring conditions, a task number storing means 12, and
And task number stored in the caller address storage means 13
Means 12, and while the least <br/> without the Bei also Eteori, conditional execution means 2 executes the appropriate instructions to the stored monitored condition specifying means 4 is provided with storage means the calling address storing unit 13 In this case, the execution result is stored in the trace memory 7. When the condition specifying unit 4 includes all the three storage units described above, the user can monitor and display the execution result of the execution unit 2 for only a desired part.
【0031】書込手段6は、実行手段2が命令を読み出
したプログラムメモリ7のアドレスの順序を監視し、そ
のアドレスの順序に不整合が発生した場合、その旨をト
レースメモリ7に格納するとともにトレースメモリ7へ
の実行結果の格納を停止し、アドレスの順序にループが
発生した場合、その旨をトレースメモリ7に格納すると
ともにトレースメモリ7への書き込みを該ループに対応
させてループさせる。これにより、プログラムメモリ1
に格納されたプログラムの命令の並びとトレースメモリ
7に格納された実行手段2による命令の実行結果の順序
とが一致し、プログラムの分岐、ループの有無に係わら
ず、命令の実行順にモニタ表示を正確に行える。The writing means 6 monitors the order of the addresses in the program memory 7 from which the execution means 2 has read out the instruction, and stores any information in the trace memory 7 if the order of the addresses is inconsistent. When the storage of the execution result in the trace memory 7 is stopped and a loop occurs in the order of the addresses, the fact is stored in the trace memory 7 and the writing to the trace memory 7 is looped in accordance with the loop. Thereby, the program memory 1
The sequence of instructions of the program stored in the trace memory 7 matches the order of the execution results of the instructions by the execution means 2 stored in the trace memory 7, and the monitor display is performed in the execution order of the instructions regardless of the presence or absence of a program branch or loop. Can be done accurately.
【0032】[0032]
【実施例】以下、本発明による実施例について、図面を
参照して詳細に説明する。図3は、本実施例によるPC
動作状態監視装置の概略構成を示す回路ブロック図であ
る。図3に示す如く、本実施例によるPC動作状態監視
装置は、大別して、PC21と、このPC21に接続さ
れたサポートツール22とから構成されたものである。Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 3 shows a PC according to the present embodiment.
FIG. 2 is a circuit block diagram illustrating a schematic configuration of an operation state monitoring device. As shown in FIG. 3, the PC operation state monitoring apparatus according to the present embodiment is roughly divided into a PC 21 and a support tool 22 connected to the PC 21.
【0033】図3を参照して、先ず、プログラムの作
成、及びプログラムロードを例にとってその動作を説明
する。ユーザがキーボード23上に設けられたキーの操
作を行うと、制御部24は、操作されたキーの種類を判
断し、この判断したキーの種類をメモリ25に書き込む
とともに、表示制御部26に対して所定の制御信号を出
力する。Referring to FIG. 3, first, the operation of a program creation and program loading will be described as an example. When the user operates a key provided on the keyboard 23, the control unit 24 determines the type of the operated key, writes the determined type of the key into the memory 25, and sends the determined key type to the display control unit 26. And outputs a predetermined control signal.
【0034】表示制御部26は、制御部24からこの制
御信号を入力すると、メモリ25に書き込まれた内容
(図形シンボル等)を表示部(CRT)27に表示す
る。これにより、キー操作が行われるとこれに対応する
図形シンボルが表示部27に表示され、ユーザは対話形
式でプログラムの作成を行う。When the control signal is input from the control unit 24, the display control unit 26 displays the contents (graphic symbols and the like) written in the memory 25 on the display unit (CRT) 27. Thus, when a key operation is performed, a corresponding graphic symbol is displayed on the display unit 27, and the user creates a program in an interactive manner.
【0035】表示部27に表示されているプログラムの
プログラムメモリ28への格納(プログラムロード)
は、キーボード23の所定のキー操作により行われる。
即ち、このキーが操作されると、制御部24はメモリ2
5に書き込まれた内容(プログラム)をオブジェクトコ
ードに変換してPC21に出力する。一方のPC21
は、サポートツール22から出力されたこのオブジェク
トコードをサポートツールI/F部29を介して入力
し、これをプログラムメモリ28に格納する。これによ
り、プログラムロードが完了する。Storing the program displayed on the display unit 27 in the program memory 28 (loading the program)
Is performed by a predetermined key operation of the keyboard 23.
That is, when this key is operated, the control unit 24
5 is converted into an object code and output to the PC 21. One PC 21
Inputs the object code output from the support tool 22 via the support tool I / F unit 29 and stores it in the program memory 28. Thus, the program loading is completed.
【0036】次に、PC21の動作状態の監視(モニ
タ)を行う場合の動作について説明する。本実施例によ
るPC21のモニタは、プログラムメモリ28のアドレ
ス範囲、プログラムのタスク番号、サブルーチンを呼び
出した命令が格納されたアドレス(呼出元アドレス)の
3つの監視条件を指定して行うものである。これら監視
条件を指定するための入力は、キーボード23を操作す
ることに行われ、この操作により入力された監視条件は
PC21に出力される。Next, the operation for monitoring the operating state of the PC 21 will be described. The monitoring of the PC 21 according to the present embodiment is performed by designating three monitoring conditions of the address range of the program memory 28, the task number of the program, and the address (call source address) at which the instruction that called the subroutine is stored. The input for designating these monitoring conditions is performed by operating the keyboard 23, and the monitoring conditions input by this operation are output to the PC 21.
【0037】他方のPC21からは、プログラムメモリ
28に格納されたプログラムがサポートツール22に出
力される。サポートツール22は、このプログラムを入
力すると、制御部24が逆アセンブルしてこれをメモリ
25に格納し、表示制御部26はこのメモリ25に格納
されたプログラムを表示部27に表示する。この表示部
27に表示されたプログラムには、そのステップナンバ
ー(プログラムメモリ28のアドレスに対応する)、タ
スク番号が合わせて表示されるようになっている。前述
した各種の監視条件は、ユーザがこれを見てキーボード
23により入力するものである。From the other PC 21, the program stored in the program memory 28 is output to the support tool 22. When the support tool 22 inputs the program, the control unit 24 disassembles and stores the disassembly in the memory 25, and the display control unit 26 displays the program stored in the memory 25 on the display unit 27. The step number (corresponding to the address of the program memory 28) and the task number are displayed together with the program displayed on the display unit 27. The various monitoring conditions described above are input by the user using the keyboard 23 while viewing them.
【0038】本実施例においてサポートツール22によ
り入力される監視条件は、アドレス範囲はアドレスの上
限値及び下限値とにより指定され、タスク番号は各プロ
グラムに割り当てられたタスク番号により指定され、サ
ブルーチンの呼出元アドレスはプログラムメモリ28の
そのサブルーチンを呼び出したアドレスによって指定さ
れる。アドレス範囲の上限値及び下限値は、アドレス範
囲指示レジスタ30に、タスク番号はタスク設定レジス
タ31に、呼出元アドレスは呼出元アドレス設定レジス
タ32に各々格納される。ここで、アドレス範囲指示レ
ジスタ30は、上限値レジスタ30aと、下限値レジス
タ30bとから構成されており、上記した上限値は上限
値レジスタ30aに、下限値は下限値レジスタ30bに
各々格納される。In this embodiment, the monitoring conditions input by the support tool 22 are as follows: the address range is specified by the upper limit value and the lower limit value of the address; the task number is specified by the task number assigned to each program; The caller address is specified by the address of the program memory 28 that called the subroutine. The upper limit value and the lower limit value of the address range are stored in the address range instruction register 30, the task number is stored in the task setting register 31, and the caller address is stored in the caller address setting register 32, respectively. Here, the address range instruction register 30 includes an upper limit value register 30a and a lower limit value register 30b. The upper limit value is stored in the upper limit value register 30a, and the lower limit value is stored in the lower limit value register 30b. .
【0039】命令実行部33は、プログラムメモリ28
に格納されたプログラムをアドレス毎にその命令を読み
出して実行するCPUを備えたものである。プログラム
メモリ28からの命令の読み出しは、プログラムメモリ
28にプログラムカウンタ(図示せず)のカウント値を
出力することにより行われ、読み出された命令は、命令
レジスタ34に一時格納される。The instruction execution unit 33 is provided in the program memory 28
And a CPU for reading and executing the instructions stored in the program for each address. Instruction reading from the program memory 28 is performed by outputting a count value of a program counter (not shown) to the program memory 28, and the read instruction is temporarily stored in the instruction register 34.
【0040】プログラムカウンタのカウント値は、比較
器35にも出力される。比較器35は、上限値比較器3
5a及び下限値比較器35bとから構成されている。上
限値比較器35aは、上限値指示レジスタ30aから上
限値、命令実行部33からプログラムカウンタのカウン
ト値を各々入力してこれを比較し、カウント値が上限値
よりも小さい場合に1を出力する。一方の下限値比較器
35bは、下限値指示レジスタ30bから下限値、命令
実行部33からプログラムカウンタのカウント値を各々
入力してこれを比較し、カウント値が下限値よりも大き
い場合に1を出力する。上限値比較器35aと下限値3
5bの比較結果はANDゲート36によりその論理積が
とられ、ANDゲート36からANDゲート37にその
論理積が出力される。The count value of the program counter is also output to the comparator 35. The comparator 35 is an upper limit comparator 3
5a and a lower limit comparator 35b. The upper limit value comparator 35a receives the upper limit value from the upper limit value register 30a and the count value of the program counter from the instruction execution unit 33, compares them, and outputs 1 when the count value is smaller than the upper limit value. . One lower limit comparator 35b receives the lower limit from the lower limit instruction register 30b and the count value of the program counter from the instruction execution unit 33 and compares them. If the count value is larger than the lower limit, 1 is set. Output. Upper limit comparator 35a and lower limit 3
The comparison result of 5b is ANDed by the AND gate 36, and the AND is output from the AND gate 36 to the AND gate 37.
【0041】本実施例において1つのタスク番号は、1
つのプログラム単位に対応しており、表示部27上にプ
ログラムが表示された際、そのタスク番号を表示してい
る。これにより、ユーザは、所望のモニタを行わせるた
めのタスク番号を容易に知ることができるようになって
いる。In this embodiment, one task number is 1
When the program is displayed on the display unit 27, the task number is displayed. As a result, the user can easily know the task number for performing the desired monitoring.
【0042】ユーザが指定したタスク番号は、タスク設
定レジスタ31に格納され、命令実行部33が現在、或
いはこれから実行するプログラムのタスク番号は、命令
実行部33によりタスク実行レジスタ38に格納され
る。The task number specified by the user is stored in the task setting register 31, and the task number of the program that the instruction execution unit 33 is to execute now or from now on is stored in the task execution register 38 by the instruction execution unit 33.
【0043】タスク番号比較器39は、タスク実行レジ
スタ38に格納されたタスク番号と、タスク設定レジス
タ31に格納されたタスク番号とを比較し、その比較結
果を微分回路40及びANDゲート37に出力する。こ
のタスク番号比較器39は、タスク実行レジスタ38と
タスク設定レジスタ31に格納されたタスク番号が一致
しているときに1を出力するものである。The task number comparator 39 compares the task number stored in the task execution register 38 with the task number stored in the task setting register 31, and outputs the comparison result to the differentiating circuit 40 and the AND gate 37. I do. The task number comparator 39 outputs 1 when the task numbers stored in the task execution register 38 and the task setting register 31 match.
【0044】微分回路40は、タスク番号比較器39か
ら出力された値が1から0に立ち下がるときだけパルス
(1)を出力するものであり、その出力はフリップフロ
ップ(F/F)41に入力される。F/F41は、サポ
ートツールI/F部29を介してサポートツール22か
らトレース開始指示を示すパルスを入力することでその
出力がセットされ、微分回路40からパルスが入力する
ことでその出力がリセットされるものである。このF/
F41の出力は、ANDゲート37と、サポートツール
I/F部29を介してサポートツール22に入力され
る。The differentiating circuit 40 outputs a pulse (1) only when the value output from the task number comparator 39 falls from 1 to 0, and the output is sent to a flip-flop (F / F) 41. Is entered. The output of the F / F 41 is set by inputting a pulse indicating a trace start instruction from the support tool 22 via the support tool I / F unit 29, and the output is reset by inputting a pulse from the differentiating circuit 40. Is what is done. This F /
The output of F41 is input to the support tool 22 via the AND gate 37 and the support tool I / F unit 29.
【0045】呼出元アドレス設定レジスタ32に格納さ
れた呼出元アドレスは、アドレス比較器42により命令
実行部33から出力されたプログラムカウンタのカウン
ト値と比較される。アドレス比較器42は、この両者の
値が一致すると1をF/F43に出力する。The call source address stored in the call source address setting register 32 is compared with the count value of the program counter output from the instruction execution unit 33 by the address comparator 42. The address comparator 42 outputs 1 to the F / F 43 when the two values match.
【0046】F/F43は、アドレス比較器42から1
が出力されることでその出力がセットされ、微分回路4
5からパルスが出力されることでリセットされる。微分
回路45は、微分回路40と同じもので、ANDゲート
36から入力したその出力が1から0に立ち下がるとき
だけ1を出力する。F/F43の出力は、ANDゲート
37に出力される。The F / F 43 outputs 1 from the address comparator 42.
Is output, the output is set, and the differentiation circuit 4
5 is reset by outputting a pulse. The differentiating circuit 45 is the same as the differentiating circuit 40, and outputs 1 only when the output input from the AND gate 36 falls from 1 to 0. The output of the F / F 43 is output to the AND gate 37.
【0047】ANDゲート37は、ANDゲート36、
F/F41及び43、及びタスク番号比較器39の論理
積をとり、それを命令レジスタ34に出力する。命令レ
ジスタ34は、プログラムメモリ28から出力された命
令を格納する命令部34aと、ANDゲート37の出力
値を格納するコード部34bとからなり、命令レジスタ
34に格納された内容は全て命令実行部33に送られ
る。The AND gate 37 is connected to the AND gate 36,
The logical product of the F / Fs 41 and 43 and the task number comparator 39 is obtained, and the result is output to the instruction register 34. The instruction register 34 includes an instruction part 34a for storing the instruction output from the program memory 28 and a code part 34b for storing the output value of the AND gate 37. All the contents stored in the instruction register 34 are stored in the instruction execution part. 33.
【0048】命令実行部33は、命令レジスタ34から
これらを入力すると、コード部34bに格納されたデー
タが1か否か判断すると共に、命令部34aに格納され
た命令を実行する。即ち、コード部34bに1が格納さ
れていたと判断すると、このとき命令部34aに格納さ
れていた命令の実行結果をCPUバスに出力し、トレー
スメモリ44にその実行結果の書き込みを行う。When these are input from the instruction register 34, the instruction execution unit 33 determines whether the data stored in the code unit 34b is 1 and executes the instruction stored in the instruction unit 34a. That is, when it is determined that 1 is stored in the code section 34b, the execution result of the instruction stored in the instruction section 34a at this time is output to the CPU bus, and the execution result is written in the trace memory 44.
【0049】また、命令実行部33が命令を実行した結
果は、図示しないデータメモリ、入出力メモリに出力さ
れ、PC21に接続された外部機器は、入出力メモリに
格納されたデータに従って動作される。これにより、P
C21は、シーケンス制御を実行する。The result of the execution of the instruction by the instruction execution unit 33 is output to a data memory and an input / output memory (not shown), and the external device connected to the PC 21 operates according to the data stored in the input / output memory. . This allows P
C21 performs sequence control.
【0050】トレースメモリ44は、このようにコード
部34bに1が格納されている間、命令実行部33が後
述する処理を行うことにより、これが実行した命令の演
算結果が順次書き込まれる。ここで、詳細は後述する
が、コード部34bに1が格納されている間は指定され
た監視条件を満たしているときである。また、命令実行
部33の演算結果がトレースメモリ44に書き込まれる
ので、ローカルメモリ(図示せず)に格納された演算結
果もトレースメモリ44に格納される。While 1 is stored in the code section 34b as described above, the instruction execution section 33 performs the processing described later, so that the operation results of the instructions executed by the instruction execution section 33 are sequentially written. Here, as will be described in detail later, while 1 is stored in the code section 34b, the designated monitoring condition is satisfied. Further, since the operation result of the instruction execution unit 33 is written in the trace memory 44, the operation result stored in the local memory (not shown) is also stored in the trace memory 44.
【0051】なお、本実施例は命令実行部33をトレー
スするためにトレースメモリ44を備えているが、命令
実行部33の演算結果をトレースメモリ44の代わりに
データメモリに格納するようにしても良い。また、プロ
グラムメモリ28をデータメモリ、トレースメモリ44
として用いるようにしても良い。Although the present embodiment includes the trace memory 44 for tracing the instruction execution unit 33, the operation result of the instruction execution unit 33 may be stored in the data memory instead of the trace memory 44. good. Further, the program memory 28 is used as a data memory and the trace memory 44.
May be used.
【0052】以上が本実施例における概略動作である。
次に図4〜図17を参照してさらに詳細にその動作を説
明する。図4は、本実施例による命令実行部33の要略
処理動作を示すフローチャートである。ここでは、アド
レス範囲設定レジスタ30に設定したアドレス範囲のア
ドレスからプログラムを読み出したか否かのみを想定
し、タスク番号等の他の監視条件は満たしているものと
してその処理動作を説明する。The above is the schematic operation in this embodiment.
Next, the operation will be described in more detail with reference to FIGS. FIG. 4 is a flowchart illustrating the essential processing operation of the instruction execution unit 33 according to the present embodiment. Here, it is assumed that only the program has been read from the address within the address range set in the address range setting register 30, and the processing operation will be described on the assumption that other monitoring conditions such as a task number are satisfied.
【0053】図4に示す如く、命令実行部33は、命令
部34aに格納された命令を実行すると(S1)、次に
コード部34bに格納された値が1か否か、即ちトレー
ス要求が有るか否か判断する(S2)。トレース要求が
無いと判断すると、ここでこの命令に対する処理は完了
し、反対にトレース要求が有ると判断すると、プログラ
ムの実行結果(演算結果)をトレースメモリ44に格納
して(S3)、この命令に対する処理は完了する。な
お、他の命令に対してもこのようにして同様に、処理が
実行される。As shown in FIG. 4, when the instruction execution unit 33 executes the instruction stored in the instruction unit 34a (S1), next, whether the value stored in the code unit 34b is 1 or not, that is, when the trace request is It is determined whether there is (S2). If it is determined that there is no trace request, the processing for this instruction is completed here. Conversely, if it is determined that there is a trace request, the execution result (operation result) of the program is stored in the trace memory 44 (S3). Is completed. The processing is similarly executed for other instructions in this manner.
【0054】図5は、上述した処理によってトレースメ
モリ44に格納された内容例を示す説明図である。ここ
で、図5は、図19に示したプログラム例を実行した場
合のものである。FIG. 5 is an explanatory diagram showing an example of the contents stored in the trace memory 44 by the above-described processing. Here, FIG. 5 shows a case where the example of the program shown in FIG. 19 is executed.
【0055】図5に示す如く、トレースメモリ44に
は、トレース制御部とトレースデータとを1組として命
令の演算結果が順次格納される。トレース制御部は、詳
細は後述するが、プログラムのループ、分岐等が発生し
た場合にその旨を示すためのものである。従って、この
ときのトレース制御部にはなにも書き込まれてはおら
ず、命令の演算結果であるトレースデータのみが書き込
まれている。As shown in FIG. 5, the trace memory 44 sequentially stores the operation results of instructions as a set of a trace control unit and trace data. The trace control unit, which will be described later in detail, is for indicating when a program loop, branch, or the like has occurred. Therefore, nothing is written in the trace control unit at this time, and only the trace data that is the operation result of the instruction is written.
【0056】このように、トレースメモリ44には命令
の演算結果がその実行順に順次格納されるので、トレー
スメモリ44に格納されたトレースデータを読み出し、
その読み出したトレースデータを対応する図形シンボル
に順次重ねて表示することにより、命令実行部33の命
令の演算結果をローカルメモリに格納されるデータを含
めてダイナミックに、即ちデータの同時性を満たしたう
えで命令の実行順にモニタ表示を行うことができる。As described above, since the operation results of the instructions are sequentially stored in the trace memory 44 in the order of execution, the trace data stored in the trace memory 44 is read out.
By sequentially displaying the read trace data on the corresponding graphic symbol and displaying it, the result of the operation of the instruction of the instruction execution unit 33 is dynamically including the data stored in the local memory, that is, the data synchronization is satisfied. Then, the monitor display can be performed in the order in which the instructions are executed.
【0057】また、命令実行部33がトレースメモリ4
4にトレースデータを書き込むので、特開昭59−15
7718号公報を適用したPC動作状態監視装置と比較
した場合、ローカルメモリに格納される実行結果を確実
にトレースできると共に、CPUバスをトレースするだ
けでよいことから、そのハードウェアの構成を簡易にす
ることができるという効果がある。The instruction execution unit 33 is provided with the trace memory 4
4 because trace data is written in
Compared with the PC operation state monitoring device to which JP-A-7718 is applied, the execution result stored in the local memory can be reliably traced and only the CPU bus needs to be traced, so that the hardware configuration can be simplified. There is an effect that can be.
【0058】なお、モニタ表示を行う場合は、トレース
メモリ44に格納されたトレースデータを制御部24が
読み出し、この読み出したトレースデータに対応する図
形シンボルが格納されたメモリ25のアドレスに対し、
例えば、該トレースデータの値に応じた表示輝度のデー
タを格納する。これにより、ユーザは、図形シンボルの
表示輝度によりその動作状態を把握することができる。When the monitor display is performed, the control unit 24 reads the trace data stored in the trace memory 44, and stores the trace data in the memory 25 in which the graphic symbol corresponding to the read trace data is stored.
For example, display luminance data corresponding to the value of the trace data is stored. Thereby, the user can grasp the operation state of the graphic symbol based on the display luminance of the graphic symbol.
【0059】図6は、本実施例による第1のサブルーチ
ンのトレース方法を示す説明図である。図6において、
スキャンプログラム(PレベルプログラムA)、割込み
プログラムBの2つのプログラムがサブルーチンS(ト
レース対象)を呼び出している。FIG. 6 is an explanatory diagram showing a tracing method of the first subroutine according to this embodiment. In FIG.
Two programs, a scan program (P-level program A) and an interrupt program B, call a subroutine S (to be traced).
【0060】図6に示すような場合、サブルーチンSの
アドレス範囲の指定だけではどのプログラムがこれを呼
び出しているか判らない。そこで、本実施例では、各プ
ログラムに対してタスク番号を割り当て、このタスク番
号を指定することでトレースを行う場合を指定するもの
である。In the case shown in FIG. 6, it is not possible to determine which program is calling the program only by specifying the address range of the subroutine S. Therefore, in the present embodiment, a task number is assigned to each program, and the case where tracing is performed by specifying the task number is specified.
【0061】前述したように、タスク設定レジスタ31
にはユーザが指定したタスク番号が格納され、タスク実
行レジスタ38には現在、或いはこれから実行するタス
ク番号が格納される。タスク番号比較器39は、これら
のレジスタに格納されたタスク番号が一致している間だ
け1を出力するので、この間F/F41はリセットされ
ず、1を出力する。従って、アドレス範囲、呼出元アド
レスの他の指定条件が満たされている場合、このタスク
番号比較器39から1が出力されている間だけトレース
を行うこともできる。As described above, the task setting register 31
Stores the task number designated by the user, and the task execution register 38 stores the task number to be executed now or from now on. Since the task number comparator 39 outputs 1 only while the task numbers stored in these registers match, the F / F 41 is not reset during this time and outputs 1. Therefore, when other specified conditions of the address range and the caller address are satisfied, tracing can be performed only while the task number comparator 39 is outputting 1.
【0062】なお、本実施例は、タスク設定レジスタ3
1を一つだけ備えたものだが、トレースするサブルーチ
ンを呼び出すプログラムを幾つか同時に指定したい場
合、タスク設定レジスタ31を複数備え、こられのタス
ク設定レジスタ31に格納されたタスク番号のいずれか
にタスク実行レジスタ38に格納されたタスク番号が一
致したときにトレースを行うようにしても良く、タスク
設定レジスタ31に順次タスク番号を制御部24が格納
するようにしても良い。また、本実施例では、タスク設
定レジスタにタスク番号が格納されていない場合、タス
ク番号比較器39は常時1を出力するようにしている。
このため、アドレス範囲、呼出元アドレスの監視条件の
指定だけでトレースを行うこともできる。In this embodiment, the task setting register 3
Although only one is provided, if it is desired to specify several programs that call the subroutine to be traced at the same time, a plurality of task setting registers 31 are provided, and the task number is stored in any of the task numbers stored in these task setting registers 31. The tracing may be performed when the task numbers stored in the execution register 38 match, or the task numbers may be sequentially stored in the task setting register 31 by the control unit 24. Further, in this embodiment, when the task number is not stored in the task setting register, the task number comparator 39 always outputs 1.
Therefore, tracing can be performed only by specifying the monitoring conditions of the address range and the caller address.
【0063】図7は、本実施例による第2のサブルーチ
ンのトレース方法を示す説明図である。図示の如く、サ
ブルーチンSはレベルプログラムAにより2度、即ち同
一タスク番号内で(a)、(b)により示すアドレスで
呼び出されている。FIG. 7 is an explanatory diagram showing a tracing method of the second subroutine according to this embodiment. As shown, the subroutine S is called twice by the level program A, that is, at the addresses indicated by (a) and (b) within the same task number.
【0064】図7に示すような場合においてサブルーチ
ンSをトレースする場合、サブルーチンSのアドレス範
囲、及びレベルプログラムAのタスク番号を設定するだ
けではそのトレースが(a)、(b)いずれから呼び出
されたときのものであるか判らない。このため、サブル
ーチンの呼び出し元を管理することで、設定したタスク
番号のプログラムにおいてその特定箇所で呼び出された
サブルーチンのみをトレースするようにしたものであ
る。In the case of tracing the subroutine S in the case as shown in FIG. 7, simply by setting the address range of the subroutine S and the task number of the level program A, the trace is called from either (a) or (b). I do not know if it was. Therefore, by managing the caller of the subroutine, only the subroutine called at the specific location in the program of the set task number is traced.
【0065】図3における呼出元アドレス設定レジスタ
32は、プログラムメモリ28におけるサブルーチンの
呼出元アドレスが格納されるものである。ここでは、タ
スク設定レジスタ31に格納されたタスク番号と、タス
ク実行レジスタ38に格納されたタスク番号とが一致し
ていると想定し、その動作を説明する。The caller address setting register 32 in FIG. 3 stores a caller address of a subroutine in the program memory 28. Here, it is assumed that the task number stored in the task setting register 31 matches the task number stored in the task execution register 38, and the operation will be described.
【0066】呼出元アドレス設定レジスタ32に格納さ
れた呼出元アドレスは、アドレス比較器42により命令
実行部33から出力されたプログラムカウンタのカウン
ト値と比較される。アドレス比較器42は、この両者の
値が一致した場合、1をF/F43に出力する。F/F
43は、アドレス比較器42から1を入力することでセ
ットされ、その出力はANDゲート37に入力される。The call source address stored in the call source address setting register 32 is compared with the count value of the program counter output from the instruction execution unit 33 by the address comparator 42. When the two values match, the address comparator 42 outputs 1 to the F / F 43. F / F
43 is set by inputting 1 from the address comparator 42, and its output is input to the AND gate 37.
【0067】アドレス比較器42が1を出力したとき
は、命令実行部33がサブルーチンSの呼出元アドレス
に格納された命令を実行したときであるので、命令実行
部33は次にサブルーチンSの処理を実行することにな
る。When the address comparator 42 outputs 1, it means that the instruction execution unit 33 has executed the instruction stored at the call source address of the subroutine S. Will be executed.
【0068】命令実行部33がサブルーチンSの処理を
実行している間もアドレス比較器42にはプログラムカ
ウンタのカウント値は出力されているが、F/F43は
セットされたままである。従って、命令実行部33がサ
ブルーチンSの処理を実行している間のANDゲート3
7の出力は、ANDゲート36の出力に等しくなる。即
ち、サブルーチンSにおけるトレース範囲の命令を実行
している間、比較器35の比較結果によってANDゲー
ト36の出力は1となっている。これにより、命令レジ
スタ34のコード部34bにはサブルーチンSにおける
トレース範囲の命令を実行している間1が書き込まれる
ので、トレースメモリ44にはこの間の命令実行部33
の演算結果がトレースデータとして格納される。While the instruction execution unit 33 is executing the processing of the subroutine S, the count value of the program counter is output to the address comparator 42, but the F / F 43 is still set. Therefore, while the instruction execution unit 33 is executing the processing of the subroutine S, the AND gate 3
The output of 7 is equal to the output of AND gate 36. That is, while the instruction in the trace range in the subroutine S is being executed, the output of the AND gate 36 is 1 according to the comparison result of the comparator 35. As a result, 1 is written to the code section 34b of the instruction register 34 while the instruction in the trace range in the subroutine S is being executed.
Is stored as trace data.
【0069】このように、本実施例では、呼出元アドレ
スを指定することにより、サブルーチンを呼び出した箇
所に応じてこのサブルーチン処理をトレースすることが
できる。As described above, in this embodiment, by specifying the caller address, the subroutine processing can be traced according to the place where the subroutine is called.
【0070】サブルーチンSのトレース範囲の処理が終
了すると、ANDゲート36の出力は1から0に立ち下
がる。これにより、コード部34bには次から0が書き
込まれ、F/F43は微分回路45から1が出力されて
リセットされる。また、サブルーチンSの処理が終了す
ると、プログラムカウンタには呼出元アドレスの次の値
がセットされ、これ以降のアドレスに格納された命令が
実行される。When the processing of the trace range in the subroutine S is completed, the output of the AND gate 36 falls from 1 to 0. As a result, the next 0 is written into the code section 34b, and the F / F 43 is reset by outputting 1 from the differentiating circuit 45. When the processing of the subroutine S is completed, the next value of the caller address is set in the program counter, and the instruction stored at the address after this is executed.
【0071】なお、本実施例では、呼出元アドレス設定
レジスタ32に0が格納されていた場合、アドレス比較
器42は1を出力するようになっている。このため、ユ
ーザは、必要なときだけ呼出元アドレス設定レジスタ3
2に呼出元アドレスを格納すれば良いようになってい
る。In this embodiment, when 0 is stored in the caller address setting register 32, the address comparator 42 outputs 1. Therefore, the user only needs to call the source address setting register 3 when necessary.
2 stores the caller address.
【0072】次に、IF、THEN、ELSE等のプロ
グラムにおいて分岐を伴う場合のトレース方法について
説明する。プログラムメモリ28に格納されたプログラ
ムは、そのプログラム(命令群)における1つの命令は
1つのアドレスに格納される。このため、命令の並びと
その命令の実行結果(トレースデータ)は一対一になる
が、プログラムの分岐といった命令の実行順序に不整合
が発生した場合、命令の並びとそれの演算結果の対応が
把握できなくなる。そこで、本実施例では、命令実行部
33が分岐(不整合)の発生の有無を示す取り込み禁止
フラグ(コード)をトレースデータとともにトレースメ
モリ44に格納し、且つこれ以降のトレースデータの格
納を停止するようにしたものである。図8〜図12を参
照して、本実施例によるこのトレース方法を説明する。Next, a tracing method when a program such as IF, THEN, and ELSE involves a branch will be described. In the program stored in the program memory 28, one instruction in the program (instruction group) is stored at one address. For this reason, the instruction sequence and the execution result (trace data) of the instruction are in a one-to-one correspondence. I can't figure it out. Therefore, in the present embodiment, the instruction execution unit 33 stores the fetch prohibition flag (code) indicating whether or not a branch (mismatch) has occurred in the trace memory 44 together with the trace data, and stops storing the trace data thereafter. It is something to do. This tracing method according to the present embodiment will be described with reference to FIGS.
【0073】図8は、分岐を含むプログラム例を示す説
明図であり、図9は、このプログラムを示すフローチャ
ートである。図8及び図9を参照して、先ず、このプロ
グラムについて説明する。FIG. 8 is an explanatory diagram showing an example of a program including a branch, and FIG. 9 is a flowchart showing this program. First, this program will be described with reference to FIGS.
【0074】図8のプログラム例は、図9のように、接
点Aの値が1と判断すると(S11)、THEN処理で
ある接点Cと接点Dの論理積をコイルEの値とする処理
(S12)が実行され、反対に接点Aの値が1ではない
と判断すると(S11)、ELSE処理である接点Fと
接点Gの論理積をコイルEの値とする処理(S13)が
実行されるものである。In the example of the program shown in FIG. 8, when the value of the contact A is determined to be 1 as shown in FIG. 9 (S11), the logical product of the contact C and the contact D, which is a THEN process, is set to the value of the coil E (FIG. 9). S12) is executed. On the other hand, when it is determined that the value of the contact A is not 1 (S11), a process of setting the logical product of the contact F and the contact G to the value of the coil E, which is an ELSE process, is executed (S13). Things.
【0075】図10は、THEN処理におけるトレース
処理を示す要略したフローチャートである。この処理で
は、先ず、THEN処理(命令)を実行するか否か判断
し(S21)、THEN処理を実行すると判断すると、
このTHEN処理を実行するためにプログラムカウンタ
をスキップさせる(S22)。ステップS21におい
て、THEN処理を実行しないと判断、即ちスキップ
(分岐)が有ると判断すると、ELSE処理を示すカウ
ント値にプログラムカウンタをスキップさせる(S2
3)。プログラムカウンタのELSE処理へのスキップ
が終了すると、次にトレース要求があるか否か、即ちコ
ード部34bの値が1か否か判断し(S24)、トレー
ス要求があると判断すると、取り込み禁止コード(フラ
グ)をセットし(S25)、反対にトレース要求がない
と判断すると、取り込み禁止コードのセットは行わな
い。FIG. 10 is a simplified flowchart showing the trace processing in the THEN processing. In this process, first, it is determined whether or not to execute a THEN process (instruction) (S21).
The program counter is skipped in order to execute the THEN process (S22). If it is determined in step S21 that the THEN process is not to be performed, that is, if there is a skip (branch), the program counter is skipped to the count value indicating the ELSE process (S2).
3). When the skip of the program counter to the ELSE process is completed, it is determined whether or not there is a trace request next, that is, whether or not the value of the code part 34b is 1 (S24). (Flag) is set (S25), and if it is determined that there is no trace request, the capture prohibition code is not set.
【0076】取り込み禁止コードがセットされると、命
令実行部33は、トレースメモリ44のトレース制御部
に取り込み禁止フラグを書き込むとともに、これ以降の
トレースメモリ44へのトレースデータの書き込みを停
止する。When the capture prohibition code is set, the instruction execution unit 33 writes the capture prohibition flag in the trace control unit of the trace memory 44 and stops the subsequent writing of trace data to the trace memory 44.
【0077】図11は、ELSE処理におけるトレース
処理を示す要略したフローチャートである。この処理で
は、先ず、ELSE処理(命令)を実行するか否か判断
し(S31)、ELSE処理を実行すると判断すると、
このELSE処理を実行するためにプログラムカウンタ
をスキップさせる(S32)。FIG. 11 is a simplified flowchart showing the trace processing in the ELSE processing. In this process, first, it is determined whether or not to execute the ELSE process (instruction) (S31).
The program counter is skipped to execute this ELSE processing (S32).
【0078】ステップS31において、ELSE処理を
実行しないと判断、即ちスキップ(分岐)が有ると判断
すると、ENDIF処理を示すカウント値にプログラム
カウンタをスキップさせる(S33)。プログラムカウ
ンタのENDIF処理へのスキップが終了すると、次に
トレース要求があるか否か、即ちコード部34bの値が
1か否か判断し(S34)、トレース要求があると判断
すると、取り込み禁止コード(フラグ)をセットし(S
35)、反対にトレース要求がないと判断すると、取り
込み禁止コードのセットは行わない。If it is determined in step S31 that the ELSE process is not to be executed, that is, if there is a skip (branch), the program counter is skipped to a count value indicating the ENDIF process (S33). When the skip of the program counter to the ENDIF processing is completed, it is determined whether or not there is a trace request next, that is, whether or not the value of the code part 34b is 1 (S34). (Flag) is set (S
35) Conversely, if it is determined that there is no trace request, the capture prohibition code is not set.
【0079】図12は、分岐を伴うプログラムを実行し
た際のトレースメモリ44に格納された内容例を示す説
明図である。図12の例は、THEN処理を実行した後
のELSE処理のスキップによりトレースデータの取り
込みが停止した場合を示している。FIG. 12 is an explanatory diagram showing an example of contents stored in the trace memory 44 when a program involving a branch is executed. The example of FIG. 12 illustrates a case where the capture of the trace data is stopped due to the skip of the ELSE process after the execution of the THEN process.
【0080】図12に示す如く、トレースメモリ44に
は連続した命令の実行結果だけが格納されている。この
ため、命令の演算結果が連続する範囲においてその動作
状態を正確にモニタすることができる。As shown in FIG. 12, the trace memory 44 stores only the execution results of successive instructions. Therefore, the operation state can be accurately monitored in a range where the operation result of the instruction is continuous.
【0081】一旦トレースが停止した場合、制御部24
は再度PC21に対してトレース開始指示を示す信号を
出力し、また、監視条件を変更する場合は新たな監視条
件を出力する。これにより、F/F41はセットされ、
各種設定レジスタに格納された監視条件によるトレース
が行われる。Once the trace has been stopped, the control unit 24
Outputs a signal indicating a trace start instruction to the PC 21 again, and outputs a new monitoring condition when the monitoring condition is changed. As a result, the F / F 41 is set,
Tracing is performed according to the monitoring conditions stored in the various setting registers.
【0082】トレースメモリ44に格納されたトレース
データは、単に接点、コイル等のデータ値を命令実行部
33による命令の実行順序で格納したものである。この
ため、命令の実行順序が分岐により変化するような場
合、図形シンボルとそのデータ値との対応関係を正確に
把握することができなくなる。本実施例は、このためト
レースデータの取り込みを停止しているものである。The trace data stored in the trace memory 44 simply stores data values of contacts, coils, and the like in the order in which the instruction execution unit 33 executes the instructions. Therefore, when the execution order of instructions changes due to branching, it is not possible to accurately grasp the correspondence between the graphic symbols and their data values. In this embodiment, the acquisition of the trace data is stopped for this reason.
【0083】しかし、この不具合は、命令実行部33の
処理を重くはするが、例えば、トレースメモリ44にト
レースデータとともにプログラムカウンタのカウント値
を格納することで回避することもできる。この方法は、
プログラムのステップ数が短い場合やロジックの変化が
比較的遅いような場合等には適用が容易である。このと
き、命令実行部33がカウント値の代わりに接点、コイ
ル等の各名称に対応するオペランドをトレースデータと
ともにトレースメモリ44に書き込むようにしても良
い。However, this problem can be avoided by, for example, storing the count value of the program counter together with the trace data in the trace memory 44, while making the processing of the instruction execution unit 33 heavy. This method
It is easy to apply when the number of steps of the program is short or when the logic changes relatively slowly. At this time, the instruction execution unit 33 may write the operands corresponding to the names of the contacts, coils, and the like in the trace memory 44 together with the trace data instead of the count value.
【0084】次に、ループ処理といった1群の命令の繰
り返しを含むプログラムに対するトレース方法について
説明する。前述したように、通常は命令の並びとその演
算結果は1対1に対応するが、ループ処理(簡単のため
この表現のみを用いることにする)の実行結果をこのま
まトレースメモリ28に格納した場合、表示部27に表
示された図形シンボルとその図形シンボルに対応する演
算結果の対応が1対1に対応しなくなる。そこで、本実
施例では、ループ処理に対応させてトレースメモリ44
に演算結果を格納するようにしたものである。Next, a tracing method for a program including a repetition of a group of instructions such as a loop process will be described. As described above, the sequence of instructions and its operation result usually correspond one-to-one, but the execution result of loop processing (only this expression is used for simplicity) is stored in the trace memory 28 as it is. Thus, the correspondence between the graphic symbol displayed on the display unit 27 and the calculation result corresponding to the graphic symbol does not correspond one-to-one. Therefore, in the present embodiment, the trace memory 44
In which the calculation result is stored.
【0085】図13は、ループ処理を含むプログラム例
を示す説明図であり、図14は、このプログラム例を示
すフローチャートである。図13及び図14を参照し
て、最初にこのプログラムについて説明する。FIG. 13 is an explanatory diagram showing an example of a program including a loop process, and FIG. 14 is a flowchart showing an example of the program. This program will be described first with reference to FIGS.
【0086】このプログラムは、ループ処理の先頭(ル
ープスタート命令:LOOP START)でこのループ処理を実
行する回数を示すフラグCに10をセットし(S4
1)、次に端子AとBの値を加算した値を端子Dの値に
代入する(S42)。端子Dへの値の代入が終了する
と、フラグCの値をデクリメントし、このときのフラグ
Cの値が0か否か判断する(S43)。フラグCの値が
0ではないと判断すると、ステップS42の処理に戻
り、反対にフラグCの値が0と判断すると、ここでルー
プ処理を終了する。なお、このループ処理が終了する
と、図13に示すように、端子Dの値を端子Eに代入す
る処理が実行される。This program sets 10 to a flag C indicating the number of times this loop processing is executed at the beginning of the loop processing (loop start instruction: LOOP START) (S4).
1) Then, the value obtained by adding the values of the terminals A and B is substituted for the value of the terminal D (S42). When the assignment of the value to the terminal D is completed, the value of the flag C is decremented, and it is determined whether or not the value of the flag C at this time is 0 (S43). When it is determined that the value of the flag C is not 0, the process returns to step S42, and when it is determined that the value of the flag C is 0, the loop processing is ended here. When the loop process is completed, a process of assigning the value of the terminal D to the terminal E is executed as shown in FIG.
【0087】次に、ループ処理を実行する場合における
トレース処理について説明する。図15は、ループ処理
を実行する場合、そのループ処理における先頭の命令を
実行した際に実行するトレース処理を示すフローチャー
トである。Next, the trace processing when the loop processing is executed will be described. FIG. 15 is a flowchart illustrating a trace process executed when the first instruction in the loop process is executed when the loop process is executed.
【0088】この処理においては、先ずトレース要求が
有るか否か、即ち命令レジスタ34のコード部34bに
1が格納されていたか否か判断する(S51)。トレー
ス要求が有ると判断すると、トレースメモリ44のトレ
ース制御部にループ処理の先頭であることを示すループ
フラグ(コード)をセットし(S52)、反対にトレー
ス要求が無いと判断すると、このループフラグはセット
しない。In this process, first, it is determined whether or not there is a trace request, that is, whether or not 1 is stored in the code part 34b of the instruction register 34 (S51). If it is determined that there is a trace request, a loop flag (code) indicating the beginning of the loop processing is set in the trace control unit of the trace memory 44 (S52). Is not set.
【0089】図16は、ループ処理における最後の命令
(ループエンド命令:LOOP END)を実行した際に実行す
るトレース処理を示すフローチャートである。ここで、
図16に示す処理は、図15に示した処理と対をなすも
のである。FIG. 16 is a flowchart showing a trace process executed when the last instruction (loop end instruction: LOOP END) in the loop process is executed. here,
The processing illustrated in FIG. 16 is a pair with the processing illustrated in FIG.
【0090】この処理では、先ず、ループ処理が終了し
たか否か、即ち図14においてはフラグCに初期設定さ
れた値だけ処理を繰り返したか否か判断し(S61)、
ループ処理が終了したと判断すると、プログラムカウン
タをこのループ処理の次の命令を示すカウント値にスキ
ップする(S62)。In this processing, first, it is determined whether or not the loop processing has been completed, that is, in FIG. 14, whether or not the processing has been repeated by the value initially set in the flag C (S61).
If it is determined that the loop processing has been completed, the program counter is skipped to a count value indicating the next instruction of this loop processing (S62).
【0091】ステップS61において、ループ処理が終
了していないと判断すると、プログラムカウンタをこの
ループ処理における先頭の命令を示すカウント値にセッ
ト(スキップ)し(S63)、次にトレース要求が有る
か否か判断する(S64)。トレース要求が無いと判断
すると、このまま次の命令を実行し、反対にトレース要
求が有ると判断すると、トレースメモリ44に書き込む
アドレスを示す書込ポインタの値を、このループ処理に
おいてループ処理の先頭を示すループフラグが書き込ま
れた位置(アドレス)の値をセットすることで変更する
(S65)。If it is determined in step S61 that the loop processing has not been completed, the program counter is set (skipped) to a count value indicating the first instruction in this loop processing (S63), and whether or not there is a next trace request It is determined whether or not (S64). When it is determined that there is no trace request, the next instruction is executed as it is, and when it is determined that there is a trace request, the value of the write pointer indicating the address to be written in the trace memory 44 is set to the beginning of the loop processing in this loop processing. This is changed by setting the value of the position (address) where the indicated loop flag is written (S65).
【0092】図17は、上記したトレース処理を実行す
ることによりトレースメモリ44に格納された内容例を
示す説明図である。図17に示す如く、トレースデータ
として端子Aの読出データが格納されたアドレスのトレ
ース制御部にはループ処理の先頭を示すループフラグが
書き込まれ、ループエンド命令を実行した後は、再びこ
のループフラグがトレース制御部に書き込まれているア
ドレスからトレースデータが書き込まれる。FIG. 17 is an explanatory diagram showing an example of contents stored in the trace memory 44 by executing the above-described trace processing. As shown in FIG. 17, a loop flag indicating the beginning of the loop processing is written in the trace control unit of the address where the read data of the terminal A is stored as the trace data. The trace data is written from the address where is written in the trace control unit.
【0093】このように、本実施例では、ループ処理を
実行している間、ループ処理における命令の演算結果を
ループフラグが書き込まれたアドレスから順次繰り返し
て書き込むので、トレースメモリ44には命令の並びに
対応してその演算結果が書き込まれることになる。従っ
て、トレースメモリ44から読み出したトレースデータ
と表示部27に表示した図形シンボルの対応が一致する
ので、命令実行部33の演算結果を命令の実行順に、且
つ正確にモニタ表示することができる。As described above, in this embodiment, while the loop processing is being executed, the operation result of the instruction in the loop processing is sequentially and repeatedly written from the address where the loop flag is written. Then, the operation result is written correspondingly. Accordingly, the correspondence between the trace data read from the trace memory 44 and the graphic symbols displayed on the display unit 27 matches, so that the operation results of the instruction execution unit 33 can be accurately displayed on the monitor in the order of instruction execution.
【0094】なお、本実施例のPC動作状態監視装置
は、図3に示したように、PC21と、サポートツール
22とから構成され、命令実行部33がプログラムメモ
リ28に格納された命令を実行するとともに、その演算
結果をトレースメモリ44に書き込むものである。しか
し、命令実行部33の演算結果、及びプログラムカウン
タのカウント値等を随時サポートツール22に出力する
ようにすれば、図3においてPC21に備えたその構成
要素の殆どをサポートツール22に備えさせることもで
きる。反対に、PCがCRT等の表示手段を備えたもの
であれば、本発明をこのPCに適用させ、サポートツー
ルを不要としても良い。As shown in FIG. 3, the PC operation state monitoring device of this embodiment is composed of the PC 21 and the support tool 22, and the instruction execution unit 33 executes the instructions stored in the program memory 28. At the same time, the calculation result is written into the trace memory 44. However, if the operation result of the instruction execution unit 33, the count value of the program counter, and the like are output to the support tool 22 at any time, most of the components included in the PC 21 in FIG. Can also. Conversely, if the PC is provided with a display means such as a CRT, the present invention may be applied to the PC and the support tool may not be required.
【0095】[0095]
【発明の効果】以上、説明したように本発明は、プログ
ラムメモリの監視領域を領域指定手段により指定し、実
行手段がプログラムメモリから命令を読み出した所定の
情報と領域指定手段が指定した監視領域とを比較手段が
比較し、この比較手段の比較結果に基づいて書込手段が
実行手段の演算結果をトレースメモリに順次書き込
み、、このトレースメモリに書き込まれた演算結果を表
示手段がモニタ表示するため、実行手段が命令を実行し
た順序でその全ての実行(演算)結果をモニタ表示する
ことができる。As described above, according to the present invention, the monitor area of the program memory is designated by the area designating means, the execution means reads out the instruction from the program memory, and the monitoring area designated by the area designating means. Is compared by the comparing means, and the writing means sequentially writes the calculation results of the execution means in the trace memory based on the comparison result of the comparing means, and the display means displays the calculation results written in the trace memory on the monitor. Therefore, all execution (operation) results can be displayed on the monitor in the order in which the execution means executed the instructions.
【0096】また、条件指定手段は、監視条件を格納す
るアドレス範囲格納手段、タスク番号格納手段、及び呼
出元アドレス格納手段のなかでタスク番号格納手段1
2、及び呼出元アドレス格納手段13の一方を少なくと
も備えており、条件指定手段が備えた格納手段に所望の
監視条件を格納することで、それに対応する実行手段の
実行結果がトレースメモリに格納されるため、所望する
部分のプログラムを実行した結果のみをモニタすること
ができる。The condition designating means is a task number storing means 1 among an address range storing means for storing monitoring conditions, a task number storing means, and a caller address storing means.
2, and at least one of the caller address storage means 13
Also Bei Eteori, by storing a desired monitoring condition in the storage means with the condition specifying means, the result execution result of the execution means corresponding thereto to be stored in the trace memory, which executes the desired portion of the program You can only monitor.
【0097】また、書込手段は、実行手段が読み出した
プログラムメモリのアドレスの順序を監視し、アドレス
の順序に不整合が発生した場合、その旨をトレースメモ
リに格納するとともにトレースメモリへの実行結果の格
納を停止し、アドレスの順序にループが発生した場合、
その旨をトレースメモリに格納するとともにトレースメ
モリへの書き込みを該ループに対応させてループさせ
る。このため、プログラムメモリに格納された命令の並
びとトレースメモリに格納された実行手段の実行結果の
順序が一致するため、プログラムの分岐、ループの有無
に係わらず、命令の実行順にモニタ表示を正確に行うこ
とができる。The writing means monitors the order of the addresses in the program memory read by the execution means, and if an inconsistency occurs in the order of the addresses, stores the fact in the trace memory and executes the execution in the trace memory. If you stop storing results and a loop occurs in address order,
That fact is stored in the trace memory, and writing to the trace memory is looped in accordance with the loop. For this reason, the order of instructions stored in the program memory matches the order of execution results of the execution means stored in the trace memory, so that the monitor display can be accurately performed in the order of instruction execution regardless of the presence or absence of a program branch or loop. Can be done.
【0098】また、実行手段の実行結果を書込手段がト
レースメモリに書き込むので、バスの全てをトレースす
る必要がなく、ハードウェアを簡易にすることができ
る。Further, since the writing unit writes the execution result of the execution unit into the trace memory, it is not necessary to trace the entire bus, and the hardware can be simplified.
【図1】本発明の構成を示す原理図である。FIG. 1 is a principle diagram showing a configuration of the present invention.
【図2】本発明の条件指定手段の構成を示す原理図であ
る。FIG. 2 is a principle diagram showing a configuration of a condition specifying means of the present invention.
【図3】本実施例によるPC動作状態管理装置の概略構
成を示す回路ブロック図である。FIG. 3 is a circuit block diagram illustrating a schematic configuration of a PC operation state management device according to the present embodiment.
【図4】本実施例による命令実行部の要略処理動作を示
すフローチャートである。FIG. 4 is a flowchart showing a brief processing operation of an instruction execution unit according to the embodiment.
【図5】トレースメモリに格納された内容例を示す説明
図である。FIG. 5 is an explanatory diagram showing an example of contents stored in a trace memory.
【図6】第1のサブルーチンのトレース方法を示す説明
図である。FIG. 6 is an explanatory diagram showing a tracing method of a first subroutine.
【図7】第2のサブルーチンのトレース方法を示す説明
図である。FIG. 7 is an explanatory diagram showing a tracing method of a second subroutine.
【図8】分岐を含むプログラム例を示す説明図である。FIG. 8 is an explanatory diagram showing an example of a program including a branch.
【図9】分岐を含むプログラムを示すフローチャートで
ある。FIG. 9 is a flowchart showing a program including a branch.
【図10】THEN処理におけるトレース処理を示すフ
ローチャートである。FIG. 10 is a flowchart showing a trace process in the THEN process.
【図11】ELSE処理におけるトレース処理を示すフ
ローチャートである。FIG. 11 is a flowchart showing a trace process in the ELSE process.
【図12】分岐を含むプログラムを実行した際のトレー
スメモリに格納された内容例を示す説明図である。FIG. 12 is an explanatory diagram showing an example of contents stored in a trace memory when a program including a branch is executed.
【図13】ループ処理を含むプログラム例を示す説明図
である。FIG. 13 is an explanatory diagram showing an example of a program including a loop process.
【図14】ループ処理を含むプログラムを示すフローチ
ャートである。FIG. 14 is a flowchart showing a program including a loop process.
【図15】ループ処理の先頭の命令を実行した際に実行
するトレース処理を示すフローチャートである。FIG. 15 is a flowchart illustrating a trace process executed when the first instruction of the loop process is executed.
【図16】ループ処理の最後の命令を実行した際に実行
するトレース処理を示すフローチャートである。FIG. 16 is a flowchart illustrating a trace process executed when the last instruction of the loop process is executed.
【図17】ループ処理を含むプログラムを実行した際の
トレースメモリに格納された内容例を示す説明図であ
る。FIG. 17 is an explanatory diagram showing an example of contents stored in a trace memory when a program including a loop process is executed.
【図18】PC及びサポートツールの概略構成を示す回
路ブロック図である。FIG. 18 is a circuit block diagram illustrating a schematic configuration of a PC and a support tool.
【図19】ラダー図によるプログラム例を示す説明図で
ある。FIG. 19 is an explanatory diagram showing a program example based on a ladder diagram.
1、28 プログラムメモリ 2 実行手段 3、21 PC 4 条件指定手段 5 比較手段 6 書込手段 7、44 トレースメモリ 8 表示手段 9 PC動作状態監視装置 11 アドレス範囲格納手段 12 タスク番号格納手段 13 呼出元アドレス格納手段 22 サポートツール 23 キーボード 24 制御部 25 メモリ 26 表示制御部 27 表示部 30 アドレス範囲設定レジスタ 31 タスク設定レジスタ 32 呼出元アドレス設定レジスタ 33 命令実行部 34 命令レジスタ 35 比較器 38 タスク実行レジスタ 39 タスク番号比較器 42 アドレス比較器 1, 28 program memory 2 execution means 3, 21 PC 4 condition specification means 5 comparison means 6 writing means 7, 44 trace memory 8 display means 9 PC operation state monitoring device 11 address range storage means 12 task number storage means 13 caller Address storage means 22 Support tool 23 Keyboard 24 Control unit 25 Memory 26 Display control unit 27 Display unit 30 Address range setting register 31 Task setting register 32 Caller address setting register 33 Instruction execution unit 34 Instruction register 35 Comparator 38 Task execution register 39 Task number comparator 42 Address comparator
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/04 - 19/05 Continuation of the front page (58) Field surveyed (Int.Cl. 7 , DB name) G05B 19/04-19/05
Claims (6)
の命令をアドレス毎に読み出して実行する実行手段を備
えたプログラマブルコントローラの動作状態を監視する
プログラマブルコントローラ動作状態監視装置であっ
て、 前記プログラムメモリに格納されたプログラムの命令を
前記実行手段が実行する際の監視条件を指定する条件指
定手段と、 前記実行手段が前記プログラムメモリからプログラムの
命令を読み出した情報を前記条件指定手段により指定し
た監視条件と比較する比較手段と、 前記実行手段がプログラムの命令を実行した結果が格納
されるトレースメモリと、 前記比較手段の比較結果に基づいて前記トレースメモリ
に前記実行手段の実行結果を書き込む書込手段と、 前記トレースメモリに書き込まれた実行結果を読み出し
て表示する表示手段と、を具備し、 前記条件指定手段は、前記プログラムメモリに格納され
たプログラムのタスク番号を監視条件として格納するタ
スク番号格納手段を備え、 前記比較手段は前記タスク番号格納手段に格納されたタ
スク番号と前記実行手段が実行しているプログラムのタ
スク番号とを比較する ことを特徴とするプログラマブル
コントローラ動作状態監視装置。There in claim 1] program memory programmable controller operation state monitoring apparatus for monitoring the operation status of the programmable controller which re Bei execution hands stage reads and executes each instruction at the address of the program stored in the <br/> e Te, the condition specifying means to specify the monitoring conditions when an instruction of the program memory a program stored in the execution hand stage is executed, the execution hands stage reads the instruction of the program memory or program from and comparing the hand stage information is compared with a more specified monitoring conditions in the condition specified hand stage was a trace memory that result the execution hand stage executes program instructions are stored, the comparison result of the comparing hand stepped said trace memory on the basis of
And Shokomite stage for writing execution results of the execution hand stage, anda display means to display the read execution results written in the trace memory, the condition specifying means, said program memory Stored
To store the task number of the program
Disk number storing means, wherein the comparing means stores the task number stored in the task number storing means.
Disk number and the type of program being executed by the execution means.
A programmable controller operating state monitoring device for comparing the operation state with a disk number .
の命令をアドレス毎に読み出して実行する実行手段を備
えたプログラマブルコントローラの動作状態を監視する
プログラマブルコントローラ動作状態監視装置であっ
て、 前記プログラムメモリに格納されたプログラムの命令を
前記実行手段が実行する際の監視条件を指定する条件指
定手段と、 前記実行手段が前記プログラムメモリからプログラムの
命令を読み出した情報を前記条件指定手段により指定し
た監視条件と比較する比較手段と、 前記実行手段がプログラムの命令を実行した結果が格納
されるトレースメモリと、 前記比較手段の比較結果に基づいて前記トレースメモリ
に前記実行手段の実行 結果を書き込む書込手段と、 前記トレースメモリに書き込まれた実行結果を読み出し
て表示する表示手段と、を具備し、 前記条件指定手段は、前記プログラムメモリにおけるサ
ブルーチンを呼び出す命令が格納された呼出元アドレス
を監視条件として格納する呼出元アドレス格納手段を備
え、 前記比較手段は前記呼出元アドレス格納手段に格納され
た呼出元アドレスと前記実行手段が実行しているサブル
ーチンの呼出元アドレスとを比較する ことを特徴とする
プログラマブルコントローラ動作状態監視装置。2. A program stored in a program memory.
Execution means for reading and executing the
The operating state of the programmable controller
Programmable controller operation status monitoring device
Te, the instructions of the program stored in the program memory
A condition finger for specifying a monitoring condition for execution by the execution means;
Setting means, and the execution means stores a program from the program memory.
Specify the information from which the instruction has been read by the condition specifying means.
Comparing means for comparing with the monitored condition, and storing the result of executing the program instruction by the executing means.
The trace memory based on the comparison result of the comparing means.
Writing means for writing the execution result of the execution means to the memory, and reading the execution result written to the trace memory
Display means for displaying the data in the program memory.
Caller address where the instruction to call the subroutine is stored
Caller address storage means for storing
The comparison means is stored in the caller address storage means.
Caller address and subroutine executed by the execution means
You and comparing the caller address of routine
Programmer Lama Bull controller operating status monitoring device.
リのアドレス範囲を監視条件として格納するアドレス範
囲格納手段を備え、前記比較手段は該アドレス範囲格納
手段に格納されたアドレス範囲と前記実行手段が前記プ
ログラムメモリから命令を読み出したアドレスとを比較
することを特徴とする請求項1、または2記載のプログ
ラマブルコントローラ動作状態監視装置。3. The method of claim 1, wherein the conditions specified hand stage, the program notes
Address range that stores the address range of
Comprising a circumference storage means, said comparing hand stage the execution hand stage and address range stored in the address range stored <br/> hand stage the flop
The programmable controller operation state monitoring device according to claim 1 or 2, wherein the operation is compared with an address at which an instruction is read from a program memory .
リにおけるサブルーチンを呼び出す命令が格納された呼
出元アドレスを監視条件として格納する呼出元アドレス
格納手段を備え、前記比較手段は該呼出元アドレス格納
手段に格納された呼出元アドレスと前記実行手段が実行
しているサブルーチンの呼出元アドレスとを比較するこ
とを特徴とする請求項1記載のプログラマブルコントロ
ーラ動作状態監視装置。4. The method of claim 1, wherein the conditions specified hand stage, the program notes
It includes a calling address storage means to store call source address instructions stored calling the definitive to re subroutine as monitoring condition, call the comparison hand stage stored in the source address stored <br/> hand stepped out the call programmable controller operation state monitoring apparatus according to claim 1, wherein the comparing the caller address of the subroutine the execution hand stage and source address is running.
み出した前記プログラムメモリのアドレスの順序を監視
し、該アドレスの順序に不整合が発生したとき、前記ト
レースメモリへの書き込みを停止することを特徴とする
請求項1、または2記載のプログラマブルコントローラ
動作状態監視装置。Wherein said manual Comite stage, the execution hands stage monitors the sequence of addresses of said program memory read instruction, when a mismatch occurs in the order of the addresses, to the trace memory The programmable controller operating state monitoring device according to claim 1 or 2 , wherein writing of the data is stopped.
み出した前記プログラムメモリのアドレスの順序を監視
し、該アドレスの順序にループが発生したとき、前記ト
レースメモリへの書き込みを該ループに対応させてルー
プさせることを特徴とする請求項1、または2記載のプ
ログラマブルコントローラ動作状態監視装置。Wherein said manual Comite stage, the execution hands stage monitors the sequence of addresses of said program memory read instruction, when the loop in the order of the addresses occur, to the trace memory 3. The operation state monitoring device according to claim 1 , wherein the writing is looped in correspondence with the loop.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15243494A JP3167245B2 (en) | 1994-07-04 | 1994-07-04 | Programmable controller operating state monitoring device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15243494A JP3167245B2 (en) | 1994-07-04 | 1994-07-04 | Programmable controller operating state monitoring device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0816217A JPH0816217A (en) | 1996-01-19 |
JP3167245B2 true JP3167245B2 (en) | 2001-05-21 |
Family
ID=15540453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15243494A Expired - Fee Related JP3167245B2 (en) | 1994-07-04 | 1994-07-04 | Programmable controller operating state monitoring device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3167245B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3496466B2 (en) * | 1997-07-09 | 2004-02-09 | 豊和工業株式会社 | Programmable controller |
JP2010020494A (en) * | 2008-07-09 | 2010-01-28 | Mitsubishi Electric Corp | Protection controller |
ES2483966T3 (en) * | 2009-04-20 | 2014-08-08 | Pilz Gmbh & Co. Kg | Method and device for programming an industrial controller of an automated installation |
-
1994
- 1994-07-04 JP JP15243494A patent/JP3167245B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0816217A (en) | 1996-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4200913A (en) | Operator controlled programmable keyboard apparatus | |
US4488258A (en) | Programmable controller with control program comments | |
US4683549A (en) | Sequence control method and apparatus | |
US4115853A (en) | Jump structure for a digital control system | |
US4200915A (en) | Program loader for programmable controller | |
US5426730A (en) | Method and apparatus for displaying sequential function chart elements | |
US4611281A (en) | Apparatus for analyzing microprocessor operation | |
JP3461400B2 (en) | Sequence control program creation device | |
JP3167245B2 (en) | Programmable controller operating state monitoring device | |
US4907190A (en) | Computer control system and method for effecting sequence controls and servo-controls | |
EP0256149B1 (en) | Computer system | |
JPS58178408A (en) | Programmable controller having simulating function | |
JP3443184B2 (en) | Programmer for programmable controller | |
JPH05241619A (en) | Programming device for programmable controller | |
JPH0193812A (en) | System for displaying help screen | |
KR900008536B1 (en) | Computer system suitable in execution of sequencte control and servo control | |
JPH01244502A (en) | Pc program display system | |
JPH01236309A (en) | Display device for numerical controller | |
JPS59119413A (en) | Programmable controller | |
JP2862369B2 (en) | Image display control device | |
JPH11191072A (en) | Debug break processing method and debug processor | |
JP2615222B2 (en) | Operators console for distributed digital control systems. | |
JPH01277904A (en) | Program display system for pc | |
JPH10105226A (en) | Programmable display device | |
JPS5949609A (en) | Programmable controller equipped with simulation performing function |
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: 20010227 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080309 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090309 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |