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

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

Info

Publication number
JP3225757B2
JP3225757B2 JP25805694A JP25805694A JP3225757B2 JP 3225757 B2 JP3225757 B2 JP 3225757B2 JP 25805694 A JP25805694 A JP 25805694A JP 25805694 A JP25805694 A JP 25805694A JP 3225757 B2 JP3225757 B2 JP 3225757B2
Authority
JP
Japan
Prior art keywords
processing
time
program
interrupt
external peripheral
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 - Lifetime
Application number
JP25805694A
Other languages
English (en)
Other versions
JPH08123514A (ja
Inventor
裕行 加賀美
久美子 舟橋
孝一 伊藤
英次郎 中▲島▼
尚志 野々山
元啓 加賀
竜三 薮▲崎▼
英昭 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP25805694A priority Critical patent/JP3225757B2/ja
Priority to US08/541,427 priority patent/US5889669A/en
Priority to DE19539353A priority patent/DE19539353A1/de
Priority to KR1019950036842A priority patent/KR100218219B1/ko
Publication of JPH08123514A publication Critical patent/JPH08123514A/ja
Application granted granted Critical
Publication of JP3225757B2 publication Critical patent/JP3225757B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/14002Independent processor, coprocessor monitors plc
    • 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/14041Influence of execution of interrupts
    • 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/14042Process time

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は産業機器等で使用される
プログラマブルコントローラにおいて、外部周辺機器か
らCPUユニットの動作状態をモニタするようにしたプ
ログラマブルコントローラに関するものである。
【0002】
【従来の技術】従来より、産業機械等の制御用機器とし
てシ−ケンス制御装置が広く利用されている。ここで言
うシ−ケンス制御装置とは、産業機械等の制御におい
て、一つの制御動作の終了を確認し、その結果に応じて
次の動作を選定する等、あらかじめ定められた順序に従
って、制御の各段階を逐次進めていく制御(シ−ケンス
制御)を行う制御機器である。
【0003】近年のシ−ケンス制御装置は、プログラム
の変更の可能なプログラマブルコントロ−ラ(以下PC
と称す)が主流であり、その制御内容も年々高度化しつ
つある。近年では、PCに外部周辺機器を接続し、リア
ルタイムでPCが制御している制御対象外部機器の入出
力信号のON、OFF状態やCPUユニットが内部で記
憶している数値データなどの情報をパーソナルコンピュ
ータ等の外部周辺機器のCRT画面上でモニタすること
も可能となっている。
【0004】しかし、従来のPCでは制御対象外部機器
の入出力信号がONしているかOFFしているかの状態
等をモニタするのが主であり、プログラマがシーケンス
プログラムのデバッグ時に有効な入出力信号がONして
いる時間や入出力信号を取り込むタイミング等の内部動
作状態を知るには、使用者がデバッグ用シーケンスプロ
グラムを本来のシーケンスプログラムに追加し動作さ
せ、CPUユニットが内部で記憶している数値データに
置き換え外部周辺機器にてモニタするか、外部にロジッ
クアナライザ等の計測機器を接続して測定していた。
【0005】図45はこの種のPCの従来の構成図であ
る。図45において、1はPCの制御の中心となるCP
Uユニット、2はモニタ結果を表示する外部周辺機器、
3は入出力ユニットでリミットスイッチ4a、ランプ4
b、バルブ調節計4c等の制御対象外部機器に対して入
力信号を取り入れ、または出力信号を出すユニットであ
る。5は特殊機能ユニットで、計算機6等と交信する機
能をもつユニットである。
【0006】10から19と21はCPUユニット1の
内部にあり、それぞれ10はシステムROM12に格納
されたシステムプログラムを実行するCPU、11はシ
ーケンスプログラムを格納するシーケンスプログラムメ
モリ、13はCPU10が実行中に一時的にデータを記
憶するためのデータRAM、14は外部周辺機器2と交
信するための周辺I/F(インタフェース)、15は入
出力ユニット3と信号をやり取りするための入出力ポー
ト、16はシーケンスプログラムで使用される入出力信
号の状態や、タイマの現在値などの数値データを記憶す
るデバイスメモリ、17は入力信号の一部を割り込み信
号とする割り込み発生回路である。18はシーケンスプ
ログラムメモリ11を常に監視し、あらかじめ設定され
たアドレスが指定のアドレスと一致した場合にCPU1
0に割り込みを発生するアドレス比較回路である。19
はデバイスメモリ16を常に監視し、あらかじめ設定さ
れたアドレスの内容が指定のデータと一致した場合にC
PU10に割り込みを発生するデータ比較回路である。
データ比較回路19の構成は、特開平3―244003
号公報および特開平4―151702号公報で記載され
ているものと同一のものである。21はCPU10の動
作とは非同期に時間を計測し続ける内部タイマである。
20はシーケンスプログラムのデバッグ時などに出力信
号を監視しPCの動作状態をみるための測定機器として
のロジックアナライザである。なお、特殊機能ユニット
5と、シーケンスプログラムメモリ11と、システムR
OM12と、データRAM13と、周辺I/F14と入
出力ポート15と、デバイスメモリ16と、割り込み発
生回路17と、アドレス比較回路18と、データ比較回
路19は、アドレス信号線やデータ信号線などの各種信
号線10aによりCPU10とつながっており、CPU
10は各種信号線10aを介してシーケンスプログラム
メモリ11などに対してデータの読み出しまたは書き込
みを行う。
【0007】次に、図45で示したシーケンスプログラ
ムメモリ11に格納されるシーケンスプログラムの構成
について図46に示し説明する。図46において、51
1は常時実行されるメインシーケンスプログラム部分で
あり、512は割り込み発生回路17から割り込みが発
生したときのみ実行される割り込みシーケンスプログラ
ムである。513はメインシーケンスプログラム511
の終了を示すFEND命令、514は割り込みシーケン
スプログラム512の開始を示す割り込みポインタ、5
15は割り込みプログラムの終了を示すIRET命令で
ある。また、図47の521から524はメインシーケ
ンスプログラム511および割り込みシーケンスプログ
ラム512に記述される命令であり、図45の制御対象
外部機器の状態を読みだしたり、また状態を変化させた
りする。制御対象外部機器は、これらの命令521〜5
24ではデバイスにより表現される。例えば命令521
にある後述する図49のX0という記号は制御対象外部
機器からの入力信号を意味する。デバイスには、入出力
信号のようなON/OFFの状態を記憶するビットデバ
イスや、数値データを記憶するワードデバイス、タイマ
デバイスなどがあり、これらの状態は図45のデバイス
メモリ16に記憶される。
【0008】ここで、図46で示したシーケンスプログ
ラムを実行するための、図45で示したCPUユニット
1の一般的な実行処理の一例を図47に示し説明する。
図47において、CPUユニット1はまずはじめにステ
ップ521でメインプログラムの実行を開始する。次に
シーケンス制御を実行するシーケンス処理のステップ5
22に進み、ステップ5221で予め定められたシーケ
ンスプログラムに基づき、シーケンスプログラムの開始
ステップをメインシーケンスプログラムの先頭ステップ
すなわち0ステップにセットし、次のステップ5222
により開始ステップである0ステップからFEND命令
のステップまでを実行する。FEND命令を実行する
と、次のEND処理ステップ523へと進み、このステ
ップ523では、外部周辺機器2との交信処理ステップ
5231と、特殊ユニットサービス処理ステップ523
2と、入出力信号をデバイスメモリ16に格納された値
に応じて出力または入力する処理などの、その他のEN
D処理ステップ5233を実行する。ここで、一連のE
ND処理ステップ523が完了すると、初めのステップ
522へ戻って、図45のCPUユニット1は再度処理
を繰り返すことになる。この様にCPUユニット1はス
テップ522、523を繰り返し実行処理するもので
り、この繰り返される1回の処理を本発明ではスキャン
という。
【0009】また、ステップ524以降はこの様な繰り
返しの実行中に、CPU10に割込発生回路17より割
込み信号が入った場合に実行する割り込みプログラム実
行の流れについて示したものである。割り込みプログラ
ム実行ステップ524では、このプログラムが開始する
とステップ5241により現在実行しているメインプロ
グラム側の実行ステップを退避し、次にステップ524
2により開始ステップを割り込みプログラムの先頭ステ
ップすなわちI0のステップにセットし、ステップ52
43でIRET命令まで実行した後、ステップ5244
によりメインプログラムの実行ステップをセットして、
割込プログラム実行を終了し、終了ステップ5245か
ら元のメインプログラムへ復帰する。この様に図45の
CPUユニット1は、図47に示すように通常メインプ
ログラムのステップ522、523を繰り返し実行し、
割込処理要求が発生するとその都度割り込みプログラム
のステップ524を実行した後にメインプログラムに戻
るものである。
【0010】ここで、図45に示したCPUユニット1
の、図47で示した処理におけるタイムチャートを図4
8に示し図47を用いて説明する。図48において、5
31は図47で示したシーケンス処理522に要したシ
ーケンス処理時間であり、この中には図47の割込み処
理524の割込み処理時間533が含まれる。532は
図47で示したEND処理523に要したEND処理時
間であり、このEND処理時間532は、図47の外部
周辺機器2との交信処理5231の交信処理時間534
と、特殊機能ユニット5のサービス処理5232のサー
ビス処理時間535と、その他のEND処理5233の
その他のEND処理時間536を合わせた時間である。
ここで1回のスキャンに要する時間すなわちシーケンス
処理時間531とEND処理時間532を合わせた時間
を本発明ではスキャンタイムという。即ち、図48に於
て、初めのスキャンタイムのシーケンス処理時間531
aには割込み処理時間533a,533bが含まれ、E
ND処理時間532aには交信処理時間534a、サー
ビス処理時間535a、その他のEND処理時間536
aが含まれている。同様に次のスキャンタイムを構成す
るシーケンス処理時間531bとEND処理時間532
bにもその時の処理内容に応じて、各種処理時間533
c,533d,534b,535b,536bが含まれ
ている。
【0011】以上で述べたように従来の図45に示すC
PUユニット1の制御は図47に示すように繰り返しの
処理実行を行っている。その際に例えば、計算機6から
CPUユニット1に処理要求を出した時は特殊機能ユニ
ット5を介し、CPUユニット1は特殊機能ユニット5
からの処理要求と見なして処理を行い、その処理結果を
特殊機能ユニット5に応答する。この特殊機能ユニット
5からの要求に対する図47の処理5232は、END
処理523の中で行われる為、特殊機能ユニット5から
の要求があったときは、一時的にEND処理時間532
が増加することになる。また割込プログラムの実行処理
524も、図45の割り込み発生回路17から割り込み
が入ったときに処理される為、割り込みプログラムが実
行されるタイミングや実行回数は一定ではなく、図48
のシーケンス処理時間531は割り込みの有無により増
減する。したがって、CPUユニット1の図48に示し
たシーケンス処理時間531とEND処理時間532で
構成される1回毎の処理時間は一定でなく入力信号の取
り込みや出力信号の出力のタイミングは非常に複雑にな
っている。この様に使用者がPCによる制御での不具合
があった場合、不具合原因を調べるためにCPUユニッ
ト1の制御状態を知ることは不可欠になってきている。
【0012】まずはじめにCPUユニット1の制御状態
の1つである、デバイス状態の変化の時間、例えばある
入力信号を示すビットデバイスX0の状態がONになっ
ている間の時間を計測する方法について図45、図49
を用いて説明する。図49は、入力信号を示すビットデ
バイスX0の状態がONになっている間の時間を計測す
るシーケンスプログラムの一例である。ここで、ビット
デバイスX0は、例えば図45におけるリミットスイッ
チ4a等の入力信号である。図49において541から
543は、それぞれ命令のシンボルを示し、541はビ
ットデバイスX0がON状態で導通するロード命令、5
42はビットデバイスX0がOFF態で導通するロード
否定命令、543は導通状態で時間計測を開始しタイマ
デバイスT0に経過時間を格納するタイマ命令で、K1
00は1秒までの時間を計測することを示している。5
44は導通状態の立ち上がり検出で、タイマデバイスT
0の内容をワードデバイスD0に格納する転送パルス命
令である。
【0013】次に図49で示したシーケンスプログラム
の動作を以下に説明する。すなわち、ビットデバイスX
0がONになるとロード命令541が導通してタイマ命
令543が作動し、タイマデバイスT0の内容が順次1
0m秒毎に1加算されるが、ビットデバイスX0がOF
Fになると、ロード否定命令542が導通して転送パル
ス命令544により現在の計測時間であるタイマデバイ
スT0の内容がデバイスD0に格納されるとともに、ロ
ード命令541が非導通となってタイマ命令543の動
作が停止し、タイマデバイスT0の内容が0になる。こ
のシーケンスプログラムを、使用者はメインシーケンス
プログラムに追加し、CPUユニット1に動作させるこ
とにより、ビットデバイスX0がONしている間の時間
が常にデバイスD0に格納されるので、外部周辺機器2
にてデバイスD0のデバイス状態をモニタすることによ
り状態変化の間隔を検出することができる。しかしこの
方法ではCPUユニット1のメインプログラムの繰り返
し処理毎に図49のシーケンスプログラムが実行される
ため、図48で説明したCPUユニット1の繰り返し処
理の時間、即ち、1スキャンタイム分の誤差が発生する
可能性がある。更に正確に測定するためには直接、入力
信号を図45に示すロジックアナライザ20で測定する
必要があった。
【0014】次にCPUユニット1の制御状態の他の1
つである、シーケンスプログラムの指定区間の処理時間
を測定する方法について説明する。シーケンス処理実行
中にメインシーケンスプログラムの最初から、ある指定
されたステップまでの処理時間を測定する手段は、特開
平5ー189277号公報に示されている。そこで、シ
ーケンス処理実行中にメインシーケンスプログラムのあ
る指定された区間、例えば100ステップから200ス
テップまでシーケンスプログラムを実行する処理時間を
測定するには、上記手段を用いて指定区間の開始ステッ
プまで、すなわち0ステップから100ステップまでの
実行処理時間と終了ステップまで、すなわち0ステップ
から200ステップまでの実行処理時間を測定し、後者
の終了ステップまでの実行処理時間から前者の開始ステ
ップまでの実行処理時間を減算することにより、指定区
間、すなわち100ステップから200ステップまでシ
ーケンスプログラムを実行する処理時間を算出し、測定
することができた。
【0015】次にCPUユニット1の制御状態の他の1
つである、割込みシーケンスプログラムの実行時間を計
測する方法について、図45と図47と図50を用いて
説明する。図50は割込みシーケンスプログラム554
の処理時間を計測するシーケンスプログラムの一例であ
る。ここで551は割込みシーケンスプログラム554
の先頭を示すポインタI0、552はビットデバイスM
9036がON状態で導通するロード命令、553と5
57は導通状態でビットデバイスY0をONし、非導通
状態でビットデバイスY0をOFFする出力命令、55
5はビットデバイスM9036がOFF態で導通するロ
ード否定命令、558は割込みシーケンスプログラムの
終了を示すIRET命令である。
【0016】ここで、図50に示すシーケンスプログラ
ムの動作を以下図に示し説明する。すなわち、図47の
割込プログラム実行のステップ524が実行されると図
50の割込シーケンスプログラム554のはじめにある
ロード命令552にて、常時ONであるビットデバイス
M9036の状態により導通し出力命令553にてビッ
トデバイスY0をONする。ビットデバイスY0は例え
ば図45におけるランプ4b等の出力信号である。続い
て本来の割込みシーケンスプログラム554を実行し、
割込みシーケンスプログラムの最終直前にあるロード否
定命令555は非導通としてビットデバイスY0をOF
Fする。そしてIRET命令558により割込みシーケ
ンスプログラム554を終了する。したがって、このシ
ーケンスプログラムを、使用者は割込みシーケンスプロ
グラムに追加し、CPUユニット1に動作させることに
より、割込みシーケンスプログラムが実行している間ビ
ットデバイスY0はONしており、このデバイスY0に
相当する出力信号を図45の外部測定機器としてのロジ
ックアナライザ20を使って測定することにより、割込
みプログラムの実行時間を知ることができた。
【0017】次にCPUユニット1の制御状態の他の1
つである、END処理の実行時間を計測する方法につい
て図45と図47と図51を用いて説明する。図51は
END処理に要する時間を測定するためのシーケンスプ
ログラムの一例である。図51において、564は本来
動作すべきメインシーケンスプログラム、562はビッ
トデバイスM9036がOFF状態で導通するロード否
定命令、563と567は導通状態でビットデバイスY
0をONし、非導通状態でビットデバイスY0をOFF
する出力命令、565はビットデバイスM9036がO
N状態で導通するロード命令、568はメインシーケン
スプログラムの終了を示すFEND命令である。
【0018】ここで、図51に示すシーケンスプログラ
ムの動作を以下図に示し説明する。すなわち、図47の
シーケンス処理のステップ522が実行されると、図5
1のメインシーケンスプログラム564のはじめにある
ロード否定命令562にて、常時ONであるビットデバ
イスM9036の状態により非導通となり出力命令55
3にてビットデバイスY0をOFFする。続いてメイン
シーケンスプログラム564を実行し、メインシーケン
スプログラムの最終直前にあるロード命令565は導通
としてビットデバイスY0をONする。そしてFEND
命令568によりメインシーケンスプログラム564を
終了する。その後処理は図47のEND処理のステップ
523に移り、再度シーケンス処理のステップ522が
実行され、同様にビットデバイスY0をOFFし、ON
する。この繰り返しにより、メインシーケンスプログラ
ム564が実行している間デバイスY0はOFFしてお
り、デバイスY0がONしている間はEND処理を行っ
ていることとなる。したがって、このシーケンスプログ
ラムを、使用者はメインシーケンスプログラムに追加
し、CPUユニット1に動作させ、このビットデバイス
Y0に相当する出力信号を図45の外部測定機器として
のロジックアナライザ20を使って測定することによ
り、END処理の時間およびシーケンス処理の実行時間
を知ることができた。
【0019】次にCPUユニット1の制御状態の他の1
つである、特殊ユニットサービス処理時間を計測する方
法について説明する。特殊ユニットサービス処理時間を
計測する方法は前に述べた図51のEND処理の実行時
間を計測する方法を用いる。まず図45の特殊機能ユニ
ット5から要求を出さない状態で、図47のEND処理
523の処理時間を測定しておく。次に特殊機能ユニッ
ト5から要求を出した状態で、同様にEND処理523
の処理時間を測定する。そして、特殊機能ユニット5か
ら要求を出したときのEND処理時間から、特殊機能ユ
ニット5から要求を出さなかったときのEND処理時間
を減算することにより、特殊機能ユニット5からの要求
に対するEND処理513の処理時間を求めることがで
きた。
【0020】次にCPUユニット1の制御状態の他の1
つの、ある一定時間内に割込みシーケンスプログラムが
どのくらいの頻度で実行されているかを調べる方法につ
いて図52を用いて説明する。図52は、割込みシーケ
ンスプログラムの実行回数測定のシーケンスプログラム
の一例である。図52において、571と577はビッ
トデバイスM9036がON状態で導通するロード命
令、572と576は導通状態をビットデバイスM0に
出力する出力命令、573は導通状態で定数0をワード
デバイスD0の内容に格納する転送命令、574は本来
のメインシーケンスプログラム、575はビットデバイ
スM9036がOFF態で導通するロード否定命令、5
78は導通状態でワードデバイスD0の内容をワードデ
バイスD1の内容に格納する転送命令、579はメイン
シーケンスプログラム574の終了を示すFEND命
令、5710は割込みシーケンスプログラム5711の
先頭を示すポインタI0、5711は本来の割込みシー
ケンスプログラム、5712はビットデバイスM0がO
N状態で導通するロード命令、5713は導通状態でワ
ードデバイスD0の内容を1加算する加算命令、571
4は割込みシーケンスプログラムの終了を示すIRET
命令である。
【0021】この図52に示す例では、メインシーケン
スプログラムが1回実行する間に割込ポインタ(I0)
5710以降の割込みシーケンスプログラム5711が
何回実行されたかを測定している。このシーケンスプロ
グラムは、以下のように動作する。まず始めに、ロード
命令571と出力命令572によりビットデバイスM0
がONし、転送命令573によりワードデバイスD0の
内容を0にする。続いて本来のメインシーケンスプログ
ラム574を実行し、ロード否定命令575と出力命令
576によりビットデバイスM0をOFFする。上記の
動作中に割込み処理として割込みポインタ(I0)57
10以降の割込みシーケンスプログラム5711が実行
されるとロード命令5712と加算命令5713により
ビットデバイスM0がONしていればワードデバイスD
0の内容が1加算され、IRET命令5714により割
込みシーケンスプログラム5711の実行を終了する。
したがって、メインシーケンスプログラム574が実行
している間はビットデバイスM0がONしているため、
そのONしている間に実行された割込ポインタ(I0)
5710以降の割込みシーケンスプログラム5711の
回数がワードデバイスD0の内容に格納されていること
となる。この値をロード命令577と転送命令578に
よりワードデバイスD1の内容に転送する。したがっ
て、このシーケンスプログラムを、使用者はシーケンス
プログラムに追加し、CPUユニット1に動作させ、こ
のワードデバイスD1の内容を外部周辺機器2を用いて
モニタすることにより、メインシーケンスプログラムが
1回実行する間に割込ポインタ(I0)5710以降の
割込みシーケンスプログラムが何回実行されたかを知る
ことができた。
【0022】次にCPUユニット1の制御状態の他の1
つである、特殊ユニット5からの処理要求に対するサー
ビス処理実行回数の計測はシーケンスプログラム追加等
では不可能であった。
【0023】次にCPUユニット1の制御状態の他の1
つである、割込みシーケンスプログラムの実行開始の間
隔の測定方法について図45と図47と図53を用いて
説明する。図53は割込みシーケンスプログラムの実行
開始の間隔時間を計測するシーケンスプログラムの一例
である。ここで581は割込みプログラムの先頭を示す
ポインタI0、582はビットデバイスM9036がO
N状態で導通するロード命令、583は導通状態でワー
ドデバイスD9022の内容をワードデバイスD0に格
納する転送命令、584は導通状態でワードデバイスD
0の内容からワードデバイスD1の内容を減算しワード
デバイスD2に格納する減算命令、585は導通状態で
ワードデバイスD0の内容をワードデバイスD1に格納
する転送命令、586は本来の割込みシーケンスプログ
ラム、587は割込みシーケンスプログラム586の終
了を示すIRET命令である。また、583の転送命令
で転送元となるワードデバイスD9022の内容はCP
U10が1秒毎に1加算するものである。
【0024】この図53に示すシーケンスプログラムの
動作を以下図に示し説明する。すなわち、ロード命令5
82と転送命令583によって、その時点でのカウンタ
であるワードデバイスD9022の内容をワードデバイ
スD0に退避する。そして減算命令584により、前回
割込時でのカウンタ値が格納されているワードデバイス
D1の内容を、ワードデバイスD0の内容から減算し、
その結果をワードデバイスD2に格納する。そして転送
命令585により、退避しておいたワードデバイスD0
の内容を、次回割込時に使用するためワードデバイスD
1に格納する。したがって、このシーケンスプログラム
を、使用者は割込みシーケンスプログラムに追加し、C
PUユニット1に動作させると、割込ポインタI0以降
の割込みシーケンスプログラムを実行する度に、ワード
デバイスD2に1秒単位の割込みシーケンスプログラム
の実行開始の間隔の時間が格納されるので、外部周辺機
器2によりワードデバイスD2の内容をモニタすること
により割込みシーケンスプログラム587の実行開始の
間隔の時間を知ることができた。
【0025】次にCPUユニット1の制御状態の他の1
つである、特殊機能ユニット5からの要求があった場合
の処理の実行間隔の測定の方法について図45と図54
を用いて説明する。図54は、図45の特殊機能ユニッ
ト5からの要求があった場合の処理の実行間隔の時間を
計測するシーケンスプログラムの一例である。ここで5
92はビットデバイスY1EがON状態で導通するロー
ド命令、593は導通状態の立ち上がり検出でワードデ
バイスD9022の内容をワードデバイスD0に格納す
る転送パルス命令、594は導通状態の立ち上がり検出
でワードデバイスD0の内容からワードデバイスD1の
内容を減算し結果をワードデバイスD2に格納する減算
パルス命令、595は導通状態の立ち上がり検出でワー
ドデバイスD0の内容をワードデバイスD1に格納する
転送パルス命令、596は本来の割込みシーケンスプロ
グラム、597は割込みシーケンスプログラム596の
終了を示すIRET命令である。ここでロード命令59
2のビットデバイスY1Eは特殊機能ユニット5からの
要求時ONするビットデバイスであり、転送パルス命令
593の転送元となるワードデバイスD9022の内容
はCPU10が1秒毎に1加算するものである。
【0026】この図54に示すシーケンスプログラムの
動作を以下図に示し説明する。すなわち、ロード命令5
92と、転送パルス命令593によって、図45の特殊
機能ユニット5からの要求があった場合その時点でのカ
ウンタであるワードデバイスD9022の内容をワード
デバイスD0に退避する。そして減算パルス命令594
により、前回特殊機能ユニット5からの要求があった時
点でのカウンタ値が格納されているワードデバイスD1
の内容を、ワードデバイスD0から減算し、その結果を
ワードデバイスD2に格納する。そして転送パルス命令
595により、退避しておいたワードデバイスD0の内
容を、次回の特殊機能ユニット5からの要求があった時
に使用するためワードデバイスD1に格納する。したが
って、このシーケンスプログラムを、使用者はメインシ
ーケンスプログラムに追加し、CPUユニット1に動作
させると、特殊機能ユニット5からの要求があった場
合、このシーケンスプログラム596が実行され、ワー
ドデバイスD2に1秒単位の特殊機能ユニット5からの
要求の間隔の時間が格納されるので、外部周辺機器2に
よりワードデバイスD2の内容をモニタすることにより
特殊機能ユニット5からの要求の間隔の時間を知ること
ができた。
【0027】
【発明が解決しようとする課題】プログラマブルコント
ローラはモータやロボット等の高速動作する機械を直接
制御するため、信号の微妙なタイミングを検出すること
は非常に重要である。また、現地で動作に異常が生じた
場合は、即座に原因を調査する必要がある。しかしなが
ら、以上説明したように従来の方式によると、タイミン
グを検出するためのシーケンスプログラムを追加する必
要があり、既に稼働中のシステムのプログラム変更を行
うことは、実用上好ましくない。
【0028】また、プログラマがシーケンスプログラム
のデバッグ時に有効な内部動作状態を知る方法は、デバ
ッグ用シーケンスプログラムを追加し動作させるため、
容易ではなく、またCPUの動作の条件が異ってしまう
可能性もある。また外部計測機器を使用する方法では外
部計測機器が必要であるということで容易ではないとい
う問題点があった。
【0029】さらに、一定時間内での特殊ユニット5か
らの処理要求の実行回数の計測はユーザからは不可能な
ためPCの動作状態を詳細に知ることができないという
問題点があった。また、特殊機能ユニット5からの要求
に対するCPUユニット1の処理に要する時間を測定す
ることはユーザが時間測定用のシーケンスプログラムを
組めば可能ではあったが、この場合特殊ユニット5から
の起動信号はシーケンスプログラムのEND処理時にC
PUユニット1に取り込まれるため、実際の起動間隔時
間に対する精度が悪く、ユーザのプログラミング作業が
繁雑になるという不具合があった。
【0030】また、図45のデータ比較回路19は、特
開平3―244003号公報および特開平4―1517
02号公報で示されているが、デバイスメモリの内容が
指定の状態になったら、運転を停止したり、データのロ
ギングを行う為だけに使用されており、オンライン状態
で時間間隔を検出する用途には使用できなかった。
【0031】また、シーケンス処理実行中にシーケンス
プログラムのある指定区間の処理時間を測定するには、
シーケンス処理実行中に指定区間の開始ステップと終了
ステップの2箇所で割込を発生させることにより処理時
間を測定する為、任意ステップで割込を発生させる為の
図45のアドレス比較回路18が2個以上必要であると
いう問題点があった。
【0032】次に、割り込みプログラムの実行時間に関
してであるが、近年は、制御装置の高性能化が進んでお
り、割り込みプログラムを高速性が要求される優先順位
の高い処理として使用する場合が頻繁にあり、メインプ
ログラム全体の制御性能と、割り込みプログラムの性能
のバランスをとることはシステム設計上非常に重要であ
る。しかしながら、従来はメインプログラムの実行時間
と、割り込みプログラムの実行時間の合計をスキャンタ
イムとして検出していたので、スキャンタイムが予想さ
れる時間を越えたときに、メインプログラムそのもので
時間がかかったのか、割り込みプログラムの時間が影響
しているのかを判別することが困難であった。また、ユ
ーザが割り込みプログラムの起動間隔を図53のような
プログラミングで測定する場合、割り込みプログラムの
先頭に必ずこのラダープログラムを挿入する必要があ
り、割り込みプログラムの数が多くなった場合、ユーザ
のプログラミング作業が繁雑になるという問題点があっ
た。更に、これらの処理をラダープログラム上で行うた
め、実際の割り込みプログラムの処理時間が伸びてしま
うという問題点もあった。
【0033】
【課題を解決するための手段】本発明に係るプログラマ
ブルコントローラは、記憶されたシーケンスプログラム
にもとづいて、産業機器等の制御対象機器を制御し、外
部周辺機器から通信により処理要求を受け取る手段とC
PUユニットからの処理応答を前記外部周辺機器に知ら
せる手段とを有するインタフェースと、シーケンスプロ
グラムおよび前記CPUユニットを動作させる制御プロ
グラムを処理するCPUと、前記シーケンスプログラム
を記憶するシーケンスプログラム記憶部と、前記CPU
ユニットの内部動作状態を計測する制御プログラムを含
む制御プログラムを記憶する制御プログラム記憶部と、
前記CPUの処理で使用されるデータを記憶するデータ
記憶部と、計測した内部動作状態を記憶する内部動作状
態記憶部とを有し、前記制御プログラムは、前記外部周
辺機器からのモニタ処理要求に応じて前記CPUユニッ
トの内部動作状態を計測し、この計測結果を前記外部周
辺機器に知らせ、さらに前記外部周辺機器から前記CP
Uユニットの内部動作状態をモニタ可能とさせるととも
に、デバイス状態を監視し指定された状態になった時点
で演算処理部へ割り込み信号を発生する割り込み発生回
路と、指定デバイスのON/OFF間隔を格納する時間
計測記憶部を設け、前記デバイスがON状態もしくはO
FF状態の時間を計測してデバイス間隔記憶部へ格納す
る手段と、前記時間計測記憶部のデータを外部周辺機器
上に表示する手段とを備え、特定デバイスの状態変化が
起きるまでの時間を計測可能としたものである。
【0034】
【0035】
【0036】また、割り込みプログラム累積実行時間メ
モリを設け、ユーザプログラムを0ステップからFEN
D命令まで実行する1スキャンの間に割り込みプログラ
ムが実行されたときの1回の処理時間を算出し、その時
間の累積を計測して割り込みプログラム累積実行時間メ
モリへ格納する。
【0037】また、END処理の処理時間を記憶するE
ND処理時間計測メモリを設け、END処理の開始と終
了の時間からEND処理に要した時間を算出してEND
処理時間計測メモリに格納する。
【0038】また、特殊機能ユニットからの要求に対す
るサービス処理の処理時間を記憶する特殊ユニットサー
ビス処理時間計測メモリを設け、特殊機能ユニットサー
ビス処理の開始と終了の時間からサービス処理時間に要
した時間を算出して特殊ユニットサービス処理時間計測
メモリに格納する。
【0039】また、割込みプログラムの実行回数を記憶
する割り込みプログラム実行回数メモリを設け、CPU
ユニットで割り込みプログラムの実行回数を計測して、
割り込みプログラム実行回数メモリに格納する。
【0040】また、特殊機能ユニットからの処理要求に
対するサービス処理の実行回数を記憶する特殊ユニット
サービス処理実行回数メモリを設け、CPUユニットで
サービス処理の実行回数を計測して特殊ユニットサービ
ス処理実行回数メモリに格納する。
【0041】
【0042】
【0043】
【作用】本発明におけるプログラマブルコントローラ
は、外部周辺機器からの処理要求の内容別に各要求処理
の1つを少なくとも実行するとともに、データ記憶部の
内容を外部周辺機器で読み出すことによってCPUユニ
ットの内部動作状態がわかる。また、デバイスがON状
態もしくはOFF状態となっている間の時間を計測して
時間計測メモリへ格納する手段は、特定デバイスの状態
変化が起きるまでの時間をユーザプログラムなしで計測
可能とする。
【0044】
【0045】
【0046】また、ユーザプログラムを0ステップから
END命令まで実行する1スキャンの間に割り込みプロ
グラムが実行された時間の累積を計測して時間計測メモ
リへ格納する手段は、スキャンタイムに対する割り込み
プログラムの処理時間の影響を計測可能とする。
【0047】また、END処理に要した時間を計測し時
間計測メモリへ記憶する手段は、ユーザがシーケンスプ
ログラムを変更することなくEND処理に要する時間を
測定することを可能とする。
【0048】また、特殊機能ユニットからの要求に対す
るサービス処理に要した時間を計測し時間計測メモリへ
格納する手段は、ユーザがシーケンスプログラムを変更
することなく特殊機能ユニットからの要求に対するサー
ビス処理に要した時間を測定することを可能とする。
【0049】また、割り込みプログラムの実行回数を計
測し実行回数計測メモリへ格納する手段は、ユーザがシ
ーケンスプログラムを変更することなく割り込みプログ
ラムの実行回数を計測することを可能とする。
【0050】また、特殊機能ユニットからの処理要求に
対するサービス処理に要した時間を計測し時間計測メモ
リへ格納する手段は、従来ユーザからは不可能であった
サービス処理に要した時間の計測を可能とする。
【0051】
【0052】
【0053】
【実施例】
実施例1.本発明の一実施例を、図1〜図16により説
明する。
【0054】図1は、本発明の一実施例に係るPCの概
略構成を示すブロック図であり、図において、1Aは本
発明によるPCのCPUユニット、2Aは本発明による
モニタ結果を表示するパーソナルコンピュータ等の外部
周辺機器、3〜11と14〜19と21Aと10aは図
45に示す従来の技術と同じものを示し、12AはPC
の動作状態をデータとして記憶する処理を行うように変
更された本PCのシステムプログラムが格納されたシス
テムROM、13AはPCの動作状態をデータとして記
憶する部分を追加したデータRAMである。
【0055】次に図2は、図1で示したシステムROM
12Aに格納された、本発明によるCPUユニット1A
の実行処理の一例を示したものであり、この処理は、図
47に示す従来のCPUユニット1の実行処理に対し、
本発明の一実施例によりCPUユニット1Aの内部動作
状態をデータとして記憶するため、処理2011〜処理
2017と処理2041〜処理2044を追加し、EN
D処理203のうち外部周辺機器2Aとの交信処理20
31と特殊ユニットサービス処理2032を変更したも
のである。
【0056】また図2において、変更された外部周辺機
器2Aとの交信処理2031の処理内容を図3に示す。
図3において、処理304〜処理314は本発明の実施
例により追加された処理である。また図2において、変
更された特殊機能ユニット5からの要求に対して内部処
理を実行する特殊ユニットサービス処理2032の処理
内容を図33に示す。図33において、処理ステップ3
302〜処理3304と処理3306は本発明の一実施
例により追加されたものである。
【0057】ここで、図2に示したCPUユニット1A
の実行処理の概要を図1〜図3と図33を用いて説明す
る。図2において、CPUユニット1Aはまずはじめに
ステップ201でメインプログラムの実行を開始し、ス
テップ2011〜ステップ2015でデータRAM13
Aに確保されたCPUユニット1Aの内部動作状態をモ
ニタするためのデータを記憶するエリアを初期化する。
このステップ2011〜ステップ2015の動作につい
ては以後の実施例で説明する。次にステップ202でシ
ーケンス制御を行うためのシーケンス処理を実行し、従
来と同様にステップ5221で予め定められたシーケン
スプログラムに基づき、開始ステップをメインシーケン
スプログラムの0ステップにセットし、次のステップ5
222により開始ステップである0ステップからFEN
D命令のステップまでを実行する。FEND命令を実行
すると、次にステップ2016と、END処理のステッ
プ203と、ステップ2017を実行する。ここでステ
ップ2016とステップ2017はCPUユニット1A
の内部動作状態の1つであるEND処理203の処理時
間を計測するための処理であり、その動作は以後の実施
例で説明する。
【0058】またEND処理のステップ203では、外
部周辺機器2Aとの交信処理2031と、特殊ユニット
サービス処理2032と、入出力信号をデバイスメモリ
16に格納された値に応じて出力または入力する処理な
どの、その他のEND処理5233を実行する。ここで
外部周辺機器2Aとの交信処理2031では、図3に示
す処理が行われる。すなわち、外部周辺機器2Aからの
要求データを受信したCPUユニット1Aはステップ3
01で要求データに含まれる要求コードの値を判断し、
その結果それぞれの要求に対応した処理のステップ30
2〜ステップ314へと分岐する。例えば要求コードが
1という値であれば、この値が表すシーケンスプログラ
ム読出処理のステップ302へ分岐し実行する。また、
要求コードが2という値であれば、この値が表すデバイ
ス読出処理のステップ303へ分岐し実行する。なお、
要求コードの3〜13に対応する処理ステップ304〜
314は本発明の一実施例により追加された処理であ
り、以後の実施例で説明する。要求コードに対応する処
理の実行が終了すると、終了ステップ315で外部周辺
機器2Aとの交信処理を終了する。
【0059】上述したように外部周辺機器2Aとの図2
の交信処理2031を終了すると、次に特殊ユニットサ
ービス処理2032へと進む。この特殊ユニットサービ
ス処理2032では、図33に示す処理を実行する。す
なわち、ステップ3300で開始し、ステップ3301
で図1の特殊機能ユニット5からの処理要求があるかを
判断し、処理要求がなければ終了ステップ3307へと
分岐し、処理要求があれば、次のステップ3302〜ス
テップ3304を実行した後、次のステップ3305で
特殊機能ユニット5からの処理要求に対するサービス実
処理を実行し、次のステップ3306を実行して、次の
終了ステップ3307で特殊ユニットサービス処理20
32を終了する。ここでステップ3302〜ステップ3
304とステップ3306はCPUユニット1Aの内部
動作状態の1つである特殊ユニットサービス処理203
2の処理時間などを計測するための処理であり、その動
作については以後の実施例で説明する。特殊ユニットサ
ービス処理2032を終了すると、次のその他のEND
処理ステップ5233を実行してEND処理203の実
行を終了する。
【0060】図2のEND処理203が終了し、ステッ
プ2017までの実行を終了すると、ステップ2014
へ戻り、図1のCPUユニット1Aは再度処理を繰り返
すことになる。この様にCPUユニット1Aはステップ
2014からステップ2017までを繰り返し実行処理
するものである。
【0061】この繰り返し実行中に、図1のCPU10
に図1の割り込み発生回路17から割り込み信号が入っ
た場合、図2のステップ204に示す割込プログラム実
行処理が開始される。この割込プログラム実行処理20
4では、ステップ2041〜処理2043で、割込プロ
グラム実行処理の処理状態を計測するための処理を行
い、次にステップ5241へ進む。次のステップ524
1〜ステップ5244は図47に示す従来の割込プログ
ラム実行処理524と同様に、ステップ5241で実行
中のメインシーケンスプログラムのステップを退避し、
ステップ5242で開始ステップに割込プログラムの先
頭ステップをセットし、ステップ5243でIRET命
令までを実行し、ステップ5244で退避したメインプ
ログラムのステップを復帰し、開始ステップにセットす
る。次にステップ2044で割込プログラム実行処理の
処理状態を計測するための処理を行い、次にステップ2
045で割込プログラム実行を終了し、元のメインプと
グラムへ復帰する。この様に図1のCPUユニット1A
は、図2に示すように通常はステップ2014からステ
ップ2017までを繰り返し実行し、割り込み処理要求
が発生するとその都度割込プログラムの実行処理204
を実行し、その後メインプログラムに戻るものである。
【0062】次にデバイスのON、OFFの定義につい
て図4を用いて説明する。図4において、ビットデバイ
スX0(401)は入出力ユニットからの入力信号を示
し、はじめはOFFの状態から、時間の経過にともな
い、ある時間402でOFFからONに変化してON状
態となり、405で示す時間が経過した後、ある時間4
03でONからOFFに変化してOFF状態となり、4
06で示す時間が経過した後、ある時間404でOFF
からONに再度変化してON状態となったことを示す。
本発明で言うところのデバイス間隔とは、デバイス40
1が、ON状態となっている時間405、または、OF
F状態となっている時間406のことを言う。
【0063】次に図1で示したデータRAM13Aの詳
細な構成について図5に示し説明する。図5において、
501はデバイス間隔を計測するためのデータを記憶す
るエリアであり、5011は計測の対象となるデバイス
を識別するためのコードを格納するデバイスコードエリ
ア、5012はデバイスがどの状態のときに時間計測す
るかを表すコードを格納する計測条件エリア、5013
はデバイス間隔の処理がどの状態にあるかを表すコード
を格納するデバイス間隔計測フラグエリア、5014は
デバイス間隔の計測を開始した時間を格納する開始時間
エリア、5015は計測したデバイス間隔を格納するデ
バイス間隔計測結果エリアである。
【0064】また、502は、シーケンスプログラムの
指定区間の処理時間を計測するためのデータを記憶する
エリアであり、5021は指定区間の開始ステップを格
納する開始ステップエリア、5022は指定区間の終了
ステップを格納する終了ステップエリア、5023は計
測処理がどの状態にあるかを表す指定区間計測フラグエ
リア、5024は指定区間の計測を開始した時間を格納
する開始時間エリア、5025は計測した指定区間の処
理時間を格納する指定区間処理時間エリアである。
【0065】また、503は割り込みプログラムの累積
実行時間を計測するためのデータを記憶するエリアであ
り、5031は割り込みプログラムを実行したときの開
始時間を格納する割り込みプログラム開始時間エリア、
5032は割り込みプログラムの累積実行時間を格納す
る割り込みプログラム累積実行時間エリアである。
【0066】また、504はEND処理の処理時間を計
測するためのデータを記憶するエリアであり、5041
はEND処理の開始時間を格納するEND処理開始時間
エリア、5042はEND処理時間の計測結果を格納す
るEND処理時間エリアである。
【0067】また、505は特殊ユニットサービス処理
の処理時間を計測するためのデータを記憶するエリアで
あり、5051は特殊ユニットサービス処理の開始時間
を格納する特殊ユニットサービス処理開始時間エリアで
あり、5052は、特殊ユニットサービス処理の処理時
間を計測した結果を格納する特殊ユニットサービス処理
時間エリアである。
【0068】また、506は割り込みプログラムの実行
回数を記憶するための、割り込みプログラム実行回数エ
リアである。
【0069】また、507は特殊ユニットサービス処理
の実行回数を記憶するための、特殊ユニットサービス処
理実行回数エリアである。
【0070】また、508は割り込みプログラムの起動
間隔時間を記憶するための、割り込みプログラム起動間
隔時間エリアである。
【0071】また、509は特殊ユニットサービス処理
の実行間隔時間を記憶するための、特殊ユニットサービ
ス処理実行間隔時間エリアである。
【0072】ここで本発明の一実施例であるデバイス間
隔の計測に使用される図5のデバイスコードエリア50
11の内容について図6に示し説明する。このデバイス
コードエリア5011には計測の対象となるデバイスに
対応した値が格納され、その値は図6に示す様に、ビッ
トデバイスX0〜X999は0〜999、ビットデバイ
スY0〜Y999は1000〜1999というように、
全てのデバイスに対して連番で割り振られ、どのデバイ
スの何番目かを識別できるようになっている。
【0073】また、デバイス間隔の計測に使用される図
5のデバイス間隔計測フラグエリア5012の内容につ
いては、図7に示す様に、計測条件にON状態を指定さ
れた場合は1、OFF状態を指定された場合は0が格納
される。
【0074】また、図8は、図5のデバイス間隔計測フ
ラグエリア5013の内容の遷移を示したものであり、
ここでは状態801において外部周辺機器2Aからの計
測要求があった場合は0、状態802においてCPUユ
ニット1Aで計測が開始された場合は1、状態803に
おいてCPUユニット1Aで計測が完了した場合は2の
値が格納される。
【0075】図9は、この発明の一実施例によるデバイ
ス間隔の計測の手順を説明するためのフローチャートで
あり、ステップ901とステップ910は、ユーザが外
部周辺機器2Aに対して行う操作、ステップ902から
ステップ909までは、外部周辺機器2Aの処理内容を
示している。なお、その動作は以下で詳細に説明する。
【0076】まずはじめに、この発明の一実施例の、C
PUユニット1Aの内部動作状態の1つであるデバイス
間隔を計測する場合の動作について図9に従って図1〜
図16を用いて説明する。図9において、ステップ90
0でデバイス間隔の計測が開始すると、ステップ901
で図1に示す外部周辺機器2Aにおいて図10に示す画
面が表示されている状態で、ユーザはキーボード2aか
ら計測の対象となるデバイス名と計測条件を入力する。
図10は、デバイス間隔の計測を行う場合に外部周辺機
器2Aに表示される画面例であり、図10において、1
001は計測の対象となるデバイス名を入力するエリ
ア、1002は計測条件を入力するエリアである。ここ
で、計測条件にはON状態の時間を測定する場合はON
時、またOFF状態の時間を測定する場合はOFF時の
どちらかを選択し入力することができる。この図10の
例では、計測対象のデバイスに対してユーザはX0と入
力し、計測条件に対してユーザはON時と入力してお
り、ユーザはビットデバイスX0がONしている間の時
間を計測するよう指示していることを示している。
【0077】以上の入力が終わると、外部周辺機器2A
はステップ902にて、入力されたデータをもとに図1
1に示す要求データ1101を作成する。ここで図11
は、図10に示すような設定を外部周辺機器2Aで行っ
た後、外部周辺機器2AとCPUユニット1Aとの間で
やりとりされるデータの構成を示したものであり、11
01は外部周辺機器2AからCPUユニット1Aに送ら
れる要求データの構成であり、11011はデバイス間
隔の計測を指示する要求コード、11012は計測対象
のデバイスコード、11013は計測条件を表すコード
である。1102は、要求データ1101に対してCP
Uユニット1Aから外部周辺機器2Aに送られる応答デ
ータの構成である。図11の例では、要求コード110
11はデバイス間隔測定要求を示す値3、デバイスコー
ド11012は図6に示す通り0、計測条件11013
は図7に示す通り1となる。次にステップ903にて、
この要求データ1101をCPUユニット1Aに送信
し、ステップ904にて、CPUユニット1Aからの応
答データを受信するまで待ち状態となる。
【0078】ここで外部周辺機器2Aからの要求データ
1101を受信したときのCPUユニット1Aの動作を
図1〜図3と図13に示すフローチャートにより説明す
る。まず、図2に示すメインプログラム実行処理201
を行っている図1のCPUユニット1Aは、図2の外部
周辺機器2Aとの交信処理2031において、図11の
要求データ1101を受け取り、図3に示す処理301
で要求コード11011に従ってデバイス間隔計測要求
処理304に分岐する。この処理304では、図13に
示される処理が実行され、デバイス間隔の計測を行うた
めの初期設定が行われる。
【0079】図13に示す処理ではまず、ステップ13
01で処理が開始し、処理13011で、図11のデバ
イスコード11012を図5のデータRAM13Aのデ
バイスコードエリア5011に、図11の計測条件11
013を図5のデータRAM13Aの計測条件エリア5
012に、それぞれ格納し、処理13012で、図5の
データRAM13Aのデバイス間隔計測フラグエリア5
013に、図8に示したようにデバイス間隔計測要求が
あったことを示す値0を格納する。次に処理13013
で、図11の計測条件11013がON時あるいはOF
F時のどちらであるかを判断し、ON時の場合は処理1
3014へ、OFF時の場合は処理13015へ分岐す
る。図10の例では計測条件はON時なので処理130
14へ分岐し、ここでは、図11のデバイスコード11
012で指定のデバイスがOFFからONに変化したと
きにデバイス間隔の計測を開始するため、図1のデータ
比較回路19の検出条件をOFF→ONとする。また、
図11の計測条件11013がOFF時であれば、処理
13013から処理13015へ分岐し、処理1301
5で、図11のデバイスコード11012で指定のデバ
イスがONからOFFに変化したときにデバイス間隔の
計測を開始するため、図1のデータ比較回路19の検出
条件をON→OFFとする。処理13014、処理13
015のどちらに分岐した場合も、次に処理13016
へ移行し、ここで、図1のデータ比較回路19に図11
のデバイスコード11012をセットし、最後に処理1
3017で、CPUユニット1Aがデバイス間隔計測要
求処理を完了したことを示す応答データ1102を作成
し、外部周辺機器2Aに送信し、ステップ13018で
終了する。
【0080】以上の処理を行った後、CPUユニット1
Aは、図2に示す特殊ユニットサービス処理2032以
降を実行し、以後は従来と同様にシーケンス処理202
とEND処理203をくり返し実行する。このくり返し
実行中に、図11のデバイスコード11012で指定さ
れるデバイスの状態が、図1のデータ比較回路19の検
出条件にセットされた状態に変化したとき、データ比較
回路19は図1のCPU10に対して割り込み信号を出
すようになっており、この割り込み信号を受けたとき、
CPU10はメインプログラムの実行を中断し、図15
に示す割り込み処理1501に移行する。
【0081】図15は、デバイス間隔の計測において、
図1のデータ比較回路19から割り込みが発生した場合
の処理を示したものである。割り込み処理1501で
は、まず、処理15011で図5のデバイス間隔計測フ
ラグエリア5013の内容が0かどうかを判断し、現在
の内容が0であるため、次の処理15012に分岐す
る。処理15012で、図1に示す内部タイマ21Aの
現在の値を図5の開始時間エリア5014に格納し、次
の処理15013で、図1のデータ比較回路19にセッ
トした検出条件の反転条件、すなわち、OFF→ONで
あればON→OFFを、ON→OFFであればOFF→
ONを、検出条件としてデータ比較回路19にセット
し、処理15014で、図5のデバイス間隔計測フラグ
エリア5013に計測開始を示す値1を格納し、割り込
み処理を終了する。
【0082】このように割り込み処理1501が終了す
ると、CPU10は図2のメインプログラム実行処理2
01を中断したところから実行を再開する。この後、図
5のデバイスコード5012で指定されるデバイスの状
態が変化すると、図1のデータ比較回路19が割り込み
信号を出し、これによりCPU10はメインプログラム
の実行を中断し、割り込み処理1501に移行する。
【0083】なお、図15の割り込み処理1501で
は、今回、図5のデバイス間隔計測フラグ5013の内
容が1であるため、処理15011の判断で、処理15
015へ分岐し、図1に示す内部タイマ21Aの現在の
値から、図5の開始時間エリア5014に格納された値
を減算し、その結果を図5のデバイス間隔計測結果エリ
ア5015に格納する。例えば、減算した結果得られた
時間が30msecであれば、図5のデバイス間隔計測
結果エリア5015には30という値が格納される。最
後に、処理15016で図5のデバイス間隔計測フラグ
5013に計測完了を示す値2を格納し、ステップ15
017で割り込み処理を終了する。
【0084】以上の一連の処理を全て完了し、CPUユ
ニット1Aはデバイス間隔の計測を完了したことにな
る。一方、外部周辺機器2Aは、図11に示す応答デー
タ1102を受信すると、次に図9のステップ905で
デバイス間隔の計測結果を読み出すため、図12に示す
要求データ1201を作成し、ステップ906でこの要
求データ1201をCPUユニット1Aに送信し、ステ
ップ907でCPUユニット1Aからの応答データを受
信するまで待ち状態となる。なお、図12は外部周辺機
器2Aが図11に示す応答データ1102を受信した後
に、CPUユニット1Aとの間でやりとりされるデータ
の構成を示したものであり、1201は外部周辺機器2
AからCPUユニット1Aに送られる要求データの構成
であり、12011はデバイス間隔の計測結果を読み出
すことを指示する要求コードである。1202は、要求
データ1201に対してCPUユニット1Aから外部周
辺機器2Aに送られる、測定完了を示す応答データの構
成であり、測定完了を示す値1と、デバイス間隔の測定
結果12021により構成される。1203は、要求デ
ータ1201に対してCPUユニット1Aから外部周辺
機器2Aに送られるデバイス間隔測定中を示す応答デー
タの構成であり、測定中を示す値0で構成される。
【0085】外部周辺機器2Aからの要求データ120
1を受信したときのCPUユニット1Aの動作を、図1
〜図3と図14に示すフローチャートにより説明する。
図14は、デバイス間隔を計測するために、図3におい
て追加された、デバイス間隔時間読出処理305のフロ
ーチャートであり、図12に示される要求データ120
1が送られた場合のCPUユニット1Aの処理を示した
ものである。まず、CPUユニット1Aは、図2に示す
外部周辺機器との交信処理2031において図12の要
求データ1201を受け取り、図3に示す処理301
で、図12の要求コード12011に従ってデバイス間
隔時間読み出し処理305に分岐する。この処理305
では、図14に示す処理がステップ1401で開始実行
され、処理14011で、図5のデバイス間隔計測フラ
グエリア5013の内容が2、すなわちデバイス間隔の
計測が完了しているかを判断し、そうであれば処理14
012で図5のデバイス間隔計測結果エリア5015か
ら値を読み出し、処理14013で、計測完了を示す図
12の応答データ1202を作成し、外部周辺機器2A
に送信する。例えば、図5のデバイス間隔計測結果エリ
ア5015に格納された値が30であれば、応答データ
1202のデバイス間隔時間12021は30という値
が送信される。また、デバイス間隔の計測が完了してい
なければ、処理14011から処理14014へ分岐
し、計測中を示す図12の応答データ1203を作成し
て、外部周辺機器2Aに送信し、ステップ14015で
終了する。
【0086】一方、外部周辺機器2Aでは、図9のステ
ップ908でCPUユニット1Aから受信した応答デー
タが図12に示す計測完了の応答データ1202である
か、すなわち応答データの先頭が1という値であるかを
判断し、そうであれば、ステップ909で応答データ1
202に含まれるデバイス間隔計測結果12021を、
図16で示されるような画面上の計測結果表示エリア1
601に表示し、ステップ910でユーザは外部周辺機
器2Aの画面から、デバイス間隔の計測結果を読み取る
ことができる。また、図9のステップ908で図12に
示す計測中の応答データ1203を受信したと判断した
場合は、計測完了の応答データ1202が受信されるま
で、要求データ1201をCPUユニット1Aに再び送
信し応答データ1202が受信されるまでの処理を繰り
返す。
【0087】以上で説明したように本発明による実施例
1では、デバイス間隔を計測する処理を予め用意し、C
PUユニット1AのシステムROM12Aに格納してお
くことで、ユーザはデバイス間隔計測用のシーケンスプ
ログラムを追加するといった煩わしい操作をすることな
く、迅速にデバイス間隔の計測をすることができる。
【0088】実施例2.次にCPUユニット1Aの内部
状態の1例である、シーケンスプログラムの指定区間の
処理時間を計測する方法について、図1〜図3と、図5
と、図17〜25により説明する。
【0089】図17は、図1のシーケンスプログラムメ
モリ11に格納されるシーケンスプログラムをリスト表
現で示したものの一例であり、図において、左側がステ
ップ1701であり、その右側がプログラムの各ステッ
プ1701ごとに記述されたシーケンスプログラムの命
令1702である。なお、この実施例では図17に示す
シーケンスプログラムのステップ1701の100から
150までを計測する例を示す。
【0090】図18は、この発明の実施例2による指定
区間の処理時間計測の手順を説明するためのフローチャ
ートであり、ステップ1801とステップ1810は、
ユーザが外部周辺機器2Aに対して行う操作、ステップ
1802からステップ1809までは、外部周辺機器2
Aの処理内容を示している。以下その詳細について説明
する。
【0091】次にこの発明の一実施例の、シーケンスプ
ログラムの指定区間処理時間を計測する場合の動作につ
いて、図18に従って図1〜図3と図5と図17〜図2
5を用いて説明する。図17に示すシーケンスプログラ
ムは、図2のシーケンス処理202において、0ステッ
プからFEND命令のある1000ステップまで、順次
実行される。ここで、シーケンスプログラムの100ス
テップから150ステップまでを実行したときの処理時
間を計測したい場合、図18のステップ1800で開始
し、ステップ1801で、図1の外部周辺機器2Aにお
いて図19に示す画面が表示されている状態で、ユーザ
はキーボード2aから計測したい指定区間の開始ステッ
プと終了ステップを入力する。ここで図19は、指定区
間の処理時間を計測する場合に、外部周辺機器2Aに表
示される画面例であり、図において、1901は計測す
る指定区間の開始ステップを入力するエリア、1902
は指定区間の終了ステップを入力するエリアである。こ
の図19の例では、ユーザは開始ステップに100、終
了ステップに150と入力しており、図17のシーケン
スプログラムの100ステップから150ステップまで
の処理時間の計測を指示していることを示している。
【0092】以上の入力が終わると、次のステップ18
02へ進み、このステップで図1の外部周辺機器2A
は、入力されたデータをもとに図20に示す要求データ
2001を作成する。ここで図20は、図19のような
設定を外部周辺機器2Aで行った後、外部周辺機器2A
とCPUユニット1Aとの間でやりとりされるデータの
構成を示したものであり、2001は外部周辺機器2A
からCPUユニット1Aに送られる要求データの構成で
あり、20011は指定区間の計測を指示する要求コー
ド、20012は指定区間の開始ステップ、20013
は指定区間の終了ステップである。2002は、要求デ
ータ2001に対してCPUユニット1Aから外部周辺
機器2Aに送られる応答データの構成である。図19の
例では、要求コード20011は指定区間処理時間測定
要求を示す値5、開始ステップ20012は100、終
了ステップ20013は150となる。次にステップ1
803でこの要求データ2001をCPUユニット1A
に送信し、ステップ1804でCPUユニット1Aから
の応答データを受信するまで待ち状態となる。
【0093】ここで外部周辺機器2Aからの要求データ
2001を受信したときのCPUユニット1Aの動作を
図1〜図3と図22に示すフローチャートにより説明す
る。まず、図2に示すメインプログラム実行処理201
を行っているCPUユニット1Aは、外部周辺機器2A
との交信処理2031において、要求データ2001を
受け取り、図3に示す処理301で要求コード2001
1に従って指定区間処理時間計測要求処理306に分岐
する。この処理306では、図22のステップ2201
でその処理が開始実行される。まず、処理22011
で、図20の開始ステップ20012を図5のデータR
AM13Aの開始ステップエリア5021に、図20の
終了ステップ20013を図5のデータRAM13Aの
終了ステップエリア5022に、それぞれ格納し、処理
22012で、図5のデータRAM13Aの指定区間計
測フラグエリア5023に、指定区間の処理時間計測要
求があったことを示す値0を格納する。次に処理220
13で、図1のアドレス比較回路18に図5の開始ステ
ップエリア5021の値100をセットし、最後に処理
22014で、CPUユニット1Aが指定区間の処理時
間計測要求処理を完了したことを示す応答データ200
2を作成し、外部周辺機器2Aに送信し、ステップ22
015で終了する。
【0094】以上の処理を行った後、CPUユニット1
Aは、図2に示す特殊ユニットサービス処理2032以
降を実行し、その後シーケンス処理202を再び実行す
る。このシーケンス処理202を実行中に、図20の開
始ステップ20012で指定のステップ、すなわち10
0ステップ目の命令を実行しようとすると、図1のアド
レス比較回路18はCPU10に対して割り込み信号を
出すようになっており、この割り込み信号を受けたと
き、CPU10は図2のシーケンス処理202の実行を
中断し、図24に示す割り込み処理2401に移行す
る。
【0095】割り込み処理2401では、まず、処理2
4011で図5の指定区間計測フラグエリア5023の
内容が0かどうかを判断し、現在の内容が0であるた
め、処理24012に分岐する。次に処理24012
で、図1に示す内部タイマ21Aの現在の値を図5の開
始時間エリア5024に格納し、処理24013で、図
5の終了ステップエリア5022に格納された値150
に1を加えた値151を図1のアドレス比較回路18に
セットする。ここで、終了ステップに1を加えるのは、
150ステップまでを実行し、次の151ステップを実
行する直前で処理時間を計測するためである。そして、
処理24014で、図5の指定区間計測フラグエリア5
023に計測開始を示す値1を格納し、割り込み処理を
ステップ24018で終了する。
【0096】割り込み処理2401が終了すると、CP
U10は図2のシーケンス処理202を中断したところ
から実行を再開する。この後、図1のアドレス比較回路
18にセットされたステップ、すなわち終了ステップ+
1の151ステップを実行しようとすると、図1のアド
レス比較回路18が割り込み信号を出し、これによりC
PU10はシーケンス処理202の実行を中断し、割り
込み処理2401に移行する。
【0097】割り込み処理2401では、今回、図5の
指定区間計測フラグ5023の内容が1であるため、処
理24011の判断で、処理24015へ分岐し、内部
タイマ21Aの現在の値から図5の開始時間エリア50
24に格納された値を減算し、その結果を図5の指定区
間処理時間エリア5025に格納する。例えば、減算し
た結果得られた時間が8msecであれば、図5の指定
区間処理時間エリア5025には8という値が格納され
る。最後に、処理24016で図5の指定区間計測フラ
グ5023に計測完了を示す値2を格納し、割り込み処
理をステップ24018で終了する。
【0098】以上の一連の処理を全て完了し、CPUユ
ニット1Aは指定区間の処理時間計測を完了したことに
なる。一方、外部周辺機器2Aは、図20の応答データ
2002を受信すると、次に図18のステップ1805
で指定区間の処理時間の計測結果を読み出すため、図2
1に示す要求データ2101を作成し、ステップ180
6で要求データ2101をCPUユニット1Aに送信
し、ステップ1807でCPUユニット1Aからの応答
データを受信するまで待ち状態となる。なお、図21
は、外部周辺機器2Aが図20に示す応答データ200
2を受信した後に、CPUユニット1Aとの間でやりと
りされるデータの構成を示したものであり、2101は
外部周辺機器2AからCPUユニット1Aに送られる要
求データの構成であり、21011は指定区間の処理時
間計測結果を読み出すことを指示する要求コードであ
る。2102は、要求データ2101に対してCPUユ
ニット1Aから外部周辺機器2Aに送られる、測定完了
を示す応答データの構成であり、21021は指定区間
処理時間の測定結果である。2103は、要求データ2
101に対してCPUユニット1Aから外部周辺機器2
Aに送られる、指定区間処理時間計測中を示す応答デー
タの構成である。
【0099】外部周辺機器2Aからの要求データ210
1を受信したときのCPUユニット1Aの動作を、図1
〜図3と図23に示すフローチャートにより説明する。
まず、CPUユニット1Aは、図2に示す外部周辺機器
との交信処理2031において図20の要求データ20
01を受け取り、図3に示す処理301で要求コード2
1011に従って、図3に示す指定区間処理時間読出処
理307に分岐する。この処理307では、図23の2
301に示す処理が実行され、処理23011で、図5
の指定区間計測フラグエリア5023の内容が2、すな
わち指定区間の処理時間の計測が完了しているかを判断
し、そうであれば処理23012で図5の指定区間処理
時間エリア5025から値を読み出し、処理23013
で、計測完了を示す図21の応答データ2102を作成
し、外部周辺機器2Aに送信する。例えば、指定区間処
理時間エリア5025に格納された値が8であれば、図
21の応答データ2102の指定区間処理時間2102
1は8という値が送信される。また、指定区間の処理時
間の計測が完了していなければ、処理23011から処
理23014へ分岐し、計測中を示す図21の応答デー
タ2103を作成して、外部周辺機器2Aに送信し、ス
テップ23015で終了する。
【0100】一方、外部周辺機器2Aでは、ステップ1
808でCPUユニット1Aから受信した応答データが
計測完了の図21の応答データ2102であるか判断
し、そうであれば、ステップ1809で応答データ21
02に含まれる指定区間の処理時間21021を、図2
5で示されるような画面上の計測結果表示エリア250
1に表示し、ステップ1810でユーザは外部周辺機器
2Aの画面から、指定区間の処理時間の計測結果を知る
ことができ、ステップ1811で終了することになる。
また、図21の計測中の応答データ2103を受信した
場合は、要求データ2101をCPUユニット1Aに再
び送信し、計測完了の応答データ2102が受信される
までの処理を繰り返す。
【0101】以上で説明したように本発明による実施例
2では、シーケンスプログラムの指定区間の処理時間を
計測する処理を予め用意し、CPUユニット1Aのシス
テムROM12Aに格納しておくことで、ユーザはシー
ケンスプログラムの指定区間計測用のプログラムを追加
するといった煩わしい操作をすることなく、迅速に指定
区間の処理時間を計測することができる。また、従来で
はアドレス比較回路18を2個使用することにより指定
区間の計測を行っていたが、この実施例ではアドレス比
較回路1個で実現することができ、PCのH/Wを単純
かつ安価に制作することができる。
【0102】実施例3.次に、CPUユニット1Aの内
部状態の1例である、割り込みプログラムの累積実行時
間を計測する方法について、図1〜図3と図5と図26
〜図29により説明する。
【0103】図26は、本発明の実施例3による割り込
みプログラムの累積実行時間計測の手段を説明するため
のフローチャートであり、ステップ2601とステップ
2606はユーザが外部周辺機器2Aに対して行う操
作、ステップ2602からステップ2605までは、外
部周辺機器2Aの処理内容を示している。以下その詳細
について説明する。
【0104】この発明の一実施例の割込プログラムの累
積実行時間を計測する場合の動作について、図1と図2
と図5を用いて説明する。まず図1のCPUユニット1
Aは図2において、メインプログラム実行処理201を
開始し、シーケンス処理202を実行する前に、処理2
014で図5のデータRAM13Aの割り込みプログラ
ム累積時間エリア5032に0を格納する。そして、シ
ーケンス処理202を実行中に割り込み要因が発生する
と、割り込みプログラム実行処理204を実行し、処理
2043で図5のデータRAM13Aの割り込みプログ
ラム開始時間エリア5031に現在の内部タイマ21A
の値を格納する。そして、従来の割り込みプログラム実
行処理5141〜5144を行った後、処理2044で
図1の内部タイマ21Aの現在値から、図5の割り込み
プログラム処理開始時間エリア5031に格納される値
を減算し、図5の割り込みプログラム累積時間エリア5
032に格納される値を加算し、その結果を図5の割り
込みプログラムの累積実行時間エリア5032に格納す
る。
【0105】以上の処理を行うことにより、図2のシー
ケンス処理202を実行中、割り込みプログラムが実行
されるごとに、1回の割り込みプログラム204の処理
時間が、図5の割り込みプログラム204の累積実行時
間エリア5032に加算されていき、シーケンス処理2
02の実行が終わったとき、図5の割り込みプログラム
204の累積実行時間エリア5032には、割り込みプ
ログラムの合計処理時間が格納され、これによりCPU
ユニット1Aは1回のシーケンス処理中に実行した割り
込みプログラム204の累積実行時間の計測を完了した
ことになる。
【0106】そこで、CPUユニット1Aが計測した割
り込みプログラム204の累積実行時間をユーザが読み
出すための動作を、図26に従って説明する。まずステ
ップ2600で開始し、ステップ2601でユーザは外
部周辺機器2Aのキーボード2aから割り込みプログラ
ムの累積実行時間のモニタを外部周辺機器2Aに指示す
る。この指示を受けた外部周辺機器2Aは、ステップ2
602で割り込みプログラムの累積実行時間をCPUユ
ニット1Aから読み出すため図27に示す要求データ2
701を作成し、ステップ2603で要求データ270
1をCPUユニット1Aに送信し、ステップ2604で
CPUユニット1Aからの応答データを受信するまで待
つ。なお、図27は、外部周辺機器2Aが、CPUユニ
ット1Aから割り込みプログラムの累積実行時間の計測
結果を読み出すために、CPUユニット1Aとの間でや
りとりされるデータの構成を示したものであり、270
1は外部周辺機器2AからCPUユニット1Aに送られ
る要求データの構成であり、27011は割り込みプロ
グラムの累積実行時間の読み出しを指示する要求コード
である。2702は、要求データ2701に対してCP
Uユニット1Aから外部周辺機器2Aに送られる応答デ
ータの構成であり、27021は割り込みプログラムの
累積実行時間の測定結果である。
【0107】ここで外部周辺機器2Aからの要求データ
2701を受信したときのCPUユニット1Aの動作
を、図1〜図3と図5と図28に示すフローチャートに
より説明する。図28は、割り込みプログラムの累積実
行時間を計測するために、図3において追加された割り
込みプログラム累積実行時間読出処理308のフローチ
ャートであり、図27に示される要求データ2701が
送られた場合のCPUユニット1Aの処理を示したもの
である。まず、CPUユニット1Aは、図2に示す外部
周辺機器2Aとの交信処理2031において図27の要
求データ2701を受け取り、図3に示す処理301で
要求コード25011に従って、割り込みプログラムの
累積実行時間読出処理308に分岐する。この処理30
8では、図28に示す処理2800が実行され、処理2
801で、図5の割り込みプログラムの累積実行時間エ
リア5032から値を読み出し、処理2802で、図2
7に示す応答データ2702を作成し、外部周辺機器2
Aに送信する。例えば、割り込みプログラムの累積実行
時間が5msecであれば、図5の割り込みプログラム
累積実行時間エリア5032には5という値が格納され
ており、応答データ2702の割り込みプログラム累積
実行時間27021は5という値が送信され、ステップ
2803で終了する。
【0108】一方、外部周辺機器2Aでは、CPUユニ
ット1Aからの図27の応答データ2702を受信する
と、図26のステップ2605で応答データ2702で
示される割り込みプログラムの累積実行時間を、図29
で示されるような画面上の割り込みプログラムの累積実
行時間計測結果表示エリア2901に表示し、次のステ
ップ2606でユーザは外部周辺機器2Aの画面から、
割り込みプログラムの累積実行時間の計測結果を知るこ
とができる。
【0109】以上で説明したように本発明による実施例
3では、割込プログラムの累積実行時間を計測する処理
を予め用意し、CPUユニット1AのシステムROM1
2Aに格納しておくことで、ユーザは割り込みプログラ
ム累積実行時間計測用のプログラムを追加するといった
煩わしい操作をすることなく、迅速に割り込みプログラ
ムの累積実行時間を計測することができる。
【0110】実施例4.次に、この発明の一実施例の、
CPUユニット1Aの内部状態の1つである、END処
理の処理時間を計測する場合の方法と動作について、図
1〜図3と図5と図30〜図32により説明する。
【0111】まず、図1のCPUユニット1Aで、EN
D処理の処理時間を計測するには、実施例3に示す1回
の割り込みプログラムの処理時間の計測と同様の方法に
より実現できる。すなわち、図2においてEND処理2
03を実行する前に、処理2016で、図5のデータR
AM13AのEND処理開始時間エリア5041に図1
の内部タイマ21Aの現在値を格納し、END処理20
3を実行後、処理2017で、図1の内部タイマ21A
の現在値から図5のEND処理開始時間エリア5041
の内容を減算し、結果を図5のデータRAM13AのE
ND処理時間エリア5042に格納する。例えば、減算
の結果得られたEND処理時間が5msecであれば、
図5のEND処理時間エリア5042には5という値が
格納される。
【0112】以上の処理を完了し、CPUユニット1A
は1回のEND処理時間の計測を完了したことになる。
この計測結果をユーザが読み出すための処理について
も、実施例3と同様に、ユーザが図2の外部周辺機器2
Aのキーボード2aからEND処理時間のモニタを外部
周辺機器2Aに指示することにより、外部周辺機器2A
が、図30に示すEND処理時間を読み出す要求データ
3001をCPUユニット1Aに送信する。ここで図3
0は、図1の外部周辺機器2Aが、CPUユニット1A
で計測したEND処理時間の計測結果を読み出すため
に、CPUユニット1Aとの間でやりとりされるデータ
の構成を示したものであり、3001は外部周辺機器2
AからCPUユニット1Aに送られる要求データの構成
であり、30011はEND処理時間の読み出しを指示
する要求コードである。3002は、要求データ300
1に対してCPUユニット1Aから外部周辺機器2Aに
送られる応答データの構成であり、30021はEND
処理時間の計測結果である。
【0113】CPUユニット1Aは、図2に示す外部周
辺機器との交信処理2031で図30の要求データ30
01を受信し、図3に示す処理301で要求コード30
011によりEND処理時間読出処理309へ分岐す
る。処理309では、図31に示す処理3100が実行
され、処理3101で、図5のデータRAM13AのE
ND処理時間エリア5042から計測結果を読み出し、
処理3102で、読み出した計測結果から応答データ3
002を作成し、作成した応答データ3002を図2の
外部周辺機器2Aに送信し、ステップ3103で終了す
る。例えば、計測したEND処理時間が5msecであ
れば、応答データ3002のEND処理時間30021
は5という値が送信される。一方、この応答データ30
02を受信した図2の外部周辺機器2Aは、応答データ
3002のEND処理時間30021を図32に示すよ
うな画面のEND処理時間表示エリア3201に表示
し、ユーザは外部周辺機器2Aの画面からEND処理時
間の計測結果を知ることができる。
【0114】以上で説明したように、本発明による実施
例4では、図2のEND処理203の処理時間を計測す
る処理を予め用意し、CPUユニット1AのシステムR
OM12Aに格納しておくことで、ユーザはEND処理
計測用のシーケンスプログラムを追加する必要がなく、
また、外部周辺機器2AによりEND処理時間のモニタ
が可能となるため外部測定機器としてロジックアナライ
ザ20を用意する必要がなく、迅速にEND処理時間を
計測することができる。
【0115】実施例5.次にこの発明の一実施例の、C
PUユニット1Aの内部動作状態の1つである、図2の
特殊ユニットサービス処理2032の処理時間を計測す
る場合の動作について、図1〜図3と図5と図33〜図
36により説明する。
【0116】まず、図1のCPUユニット1Aで特殊ユ
ニットサービス処理の処理時間を計測するには、実施例
3に示す1回の割り込みプログラムの処理時間の計測と
同様の方法により実現できる。すなわち、図2の特殊ユ
ニットサービス処理2032において、図33に示す処
理3301で図1の特殊機能ユニット5から処理要求が
あるかを判断し、要求があった場合は、処理3304で
図5のデータRAM13Aの特殊ユニットサービス処理
開始時間エリア5051に図1の内部タイマ21Aの現
在値を格納し、処理3305で図1の特殊機能ユニット
5からの処理要求に対するサービス実処理を実行し、処
理3306で図1の内部タイマ21Aの現在値から図5
の特殊ユニットサービス処理開始時間エリア5051の
内容を減算し、その結果を図5のデータRAM13Aの
特殊ユニットサービス処理時間エリア5052に格納す
る。例えば、ある特殊ユニットからの処理要求に対し
て、計測した処理時間が1msecであった場合、図5
の特殊ユニットサービス処理時間エリア5052には1
という値が格納される。
【0117】以上の処理を完了し、CPUユニット1A
は1回の特殊ユニットサービス処理時間の計測を完了し
たことになる。この計測結果をユーザが読み出すための
処理についても、実施例3と同様に、ユーザが図1の外
部周辺機器2Aのキーボード2aから特殊ユニットサー
ビス処理時間のモニタを外部周辺機器2Aに指示するこ
とにより、外部周辺機器2Aが特殊ユニットサービス処
理時間を読み出すための図34に示す要求データ340
1をCPUユニット1Aに送信する。ここで図34は、
外部周辺機器2AがCPUユニット1Aから特殊ユニッ
トサービス処理時間の計測結果を読み出すために、CP
Uユニット1Aとの間でやりとりされるデータの構成を
示したものであり、3401は外部周辺機器2AからC
PUユニット1Aに送られる要求データの構成であり、
34011は特殊ユニットサービス処理時間の計測結果
読み出しを指示する要求コードである。3402は要求
データ3401に対してCPUユニット1Aから外部周
辺機器2Aに送られる応答データの構成であり、340
21は特殊ユニットサービス処理時間の計測結果であ
る。
【0118】次に、CPUユニット1Aは、図2に示す
外部周辺機器との交信処理2031で要求データ340
1を受信し、図3に示す処理301で要求データ340
1の要求コード34011により特殊ユニットサービス
処理時間読出処理310へ分岐する。処理310では、
図35で示される処理3500が実行され、処理350
1で、図5のデータRAM13Aの特殊ユニットサービ
ス処理時間エリア5052から計測結果を読み出し、処
理3502で、読み出した計測結果から図34に示す応
答データ3402を作成し、作成した応答データ340
2を外部周辺機器2Aに送信する。例えば、計測した特
殊ユニットサービス処理時間が1msecであれば、応
答データ3402の特殊ユニットサービス処理時間34
021は1という値が送信され、ステップ3503で終
了する。この応答データ3402を受信した図1の外部
周辺機器2Aは、特殊ユニットサービス処理時間340
21を図36に示すような画面の特殊ユニットサービス
処理時間エリア3601に表示し、ユーザは外部周辺機
器2Aの画面から、特殊ユニットサービス処理時間の計
測結果を知ることができる。なお、図36において、特
殊ユニットサービス処理の合計実行回数表示エリア36
02と、特殊ユニットサービス処理の実行間隔表示エリ
ア3603は、本発明の他の実施例によるCPUユニッ
ト1Aの内部状態の計測結果を表示するエリアであり、
詳細は以後の実施例で説明する。
【0119】以上で説明したように、本発明による実施
例5では、特殊ユニットサービス処理2032の処理時
間を計測する処理を予め用意し、CPUユニット1Aの
システムROM12Aに格納しておくことで、ユーザは
特殊ユニットサービス処理時間計測用のシーケンスプロ
グラムを追加する必要がなく、また、従来のように特殊
機能ユニット5からの処理要求を行わない場合のEND
処理時間と、特殊機能ユニット5からの処理要求を行っ
た場合のEND処理時間を計測し、特殊ユニットサービ
ス処理時間を算出するといった煩わしい操作をする必要
がないため、迅速かつ容易に特殊ユニットサービス処理
時間を計測することができる。
【0120】実施例6.次に、この発明の一実施例の、
CPUユニット1Aの内部動作状態の1つである、割り
込みプログラムの実行回数を計測する場合の動作につい
て、図1〜図3と図5と図29と図37〜図38を用い
て説明する。
【0121】まず、CPUユニット1Aは、図2のメイ
ンプログラム実行処理201において、処理2015で
図5のデータRAM13Aの割り込みプログラム実行回
数エリア506に0を格納し、シーケンス処理202を
実行中に図1の割り込み発生回路から割り込み信号がC
PU10に送られると、図2のシーケンス処理202の
実行を中断し、割り込みプログラム実行処理204を実
行する。割り込みプログラム実行処理204では、処理
2041で図5の割り込みプログラム実行回数エリアの
内容に1を加算し、従来の割り込みプログラム実行処理
5141〜5144を実行した後、ステップ5145で
割込プログラム実行処理204を終了し、シーケンス処
理202を中断したところから再び実行する。
【0122】以上の処理を行うことにより、シーケンス
処理202を実行中、割り込みプログラムが実行される
ごとに、図5のデータRAM13Aの割り込みプログラ
ム実行回数エリア506の内容は1ずつ加算されてい
き、シーケンス処理202の実行が終わったときは、図
5の割り込みプログラム実行回数エリア506には、割
り込みプログラムの合計実行回数が格納され、これによ
りCPUユニット1Aは1回のシーケンス処理中に実行
した割り込みプログラムの実行回数の計測を完了したこ
とになる。
【0123】次にCPUユニット1Aで計測した割り込
みプログラムの実行回数の計測結果をユーザが読み出す
ための処理については、実施例3と同様に、ユーザが図
2の外部周辺機器2Aのキーボード2aから割り込みプ
ログラム実行回数のモニタを外部周辺機器2Aに指示す
ることにより、外部周辺機器2Aは割り込みプログラム
実行回数を読み出すための図37に示す要求データ37
01をCPUユニット1Aに送信する。ここで図37
は、外部周辺機器2Aが、CPUユニット1Aから割り
込みプログラムの実行回数の計測結果を読み出すため
に、CPUユニット1Aとの間でやりとりされるデータ
の構成を示したものであり、3701は外部周辺機器2
AからCPUユニット1Aに送られる要求データの構成
であり、37011は割り込みプログラムの実行回数の
計測結果読出を指示する要求コードである。3702
は、要求データ3701に対してCPUユニット1Aか
ら外部周辺機器2Aに送られる応答データの構成であ
り、37021は割り込みプログラム実行回数の計測結
果である。
【0124】一方、CPUユニット1Aは図2に示す外
部周辺機器との交信処理2031で図37の要求データ
3701を受信し、図3に示す処理301で要求データ
3701の要求コード37011により割り込みプログ
ラム実行回数読出処理311へ分岐し、処理311では
図38で示される処理3800が実行される。この処理
3800では、まず処理3801で図5のデータRAM
13Aの割り込みプログラム実行回数エリア506から
計測結果を読み出し、処理3802で読み出した計測結
果から図37の応答データ3702を作成し、作成した
応答データ3702を外部周辺機器2Aに送信し、ステ
ップ3803で終了する。例えば、割り込みプログラム
の実行回数が3回であれば、応答データ3702の割り
込みプログラム実行回数37021は3という値が送信
される。この応答データ3702を受信した図1の外部
周辺機器2Aが、割り込みプログラム実行回数3702
1を、図29に示すような画面の割り込みプログラム実
行回数エリア2902に表示し、ユーザは外部周辺機器
2Aの画面から割込プログラムの実行回数を知ることが
できる。
【0125】以上で説明したように、本発明による実施
例6では、割込プログラム実行回数の計測処理を予め用
意し、CPUユニット1AのシステムROM12Aに格
納しておくことにより、ユーザは割込プログラム計測用
のシーケンスプログラムを追加する必要がなく、迅速に
割込プログラムの実行回数を計測することができる。
【0126】実施例7.次に、この発明の一実施例の、
CPUユニット1Aの内部動作状態の1つである、特殊
ユニットサービス処理の実行回数を計測する場合の動作
について、図1〜図3と図5と図36と図39〜図40
により説明する。
【0127】まず、図1のCPUユニット1Aは、図2
のメインプログラム実行処理201の実行を開始し、ス
テップ2013で図5のデータRAM13Aの特殊ユニ
ットサービス処理実行回数エリア507に0を格納す
る。そして、特殊ユニットサービス処理2032におい
て図33に示す処理3300を実行し、次の処理330
1で特殊ユニットからの処理要求があるかを判断し、処
理要求があった場合、次の処理3302で図5の特殊ユ
ニットサービス処理実行回数エリア507の内容に1を
加算する。これにより図2のメインプログラム実行処理
201を実行中、特殊ユニットサービス処理2032で
図1の特殊機能ユニット5からの要求に対する図33の
特殊ユニットサービス実処理3305が実行されるごと
に、図5の特殊ユニットサービス処理実行回数エリア5
07の内容が1ずつ加算されていき、図1のCPUユニ
ット1Aは特殊ユニットサービス処理の実行回数を計測
することができる。
【0128】以上の処理によりCPUユニット1Aが計
測した特殊ユニットサービス処理の実行回数を、ユーザ
が読み出すための処理については、実施例3と同様に、
ユーザが図1の外部周辺機器2Aのキーボード2aから
特殊ユニットサービス処理実行回数のモニタを外部周辺
機器2Aに指示することにより、外部周辺機器2Aが、
特殊ユニットサービス処理実行回数を読み出すための図
39に示す要求データ3901をCPUユニット1Aに
送信する。ここで図39は、外部周辺機器2Aが、CP
Uユニット1Aから特殊ユニットサービス処理の実行回
数の計測結果を読み出すために、CPUユニット1Aと
の間でやりとりされるデータの構成を示したものであ
り、3901は外部周辺機器2AからCPUユニット1
Aに送られる要求データの構成であり、39011は特
殊ユニットサービス処理の実行回数読出を指示する要求
データである。3902は、要求データ3901に対し
てCPUユニット1Aから外部周辺機器2Aに送られる
応答データの構成であり、39021は特殊ユニットサ
ービス処理実行回数の計測結果である。
【0129】一方、CPUユニット1Aは、図2に示す
外部周辺機器との交信処理2301で要求データ390
1を受信し、図3に示す処理301で要求データ390
1の要求コード39011により特殊ユニットサービス
処理時間読出処理311へ分岐し、処理311では図4
0で示される処理4000が実行される。この処理40
00では、まず処理4001で図5のデータRAM13
Aの特殊ユニットサービス処理時間エリア5052から
計測結果を読み出し、次に処理4002で読み出した計
測結果から図39に示す応答データ3902を作成し、
作成した応答データ3902を図1の外部周辺機器2A
に送信し、ステップ4003で終了する。例えば、計測
した特殊ユニットサービス処理の実行回数が5回であれ
ば、応答データ3902の特殊ユニットサービス処理実
行回数39021は5という値が送信される。この応答
データ3902を受信した外部周辺機器2Aは、特殊ユ
ニットサービス処理実行回数39021を図36に示す
ような画面の特殊ユニットサービス処理実行回数エリア
3602に表示し、ユーザは特殊ユニットサービス処理
時間を知ることができる。
【0130】以上で説明したように、本発明による実施
例7では、特殊ユニットサービス処理の実行回数を計測
する処理を予め用意し、CPUユニット1Aのシステム
ROM12Aに格納しておくことで、ユーザは従来不可
能であった特殊ユニットビス処理実行回数を計測するこ
とができる。
【0131】実施例8.次に、この発明の一実施例の、
CPUユニット1Aの内部動作状態の1つである、割り
込みプログラムの起動間隔時間を計測する場合の動作に
ついて、図1〜図3と図5と図29と図41〜図42に
より説明する。
【0132】まずCPUユニット1Aは、図2のメイン
プログラム実行処理201を開始し、処理2011で図
5のデータRAM13Aの割り込みプログラム開始時間
エリア5031に、内部タイマ21Aの現在値を格納
し、次のステップ202へと進みシーケンス処理を実行
する。そして、シーケンス処理202を実行中に図1の
割り込み発生回路17から割り込み信号がCPU10に
送られると、CPU10は図2のシーケンス処理202
を中断し、割り込みプログラム実行処理204を実行
し、処理2042で内部タイマ21Aの現在値から図5
のデータRAM13Aの割り込みプログラム開始時間エ
リアに格納した値を減算し、その結果を図5のデータR
AM13Aの割り込みプログラム起動間隔時間エリア5
08に格納し、次の処理2043で内部タイマ21Aの
現在値を図5の割り込みプログラム開始時間エリア50
31に格納する。
【0133】以上の処理を行うことにより、割り込みプ
ログラム204が実行されてから、次に割り込みプログ
ラム204が実行されるまでの、割り込みプログラム起
動間隔時間を計測することができる。
【0134】次に以上で説明した、CPUユニット1A
が計測した割り込みプログラムの起動間隔時間の計測結
果をユーザが読み出すための処理については、実施例3
と同様に、ユーザが図2の外部周辺機器2Aのキーボー
ド2aから割り込みプログラム起動間隔時間のモニタを
外部周辺機器2Aに指示することにより、外部周辺機器
2Aが、割り込みプログラム起動間隔時間を読み出すた
めの図41に示す要求データ4101をCPUユニット
1Aに送信する。ここで図41は、外部周辺機器2A
が、CPUユニット1Aから割り込みプログラムの起動
間隔時間の計測結果を読み出すために、CPUユニット
1Aとの間でやりとりされるデータの構成を示したもの
であり、4101は外部周辺機器2AからCPUユニッ
ト1Aに送られる要求データの構成であり、41011
は割り込みプログラムの起動間隔時間読出を指示する要
求コードである。4102は、要求データ4101に対
してCPUユニット1Aから外部周辺機器2Aに送られ
る応答データの構成であり、41021は割り込みプロ
グラム起動間隔時間の計測結果である。
【0135】一方、CPUユニット1Aは図2に示す外
部周辺機器との交信処理2301で要求データ4101
を受信し、図3に示す処理301で要求データ4101
の要求コード41011により特殊ユニットサービス処
理時間読出処理312へ分岐し、処理312では図42
で示される処理4200が実行される。この処理420
0では、まず処理4201で図5のデータRAM13A
の割り込みプログラム起動間隔時間エリア508から計
測結果を読み出し、次に処理4202で読み出した計測
結果から図41に示す応答データ4102を作成し、作
成した応答データ4102を外部周辺機器2Aに送信
し、ステップ4203で終了する。例えば、計測した割
り込みプログラム起動間隔時間が2msecであれば、
応答データ4102の割り込みプログラム起動間隔時間
41021は2という値が送信される。この応答データ
4102を受信した外部周辺機器2Aは、応答データ4
102の割り込みプログラム起動間隔時間41021
を、図29に示すような画面の割り込みプログラム起動
間隔時間エリア2903に表示し、ユーザは外部周辺機
器2Aの画面から割り込みプログラムの起動間隔時間を
知ることができる。
【0136】以上で説明したように、本発明による実施
例8では、割り込みプログラムの起動間隔時間を計測す
る処理を予め用意し、CPUユニット1AのシステムR
OM12Aに格納しておくことで、ユーザは割り込みプ
ログラムの起動間隔時間計測用のシーケンスプログラム
を追加することなく、迅速に割り込みプログラムの起動
間隔時間を計測することができる。
【0137】実施例9.次に、この発明の一実施例の、
CPUユニット1Aの内部動作状態の1つである、特殊
ユニットサービス処理の実行間隔時間を計測する場合の
動作について、図1〜図3と図5と図36と図43〜図
44により説明する。
【0138】まず、図1のCPUユニット1Aで、図2
の特殊ユニットサービス処理2032の実行間隔時間の
計測するが、この計測方法については、実施例8に示す
割り込みプログラムの実行間隔時間の計測と同様の方法
により実現することができる。すなわち、CPUユニッ
ト1Aは図2のメインプログラム実行処理201を実行
し、その中の処理2012において図5のデータRAM
13Aの特殊ユニットサービス処理実行開始エリア50
51に図1の内部タイマ21Aの現在値を格納してお
き、次に図2の特殊ユニットサービス処理2032にお
いて、図33で示す処理3300を実行する。この処理
3300では、処理3301で特殊ユニットからの処理
要求があるかを判断し、処理要求があった場合、次の処
理3303で図1の内部タイマ21Aの現在値から図5
の特殊ユニットサービス処理開始時間エリア5051に
格納された値を減算し、その結果を図5の特殊ユニット
サービス処理実行間隔時間エリア509に格納し、次の
処理3304で図5の特殊ユニットサービス処理開始時
間エリア5051に図1の内部タイマ21Aの現在値を
格納し、次の処理3305で図1の特殊機能ユニット5
からの処理要求に対するサービス実処理3305を実行
する。
【0139】以上の動作により、図33の特殊ユニット
サービス実処理3305が実行されてから、次に特殊ユ
ニットサービス実処理3305が実行されるまでの、特
殊ユニットサービス処理実行間隔時間を計測することが
できる。
【0140】次に以上で説明した、CPUユニット1A
が計測した特殊ユニットサービス処理の実行間隔時間
を、ユーザが読み出すための処理については、実施例3
と同様に、ユーザが図1の外部周辺機器2Aのキーボー
ド2aから特殊ユニットサービス処理実行間隔時間のモ
ニタを外部周辺機器2Aに指示することにより、外部周
辺機器2Aが、特殊ユニットサービス処理実行間隔時間
を読み出すための図43に示す要求データ4301をC
PUユニット1Aに送信する。ここで図43は、外部周
辺機器2Aが、CPUユニット1Aから特殊ユニットサ
ービス処理の実行間隔時間の計測結果を読み出すため
に、CPUユニット1Aとの間でやりとりされるデータ
の構成を示したものであり、4101は外部周辺機器2
AからCPUユニット1Aに送られる要求データの構成
であり、41011は特殊ユニットサービス処理の実行
間隔時間読出を指示する要求コードである。4102は
要求データ4101に対してCPUユニット1Aから外
部周辺機器2Aに送られる応答データの構成であり、4
1021は特殊ユニットサービス処理実行間隔時間の計
測結果である。
【0141】一方、CPUユニット1Aは図2に示す外
部周辺機器との交信処理2301で要求データ4301
を受信し、図3に示す処理301で要求コード4301
1により特殊ユニットサービス処理時間読出処理313
へ分岐し、処理313では図44で示される処理440
0が実行される。この処理4400では、まず処理44
01で図5のデータRAM13Aの特殊ユニットサービ
ス処理実行間隔時間エリア509から計測結果を読み出
し、次の処理4402で読み出した計測結果から応答デ
ータ4302を作成し、作成した応答データ4302を
外部周辺機器2Aに送信し、ステップ4403で終了す
る。例えば、計測した特殊ユニットサービス処理起動間
隔時間が20msecであれば、応答データ4302の
特殊ユニットサービス処理起動間隔時間43021は2
0という値が送信される。この応答データ4302を受
信した外部周辺機器2Aが、応答データ4302の特殊
ユニットサービス処理起動間隔時間43021を図36
に示すような画面の特殊ユニットサービス処理実行間隔
時間エリア3603に表示し、ユーザは外部周辺機器2
Aの画面から特殊ユニットサービス処理の実行間隔時間
を知ることができる。
【0142】以上で説明したように、本発明による実施
例9では、図2の特殊ユニットサービス処理2032の
起動間隔時間を計測する処理を予め用意し、CPUユニ
ット1AのシステムROM12Aに格納しておくこと
で、ユーザは特殊ユニットサービス処理2032の起動
間隔時間計測用のシーケンスプログラムを追加する必要
がなく、また従来の計測用シーケンスプログラムよりも
正確に計測することができ、ユーザは特殊ユニットサー
ビス処理2032の起動間隔時間を、迅速かつ正確に計
測することができる。
【0143】以上が本発明による一実施例であるが、こ
の実施例で説明した方法を応用することにより実現する
ことのできるものとして、図2の外部周辺機器2Aとの
交信処理2031の処理時間の計測があり、この具体的
手段については、上述した実施例とほぼ同一につき、そ
の説明は省略する。
【0144】また、本発明の実施例では、CPUユニッ
ト1Aの内部動作状態に関するデータを記憶しておくエ
リアを図1のデータRAM13Aに確保したが、データ
の記憶エリアを例えば図1のデバイスメモリ16に確保
すれば、シーケンスプログラムからワードデバイスとし
てCPUユニット1Aの内部動作状態を扱うことができ
るようになる。
【0145】また、図1の外部周辺機器2Aは、CPU
ユニット1Aと交信する手段と、CPUユニット1Aの
内部動作状態を表示する手段と、ユーザの指示を入力す
る手段であるキーボード2aを有する機器であればよ
く、例えば汎用パソコンや、CPUユニット1Aの内部
動作状態をモニタする専用の装置などが考えられる。
【0146】また、本発明によるCPUユニット1Aの
内部動作状態をモニタするためのシステムプログラムを
格納する媒体は、図1のシステムROM12Aのような
ROMに限らず、RAMやその他の記憶媒体でもよい。
【0147】
【発明の効果】以上のようにこの発明によれば、CPU
ユニットの内部動作状態をデータ記憶部に格納し、外部
周辺機器からCPUユニットの内部動作状態のモニタを
行うようにしたので、ユーザは従来の如くシーケンスプ
ログラムを追加するといった煩わしい操作を行うことな
くCPUユニットの内部動作状態を知ることができる。
また、特定のデバイスの状態変化までの時間の計測処理
をCPUユニットに入れることにより、ユーザは時間計
測のためにシステムを稼働させる上では不要なシーケン
スプログラムを追加することなく計測を行うことがで
き、シーケンスプログラム容量を必要最小限に押える事
ができる。またこの発明によりよって計測したデバイス
の状態変化までの時間は、ユーザがシステムの微妙なタ
イミングの調整を行う上で大きな指針となる。
【0148】
【0149】
【0150】また、1スキャンの間に実行された割り込
みプログラムの累積実行時間の計測処理をCPUユニッ
トに入れることにより、実際にシステムを稼働させる上
では不要なシーケンスプログラムを追加することなく計
測を行うことができる。またこの発明により計測用プロ
グラムを追加した分の時間の誤差がなくなるため、従来
よりも正確な割り込みプログラムの累積実行時間を計測
することができ、ユーザは割り込みプログラム全体のス
キャンタイムに対する影響からメインプログラムと割り
込みプログラム間の負荷調整を従来よりも正確に行うこ
とが可能となる。
【0151】また、END処理に要した時間を測定する
ための処理をCPUユニットに入れ、CPUユニットが
測定した結果を外部表示機器に表示することにより、ユ
ーザは、実際にシステムを稼働させる上では不要な時間
測定用のプログラムを作成したり、測定機器を使用する
といった煩わしい操作をすることなく、容易にEND処
理に要する時間を測定することができる。
【0152】また、特殊機能ユニットからの要求に対す
るサービス処理に要した時間を計測するための処理をC
PUユニットに入れ、CPUユニットが計測した結果を
外部表示機器に表示することにより、ユーザは、実際に
システムを稼働させる上では不要な時間測定用のプログ
ラムを作成したり、測定機器を使用するといった煩わし
い操作をすることなく、容易に上記サービス処理に要す
る時間を測定することができる。
【0153】また、割込みプログラムの実行回数を計測
する処理をCPUユニットに入れ、その結果を外部表示
器に表示することにより、ユーザは実際にシステムを稼
働させる上では不要な実行回数計測用のプログラムを作
成することなく計測を行うことができる。
【0154】また、特殊機能ユニットからの処理要求に
対するサービス処理の実行回数を計測するための処理を
CPUユニットに入れ、その結果を外部表示器に表示す
ることにより、ユーザはPCと特殊機能ユニットとの交
信状態を把握することが可能となり、システムの動作不
良が起こった場合、計測した上記サービス処理の実行回
数と、特殊機能ユニットに接続された計算機から処理要
求を送信した回数を比較することにより、不良原因の切
り分け作業等が容易になる。
【0155】
【0156】
【図面の簡単な説明】
【図1】 本発明の一実施例によるPCの構成図であ
る。
【図2】 図1に示したPCのプログラムの全体構成図
である。
【図3】 図1に示したPCのCPUユニット1Aにお
ける外部周辺機器との交信処理を示すフロー図である。
【図4】 本発明の実施例1において測定するデバイス
の変化を示す説明図である。
【図5】 図1に示したPCのCPUユニットのデータ
RAMの構成図である。
【図6】 本発明の実施例1におけるデバイスコードを
示す説明図である。
【図7】 本発明の実施例1における計測条件コードを
示す説明図である。
【図8】 本発明の実施例1におけるデバイス間隔計測
フラグの計測フロー図である。
【図9】 本発明の実施例1におけるユーザの操作と外
部周辺機器の処理を示すフロー図である。
【図10】 本発明の実施例1における外部周辺機器の
設定画面例を示す図である。
【図11】 本発明の実施例1における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図12】 本発明の実施例1における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図13】 本発明の実施例1における外部周辺機器か
らのデバイス間隔測定要求に対するCPUユニットの処
理を示すフロー図である。
【図14】 本発明の実施例1における外部周辺機器か
らのデバイス間隔読出要求に対するCPUユニットの処
理を示すフロー図である。
【図15】 本発明の実施例1におけるデータ比較回路
からの割込処理を示すフロー図である。
【図16】 本発明の実施例1における測定結果の外部
周辺機器での表示画面例を示す図である。
【図17】 図1に示したPCの一般的なシーケンスプ
ログラム例を示す図である。
【図18】 本発明の実施例2におけるユーザの操作と
外部周辺機器の処理を示すフロー図である。
【図19】 本発明の実施例2における処理時間測定の
外部周辺機器での設定画面例を示す図である。
【図20】 本発明の実施例2における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図21】 本発明の実施例2における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図22】 本発明の実施例2における外部周辺機器か
らのシーケンス指定区間処理時間測定要求に対するCP
Uユニットの処理を示すフロー図である。
【図23】 本発明の実施例2における外部周辺機器か
らのシーケンス指定区間処理時間読出要求に対するCP
Uユニットの処理を示すフロー図である。
【図24】 本発明の実施例2におけるアドレス比較回
路からの割込処理を示すフロー図である。
【図25】 本発明の実施例2における測定結果の外部
周辺機器での表示画面例を示す図である。
【図26】 本発明の実施例3におけるユーザの操作と
外部周辺機器の処理を示すフロー図である。
【図27】 本発明の実施例3における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図28】 本発明の実施例3における割込プログラム
累積実行時間読出要求に対するCPUユニットの処理を
示すフロー図である。
【図29】 本発明の実施例3における測定結果の外部
周辺機器での表示画面例を示す図である。
【図30】 本発明の実施例4における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図31】 本発明の実施例4における外部周辺機器か
らのEND処理時間読出要求に対するCPUユニットの
処理を示すフロー図である。
【図32】 本発明の実施例4における計測結果の外部
周辺機器での表示画面例を示す図である。
【図33】 本発明の実施例5における特殊ユニットサ
ービス処理を示すフロー図である。
【図34】 本発明の実施5における外部周辺機器とC
PUユニットとの間でやりとりされるデータの構成図で
ある。
【図35】 本発明の実施例5における外部周辺機器か
らの特殊ユニットサービス処理時間読出要求に対するC
PUユニットの処理を示すフロー図である。
【図36】 本発明の実施例5における計測結果の外部
周辺機器での表示画面例を示す図である。
【図37】 本発明の実施例6における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図38】 本発明の実施例6における割込プログラム
実行回数読出処理を示すフロー図である。
【図39】 本発明の実施例7における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図40】 本発明の実施例7における外部周辺機器か
らの特殊ユニットサービス処理実行回数読出要求に対す
るCPUユニットの処理を示すフロー図である。
【図41】 本発明の実施例8における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図42】 本発明の実施例8における外部周辺機器か
らの割込プログラム起動間隔時間読出要求に対するCP
Uユニットの処理を示すフロー図である。
【図43】 本発明の実施例9における外部周辺機器と
CPUユニットとの間で授受されるデータの構成図であ
る。
【図44】 本発明の実施例9おける外部周辺機器から
の特殊ユニットサービス処理実行間隔時間読出要求に対
するCPUユニットの処理を示すフロー図である。
【図45】 従来のプログラマブルコントローラのブロ
ック構成図である。
【図46】 従来のプログラム全体構成を示す図であ
る。
【図47】 PCの処理を示す一般的なフロー図であ
る。
【図48】 従来のメインプログラムおよび割り込みプ
ログラム処理を示す説明図である。
【図49】 従来のデバイス間隔測定のシーケンスプロ
グラム例を示す図である。
【図50】 従来の割込プログラム実行時間測定のシー
ケンスプログラム例を示す図である。
【図51】 従来のEND処理時間測定のシーケンスプ
ログラム例を示す図である。
【図52】 従来の割込みプログラム実行回数計測のシ
ーケンスプログラム例を示す図である。
【図53】 従来の割込みプログラム実行間隔計測のシ
ーケンスプログラム例を示す図である。
【図54】 従来の特殊ユニットサービス処理実行間隔
測定のシーケンスプログラム例を示す図である。
【符号の説明】
1 従来のCPUユニット、1A 本発明のCPUユニ
ット、2 外部周辺機器、3 入出力ユニット、5 特
殊機能ユニット、6 計算機等、10 CPU、11
シーケンスプログラムメモリ、12 システムROM、
13 従来のデータRAM、13A 本発明のデータR
AM、14 周辺I/F、15 入出力ポート、16
デバイスメモリ、17 割込発生回路、18 アドレス
比較回路、19 データ比較回路、21A 内部タイ
マ、10a 各種信号線。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中▲島▼ 英次郎 名古屋市北区東大曽根町上五丁目1071番 地 三菱電機メカトロニクスソフトウエ ア株式会社内 (72)発明者 野々山 尚志 名古屋市北区東大曽根町上五丁目1071番 地 三菱電機メカトロニクスソフトウエ ア株式会社内 (72)発明者 加賀 元啓 名古屋市北区東大曽根町上五丁目1071番 地 三菱電機メカトロニクスソフトウエ ア株式会社内 (72)発明者 薮▲崎▼ 竜三 名古屋市北区東大曽根町上五丁目1071番 地 三菱電機メカトロニクスソフトウエ ア株式会社内 (72)発明者 森田 英昭 名古屋市東区矢田南五丁目1番14号 三 菱電機株式会社 名古屋事業所内 (56)参考文献 特開 平2−206848(JP,A) 特開 平2−306306(JP,A) 特開 平5−189277(JP,A) 実開 平1−120201(JP,U) (58)調査した分野(Int.Cl.7,DB名) G05B 19/048 G05B 23/02 301

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶されたシーケンスプログラムにもと
    づいて、産業機器等の制御対象機器を制御し、外部周辺
    機器から通信により処理要求を受け取る手段とCPUユ
    ニットからの処理応答を前記外部周辺機器に知らせる手
    段とを有するインタフェースと、シーケンスプログラム
    および前記CPUユニットを動作させる制御プログラム
    を処理するCPUと、前記シーケンスプログラムを記憶
    するシーケンスプログラム記憶部と、前記CPUユニッ
    トの内部動作状態を計測する制御プログラムを含む制御
    プログラムを記憶する制御プログラム記憶部と、前記C
    PUの処理で使用されるデータを記憶するデータ記憶部
    と、計測した内部動作状態を記憶する内部動作状態記憶
    部とを有し、前記制御プログラムは、前記外部周辺機器
    からのモニタ処理要求に応じて前記CPUユニットの内
    部動作状態を計測し、この計測結果を前記外部周辺機器
    に知らせ、さらに前記外部周辺機器から前記CPUユニ
    ットの内部動作状態をモニタ可能とさせるとともに、デ
    バイス状態を監視し指定された状態になった時点で演算
    処理部へ割り込み信号を発生する割り込み発生回路と、
    指定デバイスのON/OFF間隔を格納する時間計測記
    憶部を設け、前記デバイスがON状態もしくはOFF状
    態の時間を計測してデバイス間隔記憶部へ格納する手段
    と、前記時間計測記憶部のデータを外部周辺機器上に表
    示する手段とを備え、特定デバイスの状態変化が起きる
    までの時間を計測可能としたことを特徴とするプログラ
    マブルコントローラ。
  2. 【請求項2】 割り込みプログラムの累積実行時間を格
    納する割り込み累積記憶部を設け、ユーザプログラムを
    0ステップから再度実行される0ステップまでの1スキ
    ャンの間に割り込みプログラムが実行された時間の累積
    を計測して割り込み累積記憶部へ格納する手段と、その
    データを前記外部周辺機器上に表示する手段を備え、ス
    キャンタイムに対する割り込みプログラムの処理時間の
    影響を計測可能としたことを特徴とする請求項1記載の
    プログラマブルコントローラ。
  3. 【請求項3】 END処理の処理時間を測定する手段を
    設け、測定結果のモニタを外部周辺機器にて可能にした
    ことを特徴とする請求項1記載のプログラマブルコント
    ローラ。
  4. 【請求項4】 特殊機能ユニットからの処理要求に対す
    るサービスプログラ ムの処理時間を測定する手段を設
    け、測定結果のモニタを外部周辺機器にて可能にしたこ
    とを特徴とする請求項1記載のプログラマブルコントロ
    ーラ。
  5. 【請求項5】 外部割込信号により起動する割込プログ
    ラムの実行回数を測定する手段を設け、測定結果のモニ
    タを外部周辺機器にて可能にしたことを特徴とする請求
    項1記載のプログラマブルコントローラ。
  6. 【請求項6】 特殊機能ユニットからの処理要求に対す
    るサービスプログラムの実行回数を測定する手段を設
    け、測定結果のモニタを外部周辺機器にて可能にしたこ
    とを特徴とする請求項1記載のプログラマブルコントロ
    ーラ。
JP25805694A 1994-10-24 1994-10-24 プログラマブルコントローラ Expired - Lifetime JP3225757B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP25805694A JP3225757B2 (ja) 1994-10-24 1994-10-24 プログラマブルコントローラ
US08/541,427 US5889669A (en) 1994-10-24 1995-10-10 Programmable controller allowing an external peripheral device to monitor an internal operation state of a CPU unit
DE19539353A DE19539353A1 (de) 1994-10-24 1995-10-23 Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht
KR1019950036842A KR100218219B1 (ko) 1994-10-24 1995-10-24 프로그래머블 콘트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25805694A JP3225757B2 (ja) 1994-10-24 1994-10-24 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH08123514A JPH08123514A (ja) 1996-05-17
JP3225757B2 true JP3225757B2 (ja) 2001-11-05

Family

ID=17314928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25805694A Expired - Lifetime JP3225757B2 (ja) 1994-10-24 1994-10-24 プログラマブルコントローラ

Country Status (4)

Country Link
US (1) US5889669A (ja)
JP (1) JP3225757B2 (ja)
KR (1) KR100218219B1 (ja)
DE (1) DE19539353A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810437B1 (en) * 1999-05-25 2004-10-26 Mitsubishi Denki Kabushiki Kaisha Peripheral unit for a programmable controller
JP4451010B2 (ja) * 2001-04-09 2010-04-14 三菱電機株式会社 プログラマブルコントローラ
EP1436799A4 (en) * 2001-09-13 2008-07-30 Pixia Corp IMAGE DISPLAY SYSTEM
US6912695B2 (en) * 2001-09-13 2005-06-28 Pixia Corp. Data storage and retrieval system and method
US20040187108A1 (en) * 2003-02-21 2004-09-23 Knowles W. Jeffrey Method of scheduling and event processing in computer operating system
US7243174B2 (en) * 2003-06-24 2007-07-10 Emerson Electric Co. System and method for communicating with an appliance through an optical interface using a control panel indicator
US7278066B2 (en) * 2003-10-22 2007-10-02 Honeywell International Inc Automatic fieldbus device load-mode identification
DE102004015877A1 (de) * 2004-03-31 2005-10-27 Siemens Ag Verfahren zum Betrieb eines Automatisierungsgerätes
EP1619566A1 (de) * 2004-07-23 2006-01-25 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungsgerätes
JP4485326B2 (ja) * 2004-11-05 2010-06-23 株式会社デジタル プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体
US7262572B2 (en) * 2005-05-24 2007-08-28 The Chamberlain Group, Inc. System and method for providing a macro for a barrier operator
US8060221B2 (en) * 2006-06-13 2011-11-15 Mitsubishi Electric Corporation Peripheral device of programmable logic controller
US8290346B2 (en) 2008-09-25 2012-10-16 Pixia Corp. Large format video archival, storage, and retrieval system and method
US20110055838A1 (en) * 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring
US8411970B2 (en) * 2010-03-16 2013-04-02 Pixia Corp. Method and system for determining statistical data for image pixels having a higher bit depth per band
US9407876B1 (en) 2010-09-14 2016-08-02 Pixia Corp. Method and system for encoding and decoding multiple wide-area surveillance area-of-interest video codestreams
US8532383B1 (en) 2010-09-16 2013-09-10 Pixia Corp. Method of processing a viewport within large format imagery
US10268179B2 (en) * 2014-04-15 2019-04-23 Fuji Corporation NC machine tool
WO2018164678A1 (en) * 2017-03-08 2018-09-13 Hewlett-Packard Development Company, L.P. Peripheral output devices
JP7221465B1 (ja) * 2022-06-15 2023-02-13 三菱電機株式会社 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526688B2 (ja) * 1990-02-22 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
JPH04151702A (ja) * 1990-09-19 1992-05-25 Mitsubishi Electric Corp プログラマブルコントローラ
JPH05189277A (ja) * 1992-01-09 1993-07-30 Yaskawa Electric Corp プログラマブルコントローラのプログラム実行時間測定装置

Also Published As

Publication number Publication date
KR100218219B1 (ko) 1999-09-01
JPH08123514A (ja) 1996-05-17
KR960015123A (ko) 1996-05-22
US5889669A (en) 1999-03-30
DE19539353A1 (de) 1996-05-02

Similar Documents

Publication Publication Date Title
JP3225757B2 (ja) プログラマブルコントローラ
US7016759B2 (en) Active resource control system method & apparatus
US3226684A (en) Computer control apparatus
JP3167245B2 (ja) プログラマブルコントローラ動作状態監視装置
JPS6232510A (ja) シ−ケンサの異常診断装置
JPS61813A (ja) シ−ケンス制御装置の故障個所判定方式
JPH0863216A (ja) 加工時間測定方式
US20240012385A1 (en) Control device
WO1990007739A1 (en) Control method for robot
JPH02253305A (ja) Pcの信号トレース方式
JPH0152762B2 (ja)
KR100238663B1 (ko) 이형로보트시스템의 자기 진단 방법
JPH1091477A (ja) 制御用マイクロコンピュータ装置及び該装置の保守ツール
CN115685810A (zh) 一种ai边缘计算故障诊断器
JPH03282617A (ja) プリンタ装置
JP2005301334A (ja) モーションコントローラ
JPH0119166B2 (ja)
JPH04237308A (ja) 数値制御用モニタシステム
JPH0210404A (ja) Cnc装置
JPH02113302A (ja) プログラマブル・コントローラ
JPH02116902A (ja) Pcの工程時間計測方式
JPH04191906A (ja) プログラマブルコントローラのユーザプログラム実行制御システム
JPS63251845A (ja) プログラム異常検出装置
JPS61239345A (ja) I/oシミユレ−タ
JPH02226307A (ja) 数値制御装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070831

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080831

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080831

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090831

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090831

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 12

EXPY Cancellation because of completion of term