JP5045940B2 - Plcのシミュレーション装置 - Google Patents

Plcのシミュレーション装置 Download PDF

Info

Publication number
JP5045940B2
JP5045940B2 JP2008116197A JP2008116197A JP5045940B2 JP 5045940 B2 JP5045940 B2 JP 5045940B2 JP 2008116197 A JP2008116197 A JP 2008116197A JP 2008116197 A JP2008116197 A JP 2008116197A JP 5045940 B2 JP5045940 B2 JP 5045940B2
Authority
JP
Japan
Prior art keywords
plc
abnormality
abnormal
information
memory
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.)
Active
Application number
JP2008116197A
Other languages
English (en)
Other versions
JP2008293488A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2008116197A priority Critical patent/JP5045940B2/ja
Publication of JP2008293488A publication Critical patent/JP2008293488A/ja
Application granted granted Critical
Publication of JP5045940B2 publication Critical patent/JP5045940B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the 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/13Plc programming
    • G05B2219/13174Pc, computer connected to plc to simulate machine
    • 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/13Plc programming
    • G05B2219/13185Software function module for simulation

Landscapes

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

Description

この発明は、プログラマブル・コントローラ(以下、「PLC」と言う)のシミュレーション装置に関する。
一般的なPLCの機能として、PLCはハードウェアに起因する異常や通信に起因する異常の発生を記憶するためのメモリを保持している。異常発生のの有無の状態はたいていの場合ビットで表され、異常なしなら“0”、異常ありなら“1”となる。
PLCで実行されるユーザが作成するプログラム(ユーザプログラムと呼ぶ)は、これらのPLCの異常発生を検知し、これらに対応した処理(異常処理と呼ぶ)を記述することが一般的である。これらの異常処理が記述されていないと、システムを運用後、万が一PLCの故障等が発生した場合に、システムが正しく止まらなかったり、異常発生を検知しなかったりすることになり、システムに甚大な影響を及ぼす。
図28に、一般的なPLCの異常発生を検出するユーザプログラムの例を示す。AR402.12(基本IO異常)、AR402.08(INNERボード異常)、AR402.07(CPU高機能ユニット異常)、AR402.06(高機能IOユニット異常)が異常発生を記憶するメモリのアドレスであり、これらのアドレスに対応するフラグがOnになった場合、運転継続可能なCPUユニットのハードウエア異常と検知し、異常処理を行う。
これらの異常発生を記憶するメモリは通常、ユーザプログラムで誤って書き換えてしまわないように、リードオンリーにすることが一般的である。このとき、異常処理が正しく動作することを確認するために、異常を故意的に発生させる必要がある。
異常を故意的に発生させるもっとも原始的な方法は、実際に異常を発生する状況を物理的に作り出す方法である。この場合、ユニットを取り外したり通信ケーブルを抜くなどして、異常を故意に発生させることを試みる。しかし、ハードウエアが故障しない限り発生しない異常もあるため、故意的に全ての異常を発生させることは困難である。
別の方法としては、異常を擬似的に発生させるための特別な命令(異常発生命令)を埋め込み、その異常発生命令が実行されることにより異常を擬似的に発生させてデバッグを行うことができる。図29は、異常を擬似的に発生させるユーザプログラムの一例を示している。異常を擬似的に発生するための特別な命令(図29の例では、FAL命令が該当)を含むプログラムを作成し、デバッグ用に利用する。しかし、この方法では、わざわざ異常発生のプログラムを作成する必要があり、手間である。また、その異常発生命令を実稼動時には削除する必要があり、作業忘れなどにより意図しない異常発生を起こしかねない。
PLCのデバッグをパソコン上で実現するシミュレーション機能も存在するが、実機と同じ操作性を実現しているために、上記異常発生を記憶するメモリも書き込み禁止となっているために異常状態をシミュレーション上で再現することはできない。
PLCの異常のデバッグでのもう1つの問題は異常処理の記述漏れである。マニュアルには色々な種類の異常やPLCの状態を示すフラグなどは異常発生を記憶するメモリに存在するが、多種多様な情報があるため、システムの中で、どのフラグをどうハンドリングしておけばよいかがわかりにくい。特に、機種やバージョンが変わるごとに異常としてハンドリングすべきフラグが増えたりすることにより、異常処理の記述漏れが発生し、システム稼動時に大きな問題となることがある。従来はマニュアルをできるだけわかりやすくするなどの方法がとられているが、異常記述漏れを防ぐ確実な方法とはなっていない。
なお、PLCおよび外部機器を接続せずにプログラムの検証を行なうPLCのプログラムのシミュレーション装置は、従来より知られている(特許文献1参照)。
特開2004−258926号公報
上述のように、従来、異常発生を検出するユーザプログラムの動作検証を目的として、異常発生を記憶するメモリ上の特定アドレスに割り付けたフラグの内容を異常相当値に変化させるためには、実際に異常事態を物理的に発生させたり、専用の異常発生命令をユーザプログラム中に組み込んで実行させる等の方法があったが、前者は適用可能な異常が僅かしかなく、広く異常一般に適用することは困難である一方、後者は目的とするフラグの内容を仮想的に異常相当値に変化させることはできるものの、その専用の異常発生命令をユーザプログラム中から除去し忘れると、稼働中に不測の事態を招く虞が想定され、採用が躊躇されがちである。
また、そもそも、そのような専用の異常発生命令が使用できるとしても、一般のPLCの異常発生を記憶するメモリ内には極めて多数のフラグが存在することに加えて、各フラグの意味内容を正確に理解するには、操作マニュアル等が提供するガイド用のメモリマップ等の無味乾燥な図表を参照するほかはなく、そのため、フラグ群の内容理解の不足から、ユーザプログラムを作成する際に適切なフラグを参照する命令を組み込み忘れたり、不適切なフラグを参照する命令を組み込む等により、異常発生時にシステムを十分に保護できないことも生じがちであった。
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、そのPLC機種ごとのいろいろな異常に対応するフラグの仕様を容易に理解させることができると共に、専用の異常発生命令を使用する場合のように、ユーザプログラム中に別途異常発生用の専用ロジックを組み込むことなく、所望するフラグの論理値を簡単な操作で異常相当値へと変化させることができ、それにより、デバックモードから稼働モードへの切換に際して、異常発生用の専用ロジックの削除忘れに起因する不測の誤動作の発生を危惧する必要もないようにしたPLCのシミュレーション装置を提供することにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
上述の技術的な課題は、以下の構成を有するPLCのシミュレーション装置により解決することができる。
すなわち、この発明のPLCのシミュレーション装置は、実PLCの動作をエミュレートする仮想PLCと、前記仮想PLCの開発支援装置として機能するツールと、前記仮想PLCに生ずる異常をシミュレートするためのエラーシミュレータとをコンピュータ上にてソフトウェア的に実現してなるものである。
前記仮想PLCには、前記ツールとの間における仮想通信機能を提供するための仮想通信ユニットと、前記仮想通信ユニットを介して前記ツールから受信されるエミュレートすべきPLCの機種情報を記憶するためのPLC機種情報メモリと、前記PLC機種情報メモリに格納されたPLC機種情報に対応する機種のPLCの動作をエミュレートするPLCシミュレーションエンジンと、前記PLCシミュレーションエンジンで実行されるべきユーザプログラムを記憶するためのユーザメモリ、前記PLCにて発生するハードウェア異常、通信異常等の様々な異常項目に関する異常発生の有無を示す異常情報を各異常項目別に記憶するための異常メモリ、入出力データを記憶するための入出力メモリ等の様々なメモリで構成されるPLC仮想メモリと、前記仮想通信ユニットを経由することなく、前記エラーシミュレータから当該仮想PLCへのアクセスを許容する機能を提供するためのシミュレーションエンジンインタフェースとが含まれている。
一方、前記エラーシミュレータには、PLCに発生し得る異常項目のそれぞれと、それらの異常項目に関する異常発生有無の情報が記憶される前記仮想PLC内の異常メモリのアドレスとの関係を少なくとも含むPLC異常情報を、PLCの機種毎に記憶させた機種別PLC異常情報メモリと、前記シミュレーションエンジンインタフェースを介して、前記PLC機種情報メモリからPLC機種情報を取り込むための機種情報取り込み部と、前記機種情報取り込み部を介して取り込まれた機種情報に対応するPLC機種のPLC異常情報を前記機種別異常情報メモリから取り込むための機種依存情報取り込み部と、前記機種依存情報取り込み部を介して取り込まれたPLC異常情報を構成する異常項目を前記コンピュータの画面に一覧表示することにより、ユーザに対して異常項目の選択及びその異常項目に関する異常発生有無の指定を促す表示部と、ユーザによる所定の操作により、前記異常項目の選択並びに前記異常発生有無の指定が行われたとき、前記シミュレーションエンジンインタフェースを介して、前記仮想PLCの異常メモリ内の該当するアドレスに、異常発生有無の指定に応じた情報を書き込むためのシミュレータPLC書き込み部とが含まれている。
このような構成によれば、前記ツールを介して前記仮想PLC内のPLC機種情報メモリに所望のPLC機種情報を記憶させたのち、前記コンピュータの画面上における異常項目の一覧表示を頼りとして、所定の異常項目選択操作並びに異常発生有無の指定操作を行うことにより、前記仮想PLC内の異常メモリの対応するアドレスの状態を、前記ツールの操作を経由することなく、所望の状態に設定することができる。
そのため、本発明によれば、そのPLCが提供する異常メモリの仕様を容易に理解させることができると共に、専用の異常発生命令を使用する場合のように、ラダー図プログラム中に別途異常発生用の専用ロジックを組み込むことなく、所望する異常ビットの論理値を簡単な操作で異常相当値へと変化させることができ、それにより、デバックモードから稼働モードへの切換に際して、復旧処理の失念に起因する不測の誤動作の発生を危惧する必要もないと言う利点がある。
上述の本発明において、前記エラーシミュレータの表示部は、前記ユーザにより選択された異常項目と選択されていない異常項目とが視覚的に区別可能、かつ前記指定された異常発生有無の状態が視覚的に区別可能となるように、前記コンピュータの画面上に、異常項目と異常メモリのアドレスとの関係を一覧表示する、ようにしてもよい。
このような構成によれば、現在、どの異常項目が選択された状態にあるか、またその選択された異常項目に関する異常発生有無の指定がどのような状態にあるかを視覚的に容易に理解できるから、異常項目の選択解除、異常発生有無の指定解除をし忘れる等の操作ミスを生じにくいと言う利点がある。
上述の本発明において、前記エラーシミュレータの機種別PLC異常情報メモリには、異常項目と異常メモリのアドレスとの関係に加えて、各異常項目の意味内容を示すテキスト情報が記憶されており、前記エラーシミュレータの表示部は、前記テキスト情報に基づいて、各異常項目の意味内容を示す文章を含めて、前記コンピュータの画面上に、異常項目を一覧表示する、ようにしてもよい。
このような構成によれば、単なる異常項目の一覧表示に加えて、各異常項目にはその意味内容を示す説明文が付されるため、多数の異常項目が存在する場合には、ユーザは各異常項目の中から最適な異常項目を容易に選択することができる。
上述の本発明において、前記エラーシミュレータの機種別PLC異常情報メモリには、
各PLC機種に発生する複数の異常項目が階層構造を含めて記憶されており、前記エラーシミュレータの表示部は、階層構造を明示する表示態様をもって、前記コンピュータの画面上に、異常項目を一覧表示する、ようにしてもよい。
このような構成によれば、階層構造を明示する表示態様をもって、異常項目は一覧表示されるため、例えば、複数の異常項目が互いに階層構造的に有機的関係にあるような場合には、それらの関係を一目瞭然に理解することが可能となる。
本発明によれば、そのPLCが提供する異常メモリの仕様を容易に理解させることができると共に、専用の異常発生命令を使用する場合のように、ラダー図プログラム中に別途異常発生用の専用ロジックを組み込むことなく、所望する異常ビットの論理値を簡単な操作で異常相当値へと変化させることができ、それにより、デバックモードから稼働モードへの切換に際して、復旧処理の失念に起因する不測の誤動作の発生を危惧する必要もないと言う利点がある。
以下に、本発明に係るPLCのシミュレーション装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
この実施形態におけるシミュレーション装置のシステム構成を図1に示す。同図に示されるように、図示のPLCのシミュレーション装置1は、オペレーティングシステム(OS)11と、通信ドライバ12と、ツール・アプリケーション13と、仮想PLC14と、エラーシミュレータ15とを含んで構成される。
ここで、ツール・アプリケーション13は、PLCの設計ツール131や表示器設計ツール132のほか、PLC監視、制御等のユーザアプリケーション133を含んで構成される。
仮想PLC14は、当業者にはよく知られているように、PC上に実PLC2をエミュレートする機能を提供するものである。この仮想PLC14内には、PLC情報141、PLCシミュレーションエンジン142、仮想通信ユニット143、PLC仮想メモリ144、シミュレーションエンジンIF(シミュレーションエンジンインタフェース)145が含まれている。
仮想通信ユニット143は、仮想PLC14において通信ユニットを仮想的に提供し、ツール・アプリケーション13に含まれるツールやユーザアプリケーションからのアクセスに対して、実機と同様のインタフェースを提供する機能モジュールである。シミュレーションエンジンIF145は、仮想PLC14にアクセスする際、仮想通信ユニット143経由ではなく直接仮想PLCユニットにアクセスするためのインタフェースを提供するものである。
エラーシミュレータ15は、のちに詳細に説明するように、異常情報を一覧で提供し発行できる機能を提供するものである。このエラーシミュレータ15には、異常履歴テーブル151と、異常履歴部152と、表示部153と、異常コントロール部154と、シミュレータPLC書き込み部155と、機種情報取り込み部156と、機種依存情報取り込み部157と、機種別PLC異常情報158と、ユーザ定義異常情報159とが含まれている。
ここで、機種別PLC異常情報158とは、PLCの機種ごとに異常の意味、対応アドレス、表示方法を記述した構造化テキストである。また、実PLC2は、実機のPLCを意味している。
なお、上記の機能構成により表されるシミュレーション装置1は、図2に示されるハードウェア構成を有するパソコン(PC)上で動作する。図2において、演算部101は、OS11を含めたそれぞれのソフトウェアを実行制御する。ROMもしくはHDD102は、それぞれのソフトウェアの実行モジュールを格納する。RAM103は、それぞれのソフトウェアが実行時に必要とするワーク領域(仮想PLCも異常メモリなど)を保持するのに使用する。通信制御部104は、PLC等の外部の機器との通信を制御するのに使用する。利用者への表示は表示部を介して行われる。これは一般的なPCのハードウェア構成と同じである。
次に、図1に示される機能構成を有するシミュレーション装置1の作用について、以下に、順を追って説明する。
(1)PLCの設計ツール131は、ユーザが指定したPLC機種に基づいて仮想PLC14に接続を行う。そのPLC機種の情報は、仮想PLC14の仮想通信ユニット143を介してPLCシミュレーションエンジン142に渡され、PLC機種情報141に格納される。これにより仮想PLC14はユーザが指定した機種のPLCをパソコン内でシミュレートすることとなる。
(2)エラーシミュレータ15で仮想PLC14に接続することにより、機種情報取り込み部156を介して仮想PLC14がシミュレートしているPLCの機種情報を取得する。
(3)取得した機種情報に対応した機種別PLC異常情報158から、機種依存情報取り込み部157を介して、機種に対応した異常一覧情報を取得する。異常一覧には発生させるべき異常の名称、内容、異常コード、異常発生時にOnさせるべきフラグのアドレス情報、異常発生に必要な追加情報、追加情報を入力させる方式を示す情報、などが含まれている。
(4)異常一覧情報をもとに文字情報や図情報などによりユーザに該当機種で発生する異常の一覧を表示部153に表示する。
(5)ユーザの異常選択により、発生させるべき異常を決定する。異常は複数同時に選択しても良い。
(6)決定した異常を、仮想PLC14のシミュレーションエンジンIF145に発行する。
(7)シミュレーションエンジンIF145では、指定された仮想PLC14の異常を格納する異常メモリ144dに対して異常情報を記述する。このシミュレーションエンジンIF145は、仮想通信ユニット143からのアクセスとは異なり、仮想PLC14のメモリエリア(144b,144c,144d)を自由に更新できる。このため、ツール・アプリケーション13からのアクセスに対しては読み込み専用である異常メモリ144dの値をエラーシミュレータ15は変更することができる。
(8)ユーザプログラムは異常メモリに異常が書き込まれたことにより異常処理を実行する。また、ツール・アプリケーション13も仮想PLC14で発生した異常に対応した動作を行う。
(9)エラーシミュレータ15では、どの異常を発生させたかどうかがわかるよう、文字情報や図情報を更新する。
(10)ユーザはエラーシミュレータ15により発生させた異常を復旧させることができる。
(11)ユーザの異常選択により、発生解除させるべき異常を決定する。異常は複数同時に選択しても良い。
(12)決定した異常解除を、仮想PLC14のシミュレーションエンジンIF145に発行する。
(13)シミュレーションエンジンIF145では、指定された仮想PLCの異常を格納する異常メモリ144dに対して異常解除の情報を記述する。
(14)ユーザプログラムは、異常メモリ144dに異常解除が書き込まれたことにより異常解除処理を実行する。また、ツール・アプリケーション13も仮想PLC14の異常解除に対応した動作を行う。
そして、以上の構成よりなるPLCのシミュレーション装置1によれば、次のような、格別の作用効果を奏するものである。
(1)異常を一覧で表示できる。これによりユーザがマニュアル等でどの異常に対して処理を記述すべきかを容易に理解でき、異常処理の記述漏れがなくなる。またこれらを実際に異常一覧から発生させることにより、もれなく異常処理を確認できる。
(2)異常を発生させるデバッグ用のプログラムを設計、デバッグする必要がない。またこのデバッグ用プログラムを運転稼動時に取り除く処理が必要がなくなり、抜き取りミスを防止できる。
(3)異常一覧より異常を発生させたもの、復旧させたものについては異常一覧の文字色、背景色、図形などを変化せせることにより、どの異常については確認を実施したから記述することができる。
次に、図1及び図2を参照しながら説明したPLCのシミュレーション装置1の動作をより詳細に説明する。
まず、異常が発生した場合における異常メモリの該当ビットの状態変化について説明する。異常メモリの内容の一部を表にして示す図が図3に示されている。
(1)同図に示されるように、PLCシステムの異常が発生すると、異常メモリのあるフラグがOnになる。図示の例の場合には、異常(この場合は、メモリ異常)が発生すると、A40115アドレスがOnになる。
(2)PLCシステムの異常が発生すると、異常内容通知エリアにエラーコードが記述される。図示の例にあっては、異常コード格納エリア(A400)にエラー内容を示すコードが記述される。
(3)異常メモリは、異常ごとに、必要により異常の詳細情報を格納するエリアを有する。例えば、上記のメモリ異常の場合、A40300−A40309の内容により、どのようなメモリ異常であるかが明確になる。
次に、PLCのユーザプログラムやツール・アプリケーション13では、異常が発生していた場合、上記のエリアの変化を検知し異常に対する処理を記述することとなる。そして、これらの処理が正しく動作するかどうかをデバッグ時に確認を行なう。
機種別PLC異常情報158の一部を示すXMLフォーマットで表現した例が図4に示される。また、そのXMLフォーマットで表現する場合の項目を説明する例が図5に示されている。同図に示されるように、PLCの機種ごとにこのような異常情報を記述したリストを用意する。この例では、XMLの記述形態で記述しているが、リレーショナルデータベースの形態や、データを区切り記号でつなげた形式など、形式は何でもかまわない。
次に、異常履歴テーブル151の内容が図6に示されている。同図に示されるように、異常履歴テーブル151は、発生可能な異常の一覧が表形式で記述されており、機種別PLC異常情報158(図1参照)を読み込むことにより作成される。このテーブルは、異常が発生した日時(発生日時)、発生解除した日時(復旧日時)、異常コード、現在の異常ステータス(異常を一度も発生させていない、異常を発生させた状態、異常を発生後復旧させた状態)などの情報を含む。
図6の例ではメモリ異常のIOテーブルチェックサム異常について発生2007/03/16 12:21:34に異常を発生させている。また、IOバス異常は2007/03/16 12:25:04に発生させ、2007/03/16 12:26:15に復旧させていることがわかる。異常ステータスはそれぞれ発生中(Genarated)と解除完了(Cleared)を示している。
このテーブルは、異常一覧の中で発生させたもの、および発生させたあと復旧したもの、まだ発生させていないものなどを色を分けて表示するとき活用される。異常シミュレーション画面での異常発生、復旧の表示イメージを図20に示す。この情報をファイルとして格納することにより、異常テスト実行記録として活用できる。異常シミュレーション画面イメージの一例を図7に示す。さらに、発生させている異常をまとめて解除する場合、異常ステータスがGeneratedになっている異常を全て異常解除することにより、発生させた異常の一括解除が行える(図7のClearAllボタン参照)。
異常シミュレーション一覧表示処理を示すフローチャートが図8に示されている。同図において、処理が開始されると、異常シミュレーション部は仮想PLCのシミュレーションエンジンIFに接続し(ステップ101)、続けてシミュレーションエンジンIFからPLCの機種情報を取得する(ステップ102)。ここで、機種情報はツール・アプリケーション13に含まれるツール、またはユーザアプリケーションが仮想PLCに接続された段階で設定されている。
次いで、機種情報に対応した機種別PLC異常情報ファイルが開かれ(ステップ103)、ErrorGroup/ErrorSubGroup/Errorの各内容を元にエラーが階層的に画面表示される(ステップ104)。ここで全ての異常についての一覧表示が完了していない場合には(ステップ105NO)、ステップ104に戻りエラーの階層表示を繰り返す。一方、全ての異常についての一覧表示が完了した場合には(ステップ105YES)、読み込んだ異常一覧を元に異常履歴テーブルが作成され、異常が未発生状態とされる(ステップ106)。ここで、異常が未発生状態とされるとは、図6に示される異常履歴テーブルの例の場合、発生日時、復旧日時、異常コード、異常ステータスの欄が全て空白にするという意味である。
このように、エラーシミュレータ15は仮想PLC14のシミュレーションエンジンIF145に対して接続する。PLCシミュレーションエンジン142との通信方法はエラーシミュレータ15からPLCシミュレーションエンジンIF145に対してコマンドを送信して通信を行うコマンド通信方式でも、共通のメモリにデータを書くことにより情報を共有する共有メモリ方式など、どのような方法でもかまわない。仮想PLC14のメモリを直接共有メモリとして公開してもよい。この場合、シミュレーションエンジンIF145としては特に処理を行う必要はなく、エラーシミュレータ15で共有メモリに反映した異常内容がダイレクトに仮想PLCメモリに反映される。
仮想PLCの処理の概要を示すゼネラルフローチャートが図9に、またシミュレーションエンジンIF処理の詳細を示すフローチャートが図10に示されている。本例ではコマンド通信による例をベースに記述している。なお、図9の例では、通信方式としてはコマンド通信によるものが採用されている。同図の処理が開始されると、先ず始めにシステム共通処理が実行され(ステップ201)、次いでIO更新処理(ステップ202)、ユーザプログラム実行処理(ステップ203)、仮想通信ユニット処理(ステップ204)、シミュレーションエンジンIF処理(ステップ205)、ツール処理(ステップ206)が順次実行される。処理を継続する場合には同様にしてステップ201〜ステップ206の処理を繰り返し(ステップ207NO)、処理を終了する場合には(ステップ207YES)、同図に示された処理は終了となる。なお、ステップ205のシミュレーションエンジンIF処理については、後段にて詳細に説明する。
次いで、図10に示されたシミュレーションIF処理の詳細について説明する。なお、このシミュレーションIF処理は、図9のステップ205に相当する。シミュレーションエンジンIF処理が開始されると、先ず始めに共有メモリのシミュレーションエンジンIF受信処理が実行され(ステップ2051)、受信処理が行われると続けて処理内容の判別が実行される(ステップ2052YES、ステップ2053)。ここで、処理内容がPLC仮想メモリ反映だった場合には(ステップ2053PLC仮想メモリ反映)、受信した内容をPLC仮想メモリに反映して処理を終了する(ステップ2054)。一方、処理内容が機種情報読出しであった場合には(ステップ2053機種情報読出し)、PLC機種情報を送信して処理を終了する(ステップ2055)。なお、ステップ2052において受信が行われなかった場合には(ステップ2052NO)、そのまま処理を終了する。
このように、エラーシミュレータ15は、仮想PLC14のシミュレーションエンジンIF145に対して機種情報の取得を依頼する。仮想PLC14ではシミュレーションエンジンIF145の処理としてPLC機種情報141の呼び出し処理を受信し、仮想PLC14のPLC機種情報エリアに格納されている機種情報(たとえば「CJ1M−CPU63」)の情報をエラーシミュレータ15に返す。
そして、エラーシミュレータ15は、PLC機種情報141を元に、機種別PLC異常情報ファイル158をオープンし、この記述内容を読み込む。たとえばCJ1M−CPU63機種に対応した機種別PLC異常情報は「PLC_CJ1M_CPU63」などのPLC機種情報はErr_CJ1M_CPU63.xmlなどと機種情報を含むファイルで構成することにより、該当する情報をロードすることができる。あるいは、機種情報をリレーショナルデータベース(RDB)で構築し、機種情報をキーに該当異常の一覧の検索する、といった方式も考えられる。
エラー一覧画面イメージの一例を示す図(その1)が図11に、またエラー一覧を記述した機種別PLC異常情報の一例を示すXMLファイル(その1)が図12にそれぞれ示されている。
<ErrorGroup>中に、<ErrorSubGroup>が複数存在し、さらに1つの<ErrorSubGroup>の中に複数のエラー(<Error>)が存在するような記述方式である。たとえば、図11のエラー一覧の例を機種別PLC異常情報ファイルに表すと図12のようになる。この例ではわかりやすくするために各異常(たとえばメモリ異常)の詳細情報についての記述を省略している。この機種別PLC異常情報ファイルを読み込むことにより、図11のように異常の一覧を表示することができ、換言すれば、図7に示されるような異常の一覧が表示される。
エラー一覧画面イメージの一例を示す図(その2)が図13に、またエラー一覧を記述した機種別PLC異常情報の一例を示すXMLファイル(その2)が図14にそれぞれ示されている。CS1Dは2重化対応機種のため、CJ1Mでの異常に加え2重化の異常などが追加されている。このため、これに対応した機種別PLC異常情報ファイル(図14参照)を読み込むことにより別の異常一覧を表示することができる。
図7に示される画面において、異常を選択すると、異常の詳細情報が表示される。図4は、図12で示した機種別PLC異常情報ファイルを、エラーの詳細に至るまで記述した例である。図7ではメモリ異常の詳細がErrorDetailPattern情報として記述されている。
異常の詳細設定の一例が図15に示されている。同図は、異常リストの内のメモリ異常に対する詳細情報の例を示すものである。PLCの異常は異常の種類によりさらにその詳細原因を認識するための付加情報が必要になることが多い。
たとえば、メモリ異常であれば、PLCのメモリのうちどこでメモリ異常が発生したのかがわかる必要があり、またIOバス異常ではどのラック、スロットで異常が発生したかを認識したい。このときの異常情報の登録の仕方はそれぞれ異なるため、異常詳細情報を登録するための仕組みを機種別PLC異常情報ファイルで登録できるようにしている。
たとえば、図4ではメモリ異常を表示するためのリストボックスを使い、このリストとして選択できる項目として、「プログラムチェックサム異常」、「PLCシステム設定チェックサム異常」、「IOTableチェックサム異常」、「ルーチングテーブルチェックサム異常」などが選択でき、これらのリストから選択されたリストに対応したアドレス、たとえば「プログラムチェックサム異常」ならAR40300のアドレスで示されるフラグをOnにすればよいことがわかる。
異常シミュレーションにおける異常発生処理を示すフローチャート(その1、その2)が図16、図17に、異常シミュレーション画面における異常発生、復旧のイメージが図20に示されている。図16及び図17において処理が開始されると、先ずはじめに一覧の中から発生させる異常をユーザに選択させて(ステップ301)、選択された異常に対応する<Error(Description)>の値を異常説明(Error Detailed Description)に記述する(ステップ302)。次いでErrorControlのタイプ判定を行い、タイプがListであった場合には(ステップ303List)、Listの選択肢としてErrorAddressのDescriptionを表示しユーザにリストを選択させ(ステップ304、ステップ305)、ユーザの選択に対応したアドレスに対応するフラグをOnにするようにシミュレーションエンジンIFに通知する(ステップ306)。一方、タイプがSpinであった場合には(ステップ303Spin)、ErrorAddressに対応したSpinコントロールを表示させ、また、コントロールの説明としてDescriptionを表示させる(ステップ307)。次いでユーザに値を入力させ(ステップ308)、Spinコントロールで入力された値をアドレスに対して書き込むようにシミュレーションエンジンIFに通知する(ステップ309)。また、タイプがEditであった場合には(ステップ303Edit)、ErrorAddressに対応したEditコントロールを表示させ、また、Editコントロールの説明としてDescriptionを表示させる(ステップ310)。次いでユーザに値を入力させ(ステップ311)、Editコントロールで入力された値をアドレスに対して書き込むようにシミュレーションエンジンIFに通知する(ステップ312)。
ステップ306,ステップ309,ステップ312のいずれかによるシミュレーションエンジンIFへの通知が終了すると、続けてErrorAddressのAddToErrorCodeの判定が行われる(ステップ313)。判定結果がTRUEだった場合にはErrorAddressのValueをErrorCodeの値に加算して次のステップに進み(ステップ313TRUE、ステップ314)、判定結果がFALSEだった場合には加算を行わずにそのまま次のステップに進む(ステップ313FALSE)。
次に、ErrorCodeを異常メモリの異常コード格納エリアにセットするようにシミュレーションエンジンIFに通知を行い(ステップ315)、続いて選択した異常に対応するErrorFlagのアドレスに対応するフラグをOnにするようにシミュレーションエンジンIFに通知を行う(ステップ316)。次いで、選択された異常が実行されたことを示す異常履歴テーブルの該当異常に異常発生を記録し(ステップ317)、異常履歴テーブルにおいて異常発生を示す異常に対して表示色を変更することで(ステップ318)、図16,17に示された処理を終了する。
次に、異常シミュレーションにおける異常復旧処理を示すフローチャートが図18,19に示されている。処理が開始されると、先ずはじめに一覧の中から解除したい異常をユーザに選択させ(ステップ401)、次いでErrorControlのタイプ判定を行う(ステップ402)。タイプがListであった場合には(ステップ402List)、ErrorAddressのアドレスに対応するフラグをOffするようにシミュレーションエンジンIFに通知する(ステップ403)。一方、タイプがSpinであった場合には(ステップ402Spin)、ErrorAddressのアドレスに対して0を書き込むようにシミュレーションエンジンIFに通知する(ステップ404)。また、タイプがEditであった場合には(ステップ402Edit)、ErrorAddressのアドレスに対して0を書き込むようにシミュレーションエンジンIFに通知する(ステップ405)。
ステップ403,ステップ404,ステップ405のいずれかによるシミュレーションエンジンIFへの通知が終了すると、次にErrorCode=0を異常メモリの異常コード格納エリアにセットするようにシミュレーションエンジンIFに通知を行い(ステップ406)、続いて選択した異常に対応するErrorFlagのアドレスに対応するフラグをOffにするようにシミュレーションエンジンIFに通知を行う(ステップ407)。次いで、選択された異常が解除されたことを示す異常履歴テーブルの該当異常に異常発生を記録し(ステップ408)、異常履歴テーブルにおいて異常解除を示す異常に対して表示色を変更することで(ステップ409)、図18,19に示された処理を終了する。
このように、たとえばユーザが異常一覧からメモリ異常を選択した場合、図12から<Error>のDescriptionが「運転停止異常のメモリ異常の発生」であるため、この情報が異、図7のError Detail Description(エラー詳細情報)の欄に表示される。
また、図4および図15より、「メモリ異常」に対応する<ErrorControl>のTypeはListであるため、リストコントロールを図7のSub Error Detail informationに配置する。
また、リストの内容としては図4のメモリ異常に対応した<ErrorAddress>のDescriptionに記述されている「プログラムチェックサム異常」、「PLCシステム設定チェックサム異常」、「IOTableチェックサム異常」、「ルーチングテーブルチェックサム異常」などを表示し、ユーザに選択させる。ユーザは、リストより選択後、図7の「Generate Error」などを選択し、エラー発生を指示する。
異常シミュレータは選択されたエラー詳細情報、たとえば「IOTableチェックサム異常」に対応した<ErrorAddress>のAddressにセットされているアドレス AR40305をTypeで指定された“Bit”データとして仮想PLCのシミュレーションエンジンIFに対してOnするように依頼する。併せて、<Error>のAddToErrorCodeがTRUEなので、<Error>のErrorCode 80F1にValueの値を加算した値80F4をエラーコード格納エリア(AR400)にセットするように仮想PLCのシミュレーションエンジンIFに指示する。さらに<Error>のErrorFlag AR40115をOnにするように仮想PLCのシミュレーションエンジンIFに指示する。
また、異常を発生させたことを図6の異常発生テーブルに登録する。併せて、異常発生の記録を図7のError Simulator Logエリアに表示する。また、図7の表示画面のメモリ異常の行の色を異常発生済みの色に変更する。
次に、別の実施形態について説明する。たとえば、PLCのメモリ状況を監視して表示する表示アプリケーションでは、複数の異常が同時に発生した場合、どの異常を優先的に処理するかなどについて規定し、この通り動作するかどうかを確認したい場合がある。このような場合、異常シミュレーションは、複数の異常を同時に発生させるようにすることも可能である。
複数の異常を同時に選択させるための画面イメージが図21に、また複数の異常を同時に選択可能とするための処理が図22,図23、及び図24のフローチャートに示されている。さらに、異常詳細情報設定ダイアログの画面イメージの一例を示す図が図25に示されている。
同図22に示されるように、処理が開始されると、先ずはじめに発生可能な異常の一覧表示上において、ユーザによる複数選択を受け付け(ステップ501)、選択された異常を発生させるユーザ指示を受け付ける(ステップ502)。ここでユーザによる異常発生の指示は、異常発生(Generate Error)ボタンを実行することで行われる。異常発生指示が行われると異常発行処理が実行され(ステップ503)、次いで、全ての選択済み異常について異常発行処理が行われたかの判定が実行される(ステップ504)。全ての選択済み異常について異常発行処理が終了するまでステップ503〜504が繰り返され(ステップ504NO)、一覧にある選択済み異常について順番にエラー発行処理が実行される。全ての選択済み異常について異常発行処理が終了すると(ステップ504YES)、同図に示された処理は終了となる。なお、ステップ503に示された異常発行処理については、後段にて詳細に説明する。
異常発行処理の詳細を示すフローチャートが図23,24に示されている。処理が開始されると、先ずはじめに選択されたErrorControlのタイプ判定が実行される(ステップ601)。タイプがListであった場合には(ステップ601List)、選択した異常情報(異常名、異常フラグ、異常コードなど)とあわせて、Listの選択肢としてErrorAddressのDescriptionを表示させた異常情報詳細設定ダイアログを表示してユーザにリストを選択させ(ステップ602、ステップ603)、ユーザの選択に対応したアドレスのフラグをOnにするようにシミュレーションエンジンIFに通知する(ステップ604)。一方、タイプがSpinであった場合には(ステップ601Spin)、選択した異常情報(異常名、異常フラグ、異常コードなど)とあわせErrorAddressに対応したSpinコントロールを表示させ、異常情報詳細設定ダイアログを表示し、Spinコントロールの説明としてDescriptionを表示させる(ステップ605)。次いでユーザに値を入力させ(ステップ606)、Spinコントロールで入力された値をアドレスに対して書き込むようにシミュレーションエンジンIFに通知する(ステップ607)。また、タイプがEditであった場合には(ステップ601Edit)、選択した異常情報(異常名、異常フラグ、異常コードなど)とあわせてErrorAddressに対応したEditコントロールを表示した異常情報詳細設定ダイアログを表示し、Editコントロールの説明としてDescriptionを表示させる(ステップ608)。次いでユーザに値を入力させ(ステップ609)、Editコントロールで入力された値をアドレスに対して書き込むようにシミュレーションエンジンIFに通知する(ステップ610)。
ステップ604,ステップ607,ステップ610のいずれかによるシミュレーションエンジンIFへの通知が終了すると、次にErrorCode=0を異常メモリの異常コード格納エリアにセットするようにシミュレーションエンジンIFに通知を行い(ステップ611)、続いて、選択した異常に対応するErrorFlagのアドレスに対応するフラグをOnにするようにシミュレーションエンジンIFに通知を行う(ステップ612)。次いで、選択された異常が実行されたことを示す異常履歴テーブルの該当異常欄に異常発生を記録し(ステップ613)、異常履歴テーブルにおいて異常発生を示す異常に対して表示色を変更することで(ステップ614)、図23,24に示された処理を終了する。
このように、異常を複数同時に選択する方法としてはいくつか考えられるが、図21に示されるように、エラーごとにチェックボックスを用意し、エラーのチェックボックスがオンになっているものを異常発生の対象とする。
また、異常は図21や図11に示すように階層的にあらわすことができる。たとえば図11ではCPU異常の中には運転停止異常(CPU_運転停止異常)と運転継続異常(CPU_運転継続異常)があり、さらに運転停止異常の中にメモリ異常、IOバス異常、サイクルタイムオーバーなどがある。これらの異常を発生させる場合、ある異常グループをまとめて発生できるようにすることも可能である。
図21において、“CPU Fatal hardware Errors” の中には“Memory Error” と“I/O Bus Error”が存在する。このとき“Memory Error”と“I/O Bus Error”の双方を発生させる場合“CPU Fatal hardware Errors”の前のチェックボックスを選択することで、“CPU Fatal hardware Errors”以下の全ての異常を選択することができる。
たとえば図21において「CPU Fatal Errors」をユーザが選択した場合、選択した異常の子レベルの異常がいるかどうかを選択するため子レベル異常選択処理を実行する。ここでは最初の子レベル異常である、「CPU fatal hardware Errors」をチェック状態とする。次にこの選択した子レベルの異常に孫レベルの異常があるかどうかを調べるために再度子レベル異常選択処理を再帰的に実行する。これにより、「CPU fatal hardware Errors」の下のMemory Errorをチェック状態とする。そして、これには孫レベルがいないので、これと同レベルのI/O Bus Errorを選択状態とする。そしてこれで同レベルの異常はないので、1つ上の「CPU fatal hardware Errors」のレベルに戻り、次の「CPU Fatal User Defined Errors 」のチェックを行う。そして、この孫レベル異常についても同様にチェックしていく。これにより「CPU Fatal Errors」以下の全ての異常を発生させることができる。
1つの異常グループを選択することで、係数の子レベルを同時に選択させる処理の概要を示すゼネラルフローチャートが図26に示されている。処理が開始されると、ユーザがチェックボックスを選択することによって一覧より異常を発生させるグループの選択が行われ(ステップ701)、ここで選択されたグループについて子レベルの異常選択処理が実行される(ステップ702)。なお、子レベルの異常選択処理については、図27にて詳細に説明する。
子レベル異常選択処理の詳細を示すフローチャートが図27に示されている。処理が開始されると、先ずはじめに選択された異常に子レベルの異常があるか否かの判定が行われ(ステップ801)、子レベルの異常がなかった場合には(ステップ801NO)、当該処理は終了となる。一方、子レベルの異常が存在した場合には(ステップ801YES)、最初の子レベルの異常のチェックボックスの選択を行い(ステップ802)、選択した子レベル異常の孫レベル異常選択処理を実行する(ステップ803)。次いで、全ての子レベルの異常が選択されたかの判定が行われ(ステップ804)、選択されていない異常が存在した場合には次の子レベルのチェックボックスを選択し(ステップ804YES、ステップ805)、全ての子レベルの異常を選択するまで処理を繰り返す(ステップ803〜805)。全ての子レベルの異常を選択し終えた場合には(ステップ804YES)、同図に示された処理を終了する。
この発明に係るPLCのシミュレーション装置によれば、そのPLCが提供する異常メモリの仕様を容易に理解させることができると共に、専用の異常発生命令を使用する場合のように、ラダー図プログラム中に別途異常発生用の専用ロジックを組み込むことなく、所望する異常ビットの論理値を簡単な操作で異常相当値へと変化させることができ、それにより、デバックモードから稼働モードへの切換に際して、復旧処理の失念に起因する不測の誤動作の発生を危惧する必要もない、と言った格別の作用効果を有する。
本発明に係るPLCのシミュレーション装置の機能構成図である。 本発明に係るPLCのシミュレーション装置のハードウエア構成図である。 異常メモリの内容の一部を表にして示す図である。 機種別PLC異常情報の一部をXMLフォーマットで表現した例である。 機種別PLC異常情報をXMLフォーマットで表現する場合の項目を説明する例である。 異常履歴テーブルの内容を示す図である。 異常シミュレーション画面イメージの一例を示す図である。 異常シミュレーション一覧表示処理を示すフローチャートである。 仮想PLCの処理の概要を示すゼネラルフローチャートである。 シミュレーションエンジンIF処理の詳細を示すフローチャートである。 エラー一覧画面イメージの一例を示す図(その1)である。 エラー一覧を記述した機種別PLC異常情報の一例を示すXMLファイルを示す図(その1)である。 エラー一覧画面イメージの一例を示す図(その2)である。 エラー一覧を記述した機種別PLC異常情報の一例を示すXMLファイルを示す図(その2)である。 異常の詳細設定の一例を示す図である。 異常シミュレーションにおける異常発生処理を示すフローチャート(その1)である。 異常シミュレーションにおける異常発生処理を示すフローチャート(その2)である。 異常シミュレーションにおける異常復旧処理を示すフローチャート(その1)である。 異常シミュレーションにおける異常復旧処理を示すフローチャート(その2)である。 異常シミュレーション画面上における異常発生、復旧の表示イメージを示す図である。 複数の異常を同時に選択させるための画面イメージを示す図である。 複数の異常を同時に選択可能とするための処理の概要を示すゼネラルフローチャートである。 異常発行処理の詳細を示すフローチャート(その1)である。 異常発行処理の詳細を示すフローチャート(その2)である。 異常詳細情報設定ダイアログの画面イメージの一例を示す図である。 1つの異常グループを選択することで、複数の子レベルを同時に選択させる処理の概要を示すゼネラルフローチャートである。 子レベル異常選択処理の詳細を示すフローチャートである。 異常発生を検知するユーザプログラムの例である。 異常を擬似的に発生させるユーザプログラムの例である。
符号の説明
1 PLCのシミュレーション装置
2 実PLC
11 OS
12 通信ドライバ
13 ツール・アプリケーション
14 仮想PLC
15 エラーシミュレータ
101 演算部(CPU)
102 ROM/HDD
103 RAM
104 通信制御部
105 表示部
131 PLC設計ツール
132 表示器設計ツール
133 ユーザアプリケーション
141 PLC機種情報
142 PLCシミュレーションエンジン
143 仮想通信ユニット
145 シミュレーションエンジンIF
144 PLC仮想メモリエリア
144a ユーザプログラム
144b,144c メモリ
144d 異常メモリ
151 異常履歴テーブル
152 異常履歴部
153 表示部
154 異常コントロール部
155 シミュレータPLC書き込み部
156 機種情報取り込み部
157 機種依存情報取り込み部
158 機種別PLC異常情報
159 ユーザ定義異常情報

