(57)【要約】【課題】シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行う。【解決手段】通常動作用ラダープログラム１１１、およびシミュレーション用ラダープログラム１１２が、実行されており、通常動作用データレジスタ１２１と、シミュレーション用データレジスタ１２２と、を主メモリ１００に有しており、入力部２０３を介して、通常動作用ラダープログラム１１１が選択されると、通常動作用ラダープログラム１１１は通常動作用データレジスタ１２１を使用して制御対象装置２の制御を行い、入力部２０３を介して、シミュレーション用ラダープログラム１１２が選択されると、シミュレーション用ラダープログラム１１２は、通常動作用データレジスタ１２１およびシミュレーション用データレジスタ１２２を使用してシミュレーションを行うことを特徴とする。【選択図】図１
2013029940.tif 000002
【特許請求の範囲】
【請求項１】
制御対象装置の制御および制御対象装置の制御シミュレーションを行うプログラマブルロジックコントローラであって、
前記制御対象装置の制御を行う通常動作用ラダープログラムと、前記制御対象装置の制御のシミュレーションを行うシミュレーション用ラダープログラムとが配備されるとともに、前記制御対象装置から入力される入力値、および前記制御対象装置への出力値が格納される通常動作用データレジスタと、入力部から入力される模擬入力値、および前記シミュレーションの結果である模擬出力値が格納されるシミュレーション用データレジスタとが配備される主メモリと、
前記通常動作用ラダープログラム、および前記シミュレーション用ラダープログラムの双方を、前記主メモリに常駐させるように配備する制御部と、
を備え、
前記制御部は、
前記入力部を介して、前記通常動作用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値および出力値を使用しての前記通常動作用ラダープログラムによる前記制御対象装置の制御を行い、
前記入力部を介して、前記シミュレーション用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値、およびシミュレーション用データレジスタに格納されている模擬入力値を使用しての前記シミュレーション用ラダープログラムによる前記シミュレーションを行う
ことを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記通常動作用ラダープログラムで使用されるパラメータと、前記シミュレーション用ラダープログラムで使用されるパラメータと、は対応付けられて設定されており、
前記シミュレーション用データレジスタには、前記通常動作用ラダープログラムで使用されるパラメータと対応付けられている前記パラメータの値が、前記通常動作用データレジスタの領域とは別の領域に格納されている
ことを特徴とする請求項１に記載のプログラマブルロジックコントローラ
【請求項３】
前記シミュレーション用ラダープログラムは、
前記通常動作用データレジスタにおいて、前記入力値を読み込むことはできるが、前記出力値を書き込むことはできない
ことを特徴とする請求項１または請求項２に記載のプログラマブルロジックコントローラ。
【請求項４】
前記シミュレーション用ラダープログラムによる前記シミュレーションが行われている間にも、前記通常動作用ラダープログラムによる前記制御対象装置の制御が行われている
ことを特徴とする請求項１から請求項３のいずれか一項に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象装置の制御のシミュレーションを行うことができるプログラマブルロジックコントローラの技術に関する。
【背景技術】
【０００２】
ＰＬＣ（Programmable Logic Controller：プログラマブルロジックコントローラ）は電気・機械装置などの制御対象装置を制御するため、制御論理をソフトウェアで構成し、制御対象装置の変更や、制御論理の構築、修正、補修に柔軟に対応できるシステムを実現するものである。ＰＬＣにおける制御論理とはラダー図で表現されるものであり、ＰＬＣは、このラダー図で表現されるラダープログラムによって動作するものである。特に、ラダープログラムにおける論理もしくは制御対象装置の変更時には、ソフトウェアの動作を確認するために運用状態を維持したまま、実際に運用している機器とＰＬＣを接続し、試験を行うための環境が望まれている。つまり、ＰＬＣによる制御対象装置の制御を行ったまま、ＰＬＣのシミュレーション（以下、シミュレーションと称する）を行うことが望まれている。
このような論理もしくは制御対象装置の変更時に際して、事前にシミュレーションを行う機能を内部に備えたＰＬＣが開発されつつある。
【０００３】
特許文献１には、シーケンスプログラム（ラダープログラム）を変更することなく、実時間レベルでのシミュレーションを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１０８０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＰＬＣによる制御対象装置の制御を行ったまま、自由なシミュレーションを行うためには、実際の制御対象装置との入出力インターフェースとは別にシミュレーション用の入出力インタフェースを用意する必要がある。
このような設定変更は、運用中の実行環境と、シミュレーションとの実行環境とが混在し、繁雑で、間違いを招きやすいという課題がある。
【０００６】
さらに、実行中の運用状態とは異なる条件でシミュレーションを行う際に、外部ツールから、ユーザが想定した入出力値を用いる場合がある。そのような場合にも、外部ツールを柔軟にＰＬＣに接続する機構が必要である。
【０００７】
また、特許文献１に記載の技術では、通常動作用ラダープログラムと、シミュレーション用ラダープログラムとを、実行の都度、切り替えて主メモリにロードする必要があるため、その切替のための時間を要するという課題がある。
【０００８】
このような背景に鑑みて本発明がなされたのであり、本発明は、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、本発明は、制御対象装置の制御および制御対象装置の制御シミュレーションを行うプログラマブルロジックコントローラであって、前記制御対象装置の制御を行う通常動作用ラダープログラムと、前記制御対象装置の制御のシミュレーションを行うシミュレーション用ラダープログラムとが配備されるとともに、前記制御対象装置から入力される入力値、および前記制御対象装置への出力値が格納される通常動作用データレジスタと、入力部から入力される模擬入力値、および前記シミュレーションの結果である模擬出力値が格納されるシミュレーション用データレジスタとが配備される主メモリと、前記通常動作用ラダープログラム、および前記シミュレーション用ラダープログラムの双方を、前記主メモリに常駐させるように配備する制御部と、を備え、前記制御部は、前記入力部を介して、前記通常動作用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値および出力値を使用しての前記通常動作用ラダープログラムによる前記制御対象装置の制御を行い、前記入力部を介して、前記シミュレーション用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値、およびシミュレーション用データレジスタに格納されている模擬入力値を使用しての前記シミュレーション用ラダープログラムによる前記シミュレーションを行うことを特徴とする。
その他の解決手段は実施形態中で後記する。
【発明の効果】
【００１０】
本発明によれば、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るＰＬＣシステムの構成例を示す図である。
【図２】本実施形態に係るラダー図の具体例を示す図である。
【図３】本実施形態に係るパラメータ対応テーブルの例を示す図である。
【図４】動作モードによるラダープログラムの切替を説明するための図である。
【図５】本実施形態に係るデータエリアの構成例を示す図である。
【図６】本実施形態に係る各ラダープログラムとデータエリアとの関係例を示す図である。
【図７】本実施形態に係るＰＬＣ制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００１３】
（システム構成）
図１は、本実施形態に係るＰＬＣシステムの構成例を示す図である。
ＰＬＣシステム１０は、演算装置１と、制御対象装置２と、シミュレーションツール３と、リモート入力装置４と、リモート出力装置５とを有している。
制御対象装置２は、ＰＬＣによる制御が行われる装置であり、制御対象装置２からの信号値は、リモート入力装置４を介して、制御値として演算装置１に入力される。また、制御対象装置２への信号値は、リモート出力装置５を介して、制御値として演算装置１から制御対象装置２へ送信される。
シミュレーションツール３は、ユーザの入力によって、後記するシミュレーションパラメータを生成し、それを演算装置１へ送る。
なお、本実施形態では、制御対象装置２から送信されるデータを「信号値」と称し、演算装置１内で使用されるデータを「制御値」と称することとする。また、「制御値」のうち、外部から入力されたものを「入力値」、外部へ出力されるものを「出力値」と、適宜称することとする。
【００１４】
演算装置１は、ＰＬＣ本体である。演算装置１は、通信制御部２０５を介してリモート入力装置４およびリモート出力装置５と制御値（信号値）のやりとりを行い、制御対象装置２の制御を行う。また、演算装置１は、リモート入力装置４を介した信号値の収集や、入力部２０３から模擬入力された入力値や、演算結果をデータエリア１２０に格納し、さらに制御出力を決定・出力する。つまり、演算装置１は、通常動作用ラダープログラム１１１による制御対象装置２の制御を行うとともに、シミュレーション用ラダープログラム１１２によるシミュレーションを行う。ここで、通常動作用ラダープログラム１１１とは、制御対象装置２を実際に制御するものであり、シミュレーション用ラダープログラム１１２とは、実際に制御対象装置２を制御することはなく、通常動作用ラダープログラム１１１の動作のシミュレーションを行うものである。
【００１５】
演算装置１は、主メモリ１００、ラダー演算プロセッサ（制御部）２０１、マイクロプロセッサ２０２、入力部２０３、出力部２０４、通信制御部２０５を有している。ラダー演算プロセッサ２０１は、ラダー図で表現したプログラム（ラダープログラム）を専用に実行・処理するプロセッサである。これに対し、マイクロプロセッサ２０２は、シミュレーションツール３などの外部のツールと接続し、このようなツールとのインターフェース情報をやりとりする。
また、マイクロプロセッサ２０２には、シミュレーションのための模擬入力を行なう入力部２０３や、シミュレーション結果を模擬出力するための出力部２０４が接続されている。
【００１６】
主メモリ１００は、プログラムエリア１１０と、データエリア１２０とに分けられており、プログラムエリア１１０には、通常動作用ラダープログラム１１１、シミュレーション用ラダープログラム１１２および制御プログラム１１３がロードされ、ラダー演算プロセッサ２０１によって実行されている。以降、通常動作用ラダープログラム１１１およびシミュレーション用ラダープログラム１１２の総称として、ラダープログラムと称することがある。制御プログラム１１３は、通常動作用ラダープログラム１１１およびシミュレーション用ラダープログラム１１２を起動・実行したり、入力部２０３を介して入力された入力値をシミュレーション用データレジスタ１２２に格納したりする。
【００１７】
また、データエリア１２０は、通常動作用データレジスタ１２１、シミュレーション用データレジスタ１２２およびパラメータ対応テーブル１２３が格納されている。
通常動作用データレジスタ１２１は、制御対象装置２からの入力値や、制御対象装置２への出力値が格納されており、通常動作用ラダープログラム１１１が読み書きできるが、シミュレーション用ラダープログラム１１２が入力値の読み込みしかできない領域である。
シミュレーション用データレジスタ１２２は、入力部２０３から模擬入力された入力値や、出力部２０４へ模擬出力される出力値が格納されており、シミュレーション用ラダープログラム１１２は読み書き可能であるが、通常動作用ラダープログラム１１１は読み込みも書き込みも不可能な領域である。
以降、通常動作用データレジスタ１２１と、シミュレーション用データレジスタ１２２の総称としてデータレジスタと称することがある。
通常動作用データレジスタ１２１およびシミュレーション用データレジスタ１２２については、後記して説明する。
【００１８】
パラメータ対応テーブル１２３は、後記して説明するが、通常動作用ラダープログラム１１１およびシミュレーション用ラダープログラム１１２が使用するパラメータの対応表である。
【００１９】
なお、プログラムエリア１１０における通常動作用ラダープログラム１１１およびシミュレーション用ラダープログラム１１２は、主メモリ１００上における独立した区画に格納され、それぞれのラダープログラムは独立して機能する。
同様に、データエリア１２０における通常動作用データレジスタ１２１と、シミュレーション用データレジスタ１２２は、主メモリ１００上における独立した区画に格納され、それぞれのデータレジスタは独立して読み書きされる。
【００２０】
以下、本実施形態の具体例について説明する。
（ラダー図）
図２は、本実施形態に係るラダー図の具体例を示す図である。
図２（ａ）は、通常動作用ラダープログラム１１１で使用するラダー図（通常動作用ラダー図）の具体例であり、図２（ｂ）は、シミュレーション用ラダープログラム１１２で使用するラダー図（シミュレーション用ラダー図）の具体例である。
図２（ａ）および図２（ｂ）におけるラダー図は、ほぼ同様の構成を有している。
つまり、図２（ａ）を参照して、説明すると、図２におけるラダー図は接点「Ｘ１００」、接点「Ｘ２００」の入力値（ここでは、「１」または「０」）を積演算し、その演算結果をコイル要素への出力値「Ｙ３００」として出力する。ここで、「Ｘ１００」、「Ｘ２００」などがパラメータ名である。
【００２１】
図２（ｂ）に示すシミュレーション用ラダープログラム１１２で使用するラダー図では、図２（ａ）の接点「Ｘ２００」が接点「Ｒ６００」となり、出力「Ｙ３００」が出力「Ｍ７００」となっている。
【００２２】
図２で示した、通常動作用ラダープログラム１１１で使用するラダー図のパラメータと、シミュレーション用ラダープログラム１１２で使用するラダー図のパラメータの対応関係を保持するのが、図３に示すパラメータ対応テーブル１２３である。
なお、パラメータ対応テーブル１２３は、後記する図７のステップＳ１０２で登録されるものである。
【００２３】
図４は、動作モードによるラダープログラムの切替を説明するための図である。なお、動作モードは、通常動作用ラダープログラム１１１による制御を行う「通常動作」、およびシミュレーション用ラダープログラム１１２によるシミュレーションを行う「シミュレーション」の２つである。
この例では、動作モードが「通常動作」である場合、プログラムエリア１１０でロード・実行されている通常動作用ラダープログラム１１１は、図４に示すように図２（ａ）に示すラダー図に従って動作するものとする。
また、この例では、動作モードが「シミュレーション」である場合、プログラムエリア１１０でロード・実行されているシミュレーション用ラダープログラム１１２は、図４に示すように図２（ｂ）に示すラダー図に従って動作するものとする。
【００２４】
（データエリア）
図５は、本実施形態に係るデータエリアの構成例を示す図である。
データエリア１２０は、各アドレスに制御値が格納されている。
図２における「Ｘ１００」において、「Ｘ」はデバイス修飾文字を示し、「１００」がアドレスを示している。
従って、アドレス「１００」には、図２における「Ｘ１００」の入力値が格納される。
同様に、アドレス「２００」には、図２における「Ｘ２００」の入力値が格納され、アドレス「３００」には、図２における「Ｙ３００」の出力値が格納される。
また、アドレス「６００」には、図２における「Ｒ６００」の入力値が格納され、アドレス「７００」には、図２における「Ｍ７００」の出力値が格納される。
【００２５】
本実施形態では、データエリア１２０を通常動作用データレジスタ１２１と、シミュレーション用データレジスタ１２２とに分けている。図５では、アドレス「１００」〜「３００」までが通常動作用データレジスタ１２１であり、アドレス「６００」〜「７００」までがシミュレーション用データレジスタ１２２となる。
通常動作用データレジスタ１２１と、シミュレーション用データレジスタ１２２の主メモリ１００上における各区画は独立している。
前記したように、通常動作用ラダープログラム１１１は、通常動作用データレジスタ１２１に対する読み書きは可能であるが、シミュレーション用データレジスタ１２２に対する読み書きはできない。
そして、シミュレーション用ラダープログラム１１２は、シミュレーション用データレジスタ１２２に対する読み書きは可能であるが、通常動作用データレジスタ１２１からは入力値の読み込みしかできない。
なお、本実施形態において、データエリア１２０の区画を、レジスタと称しているが、それは計算機アーキテクチャにより異なる。
【００２６】
（各ラダープログラムとデータエリアとの関係）
図６は、本実施形態に係る各ラダープログラムとデータエリアとの関係例を示す図である。
図６に示すように、通常動作用ラダープログラム１１１では、「Ｘ１００」の入力値として、データエリア１２０のアドレス「１００」に制御対象装置２から転写入力された制御値が使用され、「Ｘ２００」の入力値として、アドレス「２００」に制御対象装置２から転写入力された制御値が使用され、「Ｙ３００」の出力値として、アドレス「３００」の制御値が制御対象装置２へ転写出力される。
また、シミュレーション用ラダープログラム１１２において、「Ｘ１００」の入力値として、データエリア１２０のアドレス「１００」に制御対象装置２から転写入力された制御値が使用され、「Ｒ６００」の入力値として、アドレス「６００」に入力部２０３から模擬入力された制御値が使用され、「Ｍ７００」の出力値として、アドレス「７００」の制御値が出力部２０４へ模擬出力される。
【００２７】
このように、同一のデータエリア１２０を通常動作用データレジスタ１２１およびシミュレーション用データレジスタ１２２に分けて、制御値の管理をし、通常動作用ラダープログラム１１１や、シミュレーション用ラダープログラム１１２は、それぞれのデータレジスタに対して読込・書込を行う。
ここで、「Ｘ１００」のように、シミュレーション用ラダープログラム１１２において、制御対象装置２から転写入力される制御値を使用することもできる。
【００２８】
（フローチャート）
図７は、本実施形態に係るＰＬＣ制御処理の手順を示すフローチャートである。
まず、ユーザは、制御プログラム１１３を起動し、実行する（Ｓ１０１）。
次に、ユーザは、シミュレーションツール３を用いて、シミュレーションに使用するパラメータであるシミュレーションパラメータを作成し、作成したシミュレーションパラメータを、対応する通常動作用パラメータとともに演算装置１へ送信する。ここで、通常動作用パラメータとは、通常動作用ラダープログラム１１１が参照する変数のことである。シミュレーションパラメータと、通常動作用パラメータを受信した演算装置１の制御プログラム１１３は、受信した各パラメータを、通常動作用ラダープログラム１１１のパラメータと、シミュレーション用ラダープログラム１１２のパラメータとで対応付けてデータエリア１２０のパラメータ対応テーブル１２３に登録する（Ｓ１０２）。このようにすることで、通常動作用ラダー図の各パラメータに、シミュレーション用ラダー図の各パラメータが対応付けられ、シミュレーション用ラダー図（シミュレーション用ラダープログラム１１２）が生成されることになる。
【００２９】
ここでは、シミュレーション用ラダープログラム１１２で使用するパラメータが、パラメータ対応テーブル１２３に対応付けられることで、通常動作用ラダー図に対応するシミュレーション用ラダー図が生成されているが、これに限らず、ユーザが、通常動作用ラダー図をコピーし、そのパラメータを書き換えることで、直接シミュレーション用ラダー図を作成するようにしてもよい。
【００３０】
そして、制御プログラム１１３は、主メモリ１００のプログラムエリア１１０に通常動作用ラダープログラム１１１をロードし、ロードした通常動作用ラダープログラム１１１を起動し、実行する（Ｓ１０３）。
次に、制御プログラム１１３は、主メモリ１００のプログラムエリア１１０にシミュレーション用ラダープログラム１１２をロードし、ロードしたシミュレーション用ラダープログラム１１２を起動し、実行する（Ｓ１０４）。ステップＳ１０３とステップＳ１０４の順序は逆でもよい。
【００３１】
次に、ユーザは、入力部２０３を介して、動作モードを入力する（Ｓ１０５）。ここで入力される動作モードは、「シミュレーション」または「通常動作」である。
制御プログラム１１３は、入力された動作モードが、「シミュレーション」か否かを判定する（Ｓ１０６）。
ステップＳ１０６の結果、動作モードが「シミュレーション」である場合（Ｓ１０６→Ｙｅｓ）、入力部２０３を介して、入力値が入力（模擬入力）される（Ｓ１１１）。模擬入力はシミュレーションツール３を介して行われてもよい。
模擬入力された入力値は、該当するパラメータ名（「Ｒ６００」など）とともに入力され、制御プログラム１１３は、パラメータに該当するシミュレーション用データレジスタ１２２に模擬入力された入力値（模擬入力値）を格納する。前記したようにパラメータ名にはアドレスが付随しているので（パラメータ名「Ｒ６００」では「６００」がアドレスを示す）、制御プログラム１１３は、このアドレスに模擬入力された入力値を格納する。
【００３２】
そして、ステップＳ１０４の段階で実行されているシミュレーション用ラダープログラム１１２が、主メモリ１００のデータエリア１２０の通常動作用データレジスタ１２１またはシミュレーション用データレジスタ１２２から制御値を取得する（Ｓ１１２）。シミュレーション用ラダープログラム１１２は、パラメータ名に付随するアドレスから制御値を取得する。
【００３３】
続いて、シミュレーション用ラダープログラム１１２は、取得した制御値を基に、演算を行い（Ｓ１１３）、演算結果を模擬出力値として、シミュレーション用データレジスタ１２２の該当するアドレスに書き込んだ後、出力部２０４に出力（模擬出力）する（Ｓ１１４）。模擬出力は、シミュレーションツール３に対して行われてもよい。つまり、シミュレーション用ラダープログラム１１２は、通常動作用データレジスタ１２１またはシミュレーション用データレジスタ１２２から取得した制御値を使用してシミュレーションを行う。なお、シミュレーション用ラダープログラム１１２によるシミュレーションが行われている間でも、通常動作用ラダープログラム１１１による制御対象装置２の制御が継続実行されていてもよい。
そして、制御プログラム１１３は、入力部２０３を介して動作モードの変更が入力されたか否かを判定する（Ｓ１１５）。
【００３４】
ステップＳ１１５の結果、動作モードの変更が入力されている場合（Ｓ１１５→Ｙｅｓ）、つまり、動作モードが「通常動作」に変更された場合、制御プログラム１１３は、ステップＳ１２１へ処理を進める。
ステップＳ１１５の結果、動作モードの変更が入力されていない場合（Ｓ１１５→Ｎｏ）、つまり、動作モードは「シミュレーション」のままである場合、制御プログラム１１３は、ステップＳ１１１へ処理を戻す。
【００３５】
ステップＳ１０６の結果、動作モードが「シミュレーション」ではない場合（Ｓ１０６→Ｎｏ）、つまり、動作モードが「通常動作」である場合、リモート入力装置４を介して、制御対象装置２から、該当するパラメータ名とともに制御値が入力（転写入力）されると（Ｓ１２１）、制御プログラム１１３は、入力された制御値を該当するパラメータとともに通常動作用レジスタ１２１に格納する。
そして、ステップＳ１０３の段階で実行されている通常動作用ラダープログラム１１１が、データエリア１２０の通常動作用データレジスタ１２１から制御値を取得する（Ｓ１２２）。
【００３６】
続いて、通常動作用ラダープログラム１１１は、取得した制御値を基に、演算を行い（Ｓ１２３）、演算結果を出力値として通常動作用データレジスタ１２１の該当するアドレスに書き込んだ後、リモート出力装置５を介して制御対象装置２へ出力（転写出力）する（Ｓ１２４）。つまり、通常動作用ラダープログラム１１１は、通常動作用データレジスタ１２１から取得した制御値を使用して制御対象装置２の制御を行う。
そして、制御プログラム１１３は、入力部２０３を介して動作モードの変更が入力されたか否かを判定する（Ｓ１２５）。
ステップＳ１２５の結果、動作モードの変更が入力された場合（Ｓ１２５→Ｙｅｓ）、つまり、動作モードが「シミュレーション」に変更された場合、制御プログラム１１３は、ステップＳ１１１へ処理を進める。
ステップＳ１２５の結果、動作モードの変更が入力されていない場合（Ｓ１２５→Ｎｏ）、つまり、動作モードは「通常動作」のままである場合、制御プログラム１１３は、ステップＳ１２１へ処理を戻す。
【００３７】
（まとめ）
本実施形態によれば、予め通常動作用ラダープログラム１１１およびシミュレーション用ラダープログラム１１２をロード・実行しておいて、入力部２０３から入力される動作モードに応じて切り替えるので、切替時間を短縮することができる。つまり、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことができる。
また、シミュレーション用ラダープログラム１１２を、通常動作用ラダープログラム１１１とは別に実行しておき、また、それぞれのラダープログラムが使用するデータエリア１２０の区画を区別することで、通常動作用ラダープログラム１１１による制御対象装置２への制御を実行したままで、シミュレーション用ラダープログラム１１２によるシミュレーションを行うことができる。
【符号の説明】
【００３８】
１      演算装置
２      制御対象装置
３      シミュレーションツール
４      リモート入力装置
５      リモート出力装置
１０    ＰＬＣシステム
１００  主メモリ
１１０  プログラムエリア
１１１  通常動作用ラダープログラム
１１２  シミュレーション用ラダープログラム
１１３  制御プログラム
１２０  データエリア
１２１  通常動作用データレジスタ
１２２  シミュレーション用データレジスタ
１２３  パラメータ対応テーブル
２０１  ラダー演算プロセッサ
２０２  マイクロプロセッサ
２０３  入力部
２０４  出力部
２０５  通信制御部
【図１】
2013029940.tif 000003
【図２】
2013029940.tif 000004
【図３】
2013029940.tif 000005
【図４】
2013029940.tif 000006
【図５】
2013029940.tif 000007
【図６】
2013029940.tif 000008
【図７】
2013029940.tif 000009