JP3901417B2 - PLC simulator - Google Patents

PLC simulator Download PDF

Info

Publication number
JP3901417B2
JP3901417B2 JP2000018060A JP2000018060A JP3901417B2 JP 3901417 B2 JP3901417 B2 JP 3901417B2 JP 2000018060 A JP2000018060 A JP 2000018060A JP 2000018060 A JP2000018060 A JP 2000018060A JP 3901417 B2 JP3901417 B2 JP 3901417B2
Authority
JP
Japan
Prior art keywords
time
plc
execution
processing
processing time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000018060A
Other languages
Japanese (ja)
Other versions
JP2001209411A (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.)
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 JP2000018060A priority Critical patent/JP3901417B2/en
Publication of JP2001209411A publication Critical patent/JP2001209411A/en
Application granted granted Critical
Publication of JP3901417B2 publication Critical patent/JP3901417B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Feedback Control In General (AREA)
  • Programmable Controllers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、パソコン上の仮想PLC(仮想プログラマブル・コントローラの意)を用いてPLC用制御プログラムを模擬的に実行させるPLCシミュレータに係り、特に、仮想PLCによるプログラム模擬実行に関する計時処理を、命令実処理時間の積算値である論理時間を用いて管理するようにしたPLCシミュレータに関する。
【0002】
【従来の技術】
パソコン上の仮想PLC(所謂PLCエミュレータ)を用いてPLC用制御プログラムを模擬的に実行させるPLCシミュレータは公知である。
【0003】
ところで、従来、この種のPLCシミュレータによるプログラム模擬実行に関する計時処理は、パソコンのハードウェアタイマで規定される実時間に基づいて管理されている。ここで、プログラム模擬実行に関する計時処理には、例えば、タイマ命令で定義されたタイマ時間の計時処理や定時割込命令で定義された割込周期時間の計時処理等が含まれる。
【0004】
また、制御プログラムのサイクルタイム(例えば、入出力更新処理、命令実行処理、周辺サービス処理からなる一連の処理の一巡実行所要時間)の予測は、PLCのマニュアルに記述されている各命令の処理時間をユーザ自身が積算することで行われている。サイクルタイムを算出する場合、膨大なステップ数の制御プログラムをユーザが計算すると、時間がかかり、計算ミスも発生する。
【0005】
そこで、サイクルタイム自動試算の一手法として、PLCシミュレータによるプログラム模擬実行の際の一巡実行時間をパソコンのハードウェアタイマを用いて計測することが考えられる。
【0006】
【発明が解決しようとする課題】
パソコン上でPLCの命令を模擬的に実行した場合における処理時間は、実際にPLC上で実行した場合の処理時間と異なる。しかも、この処理時間は、利用するパソコンの性能によっても異なる。
【0007】
従って、プログラム模擬実行に関する計時処理を、パソコンのハードウェアタイマで規定される実時間に基づいて管理するPLCエミュレータでは、実PLCと等価な動作を実現することは困難である。
【0008】
特に、パソコン上のタイマを利用して模擬PLCによりタイマ割込みを生成すると、タイマのクロック周期の相違から設定できる値(精度)に制限が生じ、制御プログラムで要求する精度が得られない。
【0009】
また、PLCシミュレータによるプログラム模擬実行の際の一巡実行時間をパソコンのハードウェアタイマを用いて計測する場合にも、同様な理由から、正確なサイクルタイムを得ることはできない。
【0010】
この発明は、このような従来の問題点に着目してなされたもので、その目的とするところは、使用されるパソコンの性能に影響を受けることなく、プログラム模擬実行により実現される時間関連動作を、できる限り実PLCと等価な時間環境で実現させることが可能なPLCシミュレータを提供することにある。
【0011】
この発明のより具体的な目的は、使用されるパソコンの性能に影響を受けることなく、実PLCと等価なタイマ動作や割込動作を実現することが可能なPLCシミュレータを提供することにある。
【0012】
この発明のより具体的な他の目的は、使用されるパソコンの性能に影響を受けることなく、正確なサイクルタイムを自動試算可能なPLCシミュレータを提供することにある。
【0013】
この発明のさらに他の目的及び作用効果については、以下の明細書の記載に基づいて、当業者であれば容易に理解されるであろう。
【0014】
【課題を解決するための手段】
この発明のPLCシミュレータは、パソコン上の仮想PLCを用いてPLC用制御プログラム及び周辺サービス処理の2つの処理を模擬的に実行させPLCシミュレータであって、
PLC用制御プログラムに使用される各命令の実PLCにおける実処理時間データを記憶させた実処理時間データ記憶手段と、
仮想PLCにおけるプログラム模擬実行処理において、個々の命令が処理される毎に、前記実処理時間データ記憶手段に記憶された実処理時間データを参照して、その命令に対応する実処理時間を読み出す実処理時間読出手段と、
周辺サービス処理の要求がある毎に、その周辺サービス処理に要する時間を予め用意された算出式に基づいて算出する所要時間算出手段と、
前記実処理時間読出手段にて読み出される各命令の実処理時間と前記所要時間算出手段にて算出される各周辺サービス処理の所要時間とを積算して論理時間を生成する論理時間生成手段と、を有し、
前記仮想PLCによるプログラム模擬実行に関する計時処理を前記論理時間を用いて管理する、ものである。
【0015】
このような構成によれば、仮想PLCによるプログラム模擬実行に関する計時処理は論理時間を用いて管理されるため、使用されるパソコンの性能に影響を受けることなく、プログラム模擬実行により実現される時間関連動作を、できる限り実PLCと等価な時間環境で実現させることが可能となる。
【0016】
本発明の好ましい実施の形態では、前記実処理時間データ記憶手段には、PLC用制御プログラムに使用される各命令の実PLCにおける実処理時間データが、PLCタイプ別に複数タイプに亘り記憶されている
【0017】
このような構成によれば、PLCタイプの別を加味して、実行処理時間を積算して論理時間を生成することから、より正確な論理時間の生成が可能となる。
【0018】
この発明の好ましい他の実施の形態では、前記仮想PLCによるプログラム模擬実行に関する計時処理には、前記生成された論理時間を基準として、入出力更新処理、命令実行処理、周辺サービス処理の一巡実行時間を測定することで、毎サイクルのサイクルタイムを試算するサイクルタイム試算処理が含まれている
【0019】
このような構成によれば、使用されるパソコンの性能に影響を受けることなく、正確なサイクルタイムを自動試算することができる。
【0020】
この発明の好ましいさらに他の実施形態では、前記サイクルタイム試算処理には、サイクルタイムの最大値と最小値と平均値とを算出する処理が含まれている
【0021】
このような構成によれば、PLCタイプ毎のサイクルタイムを容易に得ることができ、制御システムの用途に合ったPLCタイプを選択することが容易となる。
【0022】
【発明の実施の形態】
以下に、この発明の好適な実施の一形態を図1乃至図5の添付図面を参照しつつ詳細に説明する。
【0023】
本発明が適用されたPLCプログラム開発支援装置の構成図が図1に示されている。
【0024】
同図に示されるように、このPLCプログラム開発支援装置1は、市販のパソコン(例えば、Windows(登録商標)95/98/NT4.0等)上に、実PLCの機能を模擬的に実現するPLCシミュレータ10と、PLCシミュレータ10を使用してプログラムテストを行う場合のマンマシンインタフェース(MMI)等として機能するデバッガ20と、HML,プログラムツール,SCADA等を総称するアプリケーション30とをソフトウェア的に実現して構成されている。
【0025】
PLCシミュレータ10は、仮想PLCに相当するシミュレーションメイン処理部101と、タイミング処理部102と、制御プログラム103と、ニモニック処理&時間データ(本発明の実処理時間データに相当)104とを含んでいる。
【0026】
シミュレーションメイン処理部101は、実PLCの機能を模擬的に実現するPLCエミュレータを用いて制御プログラム103を実行することにより、制御プログラム103で規定されたシーケンス制御を行うように構成されている。このとき、PLCエミュレータに対する入力データはデバッガ20等から付与乃至変更され、制御プログラムの実行の結果として得られる出力データもデバッガ20等を介して確認可能になされる。また、シミュレーションメイン処理部101は、プログラムツール等との通信も実PLC同様に行なう。
【0027】
タイミング処理部102は、本発明の要部を構成するものであり、シミュレーションメイン処理部101における制御プログラム103の実行に際して、制御プログラム103を構成する各ニモニックコマンド(命令)毎の処理時間及び通信等の周辺処理時間を積算し、これにより実行論理時間を生成する。タイミング処理部102では、制御プログラム103を構成する各ステップ毎に処理時間の検証を行うことで、精密な論理時間が計算可能となされている。また、タイミング処理部102では、この算出された論理時間に基づいて、シミュレーションメイン処理部101における内部時間制御及びタイマ制御等を実行するように構成されている。
【0028】
制御プログラム103は、シミュレーションメイン処理部101にて実行されるPLC用プログラムである。この制御プログラム103は、所定のニモニック列(命令列)からなるラダー言語(図8参照)等で記述されている。
【0029】
ニモニック処理&時間データ104は、PLCタイプ別に異なるニモニック処理(命令)とニモニック処理毎の実行/非実行のデータとを互いに関連づけたファイル(図7参照)として構成されている。このニモニック処理&時間データ104はパソコンのハードディスク等の補助記憶装置に格納され、必要により、PLCシミュレータ10の起動に先立ってパソコンの主メモリ上に展開される。
【0030】
デバッガ20は、PLCシミュレータ10にて制御プログラム103のシミュレーションを実行させる際のマンマシンインタフェース(MMI)として機能するものである。このデバッガ20を使用することにより、(1)PLCタイプの指定操作、(2)PLCシミュレータのニモニック処理&時間データの切替え操作等、(3)シミュレーション結果からサイクルタイムを読込み、表示する操作、等が実現される。
【0031】
アプリケーション30は、PLCの制御プログラム103を開発/動作検証するためのプログラムツールや制御システムの運用状態を監視するSCADA等を総称するものである。
【0032】
シミュレーションメイン処理部101とタイミング処理部102の詳細構成図が図2に示されている。
【0033】
同図に示されるように、シミュレーションメイン処理部101には、ニモニック実行/非実行処理時間読込部101aと周辺処理時間算出処理部101bとが含まれている。また、タイミング処理部102には、処理時間積算部102aとタイマ管理部102bとが含まれている。それらの要素によって、本発明の論理時間の生成並びにそれを用いた計時動作の管理が行われる。
【0034】
ニモニック実行/非実行処理時間読込部101aは、シミュレーションメイン処理部101における各ニモニック(命令)の実行/非実行と連動して、実行時の処理時間(実行処理時間)又は非実行時の処理時間(非実行処理時間)をニモニック処理&時間データ104から読み込み、これをタイミング処理部102へと提供する機能を有する。
【0035】
ニモニック実行/非実行処理時間読込部を含むニモニック実行処理の全体を示すフローチャートが図3に示されている。
【0036】
同図において、ステップ301(ニモニック処理読込み)では、制御プログラム103よりニモニック処理(命令コード)を1ステップ分読込む。ステップ302(実行条件成立)では、読込んだニモニック処理の実行条件が成立しているか否かを検証する。ステップ303(ニモニック処理実行)では、エミュレータを使用してニモニック処理を模擬的に実行する。ステップ304(実行処理時間読込み)では、ニモニック処理&時間データ104より当該ニモニックの実行処理時間を読込む。ステップ305(非実行処理時間読込み)では、ニモニック処理&時間データ104より当該ニモニックの実行処理時間を読込む。ステップ306(タイミング処理部へ通知)では、読込んだニモニック処理時間をタイミング処理部102の処理時間積算部102aへ通知する。
【0037】
図2へ戻って、周辺処理時間算出部101bは、通信、拡張ユニット、割込み等に対する処理により周辺処理の時間が異なることを考慮して、各周辺処理に要する時間を算出式に基づいて論理時間として算出し、これをタイミング処理部102へと提供する機能を実現する。
【0038】
周辺処理時間算出部を含む周辺処理実行処理の詳細を示すフローチャートが図4に示されている。同図において、ステップ401(周辺処理の有無?)では、周辺処理の要求があるか否かを検証する。ステップ402(周辺処理実行)では、周辺処理を実行する。ステップ403(処理時間算出)では、実行した周辺処理に要した時間をそれぞれの処理の計算式により算出する。ステップ404(タイミング処理部へ通知)では、算出した時間をタイミン処理部102の処理時間積算部102aへ通知する。
【0039】
図2へ戻って、処理時間積算部102aは、シミュレーションメイン処理部101で実行したニモニック処理の時間及び周辺処理時間を読込み、読み込まれた値をそれまでの論理時間に積算する機能を有する。また、処理時間積算部102aは、スキャニング型PLCの1サイクルの処理時間(所謂サイクルタイム)を計算すると共に、カレンダ時間の生成も行う機能を有する。
【0040】
タイマ管理部102bは、処理時間積算部102aにおける積算結果からタイマ定時割込み起動条件や設定されたタイマの起動条件をチェックし、条件が満たされた場合に割込み等を生成する機能を有する。
【0041】
タイミング処理部の動作を示すフローチャートが図5に示されている。同図において、ステップ501(ニモニック処理/周辺処理時間読込み)では、先ほど説明したニモニック実行/非実行処理時間読込部101a及び周辺処理時間算出部101bよりの処理時間を読込む。ステップ502(処理時間積算)では、読込んだ処理時間を処理時間データに加え、サイクルタイムとカレンダ時間を計算する。ステップ503(タイマ値検証)では、積算した処理時間を用いて、タイマ値を処理時間分だけ減算する。ステップ504(タイムアウト?)では、タイムアウト条件が成立したか否かを検証する。ステップ505(タイマ割込み生成)では、シミュレーションメイン処理部101に対してタイマ割り込み等を生成する。
【0042】
以上説明したように、この実施形態では、ニモニック実行/非実行処理時間読込部101a並びに周辺処理時間算出部101bと、処理時間積算部102aとで本発明の論理時間生成手段を構成している。
【0043】
そして、この論理時間生成手段で生成された論理時間を用いて、タイマ管理部102において、タイマ値の検証(ステップ503)及びタイマ割込の生成(ステップ505)を行っている。また、処理時間積算(ステップ502)で得られた論理時間に基づいて、サイクルタイムの自動試算を行っている。すなわち、こうして得られた論理時間を基準として、入出力更新処理、命令実行処理、周辺サービス処理の一巡実行時間を測定することで、サイクルタイムの試算を行っている。
【0044】
そのため、この実施形態によれば、使用されるパソコンの性能に影響を受けることなく、実PLCと等価なタイマ動作や割込動作を実現したり、或いは正確なサイクルタイムを自動試算することが可能となる。
【0045】
なお、本発明の要旨とするところは、パソコン上の仮想PLCを用いてPLC用制御プログラムを模擬的に実行させるPLCシミュレータであって、PLC用制御プログラムに使用される各命令の実PLCにおける実処理時間データを記憶させた実処理時間データ記憶手段と、仮想PLCにおけるプログラム模擬実行処理において、個々の命令が処理される毎に、前記実処理時間データ記憶手段に記憶された実処理時間データを参照して、その命令に対応する実処理時間を積算して論理時間を生成する論理時間生成手段と、を有し、前記仮想PLCによるプログラム模擬実行に関する計時処理を前記論理時間を用いて管理する、ことにほかならない。
【0046】
従って、プログラム模擬実行に関する計時処理としては、単に、タイマ処理、定時割込処理、サイクルタイム試算処理に限定されるものではない。その他の任意の計時処理が含まれることは言うまでもない。また、本発明のサイクルタイム試算処理には、プログラム全体が複数のタスクに分割構成されている場合、タスク単位で実行所要時間の試算が可能となされている。このようにタスク毎の実行所要時間がわかると、サイクルタイムを短縮する場合に効率がよい。すなわち、実行所要時間が大なるタスクが判れば、そのタスクに関して集中的にデバッグを行うことにより、サイクルタイムを効果的に短縮することができる。
【0047】
【実施例】
以下に、この発明の好適な一実施例を図6乃至図9の添付図面を参照しつつ詳細に説明する。
【0048】
本発明が適用されたPLCプログラム開発支援装置の一実施例を示す構成図が図6に示されている。
【0049】
同図に示されるように、この実施例にあっては、実際の制御システムと同様にSCADAがシステム監視として接続された環境で、図8に示される制御プログラムを検証するシステムを構成している。
【0050】
PLCシミュレータ10Aに対する入力についてはデバッガ20Aから仮想的に与えられる。性能評価のために、PLCタイプAとPLCタイプBについてシミュレーションの結果を比較する。
【0051】
PLCタイプを指定することにより、図7(a),(b)に示されるようなニモニック処理&時間データ104(A),(B)を展開し、ニモニック処理制御プログラムとして図8に示されるニモニックプログラムをシミュレーションメイン処理部101Aに展開して実行する。
【0052】
制御プログラムの各コマンド(命令)を実行し、各コマンドの実行/非実行により処理時間をニモニック処理&時間データ104(A),(B)から読込みタイミング処理部102で積算を行う。
【0053】
以下に、具体的なシミュレーション結果について述べる。
【0054】
[PLCタイプA(図7(a)参照)が指定された場合]
(1)処理時間の積算
図8において、符号[1]で示されるコマンド(命令)LDが条件成立(“1”)の場合、符号[2]で示されるコマンド(命令)OUTは実行となり、その場合の処理時間の積算は0.05+0.20=0.25μsとなる。
【0055】
これに対して、コマンド(命令)LDが条件不成立(“0”)の場合、続くコマンド(命令)OUTは非実行となり、その場合の処理時間の積算は0.05+0.05=0.10μsとなる。
【0056】
(2)タイミング管理
図8において、符号[1]で示されるコマンド(命令)LD実行前に設定されていたタイマの値(残り時間)がタイムアウトまで0.15μsであれば、コマンド(命令)LDの実行によりタイマの値は0.10μsとなり、続くコマンド(命令)OUTの実行によりタイマの値は−0.10μsとなっての値となるから、タイムアウト条件の成立と判定される。これにより、タイムアウト割込み等を生成する。
【0057】
(3)時間管理
図8において、符号[1]で示されるコマンド(命令)LD実行前のカレンダ時間が、ベース時間xx年xx月xx日0時0分0秒000ms000μsからの経過時間として600000000μsであれば、コマンド(命令)LD、OUTの実行によりカレンダ時間は600000025μsとなる。このようにコマンド(命令)の処理時間を積算することにより、カレンダ時間を論理的に進め、アプリケーションなどを含んだ制御システムとしての時間管理を可能とする。
【0058】
(4)サイクルタイムの計算
上述の(2)タイミング管理並びに(3)時間管理により、シミュレート時にPLCシミュレータ10Aの入力を、デバッガ20Aやアプリケーション30Aにより、実運用システムと同じような条件で与えることが出来るため、制御命令の実行/非実行も実運用時と同じように発生する。そのため、上述の(1)処理時間の積算に従って処理時間を積算することで、実機PLCに近いサイクルタイムを得ることが出来る。
【0059】
従って、制御システムとしての一連の工程を行い、サイクルタイムをシミュレータ内部、あるいは1サイクル毎にデバッガで読込み、履歴を取ることでシステムとして必要となるサイクルタイムを検証することができる。
【0060】
[PLCタイプB(図7(b)参照)が指定された場合]
(1)処理時間の積算
図8において、符号[1]で示されるコマンドLDが条件成立(“1”)の場合には、続くコマンド(命令)OUTは実行となり、その場合の処理時間の積算は0.08+0.30=0.38μsとなる。
【0061】
[PLCタイプ毎のデータ切替え/サイクルタイムの表示]
上述の例で明らかなように、PLCタイプのデータが異なることで積算時間が異なりサイクルタイム及びタイミングが異なってくる。デバッガ20AよりPLCタイプ指定をすることで、PLCシミュレータ10Aでは展開するデータをPLCタイプAか、PLCタイプBかを切替えることができる。また、デバッガ20Aではそれぞれのデータでシミュレーションした結果を表示する。
【0062】
一連の工程において、図9のような結果が得られたと仮定して、そのときの制御システムの要求仕様が『処理時間は120ms以下』であれば、PLCタイプAの性能が必要となることが判る。
【0063】
なお、図9に示される『サイクルタイム』とは、命令実行処理、入出力更新処理、周辺サービス処理(通信ユニット、拡張ユニット、割り込みユニット等に対する処理等)からなる一連の工程の一巡所要時間のことである。また、ここで言う『PLCタイプ』とは、ハードウェアと一対一に対応するタイプ種別のことであり、製品としての型式等が同一でもハードウェアが異なればPLCタイプは異なる。
【0064】
以上の実施形態並びに実施例によれば、次のような格別の作用効果を得ることができる。
【0065】
(1)パソコン上でPLCの制御プログラムを実機と論理的に同じタイミングでデバッグ乃至テストすることができる。
【0066】
(2)パソコンのシミュレーション環境で制御プログラムを実行するだけで、自動的にサイクルタイムを短時間で知ることができる。
【0067】
(3)ニモニック命令の実行/非実行を考慮に入れた、誤差の少ないサイクルタイムを得ることが可能になる。
【0068】
(4)PLCタイプ毎のサイクルタイムを容易に得ることができ、制御システムの用途に合ったPLCタイプを選択することが容易となる。
【0069】
(5)PLCだけでなく、制御システム全体でPLCシミュレータのタイマを参照することにより、制御システム全体としてのテストを行うこともできる。
【0070】
【発明の効果】
以上の説明で明らかなように、本発明によれば、使用されるパソコンの性能に影響を受けることなく、プログラム模擬実行により実現される時間関連動作を、できる限り実PLCと等価な時間環境で実現させることが可能なPLCシミュレータを提供することにある。
【0071】
また、この発明によれば、使用されるパソコンの性能に影響を受けることなく、実PLCと等価なタイマ動作や割込動作を実現することが可能なPLCシミュレータを提供することができる。
【0072】
さらに、この発明によれば、使用されるパソコンの性能に影響を受けることなく、正確なサイクルタイムを自動試算可能なPLCシミュレータを提供することができる。
【図面の簡単な説明】
【図1】 本発明が適用されたPLCプログラム開発支援装置の構成図である。
【図2】 シミュレーションメイン処理部とタイミング処理部の詳細構成図である。
【図3】 ニモニック実行/非実行処理時間読込部を含むニモニック実行処理の全体を示すフローチャートである。
【図4】 周辺処理時間算出部を含む周辺処理実行処理の詳細を示すフローチャートである。
【図5】 タイミング処理部の動作を示すフローチャートである。
【図6】 本発明が適用されたPLCプログラム開発支援装置の一実施例を示す構成図である。
【図7】 ニモニック処理&時間情報データをPLCタイプ別に表にして示す図である。
【図8】 PLCプログラムのニモニック表記の一例を示す図である。
【図9】 PLCタイプ別サイクルタイム測定結果を表にして示す図である。
【符号の説明】
1 PLCプログラム開発支援装置
10 PLCシミュレータ
20,20A デバッガ
30,30A アプリケーション
101,101A シミュレーションメイン処理部
101a ニモニック実行/非実行処理時間読込部
101b 周辺処理時間算出部
102,102A タイミング処理部
102a 処理時間積算部
102b タイマ管理部
103 制御プログラム
104,104(A),104(B) ニモニック処理&時間データ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a PLC simulator that simulates execution of a PLC control program using a virtual PLC (meaning virtual programmable controller) on a personal computer. The present invention relates to a PLC simulator that is managed using a logical time that is an integrated value of processing times.
[0002]
[Prior art]
A PLC simulator that executes a PLC control program in a simulated manner using a virtual PLC (so-called PLC emulator) on a personal computer is known.
[0003]
By the way, conventionally, the time measurement processing related to the program simulation execution by this type of PLC simulator is managed based on the real time defined by the hardware timer of the personal computer. Here, the timing process related to the program simulation execution includes, for example, a timer process defined by a timer instruction, an interrupt cycle time defined by a scheduled interrupt instruction, and the like.
[0004]
In addition, the prediction of the cycle time of the control program (for example, the time required for one-round execution of a series of processes including input / output update processing, instruction execution processing, and peripheral service processing) is the processing time of each instruction described in the PLC manual. Is performed by the user himself / herself. When calculating the cycle time, if the user calculates a control program having a huge number of steps, it takes time and a calculation error also occurs.
[0005]
Thus, as one method for automatically calculating the cycle time, it is conceivable to measure the round trip execution time when executing the program simulation by the PLC simulator using a hardware timer of a personal computer.
[0006]
[Problems to be solved by the invention]
The processing time when a PLC command is simulated on a personal computer is different from the processing time when it is actually executed on the PLC. Moreover, this processing time varies depending on the performance of the personal computer used.
[0007]
Therefore, it is difficult to realize an operation equivalent to that of a real PLC in a PLC emulator that manages time-measurement processing related to program simulation execution based on real time defined by a hardware timer of a personal computer.
[0008]
In particular, when a timer interrupt is generated by a simulated PLC using a timer on a personal computer, a value (accuracy) that can be set is limited due to a difference in the clock cycle of the timer, and the accuracy required by the control program cannot be obtained.
[0009]
In addition, even when the round-trip execution time at the time of program simulation execution by the PLC simulator is measured using a hardware timer of a personal computer, an accurate cycle time cannot be obtained for the same reason.
[0010]
The present invention has been made paying attention to such conventional problems, and its purpose is to perform time-related operations realized by program simulation execution without being affected by the performance of the personal computer used. Is to provide a PLC simulator that can be realized in a time environment equivalent to a real PLC as much as possible.
[0011]
A more specific object of the present invention is to provide a PLC simulator capable of realizing a timer operation and an interrupt operation equivalent to a real PLC without being affected by the performance of a personal computer used.
[0012]
Another more specific object of the present invention is to provide a PLC simulator capable of automatically calculating an accurate cycle time without being affected by the performance of a personal computer used.
[0013]
Other objects and operational effects of the present invention will be easily understood by those skilled in the art based on the description in the following specification.
[0014]
[Means for Solving the Problems]
PLC simulator of the present invention is a PLC simulator Ru simulated allowed to perform the two processes of the PLC control program, and peripheral service processing using the virtual PLC on a personal computer,
Actual processing time data storage means for storing actual processing time data in the actual PLC of each instruction used in the PLC control program;
In the program simulation execution process in the virtual PLC, each time an individual instruction is processed, an actual processing time corresponding to the instruction is read by referring to the actual processing time data stored in the actual processing time data storage means. Processing time reading means ;
A required time calculation means for calculating a time required for the peripheral service processing based on a previously prepared calculation formula each time there is a request for the peripheral service processing;
A logical time generating means for generating a logical time by integrating the actual processing time of each instruction read by the actual processing time reading means and the required time of each peripheral service process calculated by the required time calculating means ; Have
Time keeping processing related to program simulation execution by the virtual PLC is managed using the logical time.
[0015]
According to such a configuration, the timing processing related to the program simulation execution by the virtual PLC is managed using the logical time, so that the time relation realized by the program simulation execution is not affected by the performance of the personal computer used. It is possible to realize the operation in a time environment equivalent to the actual PLC as much as possible.
[0016]
In a preferred embodiment of the present invention, the actual processing time data storage means stores the actual processing time data in the actual PLC of each instruction used in the PLC control program in a plurality of types for each PLC type. .
[0017]
According to such a configuration, since the logical time is generated by integrating the execution processing time in consideration of the PLC type , more accurate logical time can be generated.
[0018]
In another preferred embodiment of the present invention, the time measurement process related to the program simulation execution by the virtual PLC is based on the generated logical time as a reference execution time of the input / output update process, the instruction execution process, and the peripheral service process. The cycle time trial calculation process which estimates the cycle time of every cycle by measuring is included .
[0019]
According to such a configuration, it is possible to automatically calculate an accurate cycle time without being affected by the performance of the personal computer used.
[0020]
In still another preferred embodiment of the present invention, the cycle time trial calculation process includes a process of calculating a maximum value, a minimum value, and an average value of the cycle time .
[0021]
According to such a configuration, the cycle time for each PLC type can be easily obtained, and it becomes easy to select a PLC type suitable for the application of the control system.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
A preferred embodiment of the present invention will be described below in detail with reference to the accompanying drawings of FIGS.
[0023]
A configuration diagram of a PLC program development support apparatus to which the present invention is applied is shown in FIG.
[0024]
As shown in the figure, the PLC program development support device 1 simulates the functions of an actual PLC on a commercially available personal computer (for example, Windows (registered trademark) 95/98 / NT4.0). Software implementation of the PLC simulator 10, a debugger 20 that functions as a man-machine interface (MMI) or the like when performing a program test using the PLC simulator 10, and an application 30 that collectively refers to HML, program tools, SCADA, and the like Configured.
[0025]
The PLC simulator 10 includes a simulation main processing unit 101 corresponding to a virtual PLC, a timing processing unit 102, a control program 103, and mnemonic processing & time data (corresponding to actual processing time data of the present invention) 104. .
[0026]
The simulation main processing unit 101 is configured to perform sequence control defined by the control program 103 by executing the control program 103 using a PLC emulator that simulates a real PLC function. At this time, input data for the PLC emulator is given or changed from the debugger 20 or the like, and output data obtained as a result of execution of the control program can also be confirmed via the debugger 20 or the like. In addition, the simulation main processing unit 101 performs communication with a program tool or the like in the same manner as the actual PLC.
[0027]
The timing processing unit 102 constitutes a main part of the present invention. When executing the control program 103 in the simulation main processing unit 101, the processing time, communication, etc. for each mnemonic command (command) constituting the control program 103 The peripheral processing time is integrated to generate an execution logical time. The timing processing unit 102 can calculate a precise logical time by verifying the processing time for each step constituting the control program 103. The timing processing unit 102 is configured to execute internal time control, timer control, and the like in the simulation main processing unit 101 based on the calculated logical time.
[0028]
The control program 103 is a PLC program executed by the simulation main processing unit 101. The control program 103 is described in a ladder language (see FIG. 8) composed of a predetermined mnemonic sequence (instruction sequence).
[0029]
The mnemonic process & time data 104 is configured as a file (see FIG. 7) in which different mnemonic processes (commands) for each PLC type are associated with execution / non-execution data for each mnemonic process. The mnemonic processing & time data 104 is stored in an auxiliary storage device such as a hard disk of a personal computer, and is developed on the main memory of the personal computer prior to activation of the PLC simulator 10 if necessary.
[0030]
The debugger 20 functions as a man-machine interface (MMI) when the PLC simulator 10 executes a simulation of the control program 103. By using this debugger 20, (1) PLC type designation operation, (2) PLC simulator mnemonic processing & time data switching operation, etc. (3) Operation for reading and displaying cycle time from simulation results, etc. Is realized.
[0031]
The application 30 is a generic term for a program tool for developing / verifying operation of the PLC control program 103, SCADA for monitoring the operation state of the control system, and the like.
[0032]
A detailed configuration diagram of the simulation main processing unit 101 and the timing processing unit 102 is shown in FIG.
[0033]
As shown in the figure, the simulation main processing unit 101 includes a mnemonic execution / non-execution processing time reading unit 101a and a peripheral processing time calculation processing unit 101b. Further, the timing processing unit 102 includes a processing time integrating unit 102a and a timer management unit 102b. By these elements, generation of the logical time of the present invention and management of timing operation using the logical time are performed.
[0034]
The mnemonic execution / non-execution processing time reading unit 101a is linked to the execution / non-execution of each mnemonic (instruction) in the simulation main processing unit 101, or the processing time during execution (execution processing time) or the processing time during non-execution. (Non-execution processing time) is read from the mnemonic processing & time data 104 and provided to the timing processing unit 102.
[0035]
A flowchart showing the entire mnemonic execution process including the mnemonic execution / non-execution process time reading unit is shown in FIG.
[0036]
In the figure, at step 301 (read mnemonic process), the control program 103 reads mnemonic process (instruction code) for one step. In step 302 (execution condition satisfied), it is verified whether or not the read execution condition of the mnemonic process is satisfied. In step 303 (execution of mnemonic processing), mnemonic processing is simulated by using an emulator. In step 304 (read execution processing time), the execution processing time of the mnemonic is read from the mnemonic processing & time data 104. In step 305 (read non-execution processing time), the execution processing time of the mnemonic is read from the mnemonic processing & time data 104. In step 306 (notify timing processing unit), the read mnemonic processing time is notified to the processing time integrating unit 102a of the timing processing unit 102.
[0037]
Returning to FIG. 2, the peripheral processing time calculation unit 101b considers that the processing time for peripheral processing varies depending on the processing for communication, expansion unit, interrupt, etc., and calculates the time required for each peripheral processing based on the calculation formula. And the function of providing this to the timing processing unit 102 is realized.
[0038]
FIG. 4 shows a flowchart showing details of the peripheral process execution process including the peripheral process time calculation unit. In the figure, in step 401 (whether there is a peripheral process?), It is verified whether there is a request for the peripheral process. In step 402 (peripheral processing execution), peripheral processing is executed. In step 403 (processing time calculation), the time required for the executed peripheral processing is calculated by the calculation formula of each processing. In step 404 (notify timing processing unit), the calculated time is notified to the processing time integrating unit 102a of the timing processing unit 102.
[0039]
Returning to FIG. 2, the processing time accumulating unit 102a has a function of reading the time of the mnemonic processing executed by the simulation main processing unit 101 and the peripheral processing time, and accumulating the read value to the logical time until then. Further, the processing time integration unit 102a has a function of calculating a processing time of one cycle of the scanning PLC (so-called cycle time) and generating a calendar time.
[0040]
The timer management unit 102b has a function of checking a timer scheduled interrupt activation condition or a set timer activation condition from the accumulation result in the processing time accumulation unit 102a, and generating an interrupt or the like when the condition is satisfied.
[0041]
A flow chart showing the operation of the timing processing unit is shown in FIG. In the figure, at step 501 (mnemonic processing / peripheral processing time reading), processing times from the mnemonic execution / non-execution processing time reading unit 101a and the peripheral processing time calculation unit 101b described above are read. In step 502 (processing time integration), the read processing time is added to the processing time data, and the cycle time and calendar time are calculated. In step 503 (timer value verification), the timer value is subtracted by the processing time using the accumulated processing time. In step 504 (timeout?), It is verified whether a time-out condition is satisfied. In step 505 (timer interrupt generation), a timer interrupt or the like is generated for the simulation main processing unit 101.
[0042]
As described above, in this embodiment, the mnemonic execution / non-execution processing time reading unit 101a, the peripheral processing time calculation unit 101b, and the processing time integration unit 102a constitute the logical time generation unit of the present invention.
[0043]
Then, using the logical time generated by the logical time generation means, the timer management unit 102 performs verification of the timer value (step 503) and generation of a timer interrupt (step 505). In addition, the cycle time is automatically calculated based on the logical time obtained in the processing time integration (step 502). That is, the cycle time is estimated by measuring the round-trip execution time of the input / output update process, the instruction execution process, and the peripheral service process on the basis of the logical time thus obtained.
[0044]
Therefore, according to this embodiment, it is possible to realize a timer operation and an interrupt operation equivalent to the actual PLC or to automatically calculate an accurate cycle time without being affected by the performance of the personal computer used. It becomes.
[0045]
The gist of the present invention is a PLC simulator that executes a PLC control program in a simulated manner using a virtual PLC on a personal computer, and each instruction used in the PLC control program is actually executed in the actual PLC. The actual processing time data stored in the actual processing time data storage means and the actual processing time data storage means storing the processing time data and each time each instruction is processed in the program simulation execution processing in the virtual PLC. A logical time generating unit that generates a logical time by adding up the actual processing time corresponding to the instruction, and manages a time measurement process related to the program simulation execution by the virtual PLC using the logical time. , Nothing but.
[0046]
Therefore, the timing process related to the program simulation execution is not limited to the timer process, the scheduled interrupt process, and the cycle time trial calculation process. It goes without saying that any other timing process is included. Further, in the cycle time estimation process of the present invention, when the entire program is divided into a plurality of tasks, it is possible to estimate the required execution time for each task. Thus, knowing the time required for execution for each task is efficient in reducing the cycle time. That is, if a task with a long execution time is found, the cycle time can be effectively shortened by performing intensive debugging on the task.
[0047]
【Example】
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings of FIGS.
[0048]
FIG. 6 is a block diagram showing an embodiment of a PLC program development support apparatus to which the present invention is applied.
[0049]
As shown in the figure, in this embodiment, a system for verifying the control program shown in FIG. 8 is configured in an environment in which SCADA is connected as system monitoring as in the actual control system. .
[0050]
Input to the PLC simulator 10A is virtually given from the debugger 20A. For performance evaluation, the simulation results of PLC type A and PLC type B are compared.
[0051]
By specifying the PLC type, the mnemonic processing & time data 104 (A) and (B) as shown in FIGS. 7A and 7B are expanded, and the mnemonic shown in FIG. 8 as the mnemonic processing control program. The program is developed on the simulation main processing unit 101A and executed.
[0052]
Each command (instruction) of the control program is executed, and the processing time is read from the mnemonic processing & time data 104 (A), (B) by the execution / non-execution of each command, and integration is performed by the timing processing unit 102.
[0053]
Hereinafter, specific simulation results will be described.
[0054]
[When PLC type A (refer to FIG. 7A) is specified]
(1) Accumulation of processing time In FIG. 8, when the command (instruction) LD indicated by reference numeral [1] is satisfied (“1”), the command (instruction) OUT indicated by reference numeral [2] is executed, In this case, the accumulated processing time is 0.05 + 0.20 = 0.25 μs.
[0055]
On the other hand, when the command (instruction) LD is not satisfied (“0”), the subsequent command (instruction) OUT is not executed, and the accumulated processing time in this case is 0.05 + 0.05 = 0.10 μs. Become.
[0056]
(2) Timing management In FIG. 8, if the timer value (remaining time) set before execution of the command (instruction) LD indicated by the symbol [1] is 0.15 μs until timeout, the command (instruction) LD The timer value becomes 0.10 μs by execution of the command, and the timer value becomes −0.10 μs and becomes a negative value by execution of the subsequent command (instruction) OUT, so that it is determined that the time-out condition is satisfied. As a result, a timeout interrupt or the like is generated.
[0057]
(3) Time management In FIG. 8, the calendar time before execution of the command (instruction) LD indicated by reference numeral [1] is 600000000 μs as the elapsed time from the base time xx year xx month xx day 0: 0 minutes 0 seconds 000 ms000 μs. If so, the calendar time becomes 6000000025 μs by executing the commands (instructions) LD and OUT. By accumulating the command (instruction) processing time in this way, the calendar time is logically advanced and time management as a control system including an application or the like is enabled.
[0058]
(4) Calculation of cycle time By the above-mentioned (2) timing management and (3) time management, the input of the PLC simulator 10A is given by the debugger 20A and the application 30A under the same conditions as the actual operation system during simulation. Therefore, execution / non-execution of control instructions occurs in the same way as during actual operation. Therefore, by accumulating the processing time according to the above-mentioned (1) integration of the processing time, a cycle time close to the actual PLC can be obtained.
[0059]
Therefore, a cycle time required for the system can be verified by performing a series of steps as a control system, reading the cycle time in the simulator or every cycle with a debugger, and taking a history.
[0060]
[When PLC type B (see FIG. 7B) is specified]
(1) Accumulation of processing time In FIG. 8, when the command LD indicated by reference numeral [1] satisfies the condition (“1”), the subsequent command (instruction) OUT is executed, and the processing time is accumulated in that case. Is 0.08 + 0.30 = 0.38 μs.
[0061]
[Data switching for each PLC type / Display of cycle time]
As is clear from the above example, different PLC type data results in different integration times and different cycle times and timings. By specifying the PLC type from the debugger 20A, the PLC simulator 10A can switch the data to be developed between PLC type A and PLC type B. Further, the debugger 20A displays the result of simulation with each data.
[0062]
Assuming that the results shown in FIG. 9 are obtained in a series of steps, if the required specification of the control system at that time is “processing time is 120 ms or less”, the performance of PLC type A may be required. I understand.
[0063]
Note that the “cycle time” shown in FIG. 9 is the time required for one round of a series of steps including instruction execution processing, input / output update processing, and peripheral service processing (processing for communication units, expansion units, interrupt units, etc.). That is. In addition, the “PLC type” referred to here is a type type that corresponds one-to-one with the hardware, and the PLC type is different if the hardware is different even if the product type is the same.
[0064]
According to the above embodiment and examples, the following special effects can be obtained.
[0065]
(1) A PLC control program can be debugged or tested on a personal computer at the same logical timing as the actual machine.
[0066]
(2) The cycle time can be automatically known in a short time only by executing the control program in the simulation environment of the personal computer.
[0067]
(3) It is possible to obtain a cycle time with less error taking into account execution / non-execution of mnemonic instructions.
[0068]
(4) The cycle time for each PLC type can be easily obtained, and it becomes easy to select a PLC type suitable for the application of the control system.
[0069]
(5) By referring to the timer of the PLC simulator not only for the PLC but also for the entire control system, the test for the entire control system can be performed.
[0070]
【The invention's effect】
As is apparent from the above description, according to the present invention, the time-related operation realized by the program simulation execution can be performed in the time environment equivalent to the actual PLC as much as possible without being affected by the performance of the personal computer used. It is to provide a PLC simulator that can be realized.
[0071]
Further, according to the present invention, it is possible to provide a PLC simulator capable of realizing a timer operation and an interrupt operation equivalent to those of a real PLC without being affected by the performance of the personal computer used.
[0072]
Furthermore, according to the present invention, it is possible to provide a PLC simulator capable of automatically calculating an accurate cycle time without being affected by the performance of a personal computer used.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a PLC program development support apparatus to which the present invention is applied.
FIG. 2 is a detailed configuration diagram of a simulation main processing unit and a timing processing unit.
FIG. 3 is a flowchart showing an entire mnemonic execution process including a mnemonic execution / non-execution process time reading unit;
FIG. 4 is a flowchart showing details of peripheral processing execution processing including a peripheral processing time calculation unit.
FIG. 5 is a flowchart showing an operation of a timing processing unit.
FIG. 6 is a block diagram showing an embodiment of a PLC program development support apparatus to which the present invention is applied.
FIG. 7 is a diagram showing mnemonic processing & time information data tabulated by PLC type.
FIG. 8 is a diagram illustrating an example of a mnemonic notation of a PLC program.
FIG. 9 is a table showing cycle time measurement results by PLC type.
[Explanation of symbols]
1 PLC program development support device 10 PLC simulator 20, 20A debugger 30, 30A application 101, 101A simulation main processing unit 101a mnemonic execution / non-execution processing time reading unit 101b peripheral processing time calculation unit 102, 102A timing processing unit 102a processing time integration Unit 102b Timer management unit 103 Control programs 104, 104 (A), 104 (B) Mnemonic processing & time data