Claims (4)

  1. 実PLCの動作をエミュレートする仮想PLCと、前記仮想PLCの開発支援装置として機能するツールと、前記仮想PLCに生ずる異常をシミュレートするためのエラーシミュレータとをコンピュータ上にてソフトウェア的に実現してなるものであって、
    前記仮想PLCには、
    前記ツールとの間における仮想通信機能を提供するための仮想通信ユニットと、
    前記仮想通信ユニットを介して前記ツールから受信されるエミュレートすべきPLCの機種情報を記憶するためのPLC機種情報メモリと、
    前記PLC機種情報メモリに格納されたPLC機種情報に対応する機種のPLCの動作をエミュレートするPLCシミュレーションエンジンと、
    前記PLCシミュレーションエンジンで実行されるべきユーザプログラムを記憶するためのユーザメモリ、前記PLCにて発生するハードウェア異常、通信異常等の様々な異常項目に関する異常発生の有無を示す異常情報を各異常項目別に記憶するための異常メモリ、入出力データを記憶するための入出力メモリ等の様々なメモリで構成されるPLC仮想メモリと、
    前記仮想通信ユニットを経由することなく、前記エラーシミュレータから当該仮想PLCへのアクセスを許容する機能を提供するためのシミュレーションエンジンインタフェースとが含まれており、
    前記エラーシミュレータには、
    PLCに発生し得る異常項目のそれぞれと、それらの異常項目に関する異常発生有無の情報が記憶される前記仮想PLC内の異常メモリのアドレスとの関係を少なくとも含むPLC異常情報を、PLCの機種毎に記憶させた機種別PLC異常情報メモリと、
    前記シミュレーションエンジンインタフェースを介して、前記PLC機種情報メモリからPLC機種情報を取り込むための機種情報取り込み部と、
    前記機種情報取り込み部を介して取り込まれた機種情報に対応するPLC機種のPLC異常情報を前記機種別異常情報メモリから取り込むための機種依存情報取り込み部と、
    前記機種依存情報取り込み部を介して取り込まれたPLC異常情報を構成する異常項目を前記コンピュータの画面に一覧表示することにより、ユーザに対して異常項目の選択及びその異常項目に関する異常発生有無の指定を促す表示部と、
    ユーザによる所定の操作により、前記異常項目の選択並びに前記異常発生有無の指定が行われたとき、前記シミュレーションエンジンインタフェースを介して、前記仮想PLCの異常メモリ内の該当するアドレスに、異常発生有無の指定に応じた情報を書き込むためのシミュレータPLC書き込み部とが含まれており、
    それにより、前記ツールを介して前記仮想PLC内のPLC機種情報メモリに所望のPLC機種情報を記憶させたのち、前記コンピュータの画面上における異常項目の一覧表示を頼りとして、所定の異常項目選択操作並びに異常発生有無の指定操作を行うことにより、前記仮想PLC内の異常メモリの対応するアドレスの状態を、前記ツールの操作を経由することなく、所望の状態に設定可能とした、ことを特徴とするPLCのシミュレーション装置。
  2. 前記エラーシミュレータの表示部は、
    前記ユーザにより選択された異常項目と選択されていない異常項目とが視覚的に区別可能、かつ前記指定された異常発生有無の状態が視覚的に区別可能となるように、前記コンピュータの画面上に、異常項目と異常メモリのアドレスとの関係を一覧表示する、ことを特徴とする請求項1に記載のPLCのシミュレーション装置。
  3. 前記エラーシミュレータの機種別PLC異常情報メモリには、
    異常項目と異常メモリのアドレスとの関係に加えて、各異常項目の意味内容を示すテキスト情報が記憶されており、
    前記エラーシミュレータの表示部は、
    前記テキスト情報に基づいて、各異常項目の意味内容を示す文章を含めて、前記コンピュータの画面上に、異常項目を一覧表示する、ことを特徴とする請求項2に記載のPLCのシミュレーション装置。
  4. 前記エラーシミュレータの機種別PLC異常情報メモリには、
    各PLC機種に発生する複数の異常項目が階層構造を含めて記憶されており、
    前記エラーシミュレータの表示部は、
    階層構造を明示する表示態様をもって、前記コンピュータの画面上に、異常項目を一覧表示する、ことを特徴とする請求項2に記載のPLCのシミュレーション装置。
JP2008116197A 2007-04-27 2008-04-25 Plcのシミュレーション装置 Active JP5045940B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008116197A JP5045940B2 (ja) 2007-04-27 2008-04-25 Plcのシミュレーション装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007120295 2007-04-27
JP2007120295 2007-04-27
JP2008116197A JP5045940B2 (ja) 2007-04-27 2008-04-25 Plcのシミュレーション装置

Publications (2)

Publication Number Publication Date
JP2008293488A JP2008293488A (ja) 2008-12-04
JP5045940B2 true JP5045940B2 (ja) 2012-10-10

Family

ID=39671805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008116197A Active JP5045940B2 (ja) 2007-04-27 2008-04-25 Plcのシミュレーション装置

Country Status (6)

Country Link
US (1) US7974828B2 (ja)
EP (1) EP1986063B1 (ja)
JP (1) JP5045940B2 (ja)
CN (1) CN101295173B (ja)
AT (1) ATE504029T1 (ja)
DE (1) DE602008005805D1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2385467A4 (en) * 2009-01-30 2012-10-24 Mitsubishi Electric Corp STATUS DISPLAY DEVICE
AU2010216283A1 (en) * 2009-02-20 2011-07-21 Sunpower Corporation Automated solar collector installation design including exceptional condition management and display
DE102009030842A1 (de) * 2009-06-26 2010-12-30 Siemens Aktiengesellschaft Emulation eines Automatisierungssystems
US8924788B2 (en) * 2010-06-28 2014-12-30 Intel Corporation Replaying architectural execution with a probeless trace capture
KR101472697B1 (ko) * 2010-10-27 2014-12-12 미쓰비시덴키 가부시키가이샤 로깅 설정 장치, 로깅 설정 방법 및 기록 매체
KR101132358B1 (ko) * 2011-03-31 2012-04-03 주식회사 유디엠텍 다중 피엘씨 시뮬레이션 시스템
KR101243441B1 (ko) * 2011-04-27 2013-03-13 엘에스산전 주식회사 재구성 가능한 컴포넌트 기반의 plc 시뮬레이터
EP2870527A4 (en) * 2012-07-05 2016-03-23 Lewa Process Technologies Inc SYSTEM AND METHOD FOR FASTER PROCESS CONTROL
US9720393B2 (en) 2012-08-31 2017-08-01 P.C. Automax Inc. Automation system and method of manufacturing product using automated equipment
JP5783992B2 (ja) * 2012-12-06 2015-09-24 三菱電機株式会社 プログラマブル表示器用画面データのシミュレーションシステムおよびシミュレーションソフトウェア、プログラマブル表示器
CN104516314A (zh) * 2013-09-28 2015-04-15 沈阳新松机器人自动化股份有限公司 基于机床上下料的仿真plc系统及其控制方法
CN103744341B (zh) * 2014-01-22 2016-10-05 北京金风科创风电设备有限公司 模拟风电机组运行的仿真方法和风电机组的plc 系统
DE102014002593A1 (de) * 2014-02-24 2015-08-27 Abb Technology Ag Dynamisches speicherprogrammierbares Steuergerät
KR101641853B1 (ko) * 2014-04-30 2016-07-21 미쓰비시덴키 가부시키가이샤 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
JP6549378B2 (ja) * 2015-01-09 2019-07-24 株式会社ジェイテクト プログラマブルコントローラのモニタ装置
JP6915441B2 (ja) * 2017-08-10 2021-08-04 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
CN109923483B (zh) 2017-09-05 2020-01-03 三菱电机株式会社 仿真装置以及仿真方法
JP6528820B2 (ja) * 2017-09-19 2019-06-12 カシオ計算機株式会社 コンピュータ、情報機器、これらを動作させるプログラム、情報処理システム、及び情報処理システムの制御方法
JP7297178B1 (ja) * 2022-08-01 2023-06-23 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法
CN117631606B (zh) * 2024-01-26 2024-04-05 深圳和润达科技有限公司 应用于电芯化成分容的plc模拟控制方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1427337A (zh) * 2001-12-21 2003-07-02 洛阳玻璃股份有限公司 开关量顺序控制过程的模拟仿真系统和模拟仿真方法
JP2004258926A (ja) 2003-02-25 2004-09-16 Matsushita Electric Works Ltd プログラマブルコントローラのプログラムのシミュレーション装置、及び方法
GB2403051A (en) 2003-06-17 2004-12-22 Rwl Consultants Ltd Logic controller programming system
US20050033457A1 (en) 2003-07-25 2005-02-10 Hitoshi Yamane Simulation aid tools and ladder program verification systems

