以下、本開示の実施形態について図面を参照しながら説明する。図1は本開示の一実施形態に係るプラントの制御システムを示す説明図である。
図1に示す実施形態のプラントの制御システム(請求項中のフィールド機器情報表示システムに相当。以下、「制御システム」と略記する。)1は、生産設備、製造設備等のプラントに設けたフィールド機器の動作を制御するシステムである。
制御システム1は、フィールド機器の動作制御を実行する制御ユニット3、フィールド機器の制御目標を設定するエンジニアリングコンピュータ5、制御ユニット3の動作状態を監視するモニタリングコンピュータ7を有している。
制御ユニット3、エンジニアリングコンピュータ(Engineering Unit、以下、「EU」と略記する。)5及びモニタリングコンピュータ(Monitoring Unit 、以下、「MU」と略記する。)7は、LAN9及びルータ11によって相互接続されている。本実施形態では、LAN9及びルータ11を2系統設けてシステムの冗長化を図っている。しかし、システムの冗長化は必須でない。
制御ユニット3は、複数のリモートIOユニット13,13,…、演算装置15,17を有している。
各リモートIOユニット13は、プラントの各所に配置された複数のデバイス(図示せず)に対する信号の入出力を行う。したがって、リモートIOユニット13は、デバイスに対するDI(Digital In)、DO(Digital Out )、AI(Analog In )、AO(Analog Out)の各モジュールを含んでいる。
各リモートIOユニット13による信号入出力対象のデバイスは、例えば、アクチュエータ、計測器、センサ等を含んでいる。したがって、デバイスに対してリモートIOユニット13が入出力する信号は、例えば、アクチュエータ(図示せず)に対する制御信号、計測器の出力信号、アクチュエータの動作状態を検出したセンサの出力信号等を含んでいる。
演算装置15は、プラントの各デバイス(アクチュエータ、計測器等)の動作制御用のコマンドを生成する。そして、演算装置15は、生成したコマンドを各デバイスに対応するリモートIOユニット13に出力する。また、演算装置15は、各デバイス(計測器、センサ等)の出力信号を、各デバイスに対応するリモートIOユニット13から取得する。演算装置15は、取得した各デバイスの出力信号を参酌して、各デバイス(アクチュエータ、計測器等)の動作制御用のコマンドを生成する。
演算装置15は、以上に説明した処理を行うコントローラ基板19と、CAN通信基板21、2つのリモートIO(In Out)通信基板23,24、2つのDI基板25,27、DO基板29、AI基板31、AO基板33とを有している。各基板19~33はモジュールを構成している。
演算装置15の各基板19~33は、バスラインによって演算装置15の下位に接続されている。バスラインの通信には、例えば、コンパクトPCI等の通信規格を用いることができる。
CAN通信基板21は、演算装置15のEU5及びMU7に対するLAN9上での通信を、CAN(Control Area Network)規格にしたがって制御するモジュールである。なお、LAN9上での通信規格はCAN以外の規格であってもよい。
2つのリモートIO通信基板23,24は、演算装置15の各リモートIOユニット13に対する通信を制御するモジュールである。各リモートIOユニット13は、各リモートIO通信基板23,24の下位にそれぞれ複数接続されている。
各リモートIO通信基板23,24に対する各リモートIOユニット13の接続には、例えば、フィールドバス等のバスラインを用いることができる。このバスラインの一部又は全部を光ファイバ回線で構成してもよい。バスラインの一部に光ファイバ回線を用いる場合は、光ファイバ回線と電気信号線との間に光電変換モジュールが介設される。光電変換モジュールをバスラインに用いる場合は、光電変換モジュールもリモートIOユニット13に含めることができる。
2つのDI基板25,27及びDO基板29は、演算装置15の各リモートIOユニット13に対するデジタル信号の入出力を制御する。
AI基板31及びAO基板33は、演算装置15の各リモートIOユニット13に対するアナログ信号の入出力を制御する。
演算装置17は、演算装置15のリモートIO通信基板23,24を2つのパルスカウンタ基板35,37に変えた点を除いて、演算装置15と同じ構成を有している。2つのパルスカウンタ基板35,37も、他の各基板19,21,25~33と同様にモジュールを構成している。
演算装置17の各基板19,21,25~37は、バスラインによって接続されている。バスラインの通信には、例えば、コンパクトPCI等の通信規格を用いることができる。
2つのパルスカウンタ基板35,37は、演算装置15のリモートIO通信基板23,24が各リモートIOユニット13から取得した各デバイス(計測器、センサ等)の出力信号のパルスをカウントする。パルスカウンタ基板35,37によるパルスのカウント値は、LAN9及びルータ11を介してEU5に送信される。EU5は、受信したカウント値を参酌して、対応する各デバイス(アクチュエータ、計測器等)の動作制御用のコマンドを生成する。
以上に説明した各リモートIOユニット13と、演算装置15,17の各基板19~37とは、制御ユニット3を構成するフィールド機器である。フィールド機器である各リモートIOユニット13と各基板19~37とは、それぞれマイクロプロセッサ(図示せず)を実装している。
各マイクロプロセッサは、制御システム1の運用を開始する際に初期設定処理をそれぞれ行う。初期設定処理は、制御ユニット3を構成する複数のリモートIOユニット13,13,…及び演算装置15,17のシステム構成を、EU5に認識させるための処理である。
また、各マイクロプロセッサは、制御システム1の運用開始後に自己診断処理を周期的にそれぞれ行う。自己診断処理は、各マイクロプロセッサを実装した各リモートIOユニット13及び演算装置15,17の各基板19~37(各マイクロプロセッサの実装先)の動作状態を自己診断するための処理である。
なお、各マイクロプロセッサは、識別情報を保持したメモリをそれぞれ有している。識別情報は、各マイクロプロセッサの実装先のリモートIOユニット13、演算装置15,17の各基板19~37を識別するための情報である。このため、識別情報は、各リモートIOユニット13、演算装置15,17の各基板19~37に割り当てられた個別の識別子を含んでいる。
識別情報の識別子は、例えば、演算装置15のコントローラ基板19を「CPU NO:1」、CAN通信基板21を「CAN NO:1」、2つのリモートIO通信基板23,24を「R-BUS NO:1」、「R-BUS NO:2」とすることができる。また、2つのDI基板25,27を「DI NO:1」、「DI NO:2」、DO基板29を「DO NO:1」、AI基板31を「AI NO:1」、AO基板33を「AO NO:1」とすることができる。さらに、2つのパルスカウンタ基板35,37を「PC NO:1」、「PC NO:2」とすることができる。
また、識別情報の識別子は、例えば、リモートIO通信基板23に接続されるリモートIOユニット13のDIモジュール(光電変換モジュールを含む)を「RDI NO:1」、DOモジュールを「RDO NO:1」とすることができる。さらに、AIモジュールを「RAI NO:1」、AOモジュールを「RAO NO:1」とすることができる。
同様に、識別情報の識別子は、例えば、リモートIO通信基板24に接続されるリモートIOユニット13のDIモジュール(光電変換モジュールを含む)を「RDI NO:2」、DOモジュールを「RDO NO:2」とすることができる。さらに、AIモジュールを「RAI NO:2」、AOモジュールを「RAO NO:2」とすることができる。
なお、識別情報は、マイクロプロセッサのメモリに保持させる代わりに、例えば、ディップスイッチによって発生させてもよい。識別情報をディップスイッチで発生させる場合は、各リモートIOユニット13と、演算装置15,17の各基板19~37とに、ディップスイッチ(図示せず)をそれぞれ実装する。各ディップスイッチは、実装先の各リモートIOユニット13、演算装置15,17の各基板19~37に割り当てられた個別の識別子に応じた設定とする。
また、演算装置15,17のメモリには、アラーム情報の格納エリアが確保されている。アラーム情報とは、各マイクロプロセッサの実装先(リモートIOユニット13、演算装置15,17の各基板19~37)の動作状態を報知するための情報である。アラーム情報は、各マイクロプロセッサが上述した自己診断処理において必要に応じて出力する。
そして、本実施形態の制御システム1では、上述した識別情報を保持し又は発生させる、各リモートIOユニット13及び演算装置15,17の各基板19~37に実装したマイクロプロセッサのメモリ又はディップスイッチが、請求項中の情報保持部に相当する。
EU5は、例えば、制御ユニット3を構成するフィールド機器の動作を管理する箇所に配置される。
EU5は、制御システム1の運用を開始する際に、制御ユニット3を構成するリモートIOユニット13、演算装置15,17の各基板19~37の識別情報を取得し、制御ユニット3のシステム構成を特定する。制御ユニット3のシステム構成を特定する処理は、EU5のCPUがROM(いずれも図示せず)に格納されたプログラムにしたがって実行する。特定した制御ユニット3のシステム構成を示す構成データは、EU5の不揮発性のメモリ(図示せず)に格納される。
MU7は、例えば、制御ユニット3を構成するフィールド機器の動作を管理する箇所に、EU5と共に配置される。なお、MU7は、必要に応じて複数台用いることができる。
MU7は、制御システム1の運用開始後に、制御ユニット3を構成するリモートIOユニット13、演算装置15,17の各基板19~37のアラーム情報を取得し、取得したアラーム情報の内容をディスプレイ(図示せず)に表示する。アラーム情報を取得しディスプレイに表示する処理は、MU7のCPUがROM(いずれも図示せず)に格納されたプログラムにしたがって実行する。
なお、MU7は、EU5のメモリに格納された構成データを利用して、リモートIOユニット13、演算装置15,17の各基板19~37のアラーム情報を、制御ユニット3のシステム構成に応じた態様で表示する。
次に、制御ユニット3を構成するリモートIOユニット13、演算装置15,17の各基板19~37を、図1に示すように接続した状態で、各マイクロプロセッサがそれぞれ行う初期設定処理について、図2~図4のフローチャートを参照して説明する。
以下に説明する初期設定処理は、各マイクロプロセッサのメモリに格納されたプログラムにしたがって実行される。
まず、各リモートIOユニット13、演算装置15の各基板19,21,25~33、及び、演算装置17の各基板19,21,25~37のマイクロプロセッサが行う初期設定処理を、図2を参照して説明する。この初期設定処理は、制御ユニット3を構成するフィールド機器のうち最下位の階層に位置するフィールド機器のマイクロプロセッサが行う処理である。
マイクロプロセッサは、制御システム1の運用が開始されるか否かを確認し(ステップS1)、運用が開始されない場合は(ステップS1でNO)、初期設定処理を終了する。一方、運用が開始される場合は(ステップS1でYES)、マイクロプロセッサは、メモリ又はディップスイッチの識別情報を、上位の接続相手に出力し(ステップS3)、初期設定処理を終了する。
即ち、ステップS3において、各リモートIOユニット13のマイクロプロセッサは、演算装置15のリモートIO通信基板23,24に、各リモートIOユニット13の識別子を含む識別情報を、自己機器識別情報として出力する。また、演算装置15の各基板19,21,25~33のマイクロプロセッサは、演算装置15に、各基板19,21,25~33の識別子を含む識別情報を、自己機器識別情報として出力する。同じく、演算装置17の各基板19,21,25~37のマイクロプロセッサは、演算装置17に、各基板19,21,25~37の識別子を含む識別情報を、自己機器識別情報として出力する。
具体的には、例えば、各リモートIOユニット13のマイクロプロセッサが、演算装置15のリモートIO通信基板23,24に、リモートIOユニット13のDIモジュールの識別情報を、自己機器識別情報として出力する。リモートIOユニット13のDIモジュールの識別情報は、上述した「RDI NO:1」、「RDI NO:2」等の識別子を含んでいる。
また、例えば、演算装置15,17のコントローラ基板19のマイクロプロセッサが、演算装置15,17のCPU(図示せず)に、コントローラ基板19の識別情報「CPU NO:1」を、自己機器識別情報として出力する。さらに、例えば、演算装置15,17のCAN通信基板21のマイクロプロセッサが、演算装置15,17のCPUに、CAN通信基板21の識別情報「CAN NO:1」を、自己機器識別情報として出力する。
また、例えば、演算装置15,17の2つのDI基板25,27のマイクロプロセッサが、演算装置15,17のCPUに、2つのDI基板25,27の識別情報「DI NO:1」、「DI NO:2」を、自己機器識別情報として出力する。さらに、例えば、演算装置15,17のDO基板29のマイクロプロセッサが、演算装置15,17のCPUに、DO基板29の識別情報「DO NO:1」を、自己機器識別情報として出力する。
また、例えば、演算装置15,17のAI基板31、AO基板33のマイクロプロセッサが、演算装置15,17のCPUに、AI基板31、AO基板33の識別情報「AI NO:1」、「AO NO:1」を、自己機器識別情報として出力する。
次に、演算装置15の各リモートIO通信基板23,24のマイクロプロセッサが行う初期設定処理を、図3を参照して説明する。この初期設定処理は、制御ユニット3を構成するフィールド機器のうち中間の階層に位置するフィールド機器のマイクロプロセッサが行う処理である。
各リモートIO通信基板23,24のマイクロプロセッサは、制御システム1の運用が開始されるか否かを確認し(ステップS11)、運用が開始されない場合は(ステップS11でNO)、初期設定処理を終了する。一方、運用が開始される場合は(ステップS11でYES)、マイクロプロセッサは、メモリ又はディップスイッチの識別情報を、上位の接続相手に出力する(ステップS13)。
即ち、ステップS13において、演算装置15の各リモートIO通信基板23,24のマイクロプロセッサは、各リモートIO通信基板23,24の上位の接続相手である演算装置15のCPUに、自己機器識別情報を出力する。この自己機器識別情報は、各リモートIO通信基板23,24の識別子を含む識別情報である。
本実施形態の制御システム1では、各リモートIO通信基板23,24のマイクロプロセッサが、演算装置15のCPUに、各リモートIO通信基板23,24の識別情報「R-BUS NO:1」、「R-BUS NO:2」を、自己機器識別情報として出力する。
また、マイクロプロセッサは、リモートIO通信基板23,24の下位機器の識別情報を取得する(ステップS15)。さらに、マイクロプロセッサは、取得した下位機器の識別情報に、メモリ又はディップスイッチの識別情報を自己機器の識別情報として付加する。そして、自己機器の識別情報を付加した下位機器の識別情報を上位の接続相手に出力し(ステップS17)、初期設定処理を終了する。
即ち、ステップS15において、リモートIO通信基板23,24のマイクロプロセッサは、リモートIO通信基板23,24の下位に接続された各リモートIOユニット13のマイクロプロセッサが図2のステップS3で出力した識別情報を取得する。
また、図3のステップS17において、リモートIO通信基板23,24のマイクロプロセッサは、各リモートIOユニット13から取得した識別情報に、リモートIO通信基板23,24の識別子を含む識別情報を、自己機器識別情報として付加する。
本実施形態の制御システム1では、各リモートIO通信基板23,24のマイクロプロセッサが、リモートIOユニット13のDIモジュールの識別情報の手前に、各リモートIO通信基板23,24の識別情報を付加する。つまり、「RDI NO:1」、「RDI NO:2」等の識別情報の手前に、「R-BUS NO:1」、「R-BUS NO:2」の識別情報を付加する。
この体裁の識別情報は、DIモジュール等を有するリモートIOユニット13が各リモートIO通信基板23,24の下位に接続されていることを示している。
そして、リモートIO通信基板23,24の識別情報を付加した各リモートIOユニット13からの識別情報を、リモートIO通信基板23,24の上位の接続相手である演算装置15のCPUに出力する。
続いて、演算装置15,17のCPUがROMに格納されたプログラムにしたがって行う初期設定処理を、図4を参照して説明する。この初期設定処理は、制御ユニット3を構成するフィールド機器のうち最上位の階層に位置するフィールド機器のCPUが行う処理である。
演算装置15,17のCPUは、制御システム1の運用が開始されるか否かを確認し(ステップS21)、運用が開始されない場合は(ステップS21でNO)、初期設定処理を終了する。一方、運用が開始される場合は(ステップS21でYES)、CPUは、メモリ又はディップスイッチの識別情報を、上位の接続相手に出力する(ステップS23)。
即ち、ステップS23において、演算装置15,17の各CPUは、演算装置15,17の上位の接続相手であるEU5に、各演算装置15,17の識別子を含む識別情報を、自己機器識別情報として出力する。このとき、CPUは、各演算装置15,17の識別情報(「CU NO:1」、「CU NO:2」)を、自己機器識別情報として出力する。
また、CPUは、演算装置15,17の下位機器の識別情報を取得する(ステップS25)。そして、マイクロプロセッサは、取得した識別情報の下位機器を発生源とするアラーム情報の格納エリアを割り当てる(ステップS27)。
即ち、ステップS25において、演算装置15のCPUは、演算装置15の下位に接続された演算装置15の各基板19~33及び各リモートIOユニット13が図2のステップS3、図3のステップS13及びステップS17で出力した識別情報を取得する。
演算装置17のCPUも同じく、演算装置17の下位に接続された演算装置17の各基板19,21,25~37が図2のステップS3、図3のステップS13及びステップS17で出力した識別情報を取得する。
また、図4のステップS27において、演算装置15のCPUは、各リモートIOユニット13及び演算装置15の各基板19~33を発生源とするアラーム情報の格納エリアを、演算装置15のメモリに割り当てる。
演算装置17のCPUも同じく、演算装置17の各基板21,25~37を発生源とするアラーム情報の格納エリアを、演算装置17のメモリに割り当てる。
具体的には、図5の説明図に示すように、演算装置15のメモリ39に、アラーム情報の格納エリア41~61を確保する。各格納エリア41~61は、ステップS25で識別情報を取得した演算装置15の各基板19~33及び各リモートIOユニット13の各モジュールにそれぞれ対応するアラーム情報の格納エリアとして割り当てられる。
また、演算装置15のメモリ39には、演算装置15自身に対応するアラーム情報の格納エリア(図示せず)が割り当てられる。この格納エリアには、演算装置15自身がアラーム状態の発生を自己診断機能を有しており、アラーム状態の発生時にアラーム情報を生成する場合に利用される。本実施形態では、演算装置15自身がアラーム状態の自己診断機能を有しているものとする。
同様に、図6の説明図に示すように、演算装置17のメモリ63に、アラーム情報の格納エリア41,43,47~55,65,67を確保する。各格納エリア41,43,47~55,65,67は、ステップS25で識別情報を取得した演算装置17の各基板19,21,25~37にそれぞれ対応するアラーム情報の格納エリアとして割り当てられる。
また、演算装置17のメモリ63には、演算装置17自身に対応するアラーム情報の格納エリア(図示せず)が割り当てられる。この格納エリアには、演算装置17自身がアラーム状態の発生を自己診断機能を有しており、アラーム状態の発生時にアラーム情報を生成する場合に利用される。本実施形態では、演算装置17自身がアラーム状態の自己診断機能を有しているものとする。
なお、演算装置15,17のメモリ39,63には、例えば、ハードディスク又はフラッシュメモリ等を用いることができる。
さらに、演算装置15,17のCPUは、図4に示すように、取得した下位機器の識別情報に、メモリ又はディップスイッチの識別情報を自己機器の識別情報として付加する。そして、自己機器の識別情報を付加した下位機器の識別情報を上位の接続相手に出力し(ステップS29)、初期設定処理を終了する。
即ち、ステップS29において、演算装置15のCPUは、演算装置15の各基板19~33及び各リモートIOユニット13から取得した識別情報に、演算装置15の識別子を含む識別情報を、自己機器識別情報として付加する。
本実施形態の制御システム1では、演算装置15のCPUが、例えば、各リモートIO通信基板23,24の識別情報「R-BUS NO:1」、「R-BUS NO:2」の手前に、演算装置15の識別情報「CU NO:1」を付加する。
ここで、「CU NO:1」の識別情報を手前に付加した「R-BUS NO:1」、「R-BUS NO:2」の識別情報は、リモートIO通信基板23,24が演算装置15の下位に接続されていることを示している。
そして、演算装置15の識別情報を付加した演算装置15の各基板19~33の識別情報を、演算装置15の上位の接続相手であるEU5に出力する。
演算装置17のCPUも同じく、演算装置17の各基板19,21,25~37から取得した識別情報に、演算装置17の識別子を含む識別情報を、自己機器識別情報として付加する。
そして、演算装置17の識別情報を付加した演算装置17の各基板19,21,25~37の識別情報を、演算装置17の上位の接続相手であるEU5に出力する。
以上の説明からも明らかなように、本実施形態の制御システム1では、図3のフローチャートにおけるステップS15と、図4のフローチャートにおけるステップS25とが、請求項中の情報取得部に対応する処理となっている。
また、本実施形態の制御システム1では、図2のフローチャートにおけるステップS3と、図3中のステップS13及びステップS17と、図4中のステップS23及びステップS29とが、請求項中の初期処理部に対応する処理となっている。
さらに、本実施形態の制御システム1では、図4中のステップS27が、請求項中の領域割当部に対応する処理となっている。
そして、上述した演算装置15,17のコントローラ基板19のマイクロプロセッサのメモリ39,63は、請求項中のメモリに相当している。
以上の説明では、制御ユニット3を構成するフィールド機器の階層によって、マイクロプロセッサが異なる内容の初期設定処理を行うものとした。しかし、制御ユニット3を構成するフィールド機器の階層に関係なく、各階層のフィールド機器のマイクロプロセッサが同じ内容の初期設定処理を行うものとしてもよい。
その場合、マイクロプロセッサが行う初期設定処理の内容は、例えば、次のようなものとすることができる。即ち、自身に対する上位及び下位のフィールド機器の接続状態(接続の有無)を確認し、その結果から、制御ユニット3を構成するフィールド機器における自身の階層を判別する。そして、判別した階層に対応する内容の初期設定処理を実行する。
なお、以上に説明した初期設定処理は、制御ユニット3を構成するフィールド機器のシステム構成が変更される度に、システム構成を変更した制御システム1の運用を開始する際に実行するようにしてもよい。
次に、制御システム1の運用開始後に、制御ユニット3を構成するリモートIOユニット13、演算装置15,17の各基板19~37のマイクロプロセッサがそれぞれ行う自己診断処理について、図7~図9のフローチャートを参照して説明する。
なお、自己診断処理とは、例えば、リモートIOユニット13、演算装置15,17の各基板19~37にアラーム状態が発生したか否かを、それぞれのマイクロプロセッサが自ら診断する処理である。ここで、アラーム状態とは、例えば、通常動作中には発生しない異常電圧が入力された状態、信号線の断線状態、接続相手との通信異常が発生した状態等とすることができる。
まず、各リモートIOユニット13、演算装置15の各基板19,21,25~33、及び、演算装置17の各基板19,21,25~37のマイクロプロセッサが行う自己診断処理を、図7を参照して説明する。この自己診断処理は、制御ユニット3を構成するフィールド機器のうち最下位の階層に位置するフィールド機器のマイクロプロセッサが行う処理である。
マイクロプロセッサは、自己診断の実行周期が到来したか否かを確認し(ステップS41)、実行周期が到来していない場合は(ステップS41でNO)、自己診断処理を終了する。一方、実行周期が到来した場合は(ステップS41でYES)、マイクロプロセッサは、自己診断を実行し、アラーム状態が発生したか否かを確認する(ステップS43)。
アラーム状態が発生していない場合は(ステップS43でNO)、自己診断処理を終了し、アラーム状態が発生した場合は(ステップS43でYES)、マイクロプロセッサは、アラーム情報を生成する(ステップS45)。このアラーム情報は、例えば、自己診断データであることを示すコード、アラーム状態の発生元を示すコード、発生したアラーム状態を示すコード等を含む文字列によって構成することができる。
なお、アラーム状態の発生元を示すコードは、例えば、上述した識別情報とすることができる。また、文字列の長さを減らすために、例えば、上述した識別情報と一対一に対応する1ケタ以上の数字とすることもできる。
そして、リモートIOユニット13のマイクロプロセッサは、生成したアラーム情報を、上位の接続相手である演算装置15のリモートIO通信基板23,24に出力する。また、演算装置15の各基板19,21,25~33のマイクロプロセッサと、演算装置17の各基板19,21,25~37のマイクロプロセッサは、生成したアラーム情報を、上位の接続相手である演算装置15に出力する(以上、ステップS47)。そして、自己診断処理を終了する。
次に、演算装置15の各リモートIO通信基板23,24のマイクロプロセッサが行う自己診断処理を、図8を参照して説明する。この自己診断処理は、制御ユニット3を構成するフィールド機器のうち中間の階層に位置するフィールド機器のマイクロプロセッサが行う処理である。
各リモートIO通信基板23,24のマイクロプロセッサは、リモートIO通信基板23,24の下位機器である各リモートIOユニット13からのアラーム情報が入力されたか否かを確認する(ステップS51)。
各リモートIOユニット13からのアラーム情報が入力された場合は(ステップS51でYES)、マイクロプロセッサは、入力されたアラーム情報を中継して、上位の接続相手である演算装置15のCPUに出力し(ステップS53)、自己診断処理を終了する。
一方、各リモートIOユニット13からのアラーム情報が入力されていない場合は(ステップS51でNO)、マイクロプロセッサは、自己診断の実行周期が到来したか否かを確認する(ステップS55)。
自己診断の実行周期が到来していない場合は(ステップS55でNO)、自己診断処理を終了する。一方、実行周期が到来した場合は(ステップS55でYES)、マイクロプロセッサは、自己診断を実行し、アラーム状態が発生したか否かを確認する(ステップS57)。
アラーム状態が発生していない場合は(ステップS57でNO)、自己診断処理を終了し、アラーム状態が発生した場合は(ステップS57でYES)、マイクロプロセッサは、アラーム情報を生成する(ステップS59)。
そして、マイクロプロセッサは、生成したアラーム情報を、上位の接続相手である演算装置15のCPUに出力し(ステップS61)、自己診断処理を終了する。
続いて、演算装置15,17のCPUがROMに格納されたプログラムにしたがって行う自己診断処理を、図9を参照して説明する。この自己診断処理は、制御ユニット3を構成するフィールド機器のうち最上位の階層に位置するフィールド機器のCPUが行う処理である。
演算装置15,17のCPUは、演算装置15,17の下位機器からのアラーム情報が入力されたか否かを確認する(ステップS71)。
即ち、ステップS71において、演算装置15のCPUは、演算装置15の下位に接続された演算装置15の各基板19~33及び各リモートIOユニット13からのアラーム情報が入力されたか否かを確認する。
演算装置17のCPUも同じく、演算装置17の下位に接続された演算装置17の各基板19,21,25~37からのアラーム情報が入力されたか否かを確認する。
演算装置15,17の下位機器からのアラーム情報が入力された場合は(ステップS71でYES)、CPUは、入力されたアラーム情報を演算装置15,17のメモリ39,63の対応する格納エリアに記憶させた後(ステップS73)、自己診断処理を終了する。
即ち、ステップS73において、演算装置15のCPUは、演算装置15の下位に接続された演算装置15の各基板19~33及び各リモートIOユニット13からのアラーム情報を、マイクロプロセッサのメモリ39の対応する格納エリア41~61に記憶させる。
同様に、演算装置17のCPUは、演算装置17の下位に接続された演算装置17の各基板19,21,25~37からのアラーム情報を、マイクロプロセッサのメモリ63の対応する格納エリア41,43,47~55,65,67に記憶させる。
一方、演算装置15,17の下位機器からのアラーム情報が入力されていない場合は(ステップS71でNO)、CPUは、自己診断の実行周期が到来したか否かを確認する(ステップS75)。
実行周期が到来した場合は(ステップS75でYES)、CPUは、自己診断を実行し、アラーム状態が発生したか否かを確認する(ステップS77)。
アラーム状態が発生していない場合は(ステップS77でNO)、自己診断処理を終了し、アラーム状態が発生した場合は(ステップS77でYES)、CPUは、アラーム情報を生成する(ステップS79)。
そして、CPUは、生成したアラーム情報を、演算装置15,17のメモリ39,63の対応する格納エリア(図示せず)に記憶させた後(ステップS81)、自己診断処理を終了する。
また、ステップS75において、自己診断の実行周期が到来していない場合(NO)は、CPUは、上位の接続相手であるMU7からのアラーム情報の通知要求が入力されたか否かを確認する(ステップS83)。
アラーム情報の通知要求が入力されていない場合は(ステップS83でNO)、自己診断処理を終了する。また、アラーム情報の通知要求が入力された場合は(ステップS83でYES)、CPUは、各メモリ39,63の各格納エリア41~61,65,67に記憶された全てのアラーム情報をMU7に出力し(ステップS85)、自己診断処理を終了する。
以上の説明からも明らかなように、本実施形態の制御システム1では、図7のフローチャートにおけるステップS43~ステップS47と、図8のフローチャートにおけるステップS57~ステップS61とが、請求項中の情報出力部に対応する処理となっている。また、図9のフローチャートにおけるステップS77~ステップS85も、請求項中の情報出力部に対応する処理となっている。
また、本実施形態の制御システム1では、図8中のステップS53と、図9中のステップS73、ステップS83及びステップS85とが、請求項中の情報中継部に対応する処理となっている。
次に、EU5のCPUがROM(いずれも図示せず)に格納されたプログラムにしたがって実行する制御ユニット3のシステム構成を特定する処理について、図10のフローチャートを参照して説明する。
EU5のCPUは、各リモートIOユニット13及び演算装置15,17の各基板19~37の識別情報が演算装置15,17から入力されたか否かを確認する(ステップS81)。識別情報が入力されていない場合は(ステップS81でNO)、システム構成特定処理を終了する。
一方、識別情報が入力された場合は(ステップS81でYES)、EU5のCPUは、入力された識別情報に基づいて、制御ユニット3を構成するフィールド機器の階層構造、即ち、制御ユニット3のシステム構成を特定する(ステップS93)。なお、制御ユニット3を構成するフィールド機器とは、各リモートIOユニット13と、演算装置15,17の各基板19~37のことである。
さらに、EU5のCPUは、特定した制御ユニット3のシステム構成を示す構成データを生成し、不揮発性のメモリに記憶させた後(ステップS95)、システム構成特定処理を終了する。構成データを記憶させる不揮発性のメモリには、例えば、ハードディスク又はフラッシュメモリ等を用いることができる。
以上の説明からも明らかなように、本実施形態の制御システム1では、図10のフローチャートにおけるステップS93が、請求項中の階層特定部に対応する処理となっている。
ここで、図10のステップS95でEU5のメモリに記憶される制御ユニット3の構成データ69は、例えば、図11の説明図に示すように、同じLAN9上に接続された制御システム1の単位で生成される。
したがって、図11に示す構成データ69は、制御ユニット3を構成するフィールド機器(各リモートIOユニット13、演算装置15,17の各基板19~37)に対応する識別情報を含んでいる。また、構成データ69は、制御ユニット3を構成するフィールド機器と同じLAN9上のEU5及びMU7に対応する対応する識別情報を含んでいる。
具体的には、構成データ69の識別情報は、図11に示すように、制御システム1、EU5、2つのMU7、制御ユニット3の順に配列されている。即ち、「BLOCK NO:1」、「EU NO:1」、「MU NO:1」、「MU NO:2」、「CS(Control Station ) NO:1」の順に、識別情報が配列されている。
これらに続き、構成データ69には、制御ユニット3を構成するフィールド機器の識別情報が配列されている。具体的には、演算装置15のコントローラ基板19の識別情報、CAN通信基板21の識別情報が、順に配列されている。即ち、「CS NO:1 CU NO:1 CPU NO:1」、「CS NO:1 CU NO:1 CAN NO:1」の順に、識別情報が配列されている。
また、構成データ69には、演算装置15のリモートIO通信基板23の下位に接続した3つのリモートIOユニット13(2つのAIモジュールとAOモジュール)の識別情報が配列されている。即ち、2つのAIモジュールの識別情報「CS NO:1 CU NO:1 R-BUS NO:1 RAI NO:1」、「CS NO:1 CU NO:1 R-BUS NO:1 RAI NO:2」が順に配列されている。その後に、AOモジュールの識別情報「CS NO:1 CU NO:1 R-BUS NO:1 RAO NO:1」が配列されている。
さらに、構成データ69には、演算装置15のリモートIO通信基板24の下位に接続した3つのリモートIOユニット13(2つのDIモジュールとDOモジュール)の識別情報が配列されている。即ち、2つのDIモジュールの識別情報「CS NO:1 CU NO:1 R-BUS NO:2 RDI NO:1」、「CS NO:1 CU NO:1 R-BUS NO:2 RDI NO:2」が順に配列されている。その後に、DOモジュールの識別情報「CS NO:1 CU NO:1 R-BUS NO:2 RDO NO:1」が配列されている。
また、構成データ69には、演算装置15の2つのDI基板25,27、DO基板29、AI基板31、AO基板33の識別情報が配列されている。即ち、DI基板25,27の識別情報「CS NO:1 CU NO:1 DI NO:1」、「CS NO:1 CU NO:1 DI NO:2」が順に配列されている。その後に、DO基板29、AI基板31、AO基板33の各識別情報「CS NO:1 CU NO:1 DO NO:1」、「CS NO:1 CU NO:1 AI NO:1」、「CS NO:1 CU NO:1 AO NO:1」が順に配列されている。
さらに、構成データ69には、演算装置17のコントローラ基板19の識別情報、CAN通信基板21の識別情報が、順に配列されている。即ち、「CS NO:1 CU NO:2 CPU NO:1」、「CS NO:1 CU NO:2 CAN NO:1」)の順に、識別情報が配列されている。
また、構成データ69には、演算装置17の2つのパルスカウンタ基板35,37の識別情報が、順に配列されている。即ち、「CS NO:1 CU NO:2 PC NO:1」、「CS NO:1 CU NO:2 PC NO:2」の順に、識別情報が配列されている。
さらに、構成データ69には、演算装置17の2つのDI基板25,27、DO基板29、AI基板31、AO基板33の識別情報が配列されている。即ち、DI基板25,27の識別情報「CS NO:1 CU NO:2 DI NO:1」、「CS NO:1 CU NO:2 DI NO:2」が順に配列されている。その後に、DO基板29、AI基板31、AO基板33の各識別情報「CS NO:1 CU NO:2 DO NO:1」、「CS NO:1 CU NO:2 AI NO:1」、「CS NO:1 CU NO:2 AO NO:1」が順に配列されている。
続いて、各MU7のCPUがROM(いずれも図示せず)に格納されたプログラムにしたがって実行する制御ユニット3を構成するフィールド機器のアラーム情報を表示する処理について、図12のフローチャートを参照して説明する。なお、制御ユニット3を構成するフィールド機器とは、各リモートIOユニット13と、演算装置15,17の各基板19~37のことである。
各MU7のCPUは、アラーム情報の表示の更新周期が到来したか否かを確認し(ステップS101)、更新周期が到来していない場合は(ステップS101でNO)、アラーム情報表示処理を終了する。一方、更新周期が到来した場合は(ステップS101でYES)、CPUは、アラーム情報の通知要求をLAN9を介して演算装置15,17に出力し(ステップS103)、アラーム情報が入力されたか否かを確認する(ステップS105)。
アラーム情報が演算装置15,17から入力されない場合は(ステップS105でNO)、入力されるまでステップS105をリピートする。また、アラーム情報が入力された場合は(ステップS105でYES)、CPUは、EU5のメモリに記憶された制御ユニット3の構成データを参照する(ステップS107)。そして、参照した構成データから特定される制御ユニット3のシステム構成に応じたアラーム情報の表示態様を決定する(ステップS109)。
そして、CPUは、決定した表示態様に、MU7の不図示のディスプレイにおける制御システム1のアラーム情報の表示を更新した後(ステップS111)、アラーム情報表示処理を終了する。
以上の説明からも明らかなように、本実施形態の制御システム1では、図12のフローチャートにおけるステップS109及びステップS111が、請求項中の結果表示部に対応する処理となっている。
このように構成された本実施形態の制御システム1では、制御ユニット3を構成するリモートIOユニット13から、自身の上位に接続されるリモートIO通信基板23,24に、リモートIOユニット13の識別情報が出力される。このため、リモートIO通信基板23,24は、自身の下位に接続された相手から入力される識別情報から、自身の下位に接続されたリモートIOユニット13の存在を認識する。
同様に、本実施形態の制御システム1では、制御ユニット3を構成する演算装置15,17の各基板19~37から、それらの上位に接続される演算装置15,17のCPUに、各基板19~37の識別情報が出力される。
このとき、リモートIO通信基板23,24から演算装置15,17のCPUに出力される、リモートIO通信基板23,24の識別情報の後には、リモートIO通信基板23,24に入力されたリモートIOユニット13の識別情報が付加される。
また、各基板19~37から演算装置15,17のCPUに出力された各基板19~37の識別情報が、演算装置15,17からEU5に出力される際には、各基板19~37の識別情報の前に演算装置15,17の識別情報が付加される。
即ち、演算装置15,17のCPUに入力される、演算装置15,17の各基板19~37及び各リモートIOユニット13の識別情報は、自身の上位に接続されたフィールド機器及び演算装置15,17の識別情報を累積的に順次先頭に付加した体裁となる。この体裁の識別情報は、演算装置15,17のCPUからEU5に出力される。
このため、EU5は、演算装置15,17から入力される識別情報により、演算装置15,17の各基板19~37の他、リモートIO通信基板23,24の下位の各リモートIOユニット13を、制御ユニット3の階層上での上下関係を含めて認識できる。
即ち、演算装置15,17の各基板19~37及び各リモートIOユニット13に実装したマイクロプロセッサを用いると、EU5は、演算装置15,17から入力される識別情報により、制御ユニット3の構成データ69を把握し生成することになる。つまり、EU5は、制御ユニット3の構成データ69を人手によらずに把握する。
よって、演算装置15,17から入力される制御ユニット3の各基板19~37及び各リモートIOユニット13のアラーム情報をMU7で表示する場合に、MU7は、EU5が生成した制御ユニット3の構成データ69を参照する。これにより、アラーム状態の各基板19~37及び各リモートIOユニット13を、制御ユニット3における階層状の配置に応じて、MU7のディスプレイに表示させることができる。
一般に、制御システム1では、演算装置15,17の各基板19~37及び各リモートIOユニット13のうち複数の要素の動作が複合的に作用して、アラーム状態が発生することがある。この場合、例えばMU7において、発生したアラーム状態の原因の箇所を特定して表示するには、発生したアラーム状態とその発生元との関係を示す情報を、人手によってMU7に入力しておく必要がある。
これに対し、本実施形態の制御システム1において、MU7で表示するのは、制御ユニット3を構成する演算装置15,17の各基板19~37及び各リモートIOユニット13のマイクロプロセッサが自己診断して検出するアラーム状態である。即ち、自己診断によるアラーム状態は、自己診断したフィールド機器において発生するものである。
したがって、演算装置15,17から発生元の識別情報と共にアラーム情報を受け取ることで、EU5の構成データ69を利用してアラーム情報の発生元を特定し、特定したフィールド機器の制御ユニット3における配置をわかりやすく表示させることができる。
図13は、MU7の不図示のディスプレイで表示できる演算装置15,17の各基板19~37及び各リモートIOユニット13のアラーム情報の監視画面の一例を示す説明図である。
図13に示す例の監視画面71では、制御システム1の識別情報「BLOCK NO:1」の下位に配置された8つの制御ユニット3の識別情報のうち、8番目の制御ユニット3の識別情報「CS NO:8」が展開されている。
そして、8番目の制御ユニット3の識別情報「CS NO:8」の下位に配置された1番目の演算装置の識別情報「CU NO:1」が展開されている。さらに、演算装置の識別情報「CU NO:1」の下位に配置された2つの2つのDI基板とリモートIO通信基板の識別情報のうち、リモートIO通信基板の識別情報「R-BUS NO:1」が展開されている。
また、リモートIO通信基板の識別情報「R-BUS NO:1」の下位には、3つのAI基板及びAO基板、3つのDI基板、及び、2つのDO基板の識別情報が展開されている。即ち、「AI NO:1」~「AI NO:3」、「AO NO:1」~「AO NO:3」、「DI NO:1」~「DI NO:3」、「DO NO:1」,「DO NO:2」の順に、識別情報が展開されている。
図13に示す監視画面71では、2つ目のDO基板でアラーム状態が発生し、反転強調表示されている。また、上位に接続されたリモートIO通信基板の識別情報「R-BUS NO:1」と、さらにその上位に接続された1番目の演算装置の識別情報「CU NO:1」も、アラーム状態のDO基板の識別番号「DO NO:2」と共に反転強調表示されている。
この監視画面71は、MU7が、演算装置15,17に要求して入手したアラーム情報を用い、EU5のメモリに記憶された制御ユニット3の構成データ69を参照することで、制御ユニット3のシステム構成に応じた表示態様とすることができる。
ところで、複数のフィールド機器でアラーム状態が発生し、アラーム状態が発生した複数のフィールド機器が共通の上位のフィールド機器に直接又は間接的に接続されている場合を想定する。この場合、共通のフィールド機器の識別情報を単に反転強調表示させるだけでは、上位の階層におけるアラーム情報への対処レベルをどの程度にすればよいか判断できない。
そこで、例えば、発生したアラーム状態に優先度を設定し、複数のフィールド機器でアラーム状態が発生した場合は、優先度が一番高いアラーム状態に対応する態様で、共通の上位のフィールド機器を強調表示させるようにしてもよい。
ここで、アラーム状態の優先度は、例えば、アラーム情報のアラーム状態を示すコードの内容から判別される対処の緊急性が高い順に設定してもよい。また、発生後の対処が進んでいないアラーム状態ほど優先度が高くなるような設定にしてもよい。
なお、監視画面71上で反転強調表示された識別番号の部分をクリックすると、EU5の構成データ69を参照することで、クリックした識別番号のフィールド機器及びその下位に接続されたフィールド機器を、MU7において特定することができる。
また、演算装置15,17に要求して入手したアラーム情報から、特定したフィールド機器のうちアラーム状態にある(アラーム情報を出力している)フィールド機器を抽出して、図14の説明図に示すリスト画面73のように、全てリスト表示することができる。このとき、アラーム状態に上述した優先度が設定されている場合は、優先度の高いアラーム状態をリスト画面73の上位に配置して表示させるようにしてもよい。
さらに、EU5の構成データ69を参照して、MU7において、図15の説明図に示すように、制御システム1における各フィールド機器の接続関係を再現したレイアウトの監視画面77を表示させてもよい。この監視画面77では、各フィールド機器に対応する矩形のシンボルを、アラーム状態の優先度に応じて異なる態様で表示させるようにしている。
また、この監視画面77では、黒く塗りつぶしたシンボルが優先度の最も高いアラーム状態を示しており、以下、粗いハッチのシンボル、細かいハッチのシンボルの順に、優先度が低いアラーム状態を示している。なお、空白のシンボルは、アラーム状態が発生していないことを示している。また、シンボルの表示態様に点滅あるいはアニメーション表示等を加えて、表現できる優先度の段階を増やしてもよい。
さらに、演算装置15,17における各基板19~37のアラーム状態は、必要に応じてMU7のディスプレイに図16の説明図に示すような監視画面79を表示させて知らせるようにしてもよい。この監視画面79は、演算装置15,17の筐体内の基板のソケットに差し込まれているときの各基板19~37のレイアウトを再現した態様としている。
この監視画面79でも、図15の監視画面77と同様に、各基板19~37に対応する領域の塗り分けによって、アラーム状態の優先度を表現することができる。また、各領域の表示態様に点滅あるいはアニメーション表示等を加えて、表現できる優先度の段階を増やしてもよい。
なお、上述した実施形態では、初期設定処理において、図2~図4のフローチャートを使い分ける場合について説明した。
しかし、各リモートIOユニット13、演算装置15の各基板19~33、及び、演算装置17の各基板19,21,25~37のマイクロプロセッサ、演算装置15,17のCPUの一部又は全部が、共通の手順の初期設定処理を行う構成としてもよい。
図7~図9のフローチャートを参照して説明した自己診断処理についても同様に、共通の手順に変えてもよい。
また、本実施形態の制御システム1では、演算装置15,17自身がアラーム状態の発生を自己診断機能を有しており、アラーム状態の発生時にアラーム情報を生成するものとした。しかし、演算装置15,17は自身でアラーム状態発生の自己診断機能を有していなくてもよい。
その場合は、図9のフローチャートにおけるステップS75~ステップS81の処理を省略することができる。そして、図9のステップS71で、下位機器からのアラーム情報が入力されていない場合(NO)に、演算装置15,17のCPUが、ステップS83の、MU7からのアラーム情報の通知要求が入力されたか否かを確認する処理に移行する手順とすることができる。