JP2018097700A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP2018097700A
JP2018097700A JP2016242846A JP2016242846A JP2018097700A JP 2018097700 A JP2018097700 A JP 2018097700A JP 2016242846 A JP2016242846 A JP 2016242846A JP 2016242846 A JP2016242846 A JP 2016242846A JP 2018097700 A JP2018097700 A JP 2018097700A
Authority
JP
Japan
Prior art keywords
input
data
output
simulation
simulated
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.)
Pending
Application number
JP2016242846A
Other languages
English (en)
Inventor
卓志 縮
Takushi Chijimi
卓志 縮
鈴木 康夫
Yasuo Suzuki
康夫 鈴木
優紀子 小田木
Yukiko Odagi
優紀子 小田木
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.)
Hitachi Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Industry and Control Solutions Co Ltd
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 Hitachi Ltd, Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Ltd
Priority to JP2016242846A priority Critical patent/JP2018097700A/ja
Publication of JP2018097700A publication Critical patent/JP2018097700A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】プロセス入出力装置(PI/O)を接続しなくても効率よく模擬試験が実施できるプログラマブルコントローラを提供する。
【解決手段】プログラマブルコントローラ1は、プロセス入力装置2aからの入力信号(例えば、入力データ、ステータスデータ)に基づきプロセス出力装置2bに出力信号(例えば、出力データ)を出力する制御プロセッサ1aと、プロセス入力装置2aの模擬信号を発生させる汎用プロセッサ1bと、を有し、制御プロセッサ1aは、プロセス入力装置2aが未接続の場合に、汎用プロセッサ1bが発生させた模擬信号を入力信号として使用する。汎用プロセッサ1bは、保守端末4からの指示に従い、制御プロセッサ1aの制御演算処理に合わせて連続して未接続のプロセス入力装置2aの模擬信号を発生させる。
【選択図】図1

Description