Also Published As

Publication number Publication date
US20080281575A1 (en) 2008-11-13
JP2008293488A (ja) 2008-12-04
CN101295173B (zh) 2011-01-19
CN101295173A (zh) 2008-10-29
EP1986063B1 (en) 2011-03-30
EP1986063A2 (en) 2008-10-29
EP1986063A3 (en) 2009-08-05
DE602008005805D1 (de) 2011-05-12
US7974828B2 (en) 2011-07-05
ATE504029T1 (de) 2011-04-15

Similar Documents

Publication Publication Date Title
JP5045940B2 (ja) Plcのシミュレーション装置
US6421822B1 (en) Graphical user interface for developing test cases using a test object library
US6332211B1 (en) System and method for developing test cases using a test object library
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US8666709B1 (en) Verification and validation system for a graphical model
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
JP3407809B2 (ja) コンピュータ・アプリケーション・ソフトウェアの自動化試験システム
US7398514B2 (en) Test automation stack layering
US7433801B2 (en) Identifying and visualizing faults in PLC-based manufacturing systems
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
EP1906275B1 (en) Natively retaining project documentation in a controller
US20160147638A1 (en) Engineering tool, program editing device, and program editing system
CN107193250A (zh) 评价系统和评价方法
US20050065746A1 (en) Device and method for testing machine tools and production machines
JP6442131B2 (ja) 制御システムおよび制御装置
CN107193251A (zh) 评价系统和评价方法
CN113918465A (zh) 兼容性测试方法、装置、电子设备及可读存储介质
CN110659197A (zh) 应用程序的测试用例生成方法、装置和软件测试系统
Bee PLC and HMI Development with Siemens TIA Portal: Develop PLC and HMI programs using standard methods and structured approaches with TIA Portal V17
JPH08115107A (ja) 機器制御プログラム生成方式
WO2022249358A1 (ja) ロボット制御装置及びロボット制御システム
JP4397393B2 (ja) モジュラー構造のメッセージを修正する方法および装置
WO2020189142A1 (ja) 制御システム、制御方法、および制御プログラム
JP2008033472A (ja) プリンタの自動評価システム
JPH02210556A (ja) プログラム実行状態の視覚化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120613

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: 20120620

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120703

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5045940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250