JP2013029940A - プログラマブルロジックコントローラ - Google Patents
プログラマブルロジックコントローラ Download PDFInfo
- Publication number
- JP2013029940A JP2013029940A JP2011164679A JP2011164679A JP2013029940A JP 2013029940 A JP2013029940 A JP 2013029940A JP 2011164679 A JP2011164679 A JP 2011164679A JP 2011164679 A JP2011164679 A JP 2011164679A JP 2013029940 A JP2013029940 A JP 2013029940A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- normal operation
- ladder program
- control
- input
- 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.)
- Withdrawn
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行う。
【解決手段】通常動作用ラダープログラム111、およびシミュレーション用ラダープログラム112が、実行されており、通常動作用データレジスタ121と、シミュレーション用データレジスタ122と、を主メモリ100に有しており、入力部203を介して、通常動作用ラダープログラム111が選択されると、通常動作用ラダープログラム111は通常動作用データレジスタ121を使用して制御対象装置2の制御を行い、入力部203を介して、シミュレーション用ラダープログラム112が選択されると、シミュレーション用ラダープログラム112は、通常動作用データレジスタ121およびシミュレーション用データレジスタ122を使用してシミュレーションを行うことを特徴とする。
【選択図】図1
【解決手段】通常動作用ラダープログラム111、およびシミュレーション用ラダープログラム112が、実行されており、通常動作用データレジスタ121と、シミュレーション用データレジスタ122と、を主メモリ100に有しており、入力部203を介して、通常動作用ラダープログラム111が選択されると、通常動作用ラダープログラム111は通常動作用データレジスタ121を使用して制御対象装置2の制御を行い、入力部203を介して、シミュレーション用ラダープログラム112が選択されると、シミュレーション用ラダープログラム112は、通常動作用データレジスタ121およびシミュレーション用データレジスタ122を使用してシミュレーションを行うことを特徴とする。
【選択図】図1
Description
本発明は、制御対象装置の制御のシミュレーションを行うことができるプログラマブルロジックコントローラの技術に関する。
PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)は電気・機械装置などの制御対象装置を制御するため、制御論理をソフトウェアで構成し、制御対象装置の変更や、制御論理の構築、修正、補修に柔軟に対応できるシステムを実現するものである。PLCにおける制御論理とはラダー図で表現されるものであり、PLCは、このラダー図で表現されるラダープログラムによって動作するものである。特に、ラダープログラムにおける論理もしくは制御対象装置の変更時には、ソフトウェアの動作を確認するために運用状態を維持したまま、実際に運用している機器とPLCを接続し、試験を行うための環境が望まれている。つまり、PLCによる制御対象装置の制御を行ったまま、PLCのシミュレーション(以下、シミュレーションと称する)を行うことが望まれている。
このような論理もしくは制御対象装置の変更時に際して、事前にシミュレーションを行う機能を内部に備えたPLCが開発されつつある。
このような論理もしくは制御対象装置の変更時に際して、事前にシミュレーションを行う機能を内部に備えたPLCが開発されつつある。
特許文献1には、シーケンスプログラム(ラダープログラム)を変更することなく、実時間レベルでのシミュレーションを可能とする技術が開示されている。
PLCによる制御対象装置の制御を行ったまま、自由なシミュレーションを行うためには、実際の制御対象装置との入出力インターフェースとは別にシミュレーション用の入出力インタフェースを用意する必要がある。
このような設定変更は、運用中の実行環境と、シミュレーションとの実行環境とが混在し、繁雑で、間違いを招きやすいという課題がある。
このような設定変更は、運用中の実行環境と、シミュレーションとの実行環境とが混在し、繁雑で、間違いを招きやすいという課題がある。
さらに、実行中の運用状態とは異なる条件でシミュレーションを行う際に、外部ツールから、ユーザが想定した入出力値を用いる場合がある。そのような場合にも、外部ツールを柔軟にPLCに接続する機構が必要である。
また、特許文献1に記載の技術では、通常動作用ラダープログラムと、シミュレーション用ラダープログラムとを、実行の都度、切り替えて主メモリにロードする必要があるため、その切替のための時間を要するという課題がある。
このような背景に鑑みて本発明がなされたのであり、本発明は、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことを課題とする。
前記課題を解決するため、本発明は、制御対象装置の制御および制御対象装置の制御シミュレーションを行うプログラマブルロジックコントローラであって、前記制御対象装置の制御を行う通常動作用ラダープログラムと、前記制御対象装置の制御のシミュレーションを行うシミュレーション用ラダープログラムとが配備されるとともに、前記制御対象装置から入力される入力値、および前記制御対象装置への出力値が格納される通常動作用データレジスタと、入力部から入力される模擬入力値、および前記シミュレーションの結果である模擬出力値が格納されるシミュレーション用データレジスタとが配備される主メモリと、前記通常動作用ラダープログラム、および前記シミュレーション用ラダープログラムの双方を、前記主メモリに常駐させるように配備する制御部と、を備え、前記制御部は、前記入力部を介して、前記通常動作用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値および出力値を使用しての前記通常動作用ラダープログラムによる前記制御対象装置の制御を行い、前記入力部を介して、前記シミュレーション用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値、およびシミュレーション用データレジスタに格納されている模擬入力値を使用しての前記シミュレーション用ラダープログラムによる前記シミュレーションを行うことを特徴とする。
その他の解決手段は実施形態中で後記する。
その他の解決手段は実施形態中で後記する。
本発明によれば、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことができる。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
(システム構成)
図1は、本実施形態に係るPLCシステムの構成例を示す図である。
PLCシステム10は、演算装置1と、制御対象装置2と、シミュレーションツール3と、リモート入力装置4と、リモート出力装置5とを有している。
制御対象装置2は、PLCによる制御が行われる装置であり、制御対象装置2からの信号値は、リモート入力装置4を介して、制御値として演算装置1に入力される。また、制御対象装置2への信号値は、リモート出力装置5を介して、制御値として演算装置1から制御対象装置2へ送信される。
シミュレーションツール3は、ユーザの入力によって、後記するシミュレーションパラメータを生成し、それを演算装置1へ送る。
なお、本実施形態では、制御対象装置2から送信されるデータを「信号値」と称し、演算装置1内で使用されるデータを「制御値」と称することとする。また、「制御値」のうち、外部から入力されたものを「入力値」、外部へ出力されるものを「出力値」と、適宜称することとする。
図1は、本実施形態に係るPLCシステムの構成例を示す図である。
PLCシステム10は、演算装置1と、制御対象装置2と、シミュレーションツール3と、リモート入力装置4と、リモート出力装置5とを有している。
制御対象装置2は、PLCによる制御が行われる装置であり、制御対象装置2からの信号値は、リモート入力装置4を介して、制御値として演算装置1に入力される。また、制御対象装置2への信号値は、リモート出力装置5を介して、制御値として演算装置1から制御対象装置2へ送信される。
シミュレーションツール3は、ユーザの入力によって、後記するシミュレーションパラメータを生成し、それを演算装置1へ送る。
なお、本実施形態では、制御対象装置2から送信されるデータを「信号値」と称し、演算装置1内で使用されるデータを「制御値」と称することとする。また、「制御値」のうち、外部から入力されたものを「入力値」、外部へ出力されるものを「出力値」と、適宜称することとする。
演算装置1は、PLC本体である。演算装置1は、通信制御部205を介してリモート入力装置4およびリモート出力装置5と制御値(信号値)のやりとりを行い、制御対象装置2の制御を行う。また、演算装置1は、リモート入力装置4を介した信号値の収集や、入力部203から模擬入力された入力値や、演算結果をデータエリア120に格納し、さらに制御出力を決定・出力する。つまり、演算装置1は、通常動作用ラダープログラム111による制御対象装置2の制御を行うとともに、シミュレーション用ラダープログラム112によるシミュレーションを行う。ここで、通常動作用ラダープログラム111とは、制御対象装置2を実際に制御するものであり、シミュレーション用ラダープログラム112とは、実際に制御対象装置2を制御することはなく、通常動作用ラダープログラム111の動作のシミュレーションを行うものである。
演算装置1は、主メモリ100、ラダー演算プロセッサ(制御部)201、マイクロプロセッサ202、入力部203、出力部204、通信制御部205を有している。ラダー演算プロセッサ201は、ラダー図で表現したプログラム(ラダープログラム)を専用に実行・処理するプロセッサである。これに対し、マイクロプロセッサ202は、シミュレーションツール3などの外部のツールと接続し、このようなツールとのインターフェース情報をやりとりする。
また、マイクロプロセッサ202には、シミュレーションのための模擬入力を行なう入力部203や、シミュレーション結果を模擬出力するための出力部204が接続されている。
また、マイクロプロセッサ202には、シミュレーションのための模擬入力を行なう入力部203や、シミュレーション結果を模擬出力するための出力部204が接続されている。
主メモリ100は、プログラムエリア110と、データエリア120とに分けられており、プログラムエリア110には、通常動作用ラダープログラム111、シミュレーション用ラダープログラム112および制御プログラム113がロードされ、ラダー演算プロセッサ201によって実行されている。以降、通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112の総称として、ラダープログラムと称することがある。制御プログラム113は、通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112を起動・実行したり、入力部203を介して入力された入力値をシミュレーション用データレジスタ122に格納したりする。
また、データエリア120は、通常動作用データレジスタ121、シミュレーション用データレジスタ122およびパラメータ対応テーブル123が格納されている。
通常動作用データレジスタ121は、制御対象装置2からの入力値や、制御対象装置2への出力値が格納されており、通常動作用ラダープログラム111が読み書きできるが、シミュレーション用ラダープログラム112が入力値の読み込みしかできない領域である。
シミュレーション用データレジスタ122は、入力部203から模擬入力された入力値や、出力部204へ模擬出力される出力値が格納されており、シミュレーション用ラダープログラム112は読み書き可能であるが、通常動作用ラダープログラム111は読み込みも書き込みも不可能な領域である。
以降、通常動作用データレジスタ121と、シミュレーション用データレジスタ122の総称としてデータレジスタと称することがある。
通常動作用データレジスタ121およびシミュレーション用データレジスタ122については、後記して説明する。
通常動作用データレジスタ121は、制御対象装置2からの入力値や、制御対象装置2への出力値が格納されており、通常動作用ラダープログラム111が読み書きできるが、シミュレーション用ラダープログラム112が入力値の読み込みしかできない領域である。
シミュレーション用データレジスタ122は、入力部203から模擬入力された入力値や、出力部204へ模擬出力される出力値が格納されており、シミュレーション用ラダープログラム112は読み書き可能であるが、通常動作用ラダープログラム111は読み込みも書き込みも不可能な領域である。
以降、通常動作用データレジスタ121と、シミュレーション用データレジスタ122の総称としてデータレジスタと称することがある。
通常動作用データレジスタ121およびシミュレーション用データレジスタ122については、後記して説明する。
パラメータ対応テーブル123は、後記して説明するが、通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112が使用するパラメータの対応表である。
なお、プログラムエリア110における通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112は、主メモリ100上における独立した区画に格納され、それぞれのラダープログラムは独立して機能する。
同様に、データエリア120における通常動作用データレジスタ121と、シミュレーション用データレジスタ122は、主メモリ100上における独立した区画に格納され、それぞれのデータレジスタは独立して読み書きされる。
同様に、データエリア120における通常動作用データレジスタ121と、シミュレーション用データレジスタ122は、主メモリ100上における独立した区画に格納され、それぞれのデータレジスタは独立して読み書きされる。
以下、本実施形態の具体例について説明する。
(ラダー図)
図2は、本実施形態に係るラダー図の具体例を示す図である。
図2(a)は、通常動作用ラダープログラム111で使用するラダー図(通常動作用ラダー図)の具体例であり、図2(b)は、シミュレーション用ラダープログラム112で使用するラダー図(シミュレーション用ラダー図)の具体例である。
図2(a)および図2(b)におけるラダー図は、ほぼ同様の構成を有している。
つまり、図2(a)を参照して、説明すると、図2におけるラダー図は接点「X100」、接点「X200」の入力値(ここでは、「1」または「0」)を積演算し、その演算結果をコイル要素への出力値「Y300」として出力する。ここで、「X100」、「X200」などがパラメータ名である。
(ラダー図)
図2は、本実施形態に係るラダー図の具体例を示す図である。
図2(a)は、通常動作用ラダープログラム111で使用するラダー図(通常動作用ラダー図)の具体例であり、図2(b)は、シミュレーション用ラダープログラム112で使用するラダー図(シミュレーション用ラダー図)の具体例である。
図2(a)および図2(b)におけるラダー図は、ほぼ同様の構成を有している。
つまり、図2(a)を参照して、説明すると、図2におけるラダー図は接点「X100」、接点「X200」の入力値(ここでは、「1」または「0」)を積演算し、その演算結果をコイル要素への出力値「Y300」として出力する。ここで、「X100」、「X200」などがパラメータ名である。
図2(b)に示すシミュレーション用ラダープログラム112で使用するラダー図では、図2(a)の接点「X200」が接点「R600」となり、出力「Y300」が出力「M700」となっている。
図2で示した、通常動作用ラダープログラム111で使用するラダー図のパラメータと、シミュレーション用ラダープログラム112で使用するラダー図のパラメータの対応関係を保持するのが、図3に示すパラメータ対応テーブル123である。
なお、パラメータ対応テーブル123は、後記する図7のステップS102で登録されるものである。
なお、パラメータ対応テーブル123は、後記する図7のステップS102で登録されるものである。
図4は、動作モードによるラダープログラムの切替を説明するための図である。なお、動作モードは、通常動作用ラダープログラム111による制御を行う「通常動作」、およびシミュレーション用ラダープログラム112によるシミュレーションを行う「シミュレーション」の2つである。
この例では、動作モードが「通常動作」である場合、プログラムエリア110でロード・実行されている通常動作用ラダープログラム111は、図4に示すように図2(a)に示すラダー図に従って動作するものとする。
また、この例では、動作モードが「シミュレーション」である場合、プログラムエリア110でロード・実行されているシミュレーション用ラダープログラム112は、図4に示すように図2(b)に示すラダー図に従って動作するものとする。
この例では、動作モードが「通常動作」である場合、プログラムエリア110でロード・実行されている通常動作用ラダープログラム111は、図4に示すように図2(a)に示すラダー図に従って動作するものとする。
また、この例では、動作モードが「シミュレーション」である場合、プログラムエリア110でロード・実行されているシミュレーション用ラダープログラム112は、図4に示すように図2(b)に示すラダー図に従って動作するものとする。
(データエリア)
図5は、本実施形態に係るデータエリアの構成例を示す図である。
データエリア120は、各アドレスに制御値が格納されている。
図2における「X100」において、「X」はデバイス修飾文字を示し、「100」がアドレスを示している。
従って、アドレス「100」には、図2における「X100」の入力値が格納される。
同様に、アドレス「200」には、図2における「X200」の入力値が格納され、アドレス「300」には、図2における「Y300」の出力値が格納される。
また、アドレス「600」には、図2における「R600」の入力値が格納され、アドレス「700」には、図2における「M700」の出力値が格納される。
図5は、本実施形態に係るデータエリアの構成例を示す図である。
データエリア120は、各アドレスに制御値が格納されている。
図2における「X100」において、「X」はデバイス修飾文字を示し、「100」がアドレスを示している。
従って、アドレス「100」には、図2における「X100」の入力値が格納される。
同様に、アドレス「200」には、図2における「X200」の入力値が格納され、アドレス「300」には、図2における「Y300」の出力値が格納される。
また、アドレス「600」には、図2における「R600」の入力値が格納され、アドレス「700」には、図2における「M700」の出力値が格納される。
本実施形態では、データエリア120を通常動作用データレジスタ121と、シミュレーション用データレジスタ122とに分けている。図5では、アドレス「100」〜「300」までが通常動作用データレジスタ121であり、アドレス「600」〜「700」までがシミュレーション用データレジスタ122となる。
通常動作用データレジスタ121と、シミュレーション用データレジスタ122の主メモリ100上における各区画は独立している。
前記したように、通常動作用ラダープログラム111は、通常動作用データレジスタ121に対する読み書きは可能であるが、シミュレーション用データレジスタ122に対する読み書きはできない。
そして、シミュレーション用ラダープログラム112は、シミュレーション用データレジスタ122に対する読み書きは可能であるが、通常動作用データレジスタ121からは入力値の読み込みしかできない。
なお、本実施形態において、データエリア120の区画を、レジスタと称しているが、それは計算機アーキテクチャにより異なる。
通常動作用データレジスタ121と、シミュレーション用データレジスタ122の主メモリ100上における各区画は独立している。
前記したように、通常動作用ラダープログラム111は、通常動作用データレジスタ121に対する読み書きは可能であるが、シミュレーション用データレジスタ122に対する読み書きはできない。
そして、シミュレーション用ラダープログラム112は、シミュレーション用データレジスタ122に対する読み書きは可能であるが、通常動作用データレジスタ121からは入力値の読み込みしかできない。
なお、本実施形態において、データエリア120の区画を、レジスタと称しているが、それは計算機アーキテクチャにより異なる。
(各ラダープログラムとデータエリアとの関係)
図6は、本実施形態に係る各ラダープログラムとデータエリアとの関係例を示す図である。
図6に示すように、通常動作用ラダープログラム111では、「X100」の入力値として、データエリア120のアドレス「100」に制御対象装置2から転写入力された制御値が使用され、「X200」の入力値として、アドレス「200」に制御対象装置2から転写入力された制御値が使用され、「Y300」の出力値として、アドレス「300」の制御値が制御対象装置2へ転写出力される。
また、シミュレーション用ラダープログラム112において、「X100」の入力値として、データエリア120のアドレス「100」に制御対象装置2から転写入力された制御値が使用され、「R600」の入力値として、アドレス「600」に入力部203から模擬入力された制御値が使用され、「M700」の出力値として、アドレス「700」の制御値が出力部204へ模擬出力される。
図6は、本実施形態に係る各ラダープログラムとデータエリアとの関係例を示す図である。
図6に示すように、通常動作用ラダープログラム111では、「X100」の入力値として、データエリア120のアドレス「100」に制御対象装置2から転写入力された制御値が使用され、「X200」の入力値として、アドレス「200」に制御対象装置2から転写入力された制御値が使用され、「Y300」の出力値として、アドレス「300」の制御値が制御対象装置2へ転写出力される。
また、シミュレーション用ラダープログラム112において、「X100」の入力値として、データエリア120のアドレス「100」に制御対象装置2から転写入力された制御値が使用され、「R600」の入力値として、アドレス「600」に入力部203から模擬入力された制御値が使用され、「M700」の出力値として、アドレス「700」の制御値が出力部204へ模擬出力される。
このように、同一のデータエリア120を通常動作用データレジスタ121およびシミュレーション用データレジスタ122に分けて、制御値の管理をし、通常動作用ラダープログラム111や、シミュレーション用ラダープログラム112は、それぞれのデータレジスタに対して読込・書込を行う。
ここで、「X100」のように、シミュレーション用ラダープログラム112において、制御対象装置2から転写入力される制御値を使用することもできる。
ここで、「X100」のように、シミュレーション用ラダープログラム112において、制御対象装置2から転写入力される制御値を使用することもできる。
(フローチャート)
図7は、本実施形態に係るPLC制御処理の手順を示すフローチャートである。
まず、ユーザは、制御プログラム113を起動し、実行する(S101)。
次に、ユーザは、シミュレーションツール3を用いて、シミュレーションに使用するパラメータであるシミュレーションパラメータを作成し、作成したシミュレーションパラメータを、対応する通常動作用パラメータとともに演算装置1へ送信する。ここで、通常動作用パラメータとは、通常動作用ラダープログラム111が参照する変数のことである。シミュレーションパラメータと、通常動作用パラメータを受信した演算装置1の制御プログラム113は、受信した各パラメータを、通常動作用ラダープログラム111のパラメータと、シミュレーション用ラダープログラム112のパラメータとで対応付けてデータエリア120のパラメータ対応テーブル123に登録する(S102)。このようにすることで、通常動作用ラダー図の各パラメータに、シミュレーション用ラダー図の各パラメータが対応付けられ、シミュレーション用ラダー図(シミュレーション用ラダープログラム112)が生成されることになる。
図7は、本実施形態に係るPLC制御処理の手順を示すフローチャートである。
まず、ユーザは、制御プログラム113を起動し、実行する(S101)。
次に、ユーザは、シミュレーションツール3を用いて、シミュレーションに使用するパラメータであるシミュレーションパラメータを作成し、作成したシミュレーションパラメータを、対応する通常動作用パラメータとともに演算装置1へ送信する。ここで、通常動作用パラメータとは、通常動作用ラダープログラム111が参照する変数のことである。シミュレーションパラメータと、通常動作用パラメータを受信した演算装置1の制御プログラム113は、受信した各パラメータを、通常動作用ラダープログラム111のパラメータと、シミュレーション用ラダープログラム112のパラメータとで対応付けてデータエリア120のパラメータ対応テーブル123に登録する(S102)。このようにすることで、通常動作用ラダー図の各パラメータに、シミュレーション用ラダー図の各パラメータが対応付けられ、シミュレーション用ラダー図(シミュレーション用ラダープログラム112)が生成されることになる。
ここでは、シミュレーション用ラダープログラム112で使用するパラメータが、パラメータ対応テーブル123に対応付けられることで、通常動作用ラダー図に対応するシミュレーション用ラダー図が生成されているが、これに限らず、ユーザが、通常動作用ラダー図をコピーし、そのパラメータを書き換えることで、直接シミュレーション用ラダー図を作成するようにしてもよい。
そして、制御プログラム113は、主メモリ100のプログラムエリア110に通常動作用ラダープログラム111をロードし、ロードした通常動作用ラダープログラム111を起動し、実行する(S103)。
次に、制御プログラム113は、主メモリ100のプログラムエリア110にシミュレーション用ラダープログラム112をロードし、ロードしたシミュレーション用ラダープログラム112を起動し、実行する(S104)。ステップS103とステップS104の順序は逆でもよい。
次に、制御プログラム113は、主メモリ100のプログラムエリア110にシミュレーション用ラダープログラム112をロードし、ロードしたシミュレーション用ラダープログラム112を起動し、実行する(S104)。ステップS103とステップS104の順序は逆でもよい。
次に、ユーザは、入力部203を介して、動作モードを入力する(S105)。ここで入力される動作モードは、「シミュレーション」または「通常動作」である。
制御プログラム113は、入力された動作モードが、「シミュレーション」か否かを判定する(S106)。
ステップS106の結果、動作モードが「シミュレーション」である場合(S106→Yes)、入力部203を介して、入力値が入力(模擬入力)される(S111)。模擬入力はシミュレーションツール3を介して行われてもよい。
模擬入力された入力値は、該当するパラメータ名(「R600」など)とともに入力され、制御プログラム113は、パラメータに該当するシミュレーション用データレジスタ122に模擬入力された入力値(模擬入力値)を格納する。前記したようにパラメータ名にはアドレスが付随しているので(パラメータ名「R600」では「600」がアドレスを示す)、制御プログラム113は、このアドレスに模擬入力された入力値を格納する。
制御プログラム113は、入力された動作モードが、「シミュレーション」か否かを判定する(S106)。
ステップS106の結果、動作モードが「シミュレーション」である場合(S106→Yes)、入力部203を介して、入力値が入力(模擬入力)される(S111)。模擬入力はシミュレーションツール3を介して行われてもよい。
模擬入力された入力値は、該当するパラメータ名(「R600」など)とともに入力され、制御プログラム113は、パラメータに該当するシミュレーション用データレジスタ122に模擬入力された入力値(模擬入力値)を格納する。前記したようにパラメータ名にはアドレスが付随しているので(パラメータ名「R600」では「600」がアドレスを示す)、制御プログラム113は、このアドレスに模擬入力された入力値を格納する。
そして、ステップS104の段階で実行されているシミュレーション用ラダープログラム112が、主メモリ100のデータエリア120の通常動作用データレジスタ121またはシミュレーション用データレジスタ122から制御値を取得する(S112)。シミュレーション用ラダープログラム112は、パラメータ名に付随するアドレスから制御値を取得する。
続いて、シミュレーション用ラダープログラム112は、取得した制御値を基に、演算を行い(S113)、演算結果を模擬出力値として、シミュレーション用データレジスタ122の該当するアドレスに書き込んだ後、出力部204に出力(模擬出力)する(S114)。模擬出力は、シミュレーションツール3に対して行われてもよい。つまり、シミュレーション用ラダープログラム112は、通常動作用データレジスタ121またはシミュレーション用データレジスタ122から取得した制御値を使用してシミュレーションを行う。なお、シミュレーション用ラダープログラム112によるシミュレーションが行われている間でも、通常動作用ラダープログラム111による制御対象装置2の制御が継続実行されていてもよい。
そして、制御プログラム113は、入力部203を介して動作モードの変更が入力されたか否かを判定する(S115)。
そして、制御プログラム113は、入力部203を介して動作モードの変更が入力されたか否かを判定する(S115)。
ステップS115の結果、動作モードの変更が入力されている場合(S115→Yes)、つまり、動作モードが「通常動作」に変更された場合、制御プログラム113は、ステップS121へ処理を進める。
ステップS115の結果、動作モードの変更が入力されていない場合(S115→No)、つまり、動作モードは「シミュレーション」のままである場合、制御プログラム113は、ステップS111へ処理を戻す。
ステップS115の結果、動作モードの変更が入力されていない場合(S115→No)、つまり、動作モードは「シミュレーション」のままである場合、制御プログラム113は、ステップS111へ処理を戻す。
ステップS106の結果、動作モードが「シミュレーション」ではない場合(S106→No)、つまり、動作モードが「通常動作」である場合、リモート入力装置4を介して、制御対象装置2から、該当するパラメータ名とともに制御値が入力(転写入力)されると(S121)、制御プログラム113は、入力された制御値を該当するパラメータとともに通常動作用レジスタ121に格納する。
そして、ステップS103の段階で実行されている通常動作用ラダープログラム111が、データエリア120の通常動作用データレジスタ121から制御値を取得する(S122)。
そして、ステップS103の段階で実行されている通常動作用ラダープログラム111が、データエリア120の通常動作用データレジスタ121から制御値を取得する(S122)。
続いて、通常動作用ラダープログラム111は、取得した制御値を基に、演算を行い(S123)、演算結果を出力値として通常動作用データレジスタ121の該当するアドレスに書き込んだ後、リモート出力装置5を介して制御対象装置2へ出力(転写出力)する(S124)。つまり、通常動作用ラダープログラム111は、通常動作用データレジスタ121から取得した制御値を使用して制御対象装置2の制御を行う。
そして、制御プログラム113は、入力部203を介して動作モードの変更が入力されたか否かを判定する(S125)。
ステップS125の結果、動作モードの変更が入力された場合(S125→Yes)、つまり、動作モードが「シミュレーション」に変更された場合、制御プログラム113は、ステップS111へ処理を進める。
ステップS125の結果、動作モードの変更が入力されていない場合(S125→No)、つまり、動作モードは「通常動作」のままである場合、制御プログラム113は、ステップS121へ処理を戻す。
そして、制御プログラム113は、入力部203を介して動作モードの変更が入力されたか否かを判定する(S125)。
ステップS125の結果、動作モードの変更が入力された場合(S125→Yes)、つまり、動作モードが「シミュレーション」に変更された場合、制御プログラム113は、ステップS111へ処理を進める。
ステップS125の結果、動作モードの変更が入力されていない場合(S125→No)、つまり、動作モードは「通常動作」のままである場合、制御プログラム113は、ステップS121へ処理を戻す。
(まとめ)
本実施形態によれば、予め通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112をロード・実行しておいて、入力部203から入力される動作モードに応じて切り替えるので、切替時間を短縮することができる。つまり、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことができる。
また、シミュレーション用ラダープログラム112を、通常動作用ラダープログラム111とは別に実行しておき、また、それぞれのラダープログラムが使用するデータエリア120の区画を区別することで、通常動作用ラダープログラム111による制御対象装置2への制御を実行したままで、シミュレーション用ラダープログラム112によるシミュレーションを行うことができる。
本実施形態によれば、予め通常動作用ラダープログラム111およびシミュレーション用ラダープログラム112をロード・実行しておいて、入力部203から入力される動作モードに応じて切り替えるので、切替時間を短縮することができる。つまり、シミュレーション用ラダープログラムと通常動作用ラダープログラムとの切替を素早く行うことができる。
また、シミュレーション用ラダープログラム112を、通常動作用ラダープログラム111とは別に実行しておき、また、それぞれのラダープログラムが使用するデータエリア120の区画を区別することで、通常動作用ラダープログラム111による制御対象装置2への制御を実行したままで、シミュレーション用ラダープログラム112によるシミュレーションを行うことができる。
1 演算装置
2 制御対象装置
3 シミュレーションツール
4 リモート入力装置
5 リモート出力装置
10 PLCシステム
100 主メモリ
110 プログラムエリア
111 通常動作用ラダープログラム
112 シミュレーション用ラダープログラム
113 制御プログラム
120 データエリア
121 通常動作用データレジスタ
122 シミュレーション用データレジスタ
123 パラメータ対応テーブル
201 ラダー演算プロセッサ
202 マイクロプロセッサ
203 入力部
204 出力部
205 通信制御部
2 制御対象装置
3 シミュレーションツール
4 リモート入力装置
5 リモート出力装置
10 PLCシステム
100 主メモリ
110 プログラムエリア
111 通常動作用ラダープログラム
112 シミュレーション用ラダープログラム
113 制御プログラム
120 データエリア
121 通常動作用データレジスタ
122 シミュレーション用データレジスタ
123 パラメータ対応テーブル
201 ラダー演算プロセッサ
202 マイクロプロセッサ
203 入力部
204 出力部
205 通信制御部
Claims (4)
- 制御対象装置の制御および制御対象装置の制御シミュレーションを行うプログラマブルロジックコントローラであって、
前記制御対象装置の制御を行う通常動作用ラダープログラムと、前記制御対象装置の制御のシミュレーションを行うシミュレーション用ラダープログラムとが配備されるとともに、前記制御対象装置から入力される入力値、および前記制御対象装置への出力値が格納される通常動作用データレジスタと、入力部から入力される模擬入力値、および前記シミュレーションの結果である模擬出力値が格納されるシミュレーション用データレジスタとが配備される主メモリと、
前記通常動作用ラダープログラム、および前記シミュレーション用ラダープログラムの双方を、前記主メモリに常駐させるように配備する制御部と、
を備え、
前記制御部は、
前記入力部を介して、前記通常動作用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値および出力値を使用しての前記通常動作用ラダープログラムによる前記制御対象装置の制御を行い、
前記入力部を介して、前記シミュレーション用ラダープログラムが選択されると、前記通常動作用データレジスタに格納されている入力値、およびシミュレーション用データレジスタに格納されている模擬入力値を使用しての前記シミュレーション用ラダープログラムによる前記シミュレーションを行う
ことを特徴とするプログラマブルロジックコントローラ。 - 前記通常動作用ラダープログラムで使用されるパラメータと、前記シミュレーション用ラダープログラムで使用されるパラメータと、は対応付けられて設定されており、
前記シミュレーション用データレジスタには、前記通常動作用ラダープログラムで使用されるパラメータと対応付けられている前記パラメータの値が、前記通常動作用データレジスタの領域とは別の領域に格納されている
ことを特徴とする請求項1に記載のプログラマブルロジックコントローラ - 前記シミュレーション用ラダープログラムは、
前記通常動作用データレジスタにおいて、前記入力値を読み込むことはできるが、前記出力値を書き込むことはできない
ことを特徴とする請求項1または請求項2に記載のプログラマブルロジックコントローラ。 - 前記シミュレーション用ラダープログラムによる前記シミュレーションが行われている間にも、前記通常動作用ラダープログラムによる前記制御対象装置の制御が行われている
ことを特徴とする請求項1から請求項3のいずれか一項に記載のプログラマブルロジックコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164679A JP2013029940A (ja) | 2011-07-27 | 2011-07-27 | プログラマブルロジックコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164679A JP2013029940A (ja) | 2011-07-27 | 2011-07-27 | プログラマブルロジックコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013029940A true JP2013029940A (ja) | 2013-02-07 |
Family
ID=47786942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011164679A Withdrawn JP2013029940A (ja) | 2011-07-27 | 2011-07-27 | プログラマブルロジックコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013029940A (ja) |
-
2011
- 2011-07-27 JP JP2011164679A patent/JP2013029940A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7189383B1 (ja) | 検証システムおよび検証方法 | |
JP6550269B2 (ja) | プログラム作成支援装置、制御方法およびプログラム | |
JP6514252B2 (ja) | ロボットのデータ設定システム、データ設定方法及びプログラム | |
WO2016163236A1 (ja) | プログラマブルロジックコントローラ、プログラマブルロジックコントローラの制御方法、及び、制御プログラム | |
JP2008165399A (ja) | シミュレーションデータ作成支援装置 | |
EP2898436A1 (en) | Multiple programmable logic controller simulator | |
CN109844659B (zh) | 仿真装置 | |
WO2015030095A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
EP2377013B1 (en) | Configurator with embedded firmware for offline instrument user settings implementation | |
JP2007102632A (ja) | シミュレーション装置 | |
JP6135247B2 (ja) | 情報処理装置および情報処理プログラム | |
JP2013084112A (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP5086296B2 (ja) | プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム | |
TW201243713A (en) | Human machine interface device and interface integration method thereof | |
JP2023130301A (ja) | 切り替え可能モデルを有する自律運転シミュレーションアーキテクチャを提供するためのシステムと方法 | |
JP2007179112A5 (ja) | ||
JP2013029940A (ja) | プログラマブルロジックコントローラ | |
KR20190071987A (ko) | 블록 프로그램을 이용한 단말 제어 장치 및 방법 | |
JP2008165324A (ja) | プログラム作成支援装置 | |
JP6366811B2 (ja) | 検査装置、検査方法、及び、プログラム | |
JP5951458B2 (ja) | プログラマブルコントローラの試験装置 | |
JP2008033572A (ja) | 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体 | |
JP4372739B2 (ja) | プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体 | |
JP2007172128A (ja) | I/oシミュレータ装置 | |
KR102338616B1 (ko) | 재난 확산 예측 모델을 검증하기 위한 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20141007 |