Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3715499B2 - Control device monitor system - Google Patents
[go: Go Back, main page]

JP3715499B2 - Control device monitor system - Google Patents

Control device monitor system Download PDF

Info

Publication number
JP3715499B2
JP3715499B2 JP2000063682A JP2000063682A JP3715499B2 JP 3715499 B2 JP3715499 B2 JP 3715499B2 JP 2000063682 A JP2000063682 A JP 2000063682A JP 2000063682 A JP2000063682 A JP 2000063682A JP 3715499 B2 JP3715499 B2 JP 3715499B2
Authority
JP
Japan
Prior art keywords
control device
monitor
control
variable data
execution result
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
Application number
JP2000063682A
Other languages
Japanese (ja)
Other versions
JP2001255935A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000063682A priority Critical patent/JP3715499B2/en
Publication of JP2001255935A publication Critical patent/JP2001255935A/en
Application granted granted Critical
Publication of JP3715499B2 publication Critical patent/JP3715499B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、鉄鋼プラントや製紙プラント、自動車産業等の組み立てプラント、化学プラント、上下水道システム等の公共システムや、その他の産業用システム等の制御に広く使用されている制御装置の動作を監視するための制御装置のモニタシステムに関する。
【0002】
【従来の技術】
図12は、従来の制御装置のモニタシステムの構成を示す図である。同図の制御装置のモニタシステムは、産業用システム等を制御するために所定の制御プログラムを実行する制御装置51と、制御装置51が制御プログラムを実行した結果等を表示するモニタ装置52と、制御装置51とモニタ装置52とを接続する伝送路53を有する構成である。
【0003】
図13は、制御装置51が制御プログラムを実行するときの処理の流れ図である。同図に示すように、制御装置51は、ステップ50で図示していない制御対象に対し変数データの入出力を行なった後、ステップ51で制御プログラムを実行し、ステップ52で制御プログラムの実行が一通り終了したところで変数データをモニタ装置52へ送信する。ステップ53では全スキャンが終了したか否かを判定し、全スキャンを実行していない場合にはステップ50へ戻って所定の回数だけ制御プログラムを繰り返して実行する。ここで、1スキャンとは制御プログラムを一通り実行することをいうものとする。モニタ装置52では、制御装置51から受信した変数データと制御装置51が実行したものと同一の制御プログラムとを表示する。
【0004】
このように使用された変数データと制御プログラムを表示することとしたのは、制御装置51の配置場所がプラントの製造ラインや強い磁場の発生する場所等である場合には外部ノイズの影響によって制御装置51が誤動作して制御プログラムの実行結果が誤ることが考えられ、また、制御装置51が高速に動作する場合には、変数データの入出力を失敗して制御プログラムの実行結果が誤ることも考えられることから、モニタ装置52の表示画面を通して制御装置51による実行結果の正当性を監視できるようにするためである。
【0005】
【発明が解決しようとする課題】
ところが、従来の制御装置のモニタシステムでは、モニタ装置52が制御装置51から送信されてきた変数データを制御プログラムと共に表示するにすぎないものであったため、制御装置51による実行結果の正当性の判断は操作者が行なっていた。このため、制御プログラムが簡単な論理を演算する場合には実行結果の正当性を判断することができるが、複雑な論理を演算する場合には解析に時間がかかる上その判断が困難になるという問題があった。
【0006】
本発明は、上記に鑑みてなされたものであり、その目的とするところは、制御装置が制御プログラムを実行した結果の正当性を操作者が容易かつ正確に判断し得るようにした制御装置のモニタシステムを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、第1の本発明に係る制御装置のモニタシステムは、制御装置が制御プログラムを実行した結果を前記制御装置とは異なる所定の条件下で動作するモニタ装置に送信する実行結果送信手段と、前記モニタ装置に設けられ、前記制御装置が実行した制御プログラムと同一の制御プログラムを実行する実行手段と、前記実行結果送信手段により送信されてきた実行結果と、前記実行手段により得られた実行結果とを表示する表示手段と、を有することを要旨とする。
【0008】
本発明にあっては、制御装置が制御プログラムを実行した実行結果と、制御装置による実行結果の検証のため、制御装置よりも有利な条件下で動作するモニタ装置が制御装置で実行したものと同一の制御プログラムを実行した実行結果とを表示することで、制御装置による実行結果とモニタ装置による正確な実行結果とを比較することを可能として、制御装置による実行結果の正当性を容易に判断できるようにしている。
【0009】
第2の本発明は、第1の制御装置のモニタシステムにおいて、前記所定の条件は、前記制御装置が配置された環境よりも前記モニタ装置が配置された環境の方がノイズの影響を受けにくいことを要旨とする。
【0010】
第3の本発明は、第1又は第2の制御装置のモニタシステムにおいて、前記所定の条件は、前記制御装置よりも前記モニタ装置の方が低速で動作することを要旨とする。
【0011】
第2,第3の本発明にあっては、制御装置が磁場の強い製造ライン等のノイズによる影響を受けやすい環境に配置されている場合や、制御装置が高速に動作するために変数データの入出力を失敗するおそれのある場合に、モニタ装置を制御室等のノイズの影響を受けにくい環境に配置したり、モニタ装置を低速に動作させることで、モニタ装置で正確な実行結果が確実に得られるようにして、制御装置による実行結果の正当性を正確に判断できるようにしている。
【0012】
第4の本発明は、第1乃至第3のいずれかの制御装置のモニタシステムにおいて、前記実行結果送信手段は、制御プログラムについて指定されたモニタ範囲における実行結果を送信することを要旨とする。
【0013】
第5の本発明は、第1乃至第4のいずれかの制御装置のモニタシステムにおいて、前記制御装置は、指定されたモニタ範囲で制御プログラムが使用した変数データを収集する収集手段と、前記収集手段により収集された変数データを使用された順序で前記モニタ装置に送信する変数送信手段と、を有することを要旨とする。
【0014】
第4,第5の本発明にあっては、指定されたモニタ範囲における実行結果や変数データをモニタ装置に送信するようにしたことで、膨大な量の実行結果や変数データを一定の範囲に限定し、効率的に制御装置による実行結果の正当性を判断できるようにしている。
【0015】
また、変数データを使用された順序でモニタ装置に送信するようにしたことで、モニタ装置が、受信した順序に従って変数データを用いることにより、制御装置で実際に使用した変数データと同一の変数データに基づいて制御プログラムを実行できるようにして、制御装置による実行結果の正当性を正確に検証できるようにしている。
【0016】
第6の本発明は、第5の制御装置のモニタシステムにおいて、前記モニタ装置は、前記変数送信手段により送信されてきた変数データを、制御プログラムの実行手順に基づいて変数名と関連付けて記憶する記憶手段を有することを要旨とする。
【0017】
本発明にあっては、制御装置から送信されてきた変数データを、モニタ装置が、制御プログラムにおける変数の出現順などの実行手順に基づいて変数名と関連付けて記憶するようにしたことで、制御装置で使用した変数データをモニタ装置が使用する変数データに正しく対応させ、制御装置で実行した演算と同一の演算をモニタ装置でも行なうことを可能として、制御装置による実行結果の正当性を正確に判断できるようにしている。
【0018】
第7の本発明は、第6の制御装置のモニタシステムにおいて、前記モニタ装置は、前記記憶手段により記憶された変数データと、これとは別に設定された変数データとを選択する選択手段を有し、前記実行手段は、前記選択手段により選択された変数データを用いて制御プログラムを実行することを要旨とする。
【0019】
本発明にあっては、記憶手段により記憶された変数データと、これとは別に任意に設定された変数データとを選択可能にしたことで、制御装置による実行結果に誤りが検証された場合には、任意に設定された方の変数データを選択して制御装置による実行結果の検証用演算に使用することにより、実行結果の誤りの原因が入力用の変数データによるものなのか、制御プログラムの論理によるものなのかを判断することを可能として、制御装置による実行結果の正当性をより正確に判断できるようにしている。
【0020】
第8の本発明は、第1乃至第7のいずれかの制御装置のモニタシステムにおいて、前記表示手段は、前記制御装置による実行結果と、前記モニタ装置による実行結果と、前記制御装置又は前記モニタ装置の少なくとも一方が使用した変数データとを指定された順序で表示することを要旨とする。
【0021】
本発明にあっては、制御装置による実行結果と、モニタ装置による実行結果と、使用した変数データとを指定された順序で表示するようにしたことで、操作者が見やすいように並べて表示できるようにして、制御装置による実行結果とモニタ装置による実行結果との相違を容易に判断できるようにしている。
【0022】
第9の本発明は、第1乃至第8のいずれかの制御装置のモニタシステムにおいて、前記制御装置は、制御プログラムをステップ毎またはスキャン毎に実行する実行手段を有することを要旨とする。
【0023】
本発明にあっては、制御装置が制御プログラムをステップ毎またはスキャン毎に実行するようにしたことで、制御装置からモニタ装置へ送信される変数データの量が膨大で、その送信が制御装置における制御プログラムの実行に比較して遅れる場合に、制御装置での演算を適当な時間だけ待たせることを可能として、モニタ装置が制御装置からの全ての変数データを確実に収集できるようにしている。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0025】
[第1の実施の形態]
図1は、第1の実施の形態に係る制御装置のモニタシステムの構成を示す図である。同図の制御装置1は、例えば磁場の強い製造ライン等に配置されており、外部ノイズによる誤動作を引き起こす可能性があるものとする。制御装置1は、伝送路3を介して制御室などのノイズによる影響を受けにくい環境に配置されたモニタ装置2に接続されている。
【0026】
まず、制御装置1の構成と動作について説明する。
【0027】
同図の制御装置1は、制御装置1の全体の動作を制御するCPU11と、制御プログラムを実行するシーケンス演算プロセッサ14と、制御プログラムを格納する制御プログラムメモリ15と、制御プログラムの実行に使用する変数データを格納するデータメモリ16と、制御装置1の全体を動作させるためのプログラムが格納されたプログラムメモリ12と、制御プログラムを実行するときの作業用のワークメモリ13と、CPU11や他の構成要素を接続するためのシステムバス17と、モニタ装置2と通信するために伝走路3に接続された通信インタフェイス18と、図示していない制御対象に対して変数データの入出力を行なうための入出力(I/O)インタフェイス19とを有する構成である。
【0028】
図2は、シーケンス演算プロセッサ14の構成を示す図である。同図のシーケンス演算プロセッサ14は、実行中の制御プログラムのアドレスを格納しておくシーケンス命令ポインタ403と、実行中のシーケンス命令のコードを格納しておくシーケンス命令レジスタ404と、シーケンス命令の演算対象となるデータを格納しておくオペランドデータレジスタ405と、モニタ装置2から指定されたモニタ範囲に対応するモニタ開始アドレスを格納しておくモニタ開始アドレスレジスタ406と、モニタ終了アドレスを格納しておくモニタ終了アドレスレジスタ407と、モニタ範囲となった命令のアドレスを格納しておくモニタ命令アドレスレジスタ408と、アドレスレジスタ406乃至408の内容とシーケンス命令ポインタ403やシーケンス命令レジスタ404、オペランドデータレジスタ405の内容とを比較して一致した場合にその旨をデータ蓄積制御回路410へ伝送する比較回路409と、変数データを蓄積する開始および停止のタイミングを制御したり、蓄積すべき変数データを実行中の命令種別によって判定するなどの動作や変数データを蓄積する動作全体の制御の他、必要時にはシステムバス17を介してCPU11に割込み信号の送出を行なうデータ蓄積制御回路410と、制御プログラムを1ステップ実行する毎に実行を中断してモニタ装置2との同期を図る場合に使用するステップモニタ指定フラグ411と、データ蓄積メモリ413が蓄積した変数データの数をカウントするカウンタ412と、データ蓄積用のバッファとして使用され、ビットデータ、ワードデータなどの単位で変数データを蓄積するデータ蓄積メモリ413と、システムバス17を介して制御プログラム15から読み出した制御プログラムを実行するシーケンス演算回路401と、演算実行に必要な変数データを一時的に格納しておく内部レジスタ402とを有する構成である。なお、シーケンス演算プロセッサ14は、同等の論理をソフトウエアにより実現したものでもよい。
【0029】
シーケンス演算プロセッサ14は、I/Oインタフェイス19を介して外部の制御対象の状態が入力された後、制御プログラムメモリ15から制御プログラムを読み出し、必要に応じてデータメモリ16に格納されている変数データにアクセスしながら制御プログラムを実行し、その実行結果をI/Oインタフェイス19を介して外部の制御対象に出力する。また、モニタ装置2によりモニタ範囲が指定された場合には、制御プログラムを実行する際にそのモニタ範囲で使用した入力用の変数データおよび実行結果を示す出力用の変数データを時系列的に蓄積し、その蓄積した変数データを通信インタフェイス18を介してモニタ装置2に送信する。
【0030】
図3は、制御装置1が制御プログラムを実行するときの処理の流れ図である。
【0031】
まず、ステップ10でI/Oインタフェイス19を介して制御対象に対して変数データの入出力を行ない、ステップ11で制御プログラムの実行を開始する。
【0032】
ステップ12で、シーケンス演算プロセッサ14は、モニタ装置2により指定されたモニタ範囲に対応してCPU11から送られてきたモニタ開始アドレスをモニタ開始アドレスレジスタ406にセットし、同様にモニタ終了アドレスをモニタ終了アドレスレジスタ407にセットする。
【0033】
制御プログラムを実行する際には、比較回路409がシーケンス命令ポインタ403の値とモニタ開始アドレスレジスタ406の値とを比較する。両者の一致が検出されると、データ蓄積制御回路410がそれ以降の必要な変数データをデータ蓄積メモリ413に格納し、蓄積データカウンタ412の値を更新していく。ここで格納される変数データには、入力用として用いられた変数データの他、実行結果を示す出力用の変数データ等が含まれる。命令ポインタ403の値がモニタ終了アドレスレジスタ407の値と一致するか、蓄積データカウンタ412の値が規定値に達した場合には、データ蓄積制御回路410はその旨をCPU11に通知する。
【0034】
ステップ13では、CPU11は、通信インタフェイス18を介してモニタ装置2へモニタデータを送信する。このモニタデータには、収集した入力用の変数データと実行結果を示す出力用の変数データが含まれる。
【0035】
ステップ14では、残りの制御プログラムを実行する。ステップ15では、全スキャンが終了したか否か、すなわち、一通り制御プログラムを実行することを所定の回数だけ繰り返したか否かを判定し、全スキャンを終了していない場合にはステップ10へ戻って上記処理を繰り返し、全スキャンが終了した場合には制御プログラムの実行処理を終了する。
【0036】
このように、制御装置1は、モニタ範囲で制御プログラムが使用した入力用の変数データをその使用の順序に従って時系列的に収集し、モニタ装置2へ送信することができるようになっている。
【0037】
次に、モニタ装置2の構成と動作について説明する。
【0038】
図4は、モニタ装置2の構成を示す図である。同図のモニタ装置2は、全体の動作を制御するCPU201と、制御装置1が格納する制御プログラムと同一の制御プログラムを格納しておく制御プログラムメモリ204と、変数データを格納するデータメモリ205と、モニタ装置2の全体を動作させるためのプログラムが格納されたプログラムメモリ202と、制御プログラムを実行するときの作業用のワークメモリ203と、CPU201や他の構成要素を接続するためのシステムバス207と、制御装置1と通信するために伝走路3に接続された通信インタフェイス208と、操作者がモニタ範囲を指定したり変数データを指定するためのキーボード等により構成される入力装置210と、入力装置210をシステムバス207に接続するためのI/Oインタフェイス209と、制御プログラムや変数データ等を表示する表示装置211と、表示装置211をシステムバス207に接続するための表示インタフェイス206とを有する構成である。
【0039】
図5は、モニタ装置2が制御プログラムを実行するときの処理の流れ図である。この処理を開始する前準備として、モニタ装置2の操作者は、表示装置211と入力装置210とを使用して制御プログラムのモニタ範囲を指定する。この指定されたモニタ範囲は、通信インタフェイス208を介して制御装置1へ送信されるとともに、ワークメモリ203にも格納される。
【0040】
ステップ21では、操作者が制御装置1による制御プログラムの実行結果の検証の指示をした場合に、CPU201がこの指示を認識し、ステップ22へ進む。
【0041】
ステップ22では、CPU201がモニタ範囲の制御プログラムを制御プログラムメモリ204から読み出す。
【0042】
ステップ23では、制御装置1からモニタデータを受信するまで待ち続ける。このモニタデータは、前述したように入力用の変数データの他、実行結果を示す出力用の変数データにより構成される。そして、モニタデータを受信した場合には、ステップ24へ進み、モニタデータを後述する手法で変数名に対応させてデータメモリ205に格納する。
【0043】
ステップ25では、制御プログラムの実行を開始し、ステップ26で実行結果データをワークメモリ203に格納し、ステップ27でこの実行結果データと制御装置1による実行結果データとを後述する手法で表示装置211に表示させる。
【0044】
ステップ28では、全スキャンが終了したか否かを判定し、全スキャンが終了していない場合にはステップ21へ戻って上記処理を繰り返し、全スキャンが終了した場合には制御プログラムの実行処理を終了する。
【0045】
続いて、制御装置1から送信されてきたモニタデータをモニタ装置2で変数名に対応させる手法について説明する。
【0046】
図6は、制御装置1が制御プログラムをコンパイルした状態の一例を示す図である。同図(a)は、制御プログラムがソースプログラムとして表現されたときの例を示している。ここでは、変数Bと変数Cとの積に変数Dを加算した結果を変数Aに代入するプログラムを示している。
【0047】
同図(b)は、このソースプログラムをコンパイルしてシーケンス命令に変換した例を示している。ここでは、ソースプログラムがシーケンス命令の種類に応じた形式に変形され、命令の順序も逆ポーランド形式に変更されている。
【0048】
”LD”はオペランドの内容をアキュムレータに代入する命令のニーモニック表記である。”MUL”はオペランドの内容とアキュムレータの内容との積をアキュムレータに代入する命令のニーモニック表記である。”ADD”はオペランドの内容とアキュムレータの内容との和をアキュムレータに代入するニーモニック表記である。”ST”はアキュムレータの内容をオペランドに代入するニーモニック表記である。この状態では、変数はまだ変数名として扱われている。
【0049】
同図(c)は、このシーケンス命令列をさらにコンパイルして機械語に変換した例を示している。ここでは、命令語は命令コードに変換され、変数名は変数の格納されている物理アドレスに変換されている。制御装置1が実際に実行する制御プログラムは、この機械語形式のプログラムである。よって、制御装置1がモニタ範囲内で収集する変数データは、この機械語の順で収集されることになる。
【0050】
図7は、制御装置1がモニタ装置2に送信するモニタデータの順序を示す図である。モニタ装置2では、自己が保持する制御プログラムのモニタ範囲における変数名の順序やシーケンス命令列等に基づいて、制御装置が送信してくるモニタデータの順序を予め知ることができる。
【0051】
そこで、モニタ装置2では、図8に示すような変数名とその内容を格納するデータメモリ205上のアドレスとの対応表を予めワークメモリ203に準備しておき、制御装置1が送信してきたモニタデータ、すなわち、変数Bの内容、変数Cの内容等を、データメモリ205の対応するアドレスに格納する。このようにして、モニタ装置2は、制御装置1が送信してくる変数データを変数名に対応させて記憶することができる。
【0052】
次に、制御装置1による実行結果データとモニタ装置2による実行結果データとを表示装置211に表示させる手法について説明する。
【0053】
図9は、モニタ装置2のデータメモリ205と検証用データメモリ501の構造を示す図である。モニタ装置2は、同図(a)に示すように、制御装置1から送られてきた変数データをデータメモリ205の予め定めた物理アドレスに格納するとともに、同図(b)に示すように、比較用メモリとして検証用データメモリ501をワークメモリ203の内部に作成する。
【0054】
検証用データメモリ501には、制御装置1から送られてきた変数データのうち、入力用の変数データだけを格納する。実行結果を示す出力用の変数データとしては、その入力用の変数データを用いてモニタ装置2のCPU201で演算した実行結果を格納するようにする。
【0055】
図6で用いた制御プログラムを例に説明すると、変数B、変数C、変数Dが入力用の変数データに相当し、変数Aが出力用の変数データに相当する。すなわち、検証用データメモリ501には、制御装置1から送信されてきた変数B、変数C、変数Dのそれぞれの内容と、CPU201がこれらの変数を用いて制御プログラムを実行した結果を示す変数A’の内容が格納される。
【0056】
図10は、表示装置211の画面上における表示形式の一例を示す図である。制御プログラムの実行回数、制御装置1による実行結果を示す変数A、モニタ装置2による実行結果を示す変数A’、入力用の変数B、変数C、変数D等の各項目に対応する内容が表形式で表示される。この表示を実現するために、モニタ装置2は、ワークメモリ203の内部に図10のデータ表と同一のデータ表を設けておき、このデータ表を読み出して表示するものとする。
【0057】
ワークメモリ203に設けられたデータ表の各項目は、操作者が入力装置210を用いて指定した順序で並べ替えができるようになっており、各項目は、比較のしやすいように任意の順序に並べられて表示装置211の画面に表示される。
【0058】
例えば、同図に示すように、制御装置1による実行結果を示す変数Aと、モニタ装置2による実行結果を示す変数A’とを並べて表示した場合には、両者の相違が簡単に分かり、実行回数2回目の変数Aの内容が40であるのに対し、変数A’の内容が53と異なっていることから、制御装置1による実行結果が誤りであることを容易に判断することができる。
【0059】
したがって、本実施の形態によれば、制御装置1が制御プログラムを実行した実行結果と、この実行結果の検証のために制御装置1よりもノイズの影響を受けにくい環境に配置されたモニタ装置2が制御装置1で実行したものと同一の制御プログラムを実行した実行結果と、を並べて表示装置211に表示することで、制御装置1による実行結果とモニタ装置2による正確な実行結果とを比較することが可能となるので、制御装置1による実行結果の正当性を容易に判断することができる。
【0060】
また、本実施の形態によれば、制御装置1が、指定されたモニタ範囲における実行結果とこのモニタ範囲で制御プログラムが使用した変数データとを収集して送信することで、膨大な量の変数データが一定の範囲に限定されるので、効率的に制御装置1による実行結果の正当性を判断することができる。また、制御装置1が収集した変数データを使用された順序でモニタ装置2に送信することで、モニタ装置2は、受信した順序に従って変数データを用いることにより、制御装置1が実際に使用した変数データと同一の変数データに基づいて制御プログラムを実行できるので、制御装置1による実行結果の正当性を正確に判断することができる。
【0061】
さらに、本実施の形態によれば、制御装置1から送信されてきた変数データを、モニタ装置2が、制御プログラムにおける変数の出現順等に基づいて変数名に関連付けて記憶するようにしたことで、制御装置1で使用した変数データをモニタ装置2が使用する変数データに正しく対応させることができ、制御装置1で実行した演算と同一の演算をモニタ装置2でも行なうことが可能となるので、制御装置1による実行結果の正当性を正確に判断することができる。
【0062】
さらに、本実施の形態によれば、制御装置1による実行結果と、モニタ装置2による実行結果と、使用した入力用の変数データとを指定された順序で表示装置211に表示するようにしたことで、操作者が見やすいように並べて表示することができるので、制御装置1による実行結果とモニタ装置2による実行結果の相違を容易に判断することができる。
【0063】
なお、本実施の形態においては、制御装置1が外部ノイズによる誤動作を引き起こす可能性がある環境に配置された場合に、モニタ装置2を制御室などの外部ノイズによる影響を受けにくい環境に配置して正確な実行結果が得られるようにしたが、その他の例として、制御装置1が高速に動作するために変数データの入出力を失敗する可能性がある場合には、モニタ装置2を制御装置1よりも低速で動作させることにより正確な実行結果が得られるようにしてもよい。
【0064】
また、制御装置1の全体がハードウエアのみで構成されている場合に、モニタ装置2をソフトウエアとハードウエアとにより構成することにより、制御装置1と同一の処理を異なった動作で行なうこととして、制御装置1の故障を発見できるようにしてもよい。
【0065】
[第2の実施の形態]
本発明の第2の実施の形態に係る制御装置のモニタシステムの基本的な構成は第1の実施の形態のものと同様であり、その特徴としては、モニタ装置2で制御装置1による実行結果を検証するために用いる入力用の変数データを、任意に設定できるようにしたことにある。
【0066】
図11は、入力用の変数データを任意に設定可能とする仕組みを示す図である。モニタ装置2のCPU201は、操作者が入力装置210を用いて行なう指示に従い、図9(b)に示した検証用データメモリ501の他に、設定用データメモリ502をワークメモリ203の内部に用意する。この設定用データメモリ502の構造は、検証用データメモリ501のものと同様であり、制御装置1から送られてきた変数データが格納される一方、操作者がその変数データを任意に変更できるようになっている。
【0067】
ステップ31では、操作者がデータ選択用のフラグを指定することにより、検証のために使用するデータメモリを検証用データメモリ501にするか、設定用データメモリ502にするのかを選択する。ステップ32では、選択されたデータメモリに格納された変数データを検証用の演算に使用し、ステップ33で検証結果を表示装置211に送信する。
【0068】
したがって、本実施の形態によれば、制御装置1から送信されてきた変数データと任意に設定された変数データとを選択可能としたことで、制御プログラムの実行結果に誤りが発生した場合には、任意に設定された変数データを選択して制御装置1による実行結果の検証用演算に使用することにより、実行結果の誤りが入力データによるものなのか、制御論理によるものなのかを判断することが可能となるので、実行結果の正当性をより正確に判断することができる。
【0069】
[第3の実施の形態]
本発明の第3の実施の形態に係る制御装置のモニタシステムの基本的な構成は、第1の実施の形態のものと同様であり、その特徴としては、一般に制御装置1の実行速度は高速であるため、モニタ装置2で制御装置1による制御プログラムの実行結果をすべて収集して検証することは困難であることに鑑みて、制御装置1による制御プログラムの実行結果を検証する際に、制御装置1に制御プログラムをステップ毎あるいはスキャン毎に実行させるようにしたことにある。
【0070】
制御装置1に制御プログラムをステップ毎に実行させる場合には、モニタ装置2のCPU201は、制御装置1のCPU11に対してその旨を通知する。制御装置1のCPU11は、図2に示したシーケンス演算プロセッサ14内部のステップモニタ指定フラグ411をセットする。このステップモニタ指定フラグ411がセットされると、シーケンス演算プロセッサ14は、シーケンス命令を1ステップ(1命令)ずつ実行し、1ステップの実行毎にCPU11に割込み信号414を出力するとともに、次のステップを開始する操作者からの指示を待つ。CPU11は、割込み信号414が入力される毎にデータ蓄積メモリ413に格納された変数データの内容をモニタ装置2へ送信する。このようにして、制御装置1の実行結果をステップ毎にモニタすることが可能となる。
【0071】
また、制御装置1に制御プログラムをスキャン毎に実行させる場合には、モニタ装置2のCPU201は、制御装置1のCPU11に対してその旨を通知する。このとき、制御装置1のCPU11は、スキャン実行モードであることを記憶し、シーケンス演算プロセッサ14が制御プログラムを1スキャン実行した後、データ蓄積メモリ413に格納された変数データの内容をモニタ装置2へ送信し、次のスキャンを開始する操作者からの指示を待つ。このようにして、制御装置1の実行結果をスキャン毎にモニタすることが可能となる。
【0072】
したがって、本実施の形態によれば、制御装置1が制御プログラムをステップ毎またはスキャン毎に実行するようにしたことで、制御装置1からモニタ装置2へ送信される変数データの量が膨大で、その送信時間が制御装置1における制御プログラムの実行時間に比較して遅くなる場合には、制御装置1での演算を適当な時間だけ待たせることができるので、モニタ装置において制御装置1からの全ての変数データを確実に収集することができる。
【0073】
なお、本実施の形態においては、制御装置1だけが制御プログラムをステップ毎またはスキャン毎に実行することとしたが、モニタ装置2でも、ステップ毎又はスキャン毎に制御プログラムを実行するようにしてもよい。
【0074】
かかる場合には、制御装置1およびモニタ装置2にステップ毎またはスキャン毎に制御プログラムを実行させ、リアルタイムで両者の実行結果を比較することができる。
【0075】
【発明の効果】
以上、説明したように、第1の本発明によれば、制御装置による実行結果とモニタ装置による正確な実行結果とを比較することが可能となるので、制御装置による実行結果の正当性を容易に判断することができる。
【0076】
第2,第3の本発明によれば、モニタ装置を制御室等のノイズの影響を受けにくい環境に配置したり、モニタ装置を低速に動作させることで、モニタ装置で正確な実行結果が確実に得られるので、制御装置による実行結果の正当性を正確に判断することができる。
【0077】
第4,第5の本発明によれば、膨大な量の実行結果や変数データが一定の範囲に限定されるので、効率的に制御装置による実行結果の正当性を判断することができる。
【0078】
第6の本発明によれば、制御装置で使用した変数データをモニタ装置が使用する変数データに正しく対応させることができ、制御装置で実行した演算と同一の演算をモニタ装置でも行なうことが可能となるので、制御装置による実行結果の正当性を正確に判断することができる。
【0079】
第7の本発明によれば、実行結果の誤りの原因が入力用の変数データによるものなのか、制御プログラムの論理によるものなのかを判断することが可能となるので、制御装置による実行結果の正当性をより正確に判断することができる。
【0080】
第8の本発明によれば、制御装置による実行結果と、モニタ装置による実行結果と、使用した変数データとを操作者が見やすいように並べて表示できるので、制御装置による実行結果とモニタ装置による実行結果との相違を容易に判断することができる。
【0081】
第9の本発明によれば、制御装置での演算を適当な時間だけ待たせることが可能となるので、モニタ装置が制御装置からの全ての変数データを確実に収集することができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係る制御装置のモニタシステムの構成を示す図である。
【図2】シーケンス演算プロセッサ14の構成を示す図である。
【図3】制御装置1が制御プログラムを実行するときの処理の流れ図である。
【図4】モニタ装置2の構成を示す図である。
【図5】モニタ装置2が制御プログラムを実行するときの処理の流れ図である。
【図6】制御装置1が制御プログラムをコンパイルした状態の一例を示す図である。
【図7】制御装置1がモニタ装置2に送信するモニタデータの順序を示す図である。
【図8】変数名とデータメモリアドレスとの対応を示す表である。
【図9】モニタ装置2のデータメモリ205と検証用データメモリ501の構造を示す図である。
【図10】表示装置211の画面上における表示形式の一例を示す図である。
【図11】制御装置による実行結果を検証するために用いる入力用の変数データを任意に設定できる仕組みを示す図である。
【図12】従来の制御装置のモニタシステムの構成を示す図である。
【図13】従来の制御装置51が制御プログラムを実行するときの処理の流れ図である。
【符号の説明】
1,51…制御装置
2,52…モニタ装置
3,53…伝送路
11,201…CPU
12,202…プログラムメモリ
13,203…ワークメモリ
14…シーケンス演算プロセッサ
15,204…制御プログラムメモリ
16,205…データメモリ
17,207…システムバス
18,208…通信インタフェイス
19,209…I/Oインタフェイス
206…表示インタフェイス
210…入力装置
211…表示装置
401…シーケンス演算回路
402…内部レジスタ
403…シーケンス命令ポインタ
404…シーケンス命令レジスタ
405…オペランドデータレジスタ
406…モニタ開始アドレスレジスタ
407…モニタ終了アドレスレジスタ
408…モニタ命令アドレスレジスタ
409…比較回路
410…データ蓄積制御回路
411…ステップモニタ指定フラグ
412…蓄積データカウンタ
413…データ蓄積メモリ
501…検証用データメモリ
502…設定用データメモリ
[0001]
BACKGROUND OF THE INVENTION
The present invention monitors the operation of a control device widely used for control of steel plants, paper manufacturing plants, assembly plants in the automobile industry, etc., chemical plants, water supply and sewage systems, and other industrial systems. The present invention relates to a monitor system for a control device.
[0002]
[Prior art]
FIG. 12 is a diagram illustrating a configuration of a monitor system of a conventional control device. The control device monitor system shown in FIG. 1 includes a control device 51 that executes a predetermined control program for controlling an industrial system, a monitor device 52 that displays a result of the control device 51 executing the control program, and the like. This is a configuration having a transmission line 53 that connects the control device 51 and the monitor device 52.
[0003]
FIG. 13 is a flowchart of processing when the control device 51 executes a control program. As shown in the figure, the control device 51 inputs / outputs variable data to / from a control object not shown in step 50, executes the control program in step 51, and executes the control program in step 52. When the process is completed, the variable data is transmitted to the monitor device 52. In step 53, it is determined whether or not all scans have been completed. If all scans have not been executed, the process returns to step 50 and the control program is repeatedly executed a predetermined number of times. Here, one scan means that the control program is executed one by one. The monitor device 52 displays the variable data received from the control device 51 and the same control program executed by the control device 51.
[0004]
The variable data and the control program used in this way are displayed because the control device 51 is controlled by the influence of external noise when the placement location of the control device 51 is a plant production line or a place where a strong magnetic field is generated. It is conceivable that the execution result of the control program is erroneous due to the malfunction of the device 51. In addition, when the control device 51 operates at high speed, the input / output of variable data may fail and the execution result of the control program may be erroneous. This is because the validity of the execution result by the control device 51 can be monitored through the display screen of the monitor device 52.
[0005]
[Problems to be solved by the invention]
However, in the conventional monitor system of the control device, the monitor device 52 merely displays the variable data transmitted from the control device 51 together with the control program. Was performed by the operator. For this reason, when the control program calculates simple logic, the correctness of the execution result can be determined. However, when calculating a complicated logic, the analysis takes time and the determination becomes difficult. There was a problem.
[0006]
The present invention has been made in view of the above, and an object of the present invention is to provide a control device that allows an operator to easily and accurately determine the validity of the result of execution of a control program by the control device. To provide a monitor system.
[0007]
[Means for Solving the Problems]
To achieve the above objective, First The monitoring system for a control device according to the present invention includes an execution result transmitting means for transmitting a result of execution of a control program by the control device to a monitor device operating under a predetermined condition different from that of the control device, and An execution unit that is provided and executes the same control program as the control program executed by the control device, an execution result transmitted by the execution result transmission unit, and an execution result obtained by the execution unit are displayed. And a display means.
[0008]
In the present invention, the execution result of execution of the control program by the control device and the monitor device that operates under conditions more advantageous than the control device are executed by the control device in order to verify the execution result of the control device. By displaying the execution results of executing the same control program, it is possible to compare the execution results of the control device with the accurate execution results of the monitor device, and easily determine the validity of the execution results of the control device I can do it.
[0009]
Second The present invention is First In the monitoring system for a control device, the predetermined condition is that the environment in which the monitor device is disposed is less susceptible to noise than the environment in which the control device is disposed.
[0010]
Third The present invention is 1st or 2nd In the monitor system of the control device, the predetermined condition is that the monitor device operates at a lower speed than the control device.
[0011]
2nd and 3rd In the present invention, when the control device is arranged in an environment susceptible to noise such as a production line with a strong magnetic field, or because the control device operates at high speed, input / output of variable data fails. If there is a risk, place the monitor device in an environment that is not easily affected by noise, such as a control room, or operate the monitor device at low speed to ensure that the monitor device can obtain accurate execution results. The correctness of the execution result by the control device can be accurately determined.
[0012]
4th The present invention is Any one of the first to third In the monitor system of the control device, the execution result transmitting means transmits the execution result in the monitor range designated for the control program.
[0013]
5th The present invention is Any one of the first to fourth In the monitoring system for the control device, the control device is configured to collect the variable data used by the control program in the designated monitor range, and to monitor the variable data collected by the collection device in the order in which the variable data is used. And a variable transmission means for transmitting to the apparatus.
[0014]
4th and 5th In the present invention, the execution results and variable data in the designated monitor range are transmitted to the monitor device, so that an enormous amount of execution results and variable data are limited to a certain range, which is efficient. In addition, the validity of the execution result by the control device can be determined.
[0015]
In addition, since the variable data is transmitted to the monitor device in the used order, the variable data is the same as the variable data actually used by the control device by using the variable data according to the received order. Based on the above, the control program can be executed so that the correctness of the execution result by the control device can be accurately verified.
[0016]
6th The present invention is 5th In the monitoring system of the control device, the monitoring device has storage means for storing the variable data transmitted by the variable transmission means in association with the variable name based on the execution procedure of the control program. .
[0017]
In the present invention, the variable data transmitted from the control device is stored in the monitor device in association with the variable name based on the execution procedure such as the order of appearance of the variables in the control program. The variable data used in the device is correctly associated with the variable data used by the monitor device, so that the same calculation as the control device can be performed in the monitor device. Judgment can be made.
[0018]
7th The present invention is 6th In the monitor system of the control device, the monitor device includes a selection unit that selects the variable data stored by the storage unit and the variable data set separately from the variable data, and the execution unit includes the selection unit. The gist is to execute the control program using the variable data selected by the means.
[0019]
In the present invention, the variable data stored by the storage means and the variable data arbitrarily set separately from this can be selected, so that when the error is verified in the execution result by the control device Is to select the variable data that is arbitrarily set and use it for the verification operation of the execution result by the control device, to determine whether the cause of the error in the execution result is due to the input variable data. It is possible to determine whether the result is logic or not, and the correctness of the execution result by the control device can be determined more accurately.
[0020]
8th The present invention is Any of 1st to 7th In the monitor system of the control device, the display means is an order in which the execution result by the control device, the execution result by the monitor device, and the variable data used by at least one of the control device or the monitor device are designated. The gist is to display with.
[0021]
According to the present invention, the execution result by the control device, the execution result by the monitor device, and the used variable data are displayed in a specified order so that the operator can view them side by side for easy viewing. Thus, the difference between the execution result by the control device and the execution result by the monitor device can be easily determined.
[0022]
9th The present invention is Any of 1st to 8th The control device monitoring system of the present invention is characterized in that the control device has execution means for executing the control program for each step or each scan.
[0023]
In the present invention, since the control device executes the control program for each step or each scan, the amount of variable data transmitted from the control device to the monitor device is enormous, and the transmission is performed in the control device. When the control program is delayed compared to the execution of the control program, it is possible to allow the control device to wait for an appropriate time so that the monitor device can reliably collect all the variable data from the control device.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0025]
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration of a monitor system of the control device according to the first embodiment. It is assumed that the control device 1 in the figure is arranged on a production line with a strong magnetic field, for example, and may cause a malfunction due to external noise. The control device 1 is connected via a transmission line 3 to a monitor device 2 disposed in an environment that is not easily affected by noise such as a control room.
[0026]
First, the configuration and operation of the control device 1 will be described.
[0027]
The control device 1 shown in FIG. 1 is used to execute a control program, a CPU 11 that controls the overall operation of the control device 1, a sequence arithmetic processor 14 that executes a control program, a control program memory 15 that stores the control program, and the like. A data memory 16 for storing variable data, a program memory 12 for storing a program for operating the entire control device 1, a work memory 13 for working when executing the control program, a CPU 11 and other components A system bus 17 for connecting elements, a communication interface 18 connected to the transmission path 3 for communicating with the monitor device 2, and a variable data input / output for a control object (not shown) The configuration includes an input / output (I / O) interface 19.
[0028]
FIG. 2 is a diagram illustrating a configuration of the sequence calculation processor 14. The sequence arithmetic processor 14 in the figure includes a sequence instruction pointer 403 for storing the address of the control program being executed, a sequence instruction register 404 for storing the code of the sequence instruction being executed, and an operation target of the sequence instruction. Operand data register 405 for storing data to be stored, monitor start address register 406 for storing a monitor start address corresponding to the monitor range designated by the monitor device 2, and monitor for storing a monitor end address End address register 407, monitor instruction address register 408 for storing the address of the instruction in the monitor range, contents of address registers 406 to 408, sequence instruction pointer 403, sequence instruction register 404, operand data register 4 5 is compared to the comparison circuit 409 that transmits the fact to the data storage control circuit 410 when it matches, and the start and stop timings for storing the variable data are controlled, and the variable data to be stored is executed. In addition to the control of the entire operation for storing the variable data and the operation such as the determination based on the type of instruction in the data storage control circuit 410 for sending an interrupt signal to the CPU 11 via the system bus 17 when necessary, the control program is 1 A step monitor designation flag 411 used when the execution is interrupted every time step execution is performed to synchronize with the monitor device 2, a counter 412 that counts the number of variable data accumulated in the data accumulation memory 413, and data accumulation Data used to store variable data in units such as bit data and word data A configuration having a product memory 413, a sequence operation circuit 401 that executes a control program read from the control program 15 via the system bus 17, and an internal register 402 that temporarily stores variable data necessary for execution of the operation It is. Note that the sequence arithmetic processor 14 may be one in which equivalent logic is realized by software.
[0029]
The sequence arithmetic processor 14 reads the control program from the control program memory 15 after an external control target state is input via the I / O interface 19, and stores variables in the data memory 16 as necessary. The control program is executed while accessing the data, and the execution result is output to an external control target via the I / O interface 19. When the monitor range is designated by the monitor device 2, the variable data for input used in the monitor range when executing the control program and the variable data for output indicating the execution result are accumulated in time series. Then, the accumulated variable data is transmitted to the monitor device 2 via the communication interface 18.
[0030]
FIG. 3 is a flowchart of processing when the control device 1 executes the control program.
[0031]
First, variable data is input / output to / from the controlled object via the I / O interface 19 in step 10, and execution of the control program is started in step 11.
[0032]
In step 12, the sequence calculation processor 14 sets the monitor start address sent from the CPU 11 corresponding to the monitor range designated by the monitor device 2 in the monitor start address register 406, and similarly monitors the monitor end address. Set in the address register 407.
[0033]
When executing the control program, the comparison circuit 409 compares the value of the sequence instruction pointer 403 with the value of the monitor start address register 406. When a coincidence between the two is detected, the data accumulation control circuit 410 stores necessary variable data after that in the data accumulation memory 413 and updates the value of the accumulated data counter 412. The variable data stored here includes, in addition to variable data used for input, variable data for output indicating execution results. If the value of the instruction pointer 403 matches the value of the monitor end address register 407, or the value of the accumulated data counter 412 reaches a specified value, the data accumulation control circuit 410 notifies the CPU 11 accordingly.
[0034]
In step 13, the CPU 11 transmits monitor data to the monitor device 2 via the communication interface 18. This monitor data includes collected variable data for input and variable data for output indicating the execution result.
[0035]
In step 14, the remaining control program is executed. In step 15, it is determined whether or not all scans have been completed, that is, whether or not the execution of the control program has been repeated a predetermined number of times. If all scans have not been completed, the process returns to step 10. The above process is repeated, and when all the scans are completed, the control program execution process is terminated.
[0036]
As described above, the control device 1 can collect the variable data for input used by the control program in the monitor range in time series in accordance with the order of use and transmit it to the monitor device 2.
[0037]
Next, the configuration and operation of the monitor device 2 will be described.
[0038]
FIG. 4 is a diagram illustrating a configuration of the monitor device 2. The monitor device 2 in FIG. 1 includes a CPU 201 that controls the overall operation, a control program memory 204 that stores the same control program as the control program stored in the control device 1, and a data memory 205 that stores variable data. A program memory 202 storing a program for operating the entire monitor device 2, a work memory 203 for work when executing the control program, and a system bus 207 for connecting the CPU 201 and other components. A communication interface 208 connected to the runway 3 to communicate with the control device 1, an input device 210 configured by a keyboard or the like for an operator to specify a monitor range or variable data, An I / O interface 209 for connecting the input device 210 to the system bus 207; A display device 211 for displaying a program and variable data such as a structure having a display interface 206 for connecting the display device 211 to system bus 207.
[0039]
FIG. 5 is a flowchart of processing when the monitor device 2 executes the control program. As a preparation for starting this process, the operator of the monitor device 2 uses the display device 211 and the input device 210 to specify the monitor range of the control program. The designated monitor range is transmitted to the control device 1 via the communication interface 208 and is also stored in the work memory 203.
[0040]
In step 21, when the operator gives an instruction to verify the execution result of the control program by the control device 1, the CPU 201 recognizes this instruction and proceeds to step 22.
[0041]
In step 22, the CPU 201 reads the monitor range control program from the control program memory 204.
[0042]
In step 23, the process continues to wait until monitor data is received from the control device 1. As described above, the monitor data is composed of input variable data and output variable data indicating execution results. When the monitor data is received, the process proceeds to step 24, and the monitor data is stored in the data memory 205 in association with the variable name by a method described later.
[0043]
In step 25, the execution of the control program is started. In step 26, the execution result data is stored in the work memory 203. To display.
[0044]
In step 28, it is determined whether or not all scans have been completed. If all scans have not been completed, the process returns to step 21 and the above processing is repeated. If all scans have been completed, control program execution processing is performed. finish.
[0045]
Next, a method for associating the monitor data transmitted from the control device 1 with the variable name in the monitor device 2 will be described.
[0046]
FIG. 6 is a diagram illustrating an example of a state in which the control device 1 has compiled the control program. FIG. 5A shows an example when the control program is expressed as a source program. Here, a program is shown in which the result of adding variable D to the product of variable B and variable C is substituted into variable A.
[0047]
FIG. 5B shows an example in which this source program is compiled and converted into a sequence instruction. Here, the source program is transformed into a format corresponding to the type of sequence instruction, and the order of the instructions is also changed to the reverse Polish format.
[0048]
“LD” is a mnemonic notation of an instruction for assigning the contents of an operand to an accumulator. “MUL” is a mnemonic notation of an instruction for assigning the product of the contents of the operand and the contents of the accumulator to the accumulator. “ADD” is a mnemonic notation for assigning the sum of the contents of the operand and the contents of the accumulator to the accumulator. “ST” is a mnemonic notation for assigning the contents of the accumulator to the operand. In this state, the variable is still treated as a variable name.
[0049]
FIG. 2C shows an example in which this sequence instruction sequence is further compiled and converted into a machine language. Here, the instruction word is converted into an instruction code, and the variable name is converted into a physical address where the variable is stored. The control program actually executed by the control device 1 is a program in the machine language format. Therefore, the variable data collected by the control device 1 within the monitor range is collected in the order of the machine language.
[0050]
FIG. 7 is a diagram illustrating the order of monitor data transmitted from the control device 1 to the monitor device 2. The monitor device 2 can know in advance the order of the monitor data transmitted from the control device based on the order of variable names, sequence command sequence, etc. in the monitor range of the control program held by itself.
[0051]
Therefore, the monitor device 2 prepares a correspondence table between variable names and addresses on the data memory 205 for storing the contents as shown in FIG. 8 in the work memory 203 in advance, and the monitor transmitted by the control device 1. Data, that is, the contents of the variable B, the contents of the variable C, and the like are stored at corresponding addresses in the data memory 205. In this way, the monitor device 2 can store the variable data transmitted from the control device 1 in association with the variable name.
[0052]
Next, a method for displaying the execution result data by the control device 1 and the execution result data by the monitor device 2 on the display device 211 will be described.
[0053]
FIG. 9 is a diagram illustrating the structures of the data memory 205 and the verification data memory 501 of the monitor device 2. The monitor device 2 stores the variable data sent from the control device 1 at a predetermined physical address in the data memory 205 as shown in FIG. 5A, and as shown in FIG. A verification data memory 501 is created in the work memory 203 as a comparison memory.
[0054]
The verification data memory 501 stores only the input variable data among the variable data sent from the control device 1. As the output variable data indicating the execution result, the execution result calculated by the CPU 201 of the monitor device 2 using the input variable data is stored.
[0055]
The control program used in FIG. 6 will be described as an example. Variable B, variable C, and variable D correspond to input variable data, and variable A corresponds to output variable data. That is, in the verification data memory 501, the contents of the variables B, C, and D transmitted from the control device 1 and the variable A indicating the result of the CPU 201 executing the control program using these variables are stored. The contents of 'are stored.
[0056]
FIG. 10 is a diagram illustrating an example of a display format on the screen of the display device 211. The contents corresponding to the items such as the number of executions of the control program, the variable A indicating the execution result by the control device 1, the variable A ′ indicating the execution result by the monitor device 2, the input variable B, the variable C, the variable D, etc. Displayed in the format. In order to realize this display, the monitor device 2 is provided with a data table identical to the data table of FIG. 10 in the work memory 203, and this data table is read and displayed.
[0057]
Each item of the data table provided in the work memory 203 can be rearranged in the order designated by the operator using the input device 210, and each item can be rearranged in any order for easy comparison. Are displayed on the screen of the display device 211.
[0058]
For example, as shown in the figure, when the variable A indicating the execution result by the control device 1 and the variable A ′ indicating the execution result by the monitor device 2 are displayed side by side, the difference between the two can be easily understood and executed. Since the content of the variable A for the second time is 40, whereas the content of the variable A ′ is different from 53, it can be easily determined that the execution result by the control device 1 is incorrect.
[0059]
Therefore, according to the present embodiment, the execution result of the control device 1 executing the control program and the monitor device 2 arranged in an environment less susceptible to noise than the control device 1 for verifying the execution result. Display the execution results of executing the same control program as that executed by the control device 1 on the display device 211, thereby comparing the execution results of the control device 1 with the accurate execution results of the monitor device 2. Therefore, it is possible to easily determine the validity of the execution result by the control device 1.
[0060]
In addition, according to the present embodiment, the control device 1 collects and transmits the execution result in the designated monitor range and the variable data used by the control program in the monitor range, so that an enormous amount of variables can be transmitted. Since the data is limited to a certain range, the validity of the execution result by the control device 1 can be determined efficiently. In addition, by transmitting the variable data collected by the control device 1 to the monitor device 2 in the used order, the monitor device 2 uses the variable data according to the received order so that the variable actually used by the control device 1 is obtained. Since the control program can be executed based on the same variable data as the data, the correctness of the execution result by the control device 1 can be accurately determined.
[0061]
Further, according to the present embodiment, the monitor device 2 stores the variable data transmitted from the control device 1 in association with the variable name based on the appearance order of the variables in the control program. The variable data used in the control device 1 can be made to correspond correctly to the variable data used by the monitor device 2, and the same calculation as that executed in the control device 1 can be performed in the monitor device 2. The correctness of the execution result by the control device 1 can be accurately determined.
[0062]
Furthermore, according to the present embodiment, the execution result by the control device 1, the execution result by the monitor device 2, and the variable data for input used are displayed on the display device 211 in a specified order. Thus, the operator can display the images side by side so that the operator can easily see them. Therefore, the difference between the execution result by the control device 1 and the execution result by the monitor device 2 can be easily determined.
[0063]
In the present embodiment, when the control device 1 is placed in an environment that may cause malfunction due to external noise, the monitor device 2 is placed in an environment that is not easily affected by external noise such as a control room. However, as another example, when there is a possibility that input / output of variable data may fail because the control device 1 operates at high speed, the monitor device 2 is used as the control device. An accurate execution result may be obtained by operating at a speed lower than 1.
[0064]
Further, when the entire control device 1 is configured only by hardware, the same processing as the control device 1 is performed by different operations by configuring the monitor device 2 by software and hardware. The failure of the control device 1 may be found.
[0065]
[Second Embodiment]
The basic configuration of the monitor system of the control device according to the second embodiment of the present invention is the same as that of the first embodiment, and the feature is that the execution result of the control device 1 in the monitor device 2 The variable data for input used for verifying can be arbitrarily set.
[0066]
FIG. 11 is a diagram illustrating a mechanism that allows variable data for input to be arbitrarily set. The CPU 201 of the monitor device 2 prepares a setting data memory 502 in the work memory 203 in addition to the verification data memory 501 shown in FIG. 9B according to an instruction given by the operator using the input device 210. To do. The structure of the setting data memory 502 is the same as that of the verification data memory 501, and variable data sent from the control device 1 is stored, while the operator can arbitrarily change the variable data. It has become.
[0067]
In step 31, the operator selects a data memory used for verification as the verification data memory 501 or the setting data memory 502 by designating a data selection flag. In step 32, the variable data stored in the selected data memory is used for the calculation for verification, and the verification result is transmitted to the display device 211 in step 33.
[0068]
Therefore, according to the present embodiment, when the variable data transmitted from the control device 1 and the arbitrarily set variable data can be selected, an error occurs in the execution result of the control program. , Selecting arbitrarily set variable data and using it for the verification operation of the execution result by the control device 1 to determine whether the error of the execution result is due to the input data or the control logic Therefore, the validity of the execution result can be determined more accurately.
[0069]
[Third Embodiment]
The basic configuration of the monitor system of the control device according to the third embodiment of the present invention is the same as that of the first embodiment, and the feature is that the execution speed of the control device 1 is generally high. Therefore, in view of the fact that it is difficult to collect and verify all the execution results of the control program by the control device 1 with the monitor device 2, when verifying the execution result of the control program by the control device 1, That is, the apparatus 1 is caused to execute the control program for each step or each scan.
[0070]
When causing the control device 1 to execute the control program for each step, the CPU 201 of the monitor device 2 notifies the CPU 11 of the control device 1 to that effect. The CPU 11 of the control device 1 sets a step monitor designation flag 411 inside the sequence arithmetic processor 14 shown in FIG. When the step monitor designation flag 411 is set, the sequence calculation processor 14 executes the sequence command one step (one command) at a time and outputs an interrupt signal 414 to the CPU 11 every time one step is executed. Wait for instructions from the operator to start. The CPU 11 transmits the contents of the variable data stored in the data storage memory 413 to the monitor device 2 every time the interrupt signal 414 is input. In this way, the execution result of the control device 1 can be monitored for each step.
[0071]
When the control device 1 executes the control program for each scan, the CPU 201 of the monitor device 2 notifies the CPU 11 of the control device 1 to that effect. At this time, the CPU 11 of the control device 1 stores the scan execution mode, and after the sequence calculation processor 14 executes one scan of the control program, the monitor device 2 displays the contents of the variable data stored in the data storage memory 413. And waits for instructions from the operator to start the next scan. In this way, the execution result of the control device 1 can be monitored for each scan.
[0072]
Therefore, according to the present embodiment, since the control device 1 executes the control program for each step or each scan, the amount of variable data transmitted from the control device 1 to the monitor device 2 is enormous. When the transmission time is delayed as compared with the execution time of the control program in the control device 1, the operation in the control device 1 can be waited for an appropriate time. Variable data can be collected reliably.
[0073]
In the present embodiment, only the control device 1 executes the control program for each step or each scan. However, the monitor device 2 may execute the control program for each step or each scan. Good.
[0074]
In such a case, it is possible to cause the control device 1 and the monitor device 2 to execute the control program for each step or each scan, and to compare the execution results of both in real time.
[0075]
【The invention's effect】
As explained above, First According to the present invention, it is possible to compare the execution result by the control device and the accurate execution result by the monitor device, so that the validity of the execution result by the control device can be easily determined.
[0076]
2nd and 3rd According to the present invention, since the monitor device is placed in an environment that is not easily affected by noise such as a control room, or the monitor device is operated at a low speed, an accurate execution result can be reliably obtained by the monitor device. It is possible to accurately determine the validity of the execution result by the control device.
[0077]
4th and 5th According to the present invention, since an enormous amount of execution results and variable data are limited to a certain range, the validity of the execution results by the control device can be determined efficiently.
[0078]
6th According to the present invention, the variable data used in the control device can be made to correspond correctly to the variable data used by the monitor device, and the same calculation as that executed in the control device can be performed in the monitor device. Therefore, it is possible to accurately determine the validity of the execution result by the control device.
[0079]
7th According to the present invention, since it is possible to determine whether the cause of the error in the execution result is due to the input variable data or the logic of the control program, the validity of the execution result by the control device can be determined. Can be determined more accurately.
[0080]
8th According to the present invention, the execution result by the control device, the execution result by the monitor device, and the used variable data can be displayed side by side so that the operator can easily view them. Can be easily determined.
[0081]
9th According to the present invention, since it is possible to wait for an appropriate time for calculation in the control device, the monitor device can reliably collect all the variable data from the control device.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a monitor system of a control device according to a first embodiment.
FIG. 2 is a diagram illustrating a configuration of a sequence calculation processor 14;
FIG. 3 is a flowchart of processing when the control device 1 executes a control program.
4 is a diagram showing a configuration of a monitor device 2. FIG.
FIG. 5 is a flowchart of processing when the monitor device 2 executes a control program.
FIG. 6 is a diagram illustrating an example of a state in which the control device 1 has compiled a control program.
7 is a diagram illustrating the order of monitor data transmitted from the control device 1 to the monitor device 2. FIG.
FIG. 8 is a table showing correspondences between variable names and data memory addresses.
9 is a diagram showing the structure of a data memory 205 and a verification data memory 501 of the monitor device 2. FIG.
10 is a diagram illustrating an example of a display format on the screen of the display device 211. FIG.
FIG. 11 is a diagram showing a mechanism that can arbitrarily set input variable data used to verify the execution result by the control device;
FIG. 12 is a diagram showing a configuration of a monitor system of a conventional control device.
FIG. 13 is a flowchart of processing when a conventional control device 51 executes a control program.
[Explanation of symbols]
1,51 ... Control device
2,52 ... Monitor device
3, 53 ... Transmission path
11, 201 ... CPU
12, 202 ... Program memory
13, 203 ... Work memory
14 Sequence processor
15, 204 ... Control program memory
16, 205 ... Data memory
17,207 ... System bus
18, 208 ... communication interface
19,209 ... I / O interface
206 ... display interface
210 ... Input device
211 ... Display device
401. Sequence operation circuit
402: Internal register
403 ... Sequence instruction pointer
404 ... Sequence instruction register
405 ... Operand data register
406 ... Monitor start address register
407: Monitor end address register
408: Monitor instruction address register
409 ... Comparison circuit
410: Data accumulation control circuit
411 ... Step monitor designation flag
412 ... Accumulated data counter
413 ... Data storage memory
501 ... Data memory for verification
502 ... Setting data memory