本発明は、プロセス入出力装置(以降はPI/Oと呼称する)を接続してプラント制御システムを構成するプログラマブルコントローラに関する。
プラント制御システムのプログラマブルコントローラは、プロセス入力装置のプロセスデータを入力して演算し、その結果のプロセスデータをプロセス出力装置に出力する処理を行う。この一連の処理でプラントを監視・制御しているため、高速な演算能力が求められている。
一方、演算処理を実行するアプリケーションプログラムの試験では、通常、監視・制御対象と接続することが困難であるため、PI/Oにプロセスデータを模擬する機能を有する装置を接続して試験するのが一般的である。また、PI/Oは種類や接続する数が多いため、試験開始時に必要なPI/Oを全て用意できない場合も多い。
従来のプロセスデータの模擬を行う技術には以下のようなものがある。
特許文献1では、専用のシミュレータ装置を接続し、シミュレータ装置内のソフトウェアにて、プロセスデータを模擬する技術が開示されている。この技術では、シミュレータ装置内にプラントのプロセスデータの変化を登録しておき、それを呼び出すことによってプロセスデータの模擬を行うことを特徴としている。
特許文献2では、コントローラ内で起動するアプリケーションプログラムの属性を判定し、模擬モード処理、または、実モード処理を行う。アプリケーションプログラムの属性が模擬モード用ならば、模擬動作をすることを特徴としている。
特開昭59−123057号公報 特開昭59−216211号公報
前述した特許文献1では、プロセスデータの模擬機能を専用のシミュレータ装置内のソフトウェアで実現しており、専用のシミュレータ装置を用意することが必要となってしまう。
一方、前述した特許文献2では、アプリケーションプログラムの属性が模擬モード用のものである場合模擬モード処理を行うが、実モード処理に切り替えるためには、アプリケーションプログラムの入替えが必要となってしまう。
また、PI/Oの異常は、PI/Oの故障だけでなく、プログラマブルコントローラにPI/Oが接続されていない場合も異常状態と報告されるため、必要なPI/Oが用意できていない場合は試験が開始できない。
本発明は、前記の課題を解決するための発明であって、プロセス入出力装置(PI/O)を接続しなくても効率よく模擬試験が実施できるプログラマブルコントローラを提供することを目的とする。
前記目的を達成するため、本発明のプログラマブルコントローラは、入力装置(例えば、プロセス入力装置2a)からの入力信号(例えば、入力データ12、ステータスデータ13)に基づき出力装置(例えば、プロセス出力装置2b)に出力信号(例えば、出力データ12b)を出力する制御プロセッサと、入力装置の模擬信号を発生させる汎用プロセッサと、を有し、制御プロセッサは、入力装置が未接続の場合に、汎用プロセッサが発生させた模擬信号を入力信号として使用することを特徴とする。本発明のその他の態様については、後記する実施形態において説明する。
本発明によれば、プロセス入出力装置(PI/O)を接続しなくても効率よく模擬試験が実施できる。
本発明の実施形態に係るプログラマブルコントローラのハードウェア構成を示すブロック図である。 プログラマブルコントローラの運転動作時の入力処理を示すブロック図である。 プログラマブルコントローラの運転動作時における入力の変換と診断を示す説明図である。 プログラマブルコントローラの模擬動作時の入力処理を示すブロック図である。 プログラマブルコントローラの模擬動作時における入力の変換と診断を示す説明図である。 プログラマブルコントローラの運転動作時の出力処理を示すブロック図である。 プログラマブルコントローラの運転動作時における出力の変換と診断を示す説明図である。 プログラマブルコントローラの模擬動作時の出力処理を示すブロック図である。 プログラマブルコントローラの模擬動作時における出力の変換を示す説明図である。 シミュレーション処理プログラムの動作を示すフローチャートである。 プロセス入出力処理プログラムの入出力処理判定処理と動作判定処理を示すフローチャートである。 プロセス入出力処理プログラムの入力処理を示すフローチャートであり、(a)は入力運転動作処理を示し、(b)は入力模擬動作処理を示す。 プロセス入出力処理プログラムの出力処理を示すフローチャートであり、(a)は出力運転動作処理を示し、(b)は出力模擬動作処理を示す。 プログラマブルコントローラがPI/O未接続状態で起動し、模擬動作開始後にPI/O未接続状態から接続した場合を示すタイムチャートである。 プログラマブルコントローラの模擬動作での模擬入力データの時間による変化を示すタイムチャートである。
本発明を実施するための実施形態について、適宜図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係るプログラマブルコントローラ1のハードウェア構成を示すブロック図である。プログラマブルコントローラ1は、プラントの監視・制御を実行する制御プロセッサ(CPU:Central Processing Unit)1a、模擬処理を実行する汎用プロセッサ(CPU:Central Processing Unit)1b、プログラムメモリとして使用されるROM(Read Only Memory)1c、PI/O(プロセス入出力装置)2を制御するPI/O制御部1d、制御プロセッサ1aと汎用プロセッサ1bのそれぞれ個別ワークメモリとして使用されるRAM(Random Access Memory)1e、制御プロセッサ1aと汎用プロセッサ1bの共有メモリとして使用されるRAM(Random Access Memory)1f、ネットワーク5とのデータ送受信を制御するネットワーク制御部1gから構成されている。
プログラマブルコントローラ1は、PI/O2を介して、プラント3の監視・制御を実行する機能とプロセスデータやステータスデータの模擬を実行する機能を有する。また、ネットワーク5を介して、他のプログラマブルコントローラと接続し、互いにデータをやり取りする機能も有する。
プログラムメモリ1cは、制御プロセッサ1a用に使用するエリアと汎用プロセッサ1b用に使用するエリアとが分かれており、それぞれのプロセッサ1a,1bで動作するプログラムが格納される。
ワークメモリ1eも、制御プロセッサ1a用に使用するエリアと汎用プロセッサ1b用に使用するエリアとが分かれており、それぞれのプロセッサ1a,1bで使用するデータ、情報などが記憶される。具体的には、制御プロセッサ1a用のワークメモリ1eにプロセスデータ6(図2参照)、PI/O異常情報7(図2参照)などが記憶されている。汎用プロセッサ1b用のワークメモリ1eに模擬データ時間変化情報11(図2参照)などが記憶されている。
共有メモリ1fは、制御プロセッサ1aと汎用プロセッサ1bが共用に使用するデータ、情報などが記憶されている。具体的には、図2に示す模擬入力データ14、模擬ステータスデータ15、運転動作または模擬動作を指示する情報である動作指定情報16、PI/O接続情報17などが共有メモリ1fに記憶されている。
保守端末4は、プログラマブルコントローラ1と同じネットワーク5に接続し、プログラマブルコントローラ1内のデータのモニタや、プログラマブルコントローラ1に対して模擬動作の実行を指示する機能を有する。
プラント3およびPI/O2がプログラマブルコントローラ1に接続されていない場合、プログラマブルコントローラ1の内部で模擬動作が行われる。図1において、破線でPI/O2およびプラント3を示しているのは、接続されていないことを示すものである。
図2は、プログラマブルコントローラ1で運転動作時の入力処理を示すブロック図である。動作指定情報16に運転動作を指示する情報が格納されている場合、アプリケーションプログラム8とプロセス入出力処理プログラム9は、制御プロセッサ1aで動作し、シミュレーションプログラム10は、汎用プロセッサ1bで動作する。
実際にプロセス入力装置2aが接続されている運転動作の入力処理では、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、プロセス入力装置2a内の入力データ12を読み込み、プロセスデータに変換してワークメモリ(制御プロセッサ用)1e内のプロセスデータ6へ転送する。また、制御プロセッサ1aは、PI/O2内のステータスデータ13を読み込み、診断することでプロセス入力装置2aの異常を検出し、その結果をワークメモリ(制御プロセッサ用)1e内にPI/O異常情報7として格納する。なお、前記したように、ワークメモリ1eは、制御プロセッサ1a用と汎用プロセッサ1b用に使用するエリアが分かれている。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内のプロセスデータ6を参照することでプラントの状態を監視し、PI/O異常情報7を参照することで、プロセス入力装置2aの異常を検知することができる。
図3は、プログラマブルコントローラ1の運転動作時における入力の変換と診断を示す説明図である。プラント3の流量計などのセンサからプロセス入力装置2aに入力された0〜5Vの電圧信号は、プロセス入力装置2a内でデジタル変換されて0〜4000の入力データとなる。制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、入力データを読み込み、0〜100%の単精度浮動小数点数のプロセスデータに変換して、ワークメモリ(制御プロセッサ用)1eに格納する。
また、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、プロセス入力装置2a内のステータスデータ13を読み込み、ステータスデータ13内の異常検出bitをワークメモリ(制御プロセッサ用)1e内のPI/O異常情報7に格納する。
図4は、プログラマブルコントローラ1で模擬動作時の入力処理を示すブロック図である。動作指定情報16に模擬動作を指示する情報が格納されている場合、汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、ワークメモリ(汎用プロセッサ用)1e内のあらかじめ登録された模擬データ時間変化情報11を読み込み、読み込んだ模擬データ時間変化情報にしたがって、共有メモリ1f内の模擬入力データ14と模擬ステータスデータ15を逐次書き換える。
制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、共有メモリ1f内の模擬入力データ14を読み込み、プロセスデータに変換してワークメモリ(制御プロセッサ用)1e内のプロセスデータ6へ転送する。また、制御プロセッサ1aは、共有メモリ1f内の模擬ステータスデータ15を読み込み、診断することでプロセス入力装置2aの異常を模擬し、その結果をワークメモリ(制御プロセッサ用)1e内にPI/O異常情報7として格納する。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内のプロセスデータ6を参照することでプラントの連続した状態変化を模擬し、さらにPI/O異常情報7を参照することで、プロセス入力装置2aの異常を模擬する。これにより、プロセス入力装置2cそのものを模擬することが可能となる。
図5は、プログラマブルコントローラ1の模擬動作時における入力の変換と診断を示す説明図である。汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、一定周期で模擬動作時の入力処理を実行する。汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報の模擬入力データ目標値と、現在の模擬入力データを比較し、一致した場合は何もしないが、不一致の場合は、共有メモリ1fに格納されている模擬入力データに模擬データ時間変化情報の加算値を加算する。一方、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、模擬入力データ14を読み込み、0〜100%の単精度浮動小数点数のプロセスデータに変換して、ワークメモリ(制御プロセッサ用)1eに格納する。
また、汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、模擬データ時間変化情報のタイマー時間をシミュレーションプログラム10の実行周期の値で減算し、タイマー時間が0となった場合に模擬データ時間変化情報の異常検出bit模擬値を共有メモリ1fに格納されている模擬ステータスデータの異常検出bitに書き込む。一方、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、共有メモリ1fに格納されている模擬ステータスデータ15を読み込み、模擬ステータスデータ15内の異常検出bitをワークメモリ(制御プロセッサ用)1e内のPI/O異常情報7に格納する。このようにすることで連続したプロセスデータの変化と時間経過によるPI/O異常の模擬が可能となる。
図6は、プログラマブルコントローラ1で運転動作時の出力処理を示すブロック図である。動作指定情報16に運転動作を指示する情報が格納されている場合、制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内にプロセスデータ6を書き込む。また、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、ワークメモリ(制御プロセッサ用)1e内のプロセスデータ6を出力データに変換し、プロセス出力装置2b内の出力データ12bに書き込む。制御プロセッサ1aは、その後、ステータスデータ13を読み込み、診断することでプロセス出力装置2bの異常を検出し、その結果をワークメモリ(制御プロセッサ用)1e内にPI/O異常情報7として格納する。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内のPI/O異常情報7を参照することで、プロセス出力装置2bの異常を検知することができる。
図7は、プログラマブルコントローラ1の運転動作時における出力の変換と診断を示す説明図である。制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、ワークメモリ(制御プロセッサ用)1e内の0〜100%の単精度浮動小数点数のプロセスデータを読み込み、0〜4000の出力データに変換してプロセス出力装置2b内の出力データに書き込む。出力データはプロセス出力装置2b内で0〜5Vの電圧信号にアナログ変換され、プロセス出力装置2bに接続されているプラント3の調節弁に出力される。
また、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、プロセス出力装置2b内のステータスデータ13を読み込み、ステータスデータ13内の異常検出bitをワークメモリ(制御プロセッサ用)1e内のPI/O異常情報7に格納する。
図8は、プログラマブルコントローラ1で模擬動作時の出力処理を示すブロック図である。汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、動作指定情報16に模擬動作を指示する情報が格納されている場合、ワークメモリ(汎用プロセッサ用)1e内のあらかじめ登録された模擬データ時間変化情報11を読み込み、読み込んだ模擬データ時間変化情報11にしたがって、共有メモリ1f内の模擬出力データ14bと模擬ステータスデータ15を逐次書き換える。
一方、制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内にプロセスデータ6を書き込むが、プロセス入出力処理プログラム9に基づいて、このプロセスデータを使用せず、模擬出力データ14bがプロセス出力装置2b内の出力データ12bに出力される。これにより、プラントへの連続した制御を模擬することができる。
また、制御プロセッサ1aは、模擬ステータスデータ15を読み込み後に診断し、その結果をワークメモリ(制御プロセッサ用)1e内にPI/O異常情報7として格納する。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ(制御プロセッサ用)1e内のPI/O異常情報7を参照することで、プロセス出力装置2bの異常を模擬することができる。
図9は、プログラマブルコントローラ1の模擬動作時における出力の変換を示す説明図である。汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、模擬動作時の出力処理を一定周期で実行する。汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報の模擬出力データ目標値と、現在の模擬出力データを比較し、一致した場合は何もしないが、不一致の場合は、共有メモリ1fに格納されている模擬出力データ14bに模擬データ時間変化情報の加算値を加算する。一方、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、模擬出力データ14bを読み込み、プロセス出力装置2b内の出力データ12bに書き込む。出力データ12bはプロセス出力装置2b内で0〜5Vの電圧信号にアナログ変換され、プロセス出力装置2bに接続されている調節弁に出力される。診断については、図5と同様であるため、ここでの説明は割愛する。
図10は、シミュレーション処理プログラムの動作を示すフローチャートである。シミュレーション処理プログラムは、汎用プロセッサ1bで、一定周期で起動されるため、制御プロセッサ1aの負荷を上げるなどの悪影響を与えずに動作する。なお、適宜、図2、図4、図6、図8を参照して説明する。
汎用プロセッサ1bは、シミュレーション処理プログラムに基づいて、PI/O毎に全てのPI/O分の下記の処理を繰り返し実行する(ステップS1)。
汎用プロセッサ1bは、共有メモリ1fに格納されている動作指定情報16を判定し(ステップS2)、運転動作の場合(ステップS2,運転動作)、今回のPI/O接続状態をPI/O接続情報17に保存する(ステップS9)。汎用プロセッサ1bは、模擬動作の場合(ステップS2,模擬動作)、共有メモリ1fに保存されているPI/O接続情報17を判定し(ステップS3)、接続状態ならば(ステップS3,接続)、ステップS5に進む。汎用プロセッサ1bは、未接続状態の場合(ステップS3,未接続)、さらに現在のPI/O接続状態を判定し(ステップS4)、未接続状態ならば(ステップS4,未接続)、ステップS5に進む。汎用プロセッサ1bは、接続状態の場合(ステップS4,接続)、該当のPI/Oの模擬動作から運転動作に変更し(ステップS6)、今回のPI/O接続状態をPI/O接続情報17に保存する(ステップS9)。
前記の処理により、接続していなかったPI/Oの模擬動作時に、該当のPI/Oが接続された場合は、該当のPI/Oの模擬を自動で運転動作に切り替えることが可能となる。参考として図14のPI/O未接続状態から接続した場合を示すタイムチャートについて説明する。
図14は、プログラマブルコントローラ1がPI/O未接続状態で起動し、模擬動作開始後にPI/O未接続状態から接続した場合を示すタイムチャートである。適宜図1、図4、図5を参照して説明する。横軸は時間である。
時刻t1において、PI/O2を接続しないでプログラマブルコントローラ1を起動すると、初期設定として動作指定情報は「運転動作」、PI/O異常情報7は「異常」、PI/O接続情報17は「未接続」として開始する。なお、運転動作時は、PI/O2が接続されていない場合、ステータスデータはPI/Oの異常を示すため、PI/O接続情報17は、PI/Oの異常状態を示す。
時刻t2において、保守端末4から模擬動作を指定し、模擬ステータスデータ15の異常検出bitをOFFに指定する。すると、時刻t3において、制御プロセッサ1aは、模擬動作を開始する。
模擬動作中に、時刻t4において、該当のPI/O2が実装(接続)されたならは、汎用プロセッサ1bは、時刻t5において、模擬動作中にPI/O接続情報が未接続から接続状態に変化したため、該当のPI/O2の動作指定情報16を自動で運転動作に変更する。すると、制御プロセッサ1aは、運転動作に移行する。
図10に戻り、ステップS5(模擬動作を継続した場合)において、汎用プロセッサ1bは、ワークメモリ1eから模擬データ時間変化情報11を読み込む。汎用プロセッサ1bは、読み込んだ模擬データ時間変化情報11により、模擬データ変更タイミングかどうかを判断し(ステップS7)、変更タイミングの場合(ステップS7,変更タイミング)、共有メモリ1f内の模擬入力データ14と模擬ステータスデータ15を書き換え(ステップS8)、今回のPI/O接続状態をPI/O接続情報17に保存する(ステップS9)。変更タイミングではない場合(ステップS7,変更タイミングではない)、ステップS9に進む。
このように、前記の処理により、模擬データの時間による変化が可能となる。参考として、模擬入力動作での模擬入力データの時間による変化の一例を示すタイムチャートを、図15を参照して説明する。
図15は、プログラマブルコントローラ1の模擬動作での模擬入力データの時間による変化を示すタイムチャートである。横軸は時間である。時刻t11において、保守端末4から模擬動作を指定し、模擬入力データの目標値を4000、変化率を500/100ミリ秒と設定された場合について、適宜図1、図4、図5を参照して説明する。なお、共有メモリ1f内に格納されている現在の模擬入力データを2000とする。
時刻t12において、制御プロセッサ1aは、該当のPI/O2の模擬動作を開始する。汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報11の模擬入力データ目標値である「4000」と、現在の模擬入力データである「2000」を比較し、不一致であるので、共有メモリ1fに格納されている模擬入力データである「2000」に模擬データ時間変化情報の加算値である「500」を加算する。
時刻t13において、汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報11の模擬入力データ目標値である「4000」と、現在の模擬入力データである「2500」を比較し、不一致であるので、共有メモリ1fに格納されている模擬入力データである「2500」に模擬データ時間変化情報の加算値である「500」を加算する。
時刻t14において、汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報11の模擬入力データ目標値である「4000」と、現在の模擬入力データである「3000」を比較し、不一致であるので、共有メモリ1fに格納されている模擬入力データである「3000」に模擬データ時間変化情報の加算値である「500」を加算する。
時刻t15において、汎用プロセッサ1bは、ワークメモリ(汎用プロセッサ用)1e内に格納されている模擬データ時間変化情報11の模擬入力データ目標値である「4000」と、現在の模擬入力データである「3500」を比較し、不一致であるので、共有メモリ1fに格納されている模擬入力データである「3500」に模擬データ時間変化情報の加算値である「500」を加算する。これにより、模擬入力データの目標値に到達する。以後、模擬動作が継続される。
図11は、プロセス入出力処理プログラムの入出力処理判定と動作判定を示すフローチャートである。プロセス入出力処理プログラムは、制御プロセッサ1aにおいて動作する。制御プロセッサ1aは、プロセス入出力処理プログラムに基づいて、処理動作が入力処理か出力処理かどうかを判定し(ステップS10)、その後、共有メモリ1fに格納されている動作指定情報16が運転動作か模擬動作かを判定する(ステップS11、S12)。前記の判定結果により、制御プロセッサ1aが実行する処理が異なる。
ステップS10において入力処理の場合、ステップS11において、制御プロセッサ1aは、運転動作であれば入力運転動作処理(ステップS20)を行い、模擬動作であれば入力模擬動作処理(ステップS30)を行う。また、ステップS10において出力処理の場合、ステップS12において、制御プロセッサ1aは、運転動作であれば出力運転動作処理(ステップS40)を行い、模擬動作であれば出力模擬動作処理(ステップS50)を行う。詳細については、図12、図13を参照して説明する。
図12は、プロセス入出力処理プログラムの入力処理を示すフローチャートであり、(a)は入力運転動作処理を示し、(b)は入力模擬動作処理を示す。プロセス入出力処理プログラムは、制御プロセッサ1aにおいて動作する。適宜、図1、図2、図4を参照して説明する。
図12(a)に示す入力運転動作処理(ステップS20)では、制御プロセッサ1aは、プロセス入力装置2aから入力データ12とステータスデータ13を読み込み(ステップS21)、ステータスデータ13からPI/Oの異常を診断して、PI/O異常情報7を生成する(ステップS22)。制御プロセッサ1aは、入力データ12を変換したプロセスデータ6と生成したPI/O異常情報7をワークメモリ1eに書き込む(ステップS23)。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ1eに書き込まれたプロセスデータ6と生成したPI/O異常情報7を参照してプラントの監視が可能となる。
図12(b)に示す入力模擬動作処理(ステップS30)では、汎用プロセッサ1bがシミュレーションプログラムに基づいて書き込んだ共有メモリ1fの模擬入力データ14と模擬ステータスデータ15を、制御プロセッサ1aが読み込み(ステップS31)、模擬ステータスデータ15からPI/Oの異常を診断して、PI/O異常情報7を生成する(ステップS32)。制御プロセッサ1aは、模擬入力データ14を変換したプロセスデータ6と生成したPI/O異常情報7をワークメモリ1eに書き込む(ステップS33)。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ1eに書き込まれたプロセスデータ6とPI/O異常情報7を参照することにより、プラントの連続した状態変化を模擬し、プロセス入力装置2aの異常を模擬することが可能となる。
図13は、プロセス入出力処理プログラムの出力処理を示すフローチャートであり、(a)は出力運転動作処理を示し、(b)は出力模擬動作処理を示す。プロセス入出力処理プログラムは、制御プロセッサ1aにおいて動作する。適宜、図1、図6、図8を参照して説明する。
図13(a)に示す出力運転動作処理(ステップS40)では、制御プロセッサ1aは、アプリケーションプログラム8に基づいて書き込んだワークメモリ1e内のプロセスデータ6を出力データに変換してプロセス出力装置2bに書き込み(ステップS41)、プロセス出力装置2bからステータスデータ13を読み込む(ステップS42)。制御プロセッサ1aは、ステータスデータ13からPI/Oの異常を診断してPI/O異常情報7を生成し(ステップS43)、生成したPI/O異常情報7をワークメモリ1eに書き込む(ステップS44)。
制御プロセッサ1aは、アプリケーションプログラム8に基づいて、ワークメモリ1eに書き込まれたPI/O異常情報7を参照することにより、PI/O2の異常を検知することが可能となり、ワークメモリ1e内のプロセスデータ6を書き換えることにより、プラントの制御が可能となる。
図13(b)に示す出力模擬動作処理(ステップS50)では、汎用プロセッサ1bがシミュレーションプログラム10に基づいて書き込んだ共有メモリ1f内の模擬出力データ14bを、制御プロセッサ1aはプロセス出力装置2bに書き込み(ステップS51)、共有メモリ1fから模擬ステータスデータ15を読み込む(ステップS52)。模擬ステータスデータ15からPI/Oの異常を診断してPI/O異常情報7を生成し(ステップS53)、生成したPI/O異常情報7をワークメモリ1eに書き込む(ステップS54)。
汎用プロセッサ1bがシミュレーションプログラム10に基づいて、共有メモリ1f内の模擬出力データ14bと模擬ステータスデータ15を書き換えることにより、アプリケーションプログラム8と関連しない連続したプロセスデータ6でプラント3を制御することが可能となり、PI/O2の異常を模擬することが可能となる。このプロセス出力処理の模擬動作は、プログラマブルコントローラ1の試験ではなく、プロセス出力装置2bに接続されているほかの機器の動作を確認するための機能である。
次に図1のハードウェア構成にて、PI/O2を接続していない状態での模擬について説明する。運転動作時は、PI/O2が接続されていない場合、ステータスデータはPI/O2の異常を示すため、PI/O異常情報は、PI/O2の異常状態を示す。模擬動作時は、模擬ステータスデータ15を使用するため、PI/O2が接続されていなくても、PI/O異常情報7を正常状態に模擬することが可能であり、各種の状態の模擬ができる。
また、汎用プロセッサ1bがシミュレーションプログラム10に基づく処理は、模擬動作時のPI/O2の接続を監視し、模擬動作中にPI/O2が接続された場合は該当のPI/O2の模擬を自動で解除して運転動作とすることができる。
以上説明したように、本実施形態のプログラマブルコントローラ1は、プログラマブルコントローラ1内の制御処理が動作する制御プロセッサ1aに、実際の稼動においても使用するプロセス入出力処理プログラム9を実装し、制御プロセッサ1aとは異なる汎用的な用途のプロセッサである汎用プロセッサ1bに、プロセスデータやPI/O(プロセス入出力装置)の異常を模擬するためのシミュレーションプログラム10を実装している。PI/Oの異常を発生させるステータスデータやPI/Oの入出力データを模擬値(模擬データ)として制御プロセッサ1aと汎用プロセッサ1bが共有する共有メモリ1fに配置し、保守端末4が共有メモリ1fに模擬動作を指示することにより模擬状態を実現する。模擬動作では、汎用プロセッサ1bは、シミュレーションプログラム10に基づいて、あらかじめ定義された入出力データとステータスデータを共有メモリ1fに書き込み、制御プロセッサ1aは、プロセス入出力処理プログラム9に基づいて、PI/Oではなく、共有メモリ1fの模擬値を実際のデータとして使用することで、プロセスデータの模擬、およびPI/Oの異常を模擬することができる。
本実施形態のプログラマブルコントローラ1は、専用のシミュレータ装置だけではなく、PI/O(プロセス入出力装置)を接続しなくても効率よく模擬試験(模擬動作)が実施でき、PI/Oを接続した場合は自動で模擬動作を解除し、模擬動作中でも制御するための演算速度に影響を与えない効果がある。
本実施形態によれば、専用のシミュレータ装置を用意したり、テスト用にアプリケーションプログラムの入替えをすることなく、プロセスデータの模擬が可能となる。また、PI/Oの異常の模擬や、連続したプロセスデータの模擬が可能となる。
本実施形態の特徴をまとめると下記になる。
本実施形態のプログラマブルコントローラ1は、入力装置(例えば、プロセス入力装置2a)からの入力信号(例えば、入力データ12、ステータスデータ13)に基づき出力装置(例えば、プロセス出力装置2b)に出力信号(例えば、出力データ12b)を出力する制御プロセッサ1aと、入力装置の模擬信号を発生させる汎用プロセッサ1bと、を有し、制御プロセッサ1aは、入力装置が未接続の場合に、汎用プロセッサ1bが発生させた模擬信号を入力信号として使用する。
汎用プロセッサ1bは、外部端末(例えば、保守端末4)からの指示に従い、制御プロセッサ1aの制御演算処理に合わせて連続して未接続の入力装置の模擬信号を発生させる。
汎用プロセッサ1bは、外部端末からの指示に従い、未接続の入力装置の異常信号を発生させる。
制御プロセッサ1aは、未接続の入力装置が接続された場合、入力信号を模擬信号から接続された入力装置からの入力信号を使用する。
入力装置は、具体的には、プラント機器からの信号を取り込むために設けられたプロセス入力装置であり、入力信号は、入力装置内の入力データと異常であるか否かのステータスデータである。
本実施形態のプログラマブルコントローラ1は、プラント機器からの信号を入出力するためのプロセス入出力装置2を介してプラント機器を制御する制御プロセッサ1aと、制御プロセッサ1aとは異なる汎用的な用途のプロセッサである汎用プロセッサ1bとを備え、外部端末(例えば、保守端末4)からのプロセス入出力装置2の模擬動作指示に従い、汎用プロセッサ1bは、プロセス入出力装置2の異常を発生させるステータスデータおよびプロセス入出力装置2の入出力データを模擬データとして出力し、制御プロセッサ1aは、出力された模擬データを使用して、プロセス入出力装置2の模擬試験を実行する。
なお、前述した実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることはもちろんである。例えば、本実施形態では、汎用プロセッサ1bを使用しているが、シミュレーションプログラム10を実行に特化した専用プロセッサでもよい。
1 プログラマブルコントローラ
1a 制御プロセッサ
1b 汎用プロセッサ
1c プログラムメモリ
1d PI/O制御部
1e ワークメモリ
1f 共有メモリ
2 PI/O(プロセス入出力装置)
2a プロセス入力装置(入力装置)
2b プロセス出力装置(出力装置)
3 プラント
4 保守端末
5 ネットワーク
6 プロセスデータ
7 PI/O異常情報
8 アプリケーションプログラム
9 プロセス入出力処理プログラム
10 シミュレーションプログラム
11 模擬データ時間変化情報
12 入力データ
12b 出力データ
13 ステータスデータ
14 模擬入力データ
14b 模擬出力データ
15 模擬ステータスデータ
16 動作指定情報
17 PI/O接続情報