Claims (5)

パソコン上の仮想PLCを用いてPLC用制御プログラム及び周辺サービス処理の2つの処理を模擬的に実行させPLCシミュレータであって、
PLC用制御プログラムに使用される各命令の実PLCにおける実処理時間データを記憶させた実処理時間データ記憶手段と、
仮想PLCにおけるプログラム模擬実行処理において、個々の命令が処理される毎に、前記実処理時間データ記憶手段に記憶された実処理時間データを参照して、その命令に対応する実処理時間を読み出す実処理時間読出手段と、
周辺サービス処理の要求がある毎に、その周辺サービス処理に要する時間を予め用意された算出式に基づいて算出する所要時間算出手段と、
前記実処理時間読出手段にて読み出される各命令の実処理時間と前記所要時間算出手段にて算出される各周辺サービス処理の所要時間とを積算して論理時間を生成する論理時間生成手段と、を有し、
前記仮想PLCによるプログラム模擬実行に関する計時処理を前記論理時間を用いて管理する、PLCシミュレータ。
Using the virtual PLC on a personal computer to a PLC simulator Ru simulated allowed to perform the two processes of the PLC control program, and peripheral service processing,
Actual processing time data storage means for storing actual processing time data in the actual PLC of each instruction used in the PLC control program;
In the program simulation execution process in the virtual PLC, each time an individual instruction is processed, an actual processing time corresponding to the instruction is read by referring to the actual processing time data stored in the actual processing time data storage means. and the processing time read-out means,
A required time calculation means for calculating a time required for the peripheral service processing based on a previously prepared calculation formula each time there is a request for the peripheral service processing;
A logical time generating means for generating a logical time by integrating the actual processing time of each instruction read by the actual processing time reading means and the required time of each peripheral service process calculated by the required time calculating means ; Have
A PLC simulator for managing a time measurement process related to program simulation execution by the virtual PLC using the logical time.
前記実処理時間データ記憶手段には、PLC用制御プログラムに使用される各命令の実PLCにおける実処理時間データが、PLCタイプ別に複数タイプに亘り記憶されている、ことを特徴とする請求項1に記載のPLCシミュレータ。2. The actual processing time data storage means stores actual processing time data in the actual PLC of each instruction used in the control program for PLC over a plurality of types for each PLC type. PLC simulator described in 1. 前記仮想PLCによるプログラム模擬実行に関する計時処理には、前記生成された論理時間を基準として、入出力更新処理、命令実行処理、周辺サービス処理の一巡実行時間を測定することで、毎サイクルのサイクルタイムを試算するサイクルタイム試算処理が含まれている、ことを特徴とする請求項1又は2に記載のPLCシミュレータ。In the time measurement process related to the program simulation execution by the virtual PLC, the cycle time of each cycle is measured by measuring the round-trip execution time of the input / output update process, the instruction execution process, and the peripheral service process on the basis of the generated logical time. The PLC simulator according to claim 1 or 2, characterized in that a cycle time calculation process for calculating is calculated. 前記サイクルタイム試算処理には、サイクルタイムの最大値と最小値と平均値とを算出する処理が含まれている、ことを特徴とする請求項3に記載のPLCシミュレータ。The PLC simulator according to claim 3, wherein the cycle time calculation process includes a process of calculating a maximum value, a minimum value, and an average value of cycle times. 請求項1乃至4のいずれかに記載のPLCシミュレータの各構成手段を実現するためのコンピュータプログラムを格納した記録媒体。The recording medium which stored the computer program for implement | achieving each structure means of the PLC simulator in any one of Claims 1 thru | or 4.
JP2000018060A 2000-01-25 2000-01-25 PLC simulator Expired - Lifetime JP3901417B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000018060A JP3901417B2 (en) 2000-01-25 2000-01-25 PLC simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000018060A JP3901417B2 (en) 2000-01-25 2000-01-25 PLC simulator

Publications (2)

Publication Number Publication Date
JP2001209411A JP2001209411A (en) 2001-08-03
JP3901417B2 true JP3901417B2 (en) 2007-04-04

Family

ID=18544961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000018060A Expired - Lifetime JP3901417B2 (en) 2000-01-25 2000-01-25 PLC simulator

Country Status (1)

Country Link
JP (1) JP3901417B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159217A (en) * 2015-08-31 2015-12-16 南京福瑞德机电科技有限公司 Control system of window cleaning machine
EP3502814A1 (en) 2017-12-15 2019-06-26 Omron Corporation Processing loads balancing of control and monitoring functions

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006009263A1 (en) * 2006-02-28 2007-09-06 Siemens Ag System and method for analyzing the runtime behavior of a control program for a manufacturing process
JP4748286B1 (en) 2011-03-15 2011-08-17 オムロン株式会社 Controller support apparatus, controller support program to be executed in the apparatus, recording medium storing the program, and method for estimating execution time of control program
JP4905597B1 (en) 2011-03-15 2012-03-28 オムロン株式会社 Controller support device, controller support program to be executed in the device, and recording medium storing the program
US8977534B2 (en) 2011-03-15 2015-03-10 Omron Corporation Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
WO2015124170A1 (en) * 2014-02-18 2015-08-27 Siemens Aktiengesellschaft Method and apparatus for emulating a programmable logic controller
DE102014002593A1 (en) * 2014-02-24 2015-08-27 Abb Technology Ag Dynamic programmable logic controller
CN105022338A (en) * 2015-07-20 2015-11-04 成都广迈科技有限公司 Parameter collection type industrial automation control system
CN105116826A (en) * 2015-07-20 2015-12-02 成都广迈科技有限公司 Signal regulation type industrial automation control system
CN105068511A (en) * 2015-07-20 2015-11-18 成都广迈科技有限公司 Plc industrial control system
DE102016214117A1 (en) * 2016-08-01 2018-02-01 Siemens Aktiengesellschaft Determining an execution time of a user program
EP3349082B1 (en) * 2017-01-16 2019-07-31 Siemens Aktiengesellschaft System for deactivatable simulation of installations or machines within programmable controllers
US10635071B2 (en) * 2017-09-05 2020-04-28 Mitsubishi Electric Corporation Simulation device and simulation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159217A (en) * 2015-08-31 2015-12-16 南京福瑞德机电科技有限公司 Control system of window cleaning machine
EP3502814A1 (en) 2017-12-15 2019-06-26 Omron Corporation Processing loads balancing of control and monitoring functions
US10915419B2 (en) 2017-12-15 2021-02-09 Omron Corporation Industrial control system, and assistance apparatus, control assist method, and program thereof

Also Published As

Publication number Publication date
JP2001209411A (en) 2001-08-03

Similar Documents

Publication Publication Date Title
JP3901417B2 (en) PLC simulator
JP2018136985A5 (en)
JP3803019B2 (en) Control program development support device
JP2018139136A5 (en)
JP2006350549A (en) Integrated simulation system
JP2002535684A (en) System for real version test and simulated version test of integrated circuits
JP2009508203A (en) Development method of assertion for integrated circuit design simulation
US20080313587A1 (en) Apparatus and method for performing a sequence of verification tests to verify a design of a data processing system
JP4175953B2 (en) High-level synthesis apparatus, hardware verification model generation method, hardware verification method, control program, and readable recording medium
Black et al. Can trace-driven simulators accurately predict superscalar performance?
US7606694B1 (en) Framework for cycle accurate simulation
US5193068A (en) Method of inducing off-circuit behavior in a physical model
JP2017162130A (en) Hardware/software cooperative verification device and hardware/software cooperative verification method
JP2003162428A (en) System and method for simulation, and computer-readable recording medium storing program for making computer execute the simulation system
CN110109374B (en) Semi-physical simulation method and device for thrust adjusting system of liquid rocket engine
JP4213306B2 (en) Program debugging device for semiconductor testing
CN112527571B (en) CPU instruction set coverage rate calculation method and device
EP0945796A2 (en) Simulation method, simulation apparatus and storage medium storing a simulation program
US10339229B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
JP2011238137A (en) Performance estimation device
KR101853361B1 (en) System and method for simulating substrate processing facility
JPH03269736A (en) Computer system
JP2015114675A (en) Application software acceleration testing device and testing method
Theelen et al. Accuracy analysis of long-run average performance metrics
US20220222394A1 (en) Root cause analysis in the synchronization of partial simulations with and without real-time capability

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061226

R150 Certificate of patent or registration of utility model

Ref document number: 3901417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 7

EXPY Cancellation because of completion of term