Claims (9)

制御装置とこの制御装置よりも有利な条件下に置かれたモニタ装置を備えた制御装置のモニタシステムであって、
前記制御装置は、
制御装置が制御プログラムを実行した結果モニタ装置に送信する実行結果送信手段を有し
前記モニタ装置は、
前記制御装置が実行した制御プログラムと同一の制御プログラムを実行する実行手段と、
前記実行結果送信手段により送信されてきた実行結果と前記実行手段により得られた実行結果とを表示する表示手段と、
を有することを特徴とする制御装置のモニタシステム。
A control device monitoring system comprising a control device and a monitoring device placed under conditions more advantageous than the control device,
The controller is
It has an execution result transmitting means for transmitting a result of the control unit executes the control program on the monitor,
The monitor device is
Execution means for executing the same control program as the control program executed by the control device;
Display means for displaying the execution result transmitted by the execution result transmission means and the execution result obtained by the execution means;
A control system monitor system comprising:
請求項記載の制御装置のモニタシステムにおいて、
前記制御装置は、制御プログラムが使用した変数データを収集する収集手段と、
前記収集手段により収集された変数データを使用された順序で前記モニタ装置に送信する変数送信手段と、を有し、
前記モニタ装置の実行手段は、前記制御プログラムを実行する際に、前記制御装置から送信されてきた変数データを送信の順序で用いることを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to claim 1 ,
The control device includes collection means for collecting variable data used by the control program;
Have a, a variable transmission means for transmitting to said monitoring device in the order using the variable data collected by said collecting means,
The monitoring device execution system uses the variable data transmitted from the control device in the order of transmission when executing the control program .
請求項1又は2記載の制御装置のモニタシステムにおいて、
前記有利な条件は、前記制御装置が配置された環境よりもノイズの影響を受けにくい環境であることを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to claim 1 or 2 ,
The favorable conditions under the monitoring system of the control device, wherein the control device is susceptible noise interface than the arrangement environment.
請求項1乃至3のいずれかに記載の制御装置のモニタシステムにおいて、
前記有利な条件は、前記制御装置よりも前記モニタ装置の方が低速で動作することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to any one of claims 1 to 3 ,
The lower favorable conditions, monitoring system of the control device towards the control device the monitoring device than is characterized in that it operates at low speed.
請求項1乃至のいずれかに記載の制御装置のモニタシステムにおいて、
前記実行結果送信手段は、制御プログラムについて指定されたモニタ範囲における実行結果を送信することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to any one of claims 1 to 4 ,
The execution result transmitting means transmits an execution result in a monitor range designated for the control program.
請求項記載の制御装置のモニタシステムにおいて、
前記モニタ装置は、前記変数送信手段により送信されてきた変数データを、制御プログラムの実行手順に基づいて変数名と関連付けて記憶する記憶手段を有することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to claim 2 ,
The monitoring system for a control device, characterized in that the monitoring device has storage means for storing the variable data transmitted by the variable transmission means in association with a variable name based on an execution procedure of the control program.
請求項6記載の制御装置のモニタシステムにおいて、
前記モニタ装置は、前記記憶手段により記憶された変数データと、これとは別に設定された変数データとを選択する選択手段を有し、
前記実行手段は、前記選択手段により選択された変数データを用いて制御プログラムを実行することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to claim 6,
The monitor device includes a selection unit that selects variable data stored by the storage unit and variable data set separately from the variable data.
The control system monitoring system, wherein the execution means executes a control program using the variable data selected by the selection means.
請求項1乃至7のいずれかに記載の制御装置のモニタシステムにおいて、
前記表示手段は、前記制御装置による実行結果と、前記モニタ装置による実行結果と、前記制御装置又は前記モニタ装置の少なくとも一方が使用した変数データとを指定された順序で表示することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to any one of claims 1 to 7,
The display means displays an execution result by the control device, an execution result by the monitor device, and variable data used by at least one of the control device or the monitor device in a specified order. Control system monitor system.
請求項1乃至8のいずれかに記載の制御装置のモニタシステムにおいて、
前記制御装置は、制御プログラムをステップ毎またはスキャン毎に実行する実行手段を有することを特徴とする制御装置のモニタシステム。
In the monitor system of the control device according to any one of claims 1 to 8,
The control apparatus has a control unit that executes a control program for each step or for each scan.
JP2000063682A 2000-03-08 2000-03-08 Control device monitor system Expired - Fee Related JP3715499B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000063682A JP3715499B2 (en) 2000-03-08 2000-03-08 Control device monitor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000063682A JP3715499B2 (en) 2000-03-08 2000-03-08 Control device monitor system