Claims (6)

  1. 入力装置からの入力信号に基づき出力装置に出力信号を出力する制御プロセッサと、
    前記入力装置の模擬信号を発生させる汎用プロセッサと、を有し、
    前記制御プロセッサは、前記入力装置が未接続の場合に、前記汎用プロセッサが発生させた前記模擬信号を入力信号として使用する
    ことを特徴とするプログラマブルコントローラ。
  2. 前記汎用プロセッサは、外部端末からの指示に従い、前記制御プロセッサの制御演算処理に合わせて連続して前記未接続の入力装置の模擬信号を発生させる
    ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記汎用プロセッサは、外部端末からの指示に従い、前記未接続の入力装置の異常信号を発生させる
    ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  4. 前記制御プロセッサは、前記未接続の入力装置が接続された場合、前記入力信号を前記模擬信号から前記接続された入力装置からの入力信号を使用する
    ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  5. 前記入力装置は、プラント機器からの信号を取り込むために設けられたプロセス入力装置であり、前記入力信号は、前記入力装置内の入力データと異常であるか否かのステータスデータである
    ことを特徴とする請求項1から請求項4のいずれか1項に記載のプログラマブルコントローラ。
  6. プラント機器からの信号を入出力するためのプロセス入出力装置を介して前記プラント機器を制御する制御プロセッサと、前記制御プロセッサとは異なる汎用的な用途のプロセッサである汎用プロセッサとを備え、
    外部端末からの前記プロセス入出力装置の模擬動作指示に従い、
    前記汎用プロセッサは、前記プロセス入出力装置の異常を発生させるステータスデータおよび前記プロセス入出力装置の入出力データを模擬データとして出力し、
    前記制御プロセッサは、前記出力された模擬データを使用して、前記プロセス入出力装置の模擬試験を実行する
    ことを特徴とするプログラマブルコントローラ。
JP2016242846A 2016-12-15 2016-12-15 プログラマブルコントローラ Pending JP2018097700A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016242846A JP2018097700A (ja) 2016-12-15 2016-12-15 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016242846A JP2018097700A (ja) 2016-12-15 2016-12-15 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2018097700A true JP2018097700A (ja) 2018-06-21

Family

ID=62633646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016242846A Pending JP2018097700A (ja) 2016-12-15 2016-12-15 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2018097700A (ja)

Similar Documents

Publication Publication Date Title
JP6496274B2 (ja) 寿命故障条件を学習する機械学習装置,故障予知装置,機械システムおよび機械学習方法
WO2015136959A1 (ja) 制御システム、方法、プログラムおよび情報処理装置
JP6481267B2 (ja) プログラマブル表示器
JP2005050358A (ja) 単一のコンピュータ上で機能的に統合された分散型処理制御システム
US20120239978A1 (en) Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
JP2018067282A (ja) 工業用自動化制御装置のための改良型テストマネージャ
JP2020052812A (ja) エンジニアリングシステム及びエンジニアリング方法
JP2015026129A (ja) プロセス制御装置及びシステム並びにその健全性判定方法
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
EP3767410A1 (en) Control system, controller, and control method
JP6540473B2 (ja) デバッグサポートシステム
WO2011125280A1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
JP2016045712A (ja) プログラマブルロジックコントローラ
JP5521889B2 (ja) プログラム自動生成装置
JP2018097700A (ja) プログラマブルコントローラ
JP2016106298A (ja) プロセス制御装置及びシステム並びにその健全性判定方法
CN105765472A (zh) 远程控制装置以及控制系统
JP2008165324A (ja) プログラム作成支援装置
US11227567B2 (en) Device state reproduction device, device state reproduction method, and storage medium
JP6463445B1 (ja) 車載制御装置
CN110399258B (zh) 一种服务器系统的稳定性测试方法、系统及装置
JP2018010331A (ja) 診断装置および診断方法
CN110733037A (zh) 信号的处理方法及装置、存储介质及处理器
JP2014232462A (ja) 制御システム
JP2019197449A (ja) 機器管理装置およびタグ名検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200818