説明

制御装置及び通信管理方法

【課題】通信異常発生時、プロセスデータを取得できるまでの遅延時間を短縮できるよう
にすると共に、分散型制御システムにおける制御動作の安定化を実現できるようにする。
【解決手段】2つの通信バスα及びβに接続され、バス切り換え機能を有して通信バスを
監視し、当該通信バスの一時異常及び正常を判別するCPU10と、通信バスを介してC
PU10に接続され、フィールド機器から入力したプロセスデータを通信バスを介してC
PU10に出力すると共に、通信バスを介して当該CPU10から入力した制御データを
フィールド機器に出力する1つ以上のIOM部14等とを備え、CPU10は、一方の通
信バスの状態が一時異常であると判別したとき、一時異常と判別された通信バスから正常
な状態の通信バスにIOM部14等の接続を切り換えるものである。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電気や、機械、化学工場等のプラントにおけるフィールド機器を分散制御
するフィールドコントロールステーション(FCS部)や、FCS部を有する分散型制御
システム(DCS)、FCS部におけるCPU(中央処理装置)と通信対象となる入出力
通信モジュール(IOM部)との間の通信を管理するアクセス管理等に適用可能な制御装
置及び通信管理方法に関するものである。
【背景技術】
【0002】
近年、電気や、機械、化学工場等のプラントにおいて分散型制御システム(Dispersion
Control System:DCS)が採用される場合が多くなってきた。分散型制御システムに
よれば、FCS部内に実装されたIO通信機能部(IOコプロセッサ)が、あらかじめ定
義された周期(スキャン周期)でIOM部へ通信を行うことにより、フィールド機器を構
成するバルブ等へ制御データを出力したり、そのセンサからプロセスデータを取得してい
る(IOM通信)。
【0003】
図8は従来例に係るFCS部105の内部構成例を示すブロック図である。図8に示す
FCS部105は、CPU30を有している。CPU30は、IO通信機能部31の他に
、メモリ部32、命令演算部33及びCPUバス18を有している。IO通信機能部31
、メモリ部32及び命令演算部33はCPUバス18に接続されている。IO通信機能部
31には、2系統の通信バスα,βを介して4個のIOM部14,15,16,17が接
続されている。IOM部14,15,16,17には、図示しない電気や、機械、化学工
場等のプラントにおけるバルブやセンサ等のフィールド機器が接続される。
【0004】
命令演算部33は、図示しない制御バスを介して上位のパーソナルコンピュータ(以下
パソコンという)からデータパケットを受信し、データパケットをデコードしてIO通信
機能部31及びIOM部14,15,16,17の間における通信処理(以下IOM通信
処理という)を実行するための命令(コマンド)を演算する。命令演算部33はプロセス
データを用いて制御演算を実行する。
【0005】
IO通信機能部31にはメモリ部32が接続される。IO通信機能部31は命令演算部
33から発行されるコマンドを受信して、メモリ部32内に状態管理テーブル132を作
成する。状態管理テーブル132は、IOM部14,15,16,17等の状態を管理す
るためであり、通信の是非や、使用する通信バスα,βの判断のために参照される。
【0006】
メモリ部32はIO通信機能部31によって制御され監視される通信バスα,βの状態
を正常及び異常の2種類に区分してIOM部14,15,16,17毎に記憶する。状態
管理テーブル132には、例えば、5個の識別子IOM1〜IOM5が割り当てられ、通
信バスα,βの状態に対応して正常又は異常が設定される。
【0007】
IO通信機能部31は、2つの通信バスα,βを切り換える機能を有して、当該通信バ
スα,βに接続され、通信バスα,βを監視し、当該通信バスα,βの異常及び正常を判
別する。IO通信機能部31はリトライ通信機能を有している。ここにリトライ通信機能
とは、トランジェントエラーやIOM異常、通信バスα、βの異常等、何らかの通信異常
を引き起こす原因によりIOM通信を失敗した場合、再度、IOM通信を試みる動作をい
う。
【0008】
図9A〜Cは、IO通信機能部31とIOM部14等との通信例を示すシーケンス図及
び通信バスα,βの状態例を示す説明図である。図9Aに示すIO通信機能部31とIO
M部14等との通信例によれば、黒△印は、IO通信機能部31からIOM部14への通
信時刻τ1,τ3,τ5,τ7,τ8,τ9,τ11,τ13(例)である。白△印は、
IOM部14からIO通信機能部31への通信時刻τ2,τ4,τ6,τ10,τ12,
τ14(例)である。
【0009】
図9Bに示す通信バスα(図中αバスと表示する)の状態例によれば、通信時刻τ1〜
τ8のαバス異常が確定する時刻まで正常となされ、通信時刻τ9以降は、異常な状態で
ある。
【0010】
これに対して、図9Cに示す通信バスβ(図中βバスと表示する)の状態例によれば、
通信時刻τ1以降ずっと正常な状態となっている。
【0011】
この例では、黒△印の通信時刻τ1で、まず、通信バスαを使用して、IO通信機能部
31からIOM部14へ制御データD14を出力するIO通信が実行されると、白△印の
通信時刻τ2でIOM部15からIO通信機能部31へプロセスデータが出力され、IO
通信が成功する(○印)。同様にしてスキャン周期T(Ex.τ3−τ1)毎に、図9B
,Cに示す通信バスα,βを切り換えて、黒△印の通信時刻τ3,τ5で、IO通信機能
部31からIOM部14へIO通信が実行され、白△印の通信時刻τ4,τ6で、IOM
部14からIO通信機能部31へのIO通信が成功している(αバス通信)。
【0012】
しかし、黒△印の通信時刻τ7で、通信バスαを使用して、IO通信機能部31からI
OM部14へIO通信が実行されても、IOM部15はIO通信機能部31に対して無応
答であり、IO通信が失敗している(×印:通信異常)。この時点から、IO通信機能部
31はリトライ通信処理を実行する。このリトライ通信処理によれば、他のIOM通信を
中断し、真の通信異常であるか否かを確定するために、何回かのリトライ通信を試みるよ
うになされる。
【0013】
同様にして、黒△印の通信時刻τ8で、通信バスαを使用して、IO通信機能部31か
らIOM部14へIO通信が実行されても、IOM部15はIO通信機能部31に対して
無応答であり、IO通信が失敗している(×印)。このリトライ通信の結果、通信異常が
確定されると、黒△印の通信時刻τ9で、通信バスαから通信バスβへ接続を切り換える

【0014】
そして、通信バスβを使用して、IO通信機能部31からIOM部14へ制御データを
出力するIO通信が実行されると、白△印の通信時刻τ10でIOM部15からIO通信
機能部31へプロセスデータが出力され、IO通信が成功する(○印)。同様にして通信
バスβを使用して、黒△印の通信時刻τ11,τ13で、IO通信機能部31からIOM
部14へIO通信が実行され、白△印の通信時刻τ12,τ14で、IOM部14からI
O通信機能部31へのIO通信が成功している(βバス通信)。
【0015】
この種のIOM通信機能を備えたフィールドコントロールステーションに関連して、特
許文献1には二重化通信装置が開示されている。この二重化通信装置によれば、二重化さ
れた通信カードに基づいて、上位装置からの通信要求に応じて機器と通信する場合に、ア
プリケーションプログラム実行部、エラー処理手段、通信要求処理手段及び再通信要求処
理手段を備える。アプリケーションプログラム実行部は、二重化された通信カードの制御
権を切り替えるデバイスドライバを介して、上位装置からの通信要求に応じて機器と通信
する。
【0016】
エラー処理手段はデバイスドライバ内に設けられ、制御権の切り替えに起因する通信エ
ラーに対して特有のエラーコードを生成する。通信要求手段は、エラー処理手段からエラ
ーコードを受け取り、制御権の切り替え時の通信要求にエラーコードを付加してアプリケ
ーションプログラム実行部に通知する。これを前提にして、アプリケーションプログラム
実行部内には再通信要求処理手段が設けられ、エラーコードを取得したとき、上位装置か
らの通信要求を通信要求処理手段に再送するようになされる。このように装置を構成する
と、エラーとなった通信要求に対する煩雑なキャンセル処理を必要としないために、デバ
イスドライバの通信機能をシンプルに設計できるというものである。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開2008−158728号公報(第4頁 図1)
【発明の概要】
【発明が解決しようとする課題】
【0018】
ところで、従来例に係るフィールドコントロールステーション(FCS部105)によ
れば、次のような問題がある。
【0019】
i.特許文献1に見られるような二重化通信方式を導入したFCS部105によれば、
通信異常が発生した場合に、IO通信機能部が他のIOM通信を中断し、通信バスの切り
替えを行わず、当該通信バスが『異常』であると判断されるまで、直前に使用した通信バ
スを再度使用して、リトライ通信処理を繰り返している。このため、通信異常発生時、フ
ィールド機器からプロセスデータを取得できるまでの遅延時間が長くなるという問題があ
る。
【0020】
ii.因みに、一定回数以上の通信異常が生じた場合に、IO通信機能部が当該通信バス
の状態を『異常』と判断しているが、トランジェントエラー以外の通信異常が生じた場合
に、直前に使用した通信バスと同一の通信バスを使用しても、再度、IOM通信を失敗す
る可能性が高い。
【0021】
iii.しかも、通信対象の状態を通信空き時間等を利用して、”異常”の確認に取りか
かるのではなく、他のIOM通信を中断してリトライ通信処理を実行するので、局所的な
通信負荷が集中してしまう。これにより、分割型制御システムにおける安定した制御動作
を妨げる原因になっている。
【0022】
そこで、この発明は上述した課題を解決したものであって、通信異常発生時、プロセス
データを取得できるまでの遅延時間を短縮できるようにすると共に、分散型制御システム
における制御動作の安定化を実現できるようにした制御装置及び通信管理方法を提供する
ことを目的とする。
【課題を解決するための手段】
【0023】
上記課題を解決するために、制御装置は、少なくとも、通信要求を実行して一定時間以
内に応答がなかった場合を一時異常としたとき、2つの通信路に接続され、当該通信路を
切り換える機能を有して前記通信路を監視し、当該通信路の一時異常及び正常を判別する
制御部と、前記通信路を介して前記制御部に接続され、被制御機器から入力した処理デー
タを前記通信路を介して前記制御部に出力すると共に、前記通信路を介して当該制御部か
ら入力した制御データを前記被制御機器に出力する1つ以上のデータ入出力部とを備え、
前記制御部は、一方の前記通信路の状態が一時異常であると判別したとき、一時異常と判
別された前記通信路から正常な状態の通信路に前記データ入出力部の接続を切り換えるこ
とを特徴とするものである。
【0024】
本発明に係る制御装置によれば、制御部は2つの通信路に接続され、当該通信路を切り
換える機能を有して通信路を監視する。制御部は、当該通信路の一時異常及び正常を判別
する。1つ以上のデータ入出力部が通信路を介して制御部に接続される。データ入出力部
は、被制御機器から入力した処理データを通信路を介して制御部に出力すると共に、通信
路を介して当該制御部から入力した制御データを被制御機器に出力する。
【0025】
これを前提にして、制御部は、一方の通信路の状態が一時異常であると判別したとき、
一時異常と判別された通信路から正常な状態の通信路にデータ入出力部の接続を切り換え
るようになる。従って、一時異常と判別された時点で、データ入出力部の接続が切り換え
られた正常な状態の通信路を介して被制御機器から制御部へ処理データを出力したり、正
常な状態の通信路を介して当該制御部から被制御機器へ制御データを出力できるようにな
る。
【0026】
本発明に係る通信管理方法は、少なくとも、通信要求を実行して一定時間以内に応答が
なかった場合を一時異常としたとき、2つの通信路に接続され、当該通信路を切り換える
機能を有して前記通信路を監視し当該通信路の一時異常及び正常を判別する制御部と、前
記通信路を介して前記制御部に接続され、被制御機器から入力した処理データを前記通信
路を介して前記制御部に出力すると共に、前記通信路を介して当該制御部から入力した制
御データを前記被制御機器に出力する1つ以上のデータ入出力部とを備えた制御装置が、
前記通信路の状態が一時異常であるか否かを判別するステップと、一方の前記通信路の状
態が一時異常であると判別されたとき、一時異常と判別された前記通信路から正常な状態
の通信路に前記データ入出力部の接続を切り換えるステップを有するものである。
【発明の効果】
【0027】
本発明に係る制御装置及び通信管理方法によれば、2つの通信路を介して1つ以上のデ
ータ入出力部に接続され、当該通信路を切り換える機能を有して通信路を監視し、当該通
信路の一時異常及び正常を判別する制御部を備え、この制御部は、一方の通信路の状態が
一時異常であると判別したとき、一時異常と判別された通信路から正常な状態の通信路に
データ入出力部の接続を切り換えるものである。
【0028】
この構成によって、一時異常と判別された時点で、データ入出力部の接続が切り換えら
れた正常な状態の通信路を介して被制御機器から制御部へ処理データを出力したり、正常
な状態の通信路を介して当該制御部から被制御機器へ制御データを出力できるようになる
。従って、一時異常と判別された通信路への通信可否の確認を行うリトライ通信を省略す
ることができるので、従来方式のようなリトライ通信を実行する場合に比べて、制御部が
被制御機器から処理データを取得する際の遅延時間を短縮することができる。
【図面の簡単な説明】
【0029】
【図1】本発明に係る制御装置及び通信管理方法を応用した実施形態としての分散型制御システム#1の構成例を示すブロック図である。
【図2】FCS部101の内部構成例を示すブロック図である。
【図3】状態管理テーブル121における各フラグの記述例を示す概念図である。
【図4】(A)〜(C)は、IO通信機能部11とIOM部14等との通信例を示すシーケンス図及び通信バスα,βの状態例を示す説明図である。
【図5】FCS部101における通信管理例(その1)を示すフローチャートである。
【図6】FCS部101における通信管理例(その2)を示すフローチャートである。
【図7】FCS部101における通信管理例(その3)を示すフローチャートである。
【図8】従来例に係るFCS部105の内部構成例を示すブロック図である。
【図9】(A)〜(C)は、IO通信機能部31とIOM部14等との通信例を示すシーケンス図及び通信バスα,βの状態例を示す説明図である。
【発明を実施するための形態】
【0030】
以下、図面を参照しながら、この発明の実施の形態に係る制御装置及び通信管理方法に
ついて説明をする。図1に示す分散型制御システム#1は、本発明に係る制御装置及び通
信管理方法を応用したシステムであり、電気や、機械、化学工場等のプラントにおける複
数の被制御機器(以下でフィールド機器という)を分散して制御するシステムである。
【0031】
分散型制御システム#1は、例えば、デスクトップ型や、ノートブック型等のパーソナ
ルコンピュータ(以下単にパソコン104という)、制御バス103、2系統のフィール
ドコントロールステーション(以下FCS部101,102という)を有して構成される
。FCS部101や、FCS部102は、制御装置の一例を構成し、電気や、機械、化学
工場等のプラントにおいて、例えば、複数のセンサから得られるプロセスデータに基づい
て複数のバルブ等のフィールド機器を分散制御するようになされる。
【0032】
パソコン104(HIS)には、Vnet/IP等の制御バス103が接続され、分散
制御用のパケットデータが転送される。ここにVnet/IPとは、データ転送速度が1
Gbps程度のイーサネット(登録商標)をベースとしたプロセス・オートメーション用
のリアルタイム・プラント・ネットワークシステムをいう。
【0033】
この例で制御バス103には、2系統のFCS部101及びFCS部102が接続され
る。第1のFCS部101は、例えば、制御側のCPU10、待機側のCPU20及び4
個のIOM部14,15,16,17を備え、これらのCPU10,20及びIOM部1
4,15,16,17が、冗長化された2系統の入出力通信モジュール(IOM)用の通
信バスα,βに接続される。IOM部14,15,16,17は、各々がデータ入出力部
の一例を構成する。
【0034】
制御側のCPU10は、入出力通信機能部(以下IO通信機能部11という)を有して
おり、従来方式と同様にして、予め定義された周期(スキャン周期)でIOM入力処理を
実行し、上位のパソコン104等からの要求に応じてIOM入出力処理を実行する。IO
通信機能部11にはCPU10内の命令演算機能を補助するIOコプロセッサが使用され
る。IO通信機能部11には2系統の通信バスα,βを介して、例えば、4個のIOM部
14,15,16,17が接続される。通信バスα,βはスキャン周期に基づき、交互に
切り換えられて使用される。
【0035】
IO通信機能部11は、例えば、通信バスα又はβを介して、IOM部14へ制御デー
タD14を出力し、及び、IOM部16へ制御データD16を出力したり、IOM部15
から処理データ(以下プロセスデータD35という)を入力し、及び、IOM部17から
処理データ(以下プロセスデータD37という)を入力して通信処理を実行する。
【0036】
IOM部14には第1のバルブ34が接続される。バルブ34は、図示しないプラント
内の配管に取り付けられ、制御データD14に基づいて流量を調整する。IOM部15に
はフィールド機器の一例を構成する第1のセンサ35が接続される。センサ35は上述の
配管内の流量を検知して流量検知時のプロセスデータD35を発生する。
【0037】
IOM部16には第2のバルブ36が接続される。バルブ36は、図示しないプラント
内の他の配管に取り付けられ、制御データD16に基づいて流量を調整する。IOM部1
7には第2のセンサ37が接続される。センサ37は上述の他の配管内の流量を検知して
流量検知時のプロセスデータD37を発生する。
【0038】
待機側のCPU20も、入出力通信機能部(以下IO通信機能部21という)を有して
いる。IO通信機能部21には命令演算機能を補助するIOコプロセッサが使用される。
IO通信機能部21も、上述の4個のIOM部14,15,16,17が接続された2系
統の通信バスα,βに並列に接続される。
【0039】
例えば、IO通信機能部21は、制御側のCPU10に故障が生じたとき、通信バスα
又はβを介して、CPU20はCPU10に代わってIOM部14へ制御データD14を
出力し、及び、IOM部16へ制御データD16を出力したり、IOM部15から処理デ
ータ(以下プロセスデータD35という)を入力し、及び、IOM部17から処理データ
(以下プロセスデータD37という)を入力して通信処理を実行する。
【0040】
第2のFCS部102も制御側のCPU10、待機側のCPU20及び4個のIOM部
24,25,26,27を備え、これらのCPU10,20及びIOM部24,25,2
6,27が、冗長化された他の2系統の入出力通信モジュール(IOM)用の通信バスα
,βに接続される。なお、FCS部102もFCS部101と同様に構成され、同様な部
分は同じ機能を有するので、その説明を省略する。
【0041】
IOM部24には第3のバルブ44が接続される。バルブ44は、図示しないプラント
内の配管に取り付けられ、制御データD24に基づいて流量を調整する。IOM部25に
は第3のセンサ45が接続される。センサ45は上述の配管内の流量を検知して流量検知
時のプロセスデータD45を発生する。
【0042】
IOM部26には第4のバルブ46が接続される。バルブ46は、図示しないプラント
内の他の配管に取り付けられ、制御データD26に基づいて流量を調整する。IOM部2
7には第4のセンサ47が接続される。センサ47は上述の他の配管内の流量を検知して
流量検知時のプロセスデータD47を発生する。なお、バルブ34,36,44,46及
びセンサ35,37,45,47はフィールド機器の一例を構成する。これらのFCS部
101,102により、分散型制御システム#1を構成する。
【0043】
続いて、図2を参照して、FCS部101の内部構成例について説明する。図2に示す
FCS部101は、ある規定回数の通信異常発生時、状態管理テーブル121に一時異常
フラグFG2をセットすることで、通信バスα,βの状態を『一時異常』の状態に設定す
る機能を有している。この機能を以下でIOM状態管理機能という。
【0044】
FCS部101内のCPU10は、IO通信機能部11の他に、メモリ部12、命令演
算部13及びCPUバス18を有している。IO通信機能部11、メモリ部12及び命令
演算部13はCPUバス18に接続されている。
【0045】
命令演算部13は制御バス103を介して上位のパソコン104からデータパケットを
受信し、データパケットをデコードしてIO通信機能部11と入出力通信モジュール(I
OM)との間における通信処理(以下IOM通信処理という)を実行するための命令(コ
マンド)を演算する。命令演算部13はプロセスデータD35,D37等を用いて制御演
算を実行する。命令や制御データD14,D16は、CPUバス18を介してIO通信機
能部11やメモリ部12等に転送される。
【0046】
IO通信機能部11には記憶部の一例を構成するメモリ部12が接続され、IOM状態
管理機能を実現するようになされる。IO通信機能部11は命令演算部13から発行され
るコマンドを受信して、メモリ部12内に状態管理テーブル121を作成する。状態管理
テーブル121は、IOM部14,15,16,17等の状態を管理するためであり、通
信の是非や、使用する通信バスα,βの判断のために参照される。メモリ部12には随時
アクセス可能な不揮発性や、バックアップ付きの揮発性の記憶装置が使用される。
【0047】
メモリ部12はIO通信機能部11又は命令演算部13によって制御され監視される通
信バスα,βの状態を正常、一時異常及び異常の3種類に区分してIOM部14,15,
16,17毎に記憶する。例えば、メモリ部12内には状態管理テーブル121が作成さ
れる。状態管理テーブル121には、例えば、5個の識別子IOM1〜IOM5が割り当
てられ、通信バスα,βの状態に対応して一時異常フラグFG2等が設定される(図3参
照)。
【0048】
IO通信機能部11は、少なくとも、2つの通信バスα,βを切り換える機能を有して
、当該通信バスα,βに接続され、通信バスα,βを監視し、当該通信バスα,βの一時
異常及び正常を判別する。一時異常とは、通信要求(IOM通信)を実行して一定時間以
内に応答がなかった状態をいう(診断復旧確認処理)。
【0049】
IO通信機能部11は、IOM入出力機能111及び診断復旧確認機能112を有して
いる。IO通信機能部11は、IOM入出力処理において、状態管理テーブル121で『
正常』となった通信バスα又はβから優先的に接続を切り換えて使用する機能を有してい
る。例えば、IO通信機能部11は、メモリ部12を参照し、正常な状態の通信バスα又
はβを優先してIOM部14等に接続し、センサ35からプロセスデータD35を入力し
、及び、当該正常な状態の通信バスα又はβを介してバルブ34へ制御データD15等を
出力する(IOM入出力処理)。
【0050】
IOM入出力機能111にはIOM入出力処理の他に正常な通信バスαに接続を切り換
えるバス選択切り換え機能が含まれる。例えば、IO通信機能部11は、一方の通信バス
α又はβの状態が一時異常であると判別したとき、一時異常と判別された通信バスα又は
βから正常な状態の通信バスα→β(β→α)にIOM部14等の接続を切り換えるよう
になされる。
【0051】
このようなバス選択切り換え機能によって、一時異常フラグFG2や異常フラグFG3
等がメモリ部12に記憶されている通信バスα及びβを介してのIOM部14,15,1
6,17の接続を回避できるので、バルブ34,36,44,46へ確実に制御データD
14,D16,D24,D26を出力すること、及び、センサ35,37,45,47か
らのプロセスデータD35,D37,D45,D47を確実に取得することができる。
【0052】
また、IO通信機能部11は、IOM入出力処理及び診断復旧確認処理(IOM通信)
の成否から通信バスα,βの状態を『正常』/『一時異常』/『異常』のいずれかに設定
するIOM状態管理機能を有している。IO通信機能部11は、『一時異常』となったI
OM部14等に、一時異常フラグFG2をセットする。つまり、IO通信機能部11は、
何らかの通信異常を引き起こす原因(トランジェントエラーや、IOM部自体の異常、通
信バスαやβ等の異常)により、IOM通信処理を失敗した場合、IOM状態管理機能に
より、状態管理テーブル121に一時異常フラグFG2をセットする。
【0053】
この例で、IO通信機能部11は、通信バスα,βの一時異常を判別する毎に当該通信
バスα,βに対して一時異常フラグを立ち上げ、フラグ立ち上げ回数と基準回数とを比較
する。ここにフラグ立ち上げ回数とは一時異常フラグを立ち上げた回数をいう。基準回数
とは一時異常又は異常を判別するための設定データをいう。
【0054】
IO通信機能部11は、基準回数を越えるフラグ立ち上げ回数が検出されたとき、当該
通信バスの状態を異常と判別する。このような判別機能によって、例えば、基準回数=1
を設定して、一時異常フラグFG2が一回立ち上がると、当該通信バスα又はβの一時異
常フラグFG2をメモリ部12に記憶することができ、一時異常フラグFG2が二回以上
立ち上がると、当該通信バスα又はβの異常フラグFG3をメモリ部12に記憶できるよ
うになる。
【0055】
IO通信機能部11は、一時異常又は異常と判別された通信バスα又はβから正常な状
態の通信バスα又はβに接続を切り換えた後の通信空き時間に、一時異常又は異常と判別
された通信バスα又はβを介して診断通信を含む診断復旧確認処理を実行する。ここに診
断復旧確認処理とは、プロセスデータD35等の取得を目的とせずに、診断通信の成否の
みを確認する機能をいい、換言するとIO通信機能部11はIOM部14,15,16,
17を呼び出せるか否かの通信復旧を確認する動作をいう。
【0056】
診断復旧確認処理は、『一時異常』となった通信バスαやβ等に対し行われる。その成
否に基づいて通信バスαやβ等の状態を『正常』または『異常』状態に遷移させるように
なる。例えば、診断復旧確認処理を行った結果、IOM部14や,15,16,17等か
らIO通信機能部11に応答が有った場合、IO通信機能部11は、一時異常又は異常と
判別された通信バスα又はβの状態を一時異常又は異常から正常へ書き換える。IOM部
14や,15,16,17等からIO通信機能部11に応答が無かった場合、IO通信機
能部11は、一時異常と判別された通信バスα又はβの状態を異常へ書き換え、通信バス
α又はβの状態が元々異常であった場合は、当該通信バスα又はβの異常をそのまま保持
するようになされる。
【0057】
この例で、一時異常と判別された、通信バスαの状態を一時異常フラグFG2から正常
フラグFG1へ書き換える。同様にして、一時異常と判別された、通信バスβの状態を一
時異常フラグFG2から正常フラグFG1へ書き換える。このような診断復旧確認機能に
よって、IOM部14,15,16,17からIO通信機能部11に応答がなかった場合
に、IOM部14,15,16,17自体の異常や、通信バスα又はβ自体の異常等を早
期に発見できるようになる。
【0058】
上述の説明では、CPU10内で、命令演算部13の動作を補助するIO通信機能部1
1(IOコプロセッサ)が診断復旧確認処理を実行する場合について説明したが、これに
限られることはなく、命令演算部13で診断復旧確認処理を実行させてもよい。
【0059】
続いて、図3を参照して、状態管理テーブル121における各フラグの記述例について
説明する。図3に示す状態管理テーブル121には、例えば、3個の識別子IOM1,I
OM2,IOM3と共に、通信バスα,βの状態を記述するメモリ領域が割り当てられて
いる。
【0060】
この例で、状態管理テーブル121には、IOM部14に対してIOM1の識別子と共
に、通信バスαの『正常』及び通信バスβの『異常』に対応して、正常フラグFG1及び
異常フラグFG3が設定(登録)される。IOM部15に対してはIOM2の識別子と共
に、通信バスαの『一時異常』及び通信バスβの『正常』に対応して、一時異常フラグF
G2及び正常フラグFG1が設定(登録)される。
【0061】
IOM部16に対してはIOM3の識別子と共に、通信バスαの『正常』及び通信バス
βの『正常』に対応して、各々正常フラグFG1が設定(登録)される。このような状態
管理テーブル121をメモリ部12を備えると、IO通信機能部11は、正常フラグFG
1、一時異常フラグFG2及び異常FフラグG3に区分して記述された通信バスα,βの
状態を参照して、当該通信バスα,βに接続されるIOM部14,15,16,17をア
クセス管理できるようになる。
【0062】
続いて、図4A〜Cを参照して、IO通信機能部11(IOコプロセッサ)とIOM部
14等との通信例について説明する。図4Aに示すIO通信機能部11とIOM部14等
との通信例によれば、黒△印は、IO通信機能部11からIOM部14への通信時刻t1
,t3,t5,t7,t8,t10,t12,t14,t15,t17(例)である。白
△印は、IOM部14からIO通信機能部11への通信時刻t2,t4,t6,t9,t
11,t13,t16,t18(例)である。
【0063】
図4Bに示す通信バスα(図中αバスと表示する)の状態例によれば、通信時刻t1〜
t7において正常であり、通信時刻t8〜t15において、一時異常な状態であり、通信
時刻t15以降が異常な状態となっている。これに対して、図4Cに示す通信バスβ(図
中βバスと表示する)の状態例によれば、通信時刻t1以降ずっと正常な状態となってい
る。
【0064】
この例では、黒△印の通信時刻t1で、まず、通信バスαを使用して、IO通信機能部
11からIOM部14へ制御データD14を出力するIO通信が実行されると、白△印の
通信時刻t2でIOM部15からIO通信機能部11へプロセスデータD35が出力され
、IO通信が成功する(○印)。同様にしてスキャン周期T(Ex.t3−t1)毎に、
図4B,Cに示す通信バスα,βを切り換えて、黒△印の通信時刻t3,t5で、IO通
信機能部11からIOM部14へIO通信が実行され、白△印の通信時刻t4,t6で、
IOM部14からIO通信機能部11へのIO通信が成功している(αバス通信)。
【0065】
しかし、黒△印の通信時刻t7で、通信バスαを使用して、IO通信機能部11からI
OM部14へIO通信が実行されても、IOM部15はIO通信機能部11に対して無応
答であり、IO通信が失敗している(×印)。このとき、IO通信機能部11は一時異常
フラグFG2を状態管理テーブル121に設定する。
【0066】
その後、黒△印の通信時刻t8で、通信バスβを使用して、IO通信機能部11からI
OM部14へ制御データD14を出力するIO通信が実行されると、白△印の通信時刻t
9でIOM部15からIO通信機能部11へプロセスデータD35が出力され、IO通信
が成功する(○印)。同様にして通信バスβを使用して、黒△印の通信時刻t10,t1
2で、IO通信機能部11からIOM部14へIO通信が実行され、白△印の通信時刻t
11,t13で、IOM部14からIO通信機能部11へのIO通信が成功している(β
バス通信)。
【0067】
この例でIO通信機能部11は、状態管理テーブル121に一時異常フラグFG2が設
定された通信バスαに対して、IOM通信の空き時間(合間)となる、例えば、黒△印の
通信時刻t14でαバス診断通信を実行する。αバス診断通信では、一時異常と判別され
た通信バスαに対して、プロセスデータD35等の取得を目的とせずに、IOM通信の成
否のみを確認するようになされる(診断復旧確認処理)。
【0068】
診断復旧確認処理はIOM入出力処理以外の処理時間で、かつ、スキャン周期とは異な
る長い周期で実行される。このため、スキャン周期でのIOM入出力処理を妨げることが
なく、局所的な通信負荷を軽減することができる。αバス診断通信の結果、IOM部15
からIO通信機能部11への応答が無く、IO通信が失敗したことが見出される(判別さ
れる)と、IO通信機能部11は状態管理テーブル121における一時異常フラグFG2
を異常フラグFG3に書き換えるようになされる。
【0069】
その後、黒△印の通信時刻t15で、通信バスβを使用して、IO通信機能部11から
IOM部14へ制御データD14を出力するIO通信が実行されると、白△印の通信時刻
t16でIOM部15からIO通信機能部11へプロセスデータD35が出力され、IO
通信が成功している(○印)。同様にして通信バスβを使用して、黒△印の通信時刻t1
7で、IO通信機能部11からIOM部14へIO通信が実行され、白△印の通信時刻t
18で、IOM部14からIO通信機能部11へのIO通信が成功している(βバス通信
)。
【0070】
続いて、図5〜図7に示すフローチャートを参照して、本発明に係る通信管理方法につ
いて説明する。図5は、CPU10における通信管理例を示すメインルーチンである。図
6は、IO通信機能部11におけるIO通信例を示すサブルーチンである。図7は、IO
通信機能部11における診断復旧確認例を示すサブルーチンである。
【0071】
この実施例では、制御開始時の2つの通信バスα及びβの初期状態が共に正常である場
合を例に挙げる。通信バスα,βは交互に切り換えて使用する場合である。診断復旧確認
処理は、IOM入出力処理以外の処理時間であって、スキャン周期とは異なった長い周期
で一時異常フラグFG2が立った通信バスα(又はβ)を介してIOM部14等との間で
診断通信を実行する場合を例に採る。
【0072】
これらを管理条件にして、図5に示すフローチャートのステップST1でIO通信機能
部11は、状態管理テーブル121を参照して通信バスα及びβの状態を入力する。初期
状態で状態管理テーブル121には、2つの通信バスα及びβの状態が共に正常であるこ
とを示す正常フラグFG1が記述されている。
【0073】
次に、ステップST2で、IO通信機能部11は、通信バスα,βの両方が異常である
場合(X)と、少なくとも、通信バスα又はβの一方が正常、及び、通信バスα,βの両
方が正常である場合(Y)に対応して制御を分岐する。
【0074】
通信バスα又はβの一方が正常、及び、通信バスα,βの両方が正常である場合(Y)
は、ステップST3でIO通信機能部11は、通信バスα又はβへ接続を切り換える。例
えば、最初に通信バスαを使用する場合は、ステップST4で、IO通信機能部11は、
通信バスαをIOM部14,15,16,17に接続してIOM通信処理を実行する(α
バス通信)。
【0075】
この例のIOM通信処理によれば、図6のサブルーチンをコールしてそのステップST
41でIO通信機能部11は、IOM通信を実行する。例えば、図4に示したように、黒
△印の通信時刻t1で、通信バスαを使用して、IO通信機能部11からIOM部14へ
制御データD14を出力するIO通信が実行されると、白△印の通信時刻t2でIOM部
15からIO通信機能部11へプロセスデータD35が出力される。
【0076】
その後、ステップST42でIO通信機能部11は、IOM通信に成功したか否かを判
別する。この際の判別基準は、IO通信機能部11からIOM部14等へ通信要求を実行
してから所定の時間内に返信が有ったか否かで、通信バスαの状態が一時異常であるか否
かを判別する。
【0077】
IOM通信に成功しなかった場合は、ステップST43に移行して、IO通信機能部1
1はIOM通信を実行する規定回数(例えば基準回数=1)を設定して、IOM通信に失
敗したか否かを判別する。例えば、一時異常フラグFG2が一回立ち上がると、当該通信
バスαの一時異常フラグFG2をメモリ部12に記憶する。
【0078】
IOM部14等の接続を規定回数だけ実行してIOM通信を失敗した場合は、ステップ
ST44に移行して、IO通信機能部11は状態管理テーブル121に現在使用中の通信
バスαを一時異常に設定する。その後、ステップST4にリターンする。なお、ステップ
ST42でIOM通信に成功した場合及びステップST44で状態管理テーブル121に
一時異常フラグFG2を設定した後は、ステップST4にリターンする。
【0079】
次に、ステップST5でIO通信機能部11は、バス切り換えコマンドをデコード(判
別)して制御を分岐する。例えば、両方の通信バスα及びβが正常で、状態管理テーブル
121には一時異常フラグFG2や異常フラグが設定されていない場合であって、αバス
からβバスへ通信バスを切り換えるコマンドが発行されている場合は、IOM部14等の
接続を通信バスαから通信バスβに切り換えた後に、ステップST6でIO通信機能部1
1は、βバス通信を実行する。
【0080】
例えば、図4に示したように、黒△印の通信時刻t3で、通信バスαを使用して、IO
通信機能部11からIOM部14へ制御データD14を出力するIO通信が実行されると
、白△印の通信時刻t4でIOM部15からIO通信機能部11へプロセスデータD35
が出力される。
【0081】
また、状態管理テーブル121に、既に、一時異常フラグFG2が設定されていて、α
バスからβバスへ通信バスを切り換えるコマンドが発行されている場合は、IOM部14
等の接続を通信バスαから通信バスβに切り換える。このとき、IO通信機能部11は、
一時異常と判別された通信バスαから正常な状態の通信バスβにIOM部14,15,1
6,17の接続を切り換える。
【0082】
その後、ステップST6でIO通信機能部11は、βバス通信を実行する。例えば、図
4に示したように、黒△印の通信時刻t8で、通信バスβを使用して、IO通信機能部1
1からIOM部14へ制御データD14を出力するIO通信が実行されると、白△印の通
信時刻t9でIOM部15からIO通信機能部11へプロセスデータD35が出力される

【0083】
αバスからβバスへ通信バスを切り換えるコマンドが発行されていない場合は、例えば
、片側の通信バスα又はβのみを使用してIOM通信を実行する場合は、ステップST8
に移行してIO通信機能部11が終了を判別する。この際の判別基準は、例えば、上位の
パソコン104からの終了データを検出し、終了データに基づいてIOM通信を終了有無
を判断する。
【0084】
終了データが検出されない場合はステップST9に移行して診断要否を判別する。この
際の判別基準は、例えば、状態管理テーブル121を参照し、一時異常フラグFG2が設
定されているか否かでIO通信機能部11が診断要否を判断する。この例で、一時異常フ
ラグFG2が検出された場合は、ステップST10に移行してIO通信機能部11は、診
断通信処理を実行する。
【0085】
この例の診断通信処理によれば、図7のサブルーチンをコールしてそのステップST1
01でIO通信機能部11は、診断通信を実行する。この診断通信の対象は、一時異常又
は異常となった通信バスα又はβであるので、正常の場合は、診断通信をパスする。例え
ば、図4に示したように、黒△印の通信時刻t14で、通信バスαを使用して、IO通信
機能部11からIOM部14を呼び出す診断通信が実行される。しかし、通信バスαに異
常が発生していると、IOM部14等からIO通信機能部11への応答は無い(無応答)

【0086】
そして、ステップST102でIO通信機能部11は、診断通信が成功したか否かを判
別する。この際の判別基準は、IO通信機能部11からIOM部14等へ所定の時間内に
通信要求を規定回数だけ実行し、その応答が一回でも有ったか否かで、通信バスαの状態
が一時異常でなく異常又は正常であるか否かを判別する。
【0087】
診断通信に成功した場合は、ステップST104に移行して、IO通信機能部11は状
態管理テーブル121における一時異常フラグFG2を正常フラグFG1に書き換える(
設定する)ようにメモリ部12を制御する。その後、ステップST10にリターンする。
【0088】
上述のステップST103で診断通信に成功しなかった場合は、ステップST105に
移行して、IO通信機能部11は、診断通信を実行する規定回数(例えば基準回数=5)
を設定して、規定回数を越える失敗回数を検出したか否かを判別する。規定回数を越える
失敗回数を検出していない場合は、ステップST102に戻って診断通信を繰り返す。
【0089】
ステップST105で規定回数を越える失敗回数を検出した場合は、ステップST10
6に移行してIO通信機能部11は、状態管理テーブル121における一時異常フラグF
G2を異常フラグFG3に書き換える(設定する)ようにメモリ部12を制御する。
【0090】
この例で、IO通信機能部11には、再度、IOM通信を試みる機能が備えられており
、一時異常フラグFG2がセットされた、例えば、通信バスαとは異なる他方の通信バス
βに切り替えて再度、IOM通信を実行する(バス切り換えを伴うリトライ通信機能)。
このリトライ通信機能の結果、IOM部自体の故障か、通信バスαのある一部分的な区間
が故障となっているかを判別できるようになる。
【0091】
上述の診断通信処理後は、ステップST10にリターンする。このような診断復旧確認
処理の成否によって、通信バスα又はβを『正常』または『異常』に遷移させることがで
き、先の例で示した一時異常の通信バスαを異常に設定できるようになる。このような診
断復旧確認処理が終了した場合は、ステップST8に戻る。上述のステップST10で診
断通信処理が終了し、ステップST8で終了データが検出された場合はIOM通信処理を
終了する。
【0092】
このように、実施形態としてのFCS部101によれば、IO通信機能部11が、一方
の例えば通信バスαの状態が一時異常であると判別したとき、一時異常と判別された通信
バスαから正常な状態の通信バスβにIOM部14,15,16,17の接続を切り換え
るようになる。
【0093】
従って、一時異常と判別された時点で、IOM部14,15,16,17の接続が切り
換えられた正常な状態の通信バスβを介して当該IO通信機能部11からIOM部14を
介して制御データD14をバルブ34に出力したり、正常な状態の通信バスβを介してセ
ンサ35からIO通信機能部11へプロセスデータD35を出力したりすることができる

【0094】
これにより、一時異常と判別された通信バスαへの通信可否の確認を行うバス切り換え
を伴わないリトライ通信処理を省略することができるので、従来方式のようなリトライ通
信処理を実行する場合に比べて、IO通信機能部11がセンサ35,37からプロセスデ
ータD35,D37を取得する際の遅延時間を短縮することができる。
【0095】
上述した例では、トランジェントエラー以外の通信異常の場合、直前に使用していた通
信バスαと同一の通信バスαを使用しても、再度、リトライ通信を失敗する可能性が高い
ので、『一時異常』なった通信バスαは使用せずに、即座に通信バスβを切り替えて通信
を行っている。このことで、特に片側のみの通信バスα又はβの異常のような通信異常状
態では、通信バスβからのIOM通信成功により、プロセスデータD35,D37を即座
に取得できるメリットがある。
【0096】
なお、IOM通信後のスキャン周期Tでは、一時異常フラグFG2がセットされた通信
バスαは、IOM入出力処理では、積極的に使用することを避け、正常な通信バスβを優
先的に使用し続けるようにした。ただし、両通信バスα,βが異常の場合は、一時異常で
も使用する。しかも、通信空き時間に、スキャン周期Tとは異なる長い周期により診断復
旧確認処理を実行することにより、局所的な通信負荷を軽減できるようになった。
【産業上の利用可能性】
【0097】
この発明は、電気や、機械、化学工場等のプラントにおけるフィールド機器を分散制御
するフィールドコントロールステーション(FCS部)や、FCS部を有する分散型制御
システムや、FCS部におけるCPUとIOMとの間の通信を管理するアクセス管理等に
適用して極めて好適である。
【符号の説明】
【0098】
1 分散型制御システム
10 制御側のCPU(制御部)
11,21 IO通信機能部
12 メモリ部(記憶部)
13 命令演算部
14,15,16,17 IOM部(データ入出力部)
18 CPUバス
20 待機側のCPU(制御部)
24,25,26,27 IOM部(データ入出力部)
101,102 フィールドコントロールステーション(FCS部:制御装置)
103 制御バス
111 IOM入出力機能
112 診断回復機能
α,β 通信バス

【特許請求の範囲】
【請求項1】
少なくとも、通信要求を実行して一定時間以内に応答がなかった場合を一時異常とした
とき、2つの通信路に接続され、当該通信路を切り換える機能を有して前記通信路を監視
し、当該通信路の一時異常及び正常を判別する制御部と、
前記通信路を介して前記制御部に接続され、被制御機器から入力した処理データを前記
通信路を介して前記制御部に出力すると共に、前記通信路を介して当該制御部から入力し
た制御データを前記被制御機器に出力する1つ以上のデータ入出力部とを備え、
前記制御部は、
一方の前記通信路の状態が一時異常であると判別したとき、
一時異常と判別された前記通信路から正常な状態の通信路に前記データ入出力部の接続
を切り換えることを特徴とする制御装置。
【請求項2】
前記制御部によって制御され、
前記通信路の状態を一時異常、異常及び正常に区分して前記データ入出力部毎に記憶す
る記憶部を備えることを特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御部は、
前記記憶部を参照し、
前記正常な状態の通信路を優先して前記データ入出力部に接続し、被制御機器から処理
データを入力し、及び、当該正常な状態の通信路を介して被制御機器へ制御データを出力
することを特徴とする請求項2に記載の制御装置。
【請求項4】
前記制御部は、
一時異常又は異常と判別された前記通信路から正常な状態の通信路に接続を切り換えた
後の通信空き時間に、前記一時異常又は異常と判別された通信路を介して前記データ入出
力部を呼び出す診断通信を実行することを特徴とする請求項3に記載の制御装置。
【請求項5】
前記診断通信を行った結果、
前記データ入出力部から前記制御部に応答が有った場合は、
前記制御部は、
前記通信路の一時異常を判別する毎に当該通信路に対して一時異常フラグを立ち上げ、
前記一時異常フラグを立ち上げた回数をフラグ立ち上げ回数としたとき、前記フラグ立
ち上げ回数と、前記一時異常又は異常を判別するための基準回数とを比較し、
前記基準回数を越えるフラグ立ち上げ回数が検出されたとき、当該通信路の状態を異常
と判別し、
前記制御部が、
前記一時異常又は異常と判別された通信路の状態を一時異常又は異常から正常へ書き換
え、
前記データ入出力部から前記制御部に応答が無かった場合は、
前記制御部が、
前記一時異常と判別された通信路の状態を異常へ書き換え、
前記通信路の状態が元々異常であった場合は、当該通信路の異常をそのまま保持するこ
とを特徴とする請求項4に記載の制御装置。
【請求項6】
少なくとも、通信要求を実行して一定時間以内に応答がなかった場合を一時異常とした
とき、2つの通信路に接続され、当該通信路を切り換える機能を有して前記通信路を監視
し当該通信路の一時異常及び正常を判別する制御部と、
前記通信路を介して前記制御部に接続され、被制御機器から入力した処理データを前記
通信路を介して前記制御部に出力すると共に、前記通信路を介して当該制御部から入力し
た制御データを前記被制御機器に出力する1つ以上のデータ入出力部とを備えた制御装置
が、
前記通信路の状態が一時異常であるか否かを判別するステップと、
一方の前記通信路の状態が一時異常であると判別されたとき、一時異常と判別された前記
通信路から正常な状態の通信路に前記データ入出力部の接続を切り換えるステップを有す
ることを特徴とする通信管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−244158(P2010−244158A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−89782(P2009−89782)
【出願日】平成21年4月2日(2009.4.2)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】