Publications (2)

Publication Number Publication Date
JP2001255935A JP2001255935A (en) 2001-09-21
JP3715499B2 true JP3715499B2 (en) 2005-11-09

Family

ID=18583510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000063682A Expired - Fee Related JP3715499B2 (en) 2000-03-08 2000-03-08 Control device monitor system

Country Status (1)

Country Link
JP (1) JP3715499B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104434A (en) * 2007-10-24 2009-05-14 Koyo Electronics Ind Co Ltd Method for displaying ladder diagram on monitor screen
JP2013054636A (en) * 2011-09-06 2013-03-21 Jtekt Corp Monitoring device for programmable controllers
US10769049B2 (en) 2016-10-17 2020-09-08 Mitsubishi Electric Corporation Debugging support apparatus and debugging support method

Also Published As

Publication number Publication date
JP2001255935A (en) 2001-09-21

Similar Documents

Publication Publication Date Title
JPH03137518A (en) Diagnosing apparatus of fault
CN107037294A (en) The detection method and detecting system of a kind of host computer, frequency conversion integrated board
US20100312541A1 (en) Program test device and program
JP3715499B2 (en) Control device monitor system
US12112149B2 (en) Program creation assistance device
JP4786164B2 (en) Plant monitoring and control system
JP4842541B2 (en) Display device for control, screen data generation device, and program and recording medium thereof
JP2700562B2 (en) Loom trouble diagnosis device
EP0480657A2 (en) Information processing apparatus
US8626395B2 (en) Method for processing data in an influencing device
JPH0344708A (en) Plant supervisory operating device
JP3015793B1 (en) Programmable controller
CN114745257A (en) Data frame debugging method, device, equipment and storage medium
JPH03286303A (en) Sequence control test system
CN121165424B (en) Controller capable of adjusting load port, control method, device and storage medium
KR100289831B1 (en) Rom data verification circuit
JP2616613B2 (en) Programmable controller
US9110460B2 (en) Management system for operation items used in manufacturing
JP3813756B2 (en) Programmable controller
JPH0823609A (en) Field equipment inspection system
JPS59128652A (en) Program testing method using display device
JP3414038B2 (en) Programmable controller
JP2625571B2 (en) Online system test method
JP2003228417A (en) Control system
JP2025122905A (en) Simulator system and simulation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050825

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

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees