特許第6671247号(P6671247)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧 ▶ 株式会社 日立産業制御ソリューションズの特許一覧

<>
  • 特許6671247-通信装置 図000002
  • 特許6671247-通信装置 図000003
  • 特許6671247-通信装置 図000004
  • 特許6671247-通信装置 図000005
  • 特許6671247-通信装置 図000006
  • 特許6671247-通信装置 図000007
  • 特許6671247-通信装置 図000008
  • 特許6671247-通信装置 図000009
  • 特許6671247-通信装置 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6671247
(24)【登録日】2020年3月5日
(45)【発行日】2020年3月25日
(54)【発明の名称】通信装置
(51)【国際特許分類】
   H04L 29/08 20060101AFI20200316BHJP
   H04Q 9/00 20060101ALI20200316BHJP
【FI】
   H04L13/00 307Z
   H04Q9/00 311M
【請求項の数】3
【全頁数】15
(21)【出願番号】特願2016-110629(P2016-110629)
(22)【出願日】2016年6月2日
(65)【公開番号】特開2017-216652(P2017-216652A)
(43)【公開日】2017年12月7日
【審査請求日】2018年10月15日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(73)【特許権者】
【識別番号】000153443
【氏名又は名称】株式会社 日立産業制御ソリューションズ
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】有馬 利洋
(72)【発明者】
【氏名】大谷 辰幸
(72)【発明者】
【氏名】関村 淳一
(72)【発明者】
【氏名】塙 輝記
(72)【発明者】
【氏名】小林 崇
(72)【発明者】
【氏名】松下 丈二
【審査官】 野元 久道
(56)【参考文献】
【文献】 特開2009−022105(JP,A)
【文献】 特開2016−062569(JP,A)
【文献】 特開2008−009794(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 29/08
H04Q 9/00
(57)【特許請求の範囲】
【請求項1】
制御元機器から送信された制御データーを受信し、受信した前記制御データーを対応したプロセス入出力装置に出力する通信制御部と、
前記プロセス入出力装置に対してのマスター権を持つ前記制御元機器の情報を登録するマスター権記憶部と、
前記通信制御部が受信した制御データーがマスター権を持つ前記制御元機器からのデーターか否かを判定するマスター権判定部と
前記マスター権記憶部が記憶したマスター権を、他の通信装置のマスター権記憶部が記憶したマスター権と共通化するマスター権共有部と、を備えた通信装置であり、
前記マスター権共有部は、前記他の通信装置のマスター権共有部とデーター回線で接続して相互に通信可能とし、
前記通信制御部は、前記マスター権判定部での判定に基づいて、前記制御データーの前記プロセス入出力装置への出力を制御し、前記制御元機器からマスター権登録要求を受信したとき、前記マスター権記憶部にマスター権を持つ前記制御元機器の情報を登録し、
さらに、前記通信制御部は、マスター権が登録された前記制御元機器から一定時間アクセスが無かった場合、当該通信装置のマスター権を破棄すると共に、前記マスター権共有部での通信で、前記他の通信装置のマスター権記憶部に、破棄したマスター権の登録が無いとき、マスター権が破棄された前記制御元機器の代理で制御データーを出力する
通信装置。
【請求項2】
前記制御元機器からの前記制御データーが伝送されるデーター回線と接続するポートを2ポート以上備えて、前記制御元機器と前記通信制御部とを二重化したデーター回線で接続し、
前記通信制御部は、いずれか一方の前記データー回線が使用できない場合に、他方の前記データー回線を使用してマスター権の管理を継続して行う
請求項に記載の通信装置。
【請求項3】
マスター権が破棄された前記制御元機器の代理で出力する制御データーは、前記プロセス入出力装置に対して、状態の継続を指示する制御データーである
請求項1又は2に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置に関する。
【背景技術】
【0002】
発電所や工場などのプラント制御を行うための制御システムとして、DCS(Distributed Control System:分散制御システム)と称されるものがある。DCSは、制御対象装置ごとにCPU(Control Processing Unit:中央処理装置)を配置し、各CPUをネットワークで接続して相互に通信しながら分散制御を行うものである。
【0003】
一般的にDCSでは、複数のCPUはネットワークで接続され、それぞれのCPUから、マルチドロップ接続などによって接続された複数のプロセス入出力装置に制御指令などを伝送する。複数のプロセス入出力装置に各CPUからの制御指令が届くことで、それぞれのプロセス入出力装置に接続された制御対象装置が、その制御指令に対応した状態に制御される。
【0004】
特許文献1には、プラント制御などに用いるDCSのシステム構成の一例について記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2015−100070号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のDCSでは、CPUとプロセス入出力装置との間の制御ループを、CPU単位で物理的に分離したネットワークとして構築していた。
これに対して近年、制御システムの大規模化や拡張性の向上という観点から、スター接続などによって複数の制御ループを同一ネットワーク上で構築するような、柔軟なネットワークトポロジーの要求が高まっている。
【0007】
しかし、複数の制御ループを同一ネットワーク上で構築した場合、任意のCPUと他の制御ループに属するプロセス入出力装置が同一ネットワーク上に物理的に接続されることになる。これにより、当該CPUが故障やソフトウェア暴走などの異常によって誤って他の制御ループに属するプロセス入出力装置にアクセスして、その結果、誤った制御を行ったり、制御対象装置を破壊したりするなど、異常が波及するリスクがある。したがって、DCSにおいて、複数の制御ループを同一ネットワーク上で構築することは好ましくなかった。
【0008】
本発明は、DCSのシステムを構築する際に、ネットワーク上のCPUの異常を他の制御ループに波及させないようにすると共に、CPUの異常を自制御ループで制御している制御対象装置にも波及させないようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならは、制御元機器から送信された制御データーを受信し、受信した制御データーを対応したプロセス入出力装置に出力する通信制御部と、プロセス入出力装置に対してのマスター権を持つ制御元機器の情報を登録するマスター権記憶部と、通信制御部が受信した制御データーがマスター権を持つ制御元機器からのデーターか否かを判定するマスター権判定部と、マスター権記憶部が記憶したマスター権を、他の通信装置のマスター権記憶部が記憶したマスター権と共通化するマスター権共有部と、を備えた通信装置である。
そして、マスター権共有部は、他の通信装置のマスター権共有部とデーター回線で接続して相互に通信可能とし、通信制御部は、マスター権判定部での判定に基づいて、制御データーのプロセス入出力装置への出力を制御し、制御元機器からマスター権登録要求を受信したとき、マスター権記憶部にマスター権を持つ制御元機器の情報を登録し、さらに、通信制御部は、マスター権が登録された制御元機器から一定時間アクセスが無かった場合、当該通信装置のマスター権を破棄すると共に、マスター権共有部での通信で、他の通信装置のマスター権記憶部に、破棄したマスター権の登録が無いとき、マスター権が破棄された制御元機器の代理で制御データーを出力することを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数の制御ループを共用化した場合でも、ネットワーク上の任意の制御元機器が故障などの異常によって、他の制御ループに属するプロセス入出力装置に誤った制御を行うことがないので、制御対象装置の破壊などを回避することができる。
また、制御元機器の異常が自制御ループで制御している制御対象装置に波及することを防ぐこともできる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施の形態例による通信装置を備えた制御システムの例を示す構成図である。
図2】本発明の一実施の形態例による制御データーのフォーマット例を示すデーター構成図である。
図3】本発明の一実施の形態例によるマスター権の管理処理例を示すフローチャートである。
図4】本発明の一実施の形態例によるマスター権の管理処理の実行例を示すタイムチャートである。
図5】本発明の一実施の形態例による伝送手順に基づいた処理例を示すフローチャートである。
図6】本発明の一実施の形態例によるアクセスタイムアウト検出時の処理例を示すフローチャートである。
図7】本発明の一実施の形態例によるアクセスタイムアウト検出時の処理の実行例を示すタイムチャートである。
図8】本発明の一実施の形態例の変形例による通信装置(二重化した例)を備えた制御システムの例を示す構成図である。
図9図8例の通信装置によるアクセスタイムアウト検出時の処理例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の一実施の形態例(以下、「本例」と称する。)を、図1図9を参照して説明する。
[1.システム全体の構成]
図1は、本例の制御システム1に適用した場合のシステム構成例である。ここでは、制御システム1は、制御元機器である第一CPU11および第二CPU12が、中継装置13a、13bを含むネットワークを介して複数のプロセス入出力装置15a,15b,・・・15n(nは任意の数)に制御データーを送信して制御を行う。この制御システム1は、DCSとして構成される。それぞれのCPU11,12は、複数のプロセス入出力装置15a〜15nの内で、後述するマスター権を持った装置に対して制御データーを送信して、該当する装置を制御する。
【0013】
複数の制御ループを同一ネットワーク上で構築した制御システム1は、第一CPU11、第二CPU12、中継装置13a,13b、通信装置14a,14b、およびプロセス入出力装置15a〜15nを備える。図1の例では、制御システム1は、2台の中継装置13a,13bと2台の通信装置14a,14bを備える構成としたが、これらは少なくとも1台あればよく、あるいは3台以上としてもよい。
【0014】
第一CPU11および第二CPU12は、制御対象装置2の情報を受信する機能と、制御対象装置からの情報を基に演算を行い、制御データーを生成する機能と、生成した制御データーを送信する機能と、を有する。また、第一CPU11および第二CPU12は、マスター権の登録を要求するマスター権登録要求を送信する機能についても備える。なお、CPUについても、図1は2台接続するシステム構成例であるが、CPUを3台以上接続するシステム構成も考えられる。
【0015】
通信装置14a,14bは、中継装置13a,13bとプロセス入出力装置15a〜15nの間に接続される。これらの通信装置14a,14bは、制御データーや制御対象装置の情報の送受信を行う機能と、プロセス入出力装置15のマスター権を管理する機能と、を有する。通信装置14a、14bの詳細については後述する。
【0016】
中継装置13a,13bは、CPU11,12と通信装置14a,14bとの間に接続される。そして、中継装置13a,13bは、各CPU11,12から受信した制御データーを通信装置14a,14bに送信する。また、中継装置13a,13bは、通信装置14a,14bから受信した制御対象装置の情報(図1に示す制御対象装置の情報1418)を第一CPU(CPU−A)11または第二CPU(CPU−B)12に送信する。
【0017】
第一CPU11と各中継装置13a,13bは、データー回線16a,16bで接続され、第二CPU12と各中継装置13a,13bは、データー回線16c,16dで接続されている。また、各中継装置13a,13bと通信装置14aは、データー回線16e,16gで接続され、各中継装置13a,13bと通信装置14bとは、データー回線16f,16hで接続されている。このように、各CPU11、12と各通信装置14a,14bとの間を、2台の中継装置13a,13bによりそれぞれ二重化した回線で接続している。なお、図1に示す制御システム1は、2台の中継装置13a,13bを備えるシステム構成として例示しているが、3台以上の中継装置を備えるシステム構成としてもよい。
【0018】
プロセス入出力装置15a〜15nは、通信装置14a,14bから受信した制御データーを制御対象装置2へ出力し、制御対象装置2から入力した情報を通信装置14,14bに送信する処理を行う。通信装置14a,14bとプロセス入出力装置15との間はプロセス入出力バス17で接続されている。また、プロセス入出力装置15a〜15nと制御対象装置2との間は、入出力信号線3a〜3nで接続されている。
【0019】
次に、通信装置14aの構成例について、図1を用いて説明する。なお、通信装置14bについては、通信装置14aと同一の構成であり、通信装置14bの構成の説明は省略する。以下では、2台の通信装置14a,14bの区別が必要な場合を除いて、2台の通信装置14a,14bを区別せずに「通信装置14」として説明する。
通信装置14は、通信制御部141と、マスター権記憶部142と、マスター権判定部143と、アクセス間隔タイマー144と、を備える。
通信制御部141は、中継装置13a,13bとのデーターの送受信の制御を行うと共に、プロセス入出力装置15a〜15nとのデーターの入出力の制御を行う。通信制御部141は、これらの制御を行うために、CH1データー送受信部1411と、CH2データー送受信部1412と、回線二重化制御部1413と、所定値出力部1414と、マルチプレクサ1415と、プロセス入出力バス制御部1416と、を備える。
【0020】
CH1データー送受信部1411は、データー回線16eに接続され、CH2データー送受信部1412は、データー回線16gに接続される。そして、各データー送受信部1411,1412は、中継装置13a,13bから受信した制御データーやマスター権登録依頼を通信データー1417a,1417bとして回線二重化制御部1413に出力する。また、各データー送受信部1411,1412は、回線二重化制御部1413から入力される制御対象装置の情報1418を中継装置13a,13bに送信する。
【0021】
回線二重化制御部1413は、2つのデーター送受信部1411,1412が受信した通信データー1417a,1417bが、通信装置14内で競合しないように排他制御する機能を有する。また、回線二重化制御部1413は、2つのデーター送受信部1411,1412へ通信データー1417a,1417bを並列に送信できるように制御する機能を有する。
【0022】
また、回線二重化制御部1413は、プロセス入出力バス制御部1416から入力される制御対象装置の情報1418をCH1データー送受信部1411またはCH2データー送受信部1412に出力する。また、回線二重化制御部1413は、2つのデーター送受信部1411,1412から入力される制御データーを調停しながらマルチプレクサ1415に出力する。また、回線二重化制御部1413は、データー送受信部1411,1412から入力される所定出力制御データーを所定値出力部1414に出力する。また、回線二重化制御部1413は、CH1データー送受信部1411またはCH2データー送受信部1412から入力されるマスター権登録依頼146をマスター権記憶部142に出力する。さらに、回線二重化制御部1413は、CH1データー送受信部1411またはCH2データー送受信部1412から入力される出力制御データーに含まれる送信元CPU情報145をマスター権判定部143に出力する。
【0023】
所定値出力部1414は、プロセス入出力装置15に対する任意の出力制御データーを登録し、所定出力制御データー1419として出力する機能を有する。出力制御データーとしては、例えば制御対象装置2の状態の継続を指示する制御データーや、制御対象装置2を停止させる制御データーなど、制御対象装置2の制御内容によって異なるが、いずれも制御対象装置2を安全な状態に維持するための制御データーである。
【0024】
マルチプレクサ1415は、アクセス間隔タイマー144から入力されるタイムアウト信号149によるアクセスタイムアウトが発生していない場合、回線二重化制御部1413から入力される出力制御データー1420を出力する。また、マルチプレクサ1415は、アクセス間隔タイマー144から入力されるタイムアウト信号149によるアクセスタイムアウトが発生した場合、所定値出力部1414から入力される所定出力制御データー1419を出力する。なお、マルチプレクサ1415は、入力制御データーについては、アクセスタイムアウト発生の有無によらず、常に回線二重化制御部1413から入力される入力制御データー1420を出力する。
【0025】
プロセス入出力バス制御部1416は、プロセス入出力装置15a〜15nから入力した制御対象装置の情報1418を回線二重化制御部1413に出力する。また、プロセス入出力バス制御部1416は、マルチプレクサ1415から入力される入力制御データーを、対象となるプロセス入出力装置15a〜15nに出力する。また、プロセス入出力バス制御部1416は、マスター権判定部143から入力されるマスター権判定結果148によって、マルチプレクサ1415から入力される出力制御データーの出力または破棄を選択する。すなわち、プロセス入出力バス制御部1416は、マスター権を持ったCPU11または12からの出力制御データーであれば、プロセス入出力装置15に出力し、マスター権を持っていないCPU11または12からの出力制御データーであれば、これを破棄する。
【0026】
マスター権記憶部142は、回線二重化制御部1413から入力されるマスター権登録依頼146によって、CPU11,12のマスター権を登録する。また、マスター権記憶部142は、アクセス間隔タイマー144から入力されるタイムアウト信号149によって、アクセスタイムアウトが発生したCPU11,12のマスター権を破棄する。さらに、マスター権記憶部142は、登録されたマスター権情報147をマスター権判定部143に出力する。なお、マスター権記憶部142は、通信装置14に接続するプロセス入出力装置15a〜15nの台数分設けられる。そして、マスター権記憶部142には、それぞれのプロセス入出力装置15a〜15nごとに、マスター権をどのCPUが持っているかという情報が登録される。
【0027】
マスター権判定部143は、回線二重化制御部1413から入力される送信元CPU情報145とマスター権記憶部142から入力されるマスター権情報147を照合し、その結果をマスター権判定結果148として出力する。
アクセス間隔タイマー144は、マスター権判定部143から入力されるマスター権判定結果148によってタイマーをリセットしながら、第一CPU11および第二CPU12からのアクセス間隔を監視する。そして、アクセス間隔タイマー144は、一定時間以上アクセスが無かった場合は、タイムアウト信号149を出力する。なお、アクセス間隔タイマー144は、通信装置14に接続するプロセス入出力装置15a〜15nの台数分設けられ、プロセス入出力装置15a〜15nごとにアクセス間隔を監視する。以下の説明でマスター権を説明する際には、アクセスを実行するプロセス入出力装置15a〜15nがいずれであるかは特に説明しないが、マスター権はプロセス入出力装置15a〜15nごとに存在し、それぞれ個別に管理されるものである。
【0028】
[2.マスター権の管理例]
次に、通信装置14が行うマスター権管理の手順について説明する。
図2は、制御データーのデーターフォーマット例である。CPU11,12から送信される制御データーは、送信元CPU情報201、送信先プロセス入出力装置情報202、プロセス入出力制御データー203から構成される。送信元CPU情報201は、どのCPUから送信された制御情報であるかを表す。送信先プロセス入出力装置情報202は、どのプロセス入出力装置15a〜15nに出力すべき制御データーであるかを表す。プロセス入出力制御データー203は、プロセス入出力装置15a〜15nが制御対象装置2に行うべき制御の内容を表す。通信装置14は、このデーターフォーマットに従って制御データーを送信することで、マスター権管理を行うことができる。
【0029】
図3は、マスター権判定の処理例を示すフローチャートである。
まず、通信制御部141は、受信した出力制御データーに含まれている送信元CPU情報201(図2)と、通信装置14のマスター権記憶部142に登録されたマスター権情報147を照合する(ステップS301)。このとき、通信制御部141は、制御データーに付加された送信先プロセス入出力装置情報202を参照して、その送信先プロセス入出力装置情報202で指示されたプロセス入出力装置(装置15a〜15nのいずれか)のマスター権情報147を読み出す。
【0030】
この照合で、通信制御部141は、マスター権記憶部142に登録されたマスター権情報147と送信元CPU情報201とが一致した場合に、当該CPUからの出力制御データーを、対応したプロセス入出力装置(装置15a〜15nのいずれか)に出力する(ステップS302)。
また、マスター権記憶部142に登録されたマスター権情報147と送信元CPU情報201とが一致しない場合には、当該CPUからの出力制御データーを破棄する(ステップS303)。
【0031】
図4は、本例のシステムにおいて、マスター権管理を行う際のタイムチャートの例である。
図4に示す最初の状態(左端の状態)では、通信装置14の状態(図4A)は、マスター権未登録となっている。ここで、通信制御部141は、第一CPU11または第二CPU12が通信装置14に対してマスター権登録依頼146を送信し、そのマスター権登録依頼146をデーター送受信部1411または1412が受信すると、図4Bに示すようにマスター権を登録する。すなわち、図4Aに示すように、マスター権登録依頼146をデーター送受信部1411または1412が受信すると、通信装置14の状態は、マスター権管理準備完了状態401となり、その後、マスター権管理中402に移行する。
【0032】
なお、マスター権登録依頼146は、任意のCPU(例えば第一CPU11)が他のCPU(例えば第二CPU12)のマスター権登録依頼146と合わせて代理で送信することも可能である。
【0033】
また、マスター権の登録が行われる際には、通信装置14の所定値出力部1414に、所定出力制御データー1419が登録される。この所定出力制御データー1419は、任意のCPUのマスター権が破棄された場合に、通信装置14がCPUに代わって出力制御データーを出力するときに使用されるものである。この所定出力制御データー1419は、プロセス入出力装置15a〜15nの接続先である制御対象装置2を安全な状態に遷移させることを目的として出力されるデーターである。具体的には、制御対象装置2の状態の継続を指示する制御データーや、制御対象装置2を停止させる制御データーなどがある。
所定出力制御データー1419の登録方法は、例えば、CPUからデーター回線16a〜16hを介して登録する方法や、レジスタや電気回路によって固定値を登録する方法などが考えられる。マスター権の登録と所定出力制御データー1419の登録はどちらを先に実施してもよい。
【0034】
図4の例では、マスター権が登録されてマスター権管理準備完了401の通信装置14が、1つ目の出力制御データー403を受信すると、それをトリガーにしてマスター権管理を開始し、マスター権管理中402の状態になる。マスター権管理中402において出力制御データー403,404,・・を受信すると、通信装置14は、各出力制御データー403,404,・・がマスター権を持ったCPUから送信されたデーターであるかどうかを判定する。図4Cは、マスター権判定結果を示す。
【0035】
図4では、出力制御データーA403および出力制御データーB404はマスター権を持ったCPUから送信されたデーターであり、図4Dに示すように、通信制御部141は、プロセス入出力バス17に受信した出力制御データーを出力する。また、マスター権を持っていないCPUからの出力制御データーC405を受信した場合、図4Dに示すように、通信制御部141は、プロセス入出力バス17に当該出力制御データーを出力しない。
【0036】
以上の処理を実行することによって、通信装置14は、マスター権を持ったCPUからの出力制御データーのみをプロセス入出力バス17に出力し、プロセス入出力装置15a〜15nに誤った出力制御データーが出力されることを防ぐことができる。したがって、図1に示すように複数のCPU11,12を同一ネットワーク上に接続した場合でも、マスター権がないCPUからの制御データーで、制御対象装置2が誤動作することを阻止することが可能になる。例えば、マスター権を持っていないCPUが異常動作に陥り、誤った出力制御データーを送信したとしても、当該出力制御データーがプロセス入出力装置15a〜15nに送信されることはないため、CPUの故障波及を防止することができる。
【0037】
[3.アクセス状態の管理例]
次に、通信装置14において行われる、マスター権を持ったCPUからのアクセス時の管理例について説明する。
通信装置14の通信制御部141は、マスター権を持ったCPUからのアクセスが適正か否かを判断し、適正なアクセスでない場合には、該当するマスター権を破棄する処理を行う。
【0038】
図5のフローチャートは、アクセスが適正か否かを判断する一例として、伝送手順が適正か否かを判断する場合の例を示す。
まず、通信制御部141は、CPUから伝送される出力制御データーのデーター回線16a〜16hにおける伝送手順が、そのデーター回線16a〜16hで構成されるネットワークで適正な手順であるか否かを判断する(ステップS501)。このステップS501で、伝送手順が適正でないと判断された場合(ステップS501のNO)、通信制御部141は、出力制御データーの送信元のCPUのマスター権を破棄する。伝送手順が適正であると判断された場合(ステップS501のYES)、通信制御部141は、出力制御データーを対応したプロセス入出力装置(装置15a〜15nのいずれか)に出力する(ステップS503)。
【0039】
次に、マスター権を持ったCPUからのアクセスが適正か否かを判断する他の例として、アクセスタイムアウト処理について説明する。
図6は、通信装置14がアクセスタイムアウトを検出した時の処理を示すフローチャートである。
【0040】
まず、通信制御部141は、CPU11,12の故障やデーター回線16a〜16hの断線などによって、マスター権を持ったCPUから通信装置14へのアクセスが一定時間以上ないか否かを判断する(ステップS601)。ここで、通信装置14へのアクセスが一定時間以上ない場合には、該当するCPUのアクセスがタイムアウトであると判断する(ステップS601のYES)。
【0041】
このとき、通信制御部141は、アクセスタイムアウトを検出したCPUを異常であると判断し、このCPUのマスター権を破棄する(ステップS602)。そして、このCPUがマスター権を持っていたプロセス入出力装置(装置15a〜15nのいずれか)に対して、通信制御部141は、能動的に所定出力制御データー1419を出力する(ステップS603)。この所定出力制御データー1419の出力により、プロセス入出力装置15a〜15nの接続先である制御対象装置2を安全な状態に遷移させる。例えば、所定出力制御データー1419として、制御対象装置2の状態の継続を指示する制御データーを出力して、制御対象装置2を安全な状態に遷移させることができる。
【0042】
また、ステップS601において、通信装置14へのアクセスが一定時間以内にある場合(ステップS601のNO)、通信制御部141は、マスター権の破棄は行わない。そして、出力制御データーの受信したタイミングで、通信装置14がその受信した出力制御データーをプロセス入出力装置15a〜15n側に送信する。
このようにして、タイムアウトしたとき、異常CPUからの出力制御データーが該当するプロセス入出力装置(装置15a〜15nのいずれか)に出力されることはないため、CPUの故障波及を防止できる。なお、破棄されたマスター権は、正常動作に復帰したCPUからのマスター権登録依頼によって再登録することができる。
【0043】
なお、通信制御部141がタイムアウトの判断を行う際には、複数の通信経路を総合的に判断するようにしてもよい。すなわち、図1に示すシステム構成では、各CPU11,12と通信装置14a,14bとの間のデーター回線16a〜16hが二重化構成であり、いずれか一方のデーター回線が使用できない場合であっても、他方のデーター回線で通信を継続することができる。したがって、図6のステップS601でのタイムアウトの判断時には、2つのデーター送受信部1411,1412の双方を監視するようにしてもよい。
【0044】
図7のタイムチャートは、通信制御部141が2つのデーター送受信部1411,1412を監視して、アクセスタイムアウトの判断を行う例を示す。
ここでは、二重化したデーター回線16e,16hのいずれからもアクセスがなかった場合に、アクセス間隔タイマー144は、アクセスタイムアウトを検出して、タイムアウト信号149(図1)を出力する。
【0045】
図7Aは、CH1データー送受信部1411での出力制御データー701の受信タイミングを示し、図7Bは、CH2データー送受信部1412での出力制御データー701の受信タイミングを示す。この例では、図7Aおよび図7Bに示すように、2つのデーター送受信部1411,1412が交互に出力制御データー701を受信する。
図7Cは、アクセス間隔タイマー144のカウント状況を示す。アクセス間隔タイマー144は、カウント値がタイムアウトカウンタ上限値702になるとアクセスタイムアウトを検出し、図7Dに示すタイムアウト信号149を出力する。
図7Eは、通信装置14からプロセス入出力バス17に出力される出力制御データーを示す。
【0046】
アクセス間隔タイマー144は、図7Cに示すように、CH1データー送受信部1411またはCH2データー送受信部1412のどちらか片方から出力制御データーを受信したとき、タイムアウトカウンタ値を初期値にリセットする。また、アクセス間隔タイマー144が上限値に達しないときには、通信制御部141は、図7Eに示すように、受信した出力制御データーをそのままプロセス入出力バス17に出力する。
【0047】
しかしながら、CH1データー送受信部1411とCH2データー送受信部1412の両方からのアクセスが途絶えて一定時間が経過すると、アクセス間隔タイマー144のカウンタ値がタイムアウトカウンタ上限値702に達し、タイムアウトを検出する。このとき、通信制御部141は、プロセス入出力バス17に所定出力制御データー1419を出力する。
この図7に示すように処理が行われることで、二重化したデーター回線16a〜16hのいずれか一方でも正常に通信ができていれば、マスター権を保持でき、制御を継続できるようになる。すなわち、二重化した内の一方のデーター回線が使用できない場合に、他方のデーター回線を使用してマスター権の管理を継続して行うことができ、データー回線16a〜16hの一部に異常があっても、継続してマスター権に基づいた適正な制御ができる。
【0048】
[4.2台の通信装置で共通化する例]
ここまでの説明では、それぞれの通信装置14a,14bごとに個別にマスター権を管理する例としたが、複数の通信装置14a,14bでマスター権を共有化してもよい。
図8は、複数の通信装置14a,14bでマスター権を共有する場合の構成例を示す。ここでは、2台の通信装置14a,14bを区別して説明する。
【0049】
図8に示す構成では、一方の通信装置14aはマスター権共有部801aを備え、他方の通信装置14bはマスター権共有部801bを備える。そして、それぞれのマスター権共有部801a,801bの間は、データー回線812で相互に通信が可能になっている。
一方の通信装置14aのマスター権共有部801aは、一方の通信装置14aのマスター権記憶部142に記憶されたマスター権を読み出す。また、他方の通信装置14bのマスター権共有部801bは、他方の通信装置14bのマスター権記憶部142′に記憶されたマスター権を読み出す。そして、双方のマスター権共有部801a,801bは、データー回線812を介して自らのマスター権の情報を相手のマスター権共有部801aまたは801bに送信する。
【0050】
そして、マスター権共有部801aでは、データー回線812を介して伝送される相手側マスター権情報813を、論理ゲート回路802に伝送する。また、論理ゲート回路802には、アクセス間隔タイマー144からタイムアウト信号149が供給される。論理ゲート回路802では、相手側マスター権情報813でマスター権の登録がない状態で、タイムアウト信号149が伝送されるとき、タイムアウト信号814を生成して、そのタイムアウト信号814をマルチプレクサ1415に供給する。相手側マスター権情報813でマスター権の登録がある場合には、論理ゲート回路802は、タイムアウト信号814を出力しない。
図8に示す制御システム1のその他の構成は、図1に示す制御システム1と同様に構成する。
【0051】
図9は、図8に示す構成にて、アクセスタイムアウトを検出した際の処理例を示すフローチャートである。この図9のフローチャートにおいて、図6のフローチャートと同一の処理については、同一のステップ番号を付与している。この図9のフローチャートは、二重化した他の通信装置14b側にマスター権が登録されているか否かを判定するステップS604を追加している。
【0052】
すなわち、通信制御部141は、マスター権を持ったCPUから通信装置14aへのアクセスが一定時間以上ないか否かを判断し(ステップS601)、アクセスが一定時間以上ない場合、該当するアクセスがタイムアウトであると判断する(ステップS601のYES)。
【0053】
ステップS601でタイムアウトであると判断された場合には、通信制御部141は、このCPUのマスター権を破棄する(ステップS602)。その後、通信制御部141は、二重化相手の通信装置14bに、該当するプロセス入出力装置(装置15a〜15nのいずれか)に対するCPU11または12のマスター権の登録があるか否かを判断する(ステップS604)。
ここで、マスター権の登録がないと判断された場合には(ステップS601のYES)、通信制御部141内のマルチプレクサ1415は、所定出力制御データー1419(図1)を出力する(ステップS603)。
また、ステップS601でタイムアウトでない場合(ステップS601のNO)と、ステップS604で通信装置14bに該当するマスター権の登録がある場合(ステップS604のNO)、マルチプレクサ1415から所定出力制御データー1419が出力されない。
【0054】
このような制御が行われることで、制御対象装置2の状態の継続を指示する制御データーを出力して、制御対象装置2を安全な状態に遷移させる。ここで、例えば一方の通信装置14aが故障などによってマスター権の管理ができない場合でも、正常動作している他方の通信装置14bによってマスター権を管理することができるため、制御対象装置2の制御を継続して行うことができる。
なお、図9のフローチャートに示すように、ステップS602におけるマスター権の破棄処理は通信装置14a単独で行い、所定出力制御データー1419の出力については相手の通信装置14bの状態を確認して行うことで、適正なマスター権の管理ができる。すなわち、マスター権の登録処理については、それぞれの通信装置14a,14bが単独で行い、それぞれの通信装置14a,14bで適正に管理される。一方、通信時の出力制御データーの管理処理については、2台の通信装置14a,14bに登録されたマスター権を共有化するため、いずれか1台の通信装置14aまたは14bに障害がある場合でも、継続して出力制御データーを出力できるようになる。したがって、2台の通信装置14a,14bを連携することにより、適正な通信制御を行うことが可能となる。
【0055】
[5.その他の変形例]
なお、上述した実施の形態例では、CPU11,12と通信装置14a,14bとの間のデーター回線16a〜16hを二重化し、通信装置14a,14bについても二重化する構成とした。DCSのシステムにおいては、このように完全に二重化する構成とすることは好ましいが、どこまで二重化する構成とするかは、DCSのシステムを適用するプラントの用途や規模などに応じて選択することが望ましい。2つのCPU11,12を備える点についても一例であり、より多くのCPUを備える構成としてもよい。
【0056】
また、本発明は上記した実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態例の構成の一部を他の実施の形態例や変形例の構成に置き換えることが可能であり、また、ある実施の形態例の構成に他の実施の形態例や変形例の構成に置き換えることも可能である。また、実施の形態例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0057】
1…制御システム、2…制御対象装置、3a〜3n…入出力信号線、11…第一CPU(CPU−A)、12…第二CPU(CPU−B)、13a,13b…中継装置、14a,14b…通信装置、15a〜15n…プロセス入出力装置、16a〜16h…データー回線、17…プロセス入出力バス、141…通信制御部、142…マスター権記憶部、143…マスター権判定部、144…アクセス間隔タイマー、145…送信元CPU情報、146…マスター権登録依頼、147…マスター権情報、148…マスター権判定結果、149…タイムアウト信号、1411…CH1データー送受信部、1412…CH2データー送受信部、1413…回線二重化制御部、1414…所定値出力部、1415…マルチプレクサ、1416…プロセス入出力バス制御部、1417a,1417b…通信データー、1418…制御対象装置の情報、1419…所定出力制御データー、1420…受信した制御データー、1421…送信する制御データー、201…送信元CPU情報、202…送信先プロセス入出力情報、203…プロセス入出力制御データー、401…マスター権管理準備完了、402…マスター権管理中、403…出力制御データーA、404…出力制御データーB、405…出力制御データーC、701…出力制御データー、702…タイムアウトカウンタ上限値、703…アクセスタイムアウト検出、801a,801b…マスター権共有部、802…論理和ゲート回路、813…相手側マスター権情報、814…タイムアウト信号
図1
図2
図3
図4
図5
図6
図7
図8
図9