IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 横河電機株式会社の特許一覧

特開2024-143575コントローラ、制御システム、及び制御方法
<>
  • 特開-コントローラ、制御システム、及び制御方法 図1
  • 特開-コントローラ、制御システム、及び制御方法 図2
  • 特開-コントローラ、制御システム、及び制御方法 図3
  • 特開-コントローラ、制御システム、及び制御方法 図4
  • 特開-コントローラ、制御システム、及び制御方法 図5
  • 特開-コントローラ、制御システム、及び制御方法 図6
  • 特開-コントローラ、制御システム、及び制御方法 図7
  • 特開-コントローラ、制御システム、及び制御方法 図8
  • 特開-コントローラ、制御システム、及び制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143575
(43)【公開日】2024-10-11
(54)【発明の名称】コントローラ、制御システム、及び制御方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20241003BHJP
【FI】
G05B19/05 S
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023056326
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100169823
【弁理士】
【氏名又は名称】吉澤 雄郎
(74)【代理人】
【識別番号】100195534
【弁理士】
【氏名又は名称】内海 一成
(72)【発明者】
【氏名】桐迫 麗衣
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA01
5H220AA04
5H220BB17
5H220CC06
5H220JJ12
5H220JJ26
(57)【要約】
【課題】通信できない状態のコントローラが通信できる状態のコントローラの通信に及ぼす影響を低減できるコントローラ、制御システム、及び制御方法を提供する。
【解決手段】コントローラ10は、プロセッサ11を備える。プロセッサ11は、エンジニアリング装置40によって生成された、他のコントローラ10を宛先として実行するステーション間結合に対応する結合情報と、ステーション間結合の宛先とされている他のコントローラとを関連づける宛先情報を生成する。プロセッサ11は、複数の結合情報を取得する。プロセッサ11は、複数の結合情報のうち、宛先が同一とされているステーション間結合に対応する結合情報を、宛先情報に基づいて、ステーション間結合の宛先とされている他のコントローラに対応する宛先グループに振り分ける。プロセッサ11は、宛先グループに振り分けられた結合情報に対応するステーション間結合を、宛先グループに対応するコントローラを宛先としてまとめて実行する。
【選択図】図8
【特許請求の範囲】
【請求項1】
プロセッサを備えるコントローラであって、
前記プロセッサは、
エンジニアリング装置によって生成された、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報と、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれとを関連づける宛先情報を生成し、
複数の前記結合情報を取得し、
複数の前記結合情報のうち、宛先が同一とされているステーション間結合に対応する結合情報を、前記宛先情報に基づいて、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれに対応する宛先グループに振り分け、
前記宛先グループに振り分けられた結合情報に対応するステーション間結合を、前記宛先グループに対応するそれぞれのコントローラを宛先としてまとめて実行する、
コントローラ。
【請求項2】
前記プロセッサは、前記宛先情報において他のコントローラと関連づけられていない結合情報について、前記他のコントローラと関連づけられていない結合情報に対応するステーション間結合の宛先とされている他のコントローラを特定する情報を新たに取得した場合に、前記他のコントローラと関連づけられていなかった結合情報と、新たに取得した他のコントローラを特定する情報とを関連づける、
請求項1に記載のコントローラ。
【請求項3】
前記プロセッサは、前記他のコントローラと関連づけられていた結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報に対する他のコントローラの関連づけを前記宛先情報において解除する、
請求項2に記載のコントローラ。
【請求項4】
前記プロセッサは、複数の前記結合情報のうち、1つの他のコントローラと関連づけられている結合情報を順番につなぐリンクを生成する、請求項1から3までのいずれか一項に記載のコントローラ。
【請求項5】
前記プロセッサは、前記リンクにつながれている結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報の前につながれている結合情報と、更新されたステーション間結合に対応する結合情報の次につながれている結合情報とをつなぐことによって、更新されたステーション間結合に対応する結合情報をリンクから外す、請求項4に記載のコントローラ。
【請求項6】
前記プロセッサは、
第1コントローラを宛先とするステーション間結合に対応する結合情報を第1宛先グループに振り分け、
第2コントローラを宛先とするステーション間結合を特定する結合情報を第2宛先グループに振り分け、
前記第1宛先グループに振り分けた結合情報に対応するステーション間結合と前記第2宛先グループに振り分けた結合情報に対応するステーション間結合とを並列で実行することによって、前記第1コントローラ及び前記第2コントローラのそれぞれと並列で通信する、
請求項1から3までのいずれか一項に記載のコントローラ。
【請求項7】
請求項1から3までのいずれか一項に記載のコントローラと、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報を格納し、前記結合情報に対応するステーション間結合の宛先とされている他のコントローラを特定する情報を前記コントローラに送信する操作監視装置とを備える、制御システム。
【請求項8】
エンジニアリング装置を更に備え、
前記エンジニアリング装置は、前記ステーション間結合に該当する機能ブロックを更新した場合に前記コントローラに通知する、請求項7に記載の制御システム。
【請求項9】
プロセッサが実行する制御方法であって、
エンジニアリング装置によって生成された、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報と、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれとを関連づける宛先情報を生成するステップと、
複数の前記結合情報を取得するステップと、
複数の前記結合情報のうち、宛先が同一とされているステーション間結合に対応する結合情報を、前記宛先情報に基づいて、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれに対応する宛先グループに振り分けるステップと、
前記宛先グループに振り分けられた結合情報に対応するステーション間結合を、前記宛先グループに対応するそれぞれのコントローラを宛先としてまとめて実行するステップと
を含む、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コントローラ、制御システム、及び制御方法に関する。
【背景技術】
【0002】
従来、多数の制御ステーション(コントローラ)間での情報共有を可能にするシステムが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-26063号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
1台のコントローラが他の複数のコントローラのそれぞれと通信する場合に、通信先の複数のコントローラのうちの一部のコントローラが通信できない状態になったと仮定する。この仮定の下で、コントローラは、他の複数のコントローラのそれぞれと順番に通信する場合に、通信できない状態になったコントローラからの応答を待つことになる。コントローラは、通信できない状態になったコントローラからの応答を待っている間、他の通信できる状態のコントローラと通信できなくなる。つまり、通信できない状態のコントローラが、通信できる状態のコントローラとの通信に影響を及ぼす。
【0005】
本開示は、上述の点に鑑みてなされたものであり、通信できない状態のコントローラが通信できる状態のコントローラの通信に及ぼす影響を低減できるコントローラ、制御システム、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)幾つかの実施形態に係るコントローラは、プロセッサを備える。前記プロセッサは、エンジニアリング装置によって生成された、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報と、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれとを関連づける宛先情報を生成する。前記プロセッサは、複数の前記結合情報を取得する。前記プロセッサは、複数の前記結合情報のうち、宛先が同一とされているステーション間結合に対応する結合情報を、前記宛先情報に基づいて、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれに対応する宛先グループに振り分ける。前記プロセッサは、前記宛先グループに振り分けられた結合情報に対応するステーション間結合を、前記宛先グループに対応するそれぞれのコントローラを宛先としてまとめて実行する。宛先毎に対応した宛先グループにステーション間結合を振り分けることによって、宛先毎にステーション間結合を振り分けない場合よりも、通信できない状態のコントローラが通信できる状態のコントローラの通信に及ぼす影響が低減する。
【0007】
(2)上記(1)に記載のコントローラにおいて、前記プロセッサは、前記宛先情報において他のコントローラと関連づけられていない結合情報について、前記他のコントローラと関連づけられていない結合情報に対応するステーション間結合の宛先とされている他のコントローラを特定する情報を新たに取得した場合に、前記他のコントローラと関連づけられていなかった結合情報と、新たに取得した他のコントローラを特定する情報とを関連づけてよい。他のコントローラに関連づけられていなかった結合情報に、その結合情報に対応するステーション間結合の宛先とされるコントローラを特定する情報を関連づけることによって、次回にその結合情報に対応するステーション間結合を実行するときに、その結合情報が宛先グループに振り分けられる。
【0008】
(3)上記(1)又は(2)に記載のコントローラにおいて、前記プロセッサは、前記他のコントローラと関連づけられていた結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報に対する他のコントローラの関連づけを前記宛先情報において解除してよい。更新されたステーション間結合に対応する結合情報に対するコントローラの関連づけが解除されることによって、異なるコントローラを宛先とするステーション間結合に対応する結合情報が宛先グループに混在することが避けられる。
【0009】
(4)上記(1)から(3)までのいずれか1つに記載のコントローラにおいて、前記プロセッサは、複数の前記結合情報のうち、1つの他のコントローラと関連づけられている結合情報を順番につなぐリンクを生成してよい。プロセッサは、結合情報をリンクでつなぐことによって、同じ宛先のステーション間結合をまとめて実行するための動作負荷を低減できる。
【0010】
(5)上記(4)に記載のコントローラにおいて、前記プロセッサは、前記リンクにつながれている結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報の前につながれている結合情報と、更新されたステーション間結合に対応する結合情報の次につながれている結合情報とをつなぐことによって、更新されたステーション間結合に対応する結合情報をリンクから外してよい。プロセッサは、上述のように動作することによって、更新されたステーション間結合に対応する結合情報の前のリンクだけの変更によってリンクをつなぎ直すことができる。その結果、プロセッサは、リンクにつながれている結合情報に対応するステーション間結合の更新に簡便に対応できる。
【0011】
(6)上記(1)から(5)までのいずれか1つに記載のコントローラにおいて、前記プロセッサは、第1コントローラを宛先とするステーション間結合に対応する結合情報を第1宛先グループに振り分け、第2コントローラを宛先とするステーション間結合に対応する結合情報を第2宛先グループに振り分けてよい。前記プロセッサは、前記第1宛先グループに振り分けた結合情報に対応するステーション間結合と前記第2宛先グループに振り分けた結合情報に対応するステーション間結合とを並列で実行することによって、前記第1コントローラ及び前記第2コントローラのそれぞれと並列で通信してよい。第1コントローラとの通信と、第2コントローラとの通信とが分けられることによって、第1コントローラ又は第2コントローラの一方が通信できない状態になった場合の影響が他方の通信に及ぶことが避けられる。
【0012】
(7)幾つかの実施形態に係る制御システムは、上記(1)から(6)までのいずれか1つに記載のコントローラと、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報を格納し、前記結合情報に対応するステーション間結合の宛先とされている他のコントローラを特定する情報を前記コントローラに送信する操作監視装置とを備える。
【0013】
(8)上記(7)に記載の制御システムは、エンジニアリング装置を更に備えてよい。前記エンジニアリング装置は、前記ステーション間結合に該当する機能ブロックを更新した場合に前記コントローラに通知してよい。エンジニアリング装置がステーション間結合に該当する機能ブロックの更新をコントローラに通知することによって、プロセッサは、ステーション間結合の宛先の変更の可能性を見逃しにくくなる。その結果、異なるコントローラを宛先とするステーション間結合に対応する結合情報が宛先グループに混在することが避けられる。
【0014】
(9)幾つかの実施形態に係る制御方法は、プロセッサが、エンジニアリング装置によって生成された、複数の他のコントローラのそれぞれを宛先として実行するステーション間結合に対応する結合情報と、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれとを関連づける宛先情報を生成するステップと、複数の前記結合情報を取得するステップと、複数の前記結合情報のうち、宛先が同一とされているステーション間結合に対応する結合情報を、前記宛先情報に基づいて、前記ステーション間結合の宛先とされている前記複数の他のコントローラのそれぞれに対応する宛先グループに振り分けるステップと、前記宛先グループに振り分けられた結合情報に対応するステーション間結合を、前記宛先グループに対応するそれぞれのコントローラを宛先としてまとめて実行するステップとを含む。
【発明の効果】
【0015】
本開示に係るコントローラ、制御システム、及び制御方法によれば、通信できる状態のコントローラとの通信の待ち時間が低減される。
【図面の簡単な説明】
【0016】
図1】本開示の一実施形態に係る制御システムの構成例を示すブロック図である。
図2】コントローラに実行させる制御ロジックの一例を結合情報として表した図である。
図3】コントローラ間のデータの結合の一例を説明するブロック図である。
図4】コントローラ間でデータにアクセスする動作例を説明するブロック図である。
図5】制御システムにおいて1台のコントローラが停止している場合の構成例を示すブロック図である。
図6】比較例に係るコントローラにおける、ステーション間結合に対応する結合情報のグループ分けを示す図である。
図7図5の第1グループにおいて、複数の他のコントローラを宛先とするステーション間結合に対応する結合情報が混在していることを示す図である。
図8】本開示の一実施形態に係るコントローラにおける、ステーション間結合に対応する結合情報のグループ分けの一例を示す図である。
図9】本開示の一実施形態に係る制御方法の手順例を示すフローチャートである。
【発明を実施するための形態】
【0017】
(制御システム1の構成例)
図1に示されるように、本開示の一実施形態に係る制御システム1は、コントローラ10と、操作監視装置30と、エンジニアリング装置40と、制御ネットワーク80とを備える。コントローラ10は、制御ステーション又はFCS(Field Control Station)とも称される。操作監視装置30は、HIS(Human Interface Station)とも称される。
【0018】
コントローラ10は、プロセッサ11と、通信部12とを備える。
【0019】
プロセッサ11は、例えばCPU(Central Processing Unit)又は専用回路等を含んで構成されてよい。プロセッサ11は、半導体メモリ又は電磁記憶媒体等の記憶部を含んで構成されてよい。記憶部は、プロセッサ11と一体で構成されてもよいし、プロセッサ11と別体として構成されてもよい。
【0020】
通信部12は、制御ネットワーク80に接続する有線又は無線の通信デバイスを備えてよい。通信デバイスは、例えばLAN(Local Area Network)若しくはイーサネット(登録商標)又はRS-232C若しくはRS-485等の通信インタフェースを備えてよい。通信デバイスは、これらに限られず、他の種々の通信インタフェースを含んで構成されてよい。通信部12は、制御ネットワーク80を介して他のコントローラ10の通信部12と通信する。通信部12は、通信ドライバを含んで構成されてもよい。通信部12は、複数の通信チャンネルを備えてよい。
【0021】
操作監視装置30は、コントローラ10又はエンジニアリング装置40等の他の装置が間接的にデータを読み出し可能な記憶領域と、書き込み可能な記憶領域とを備える。具体的には操作監視装置30は、コントローラ10又はエンジニアリング装置40等の他の装置が操作監視装置30とのインタフェースを介して読み出し可能な記憶領域と、コントローラ10又はエンジニアリング装置40等の他の装置が操作監視装置30とのインタフェースを介して書き込み可能な記憶領域とを備える。操作監視装置30は、他の装置がインタフェースを介して読み書き可能な記憶領域を備えてもよい。
【0022】
操作監視装置30及びエンジニアリング装置40は、例えばサーバを含んで構成されてよい。操作監視装置30及びエンジニアリング装置40のそれぞれの機能は、個別の装置で実行される機能として実現されてもよいし、1台の装置の中で実行される機能として実現されてもよい。
【0023】
(制御システム1の動作例)
本開示の一実施形態に係る制御システム1において、エンジニアリング装置40は、制御システム1の制御対象となるシステム又はプラント等に合わせたアプリケーションを作り込む作業を実施するために用いられる。アプリケーションは、コントローラ10に実行させる制御ロジックを含む。制御ロジックは、機能ブロックを表す要素と、機能ブロック同士の関係性を表す要素とを含む。例えば、タンク内の水位をPID制御する場合において、機能ブロックは、レベル計からの信号を入力する入力素子と、PID制御を実行する機能ブロックと、タンクへの流量を調整するバルブを開閉するための信号を出力する出力素子とを含むとする。この場合、制御ロジックは、機能ブロック同士の関係性として、PID制御を実行する機能ブロックがレベル計からの信号を入力する機能ブロックから入力信号を読み込むこと、及び、PID制御を実行する機能ブロックがレベル計からの入力信号に基づいてPID演算した結果をタンクへの流量を調整するバルブを開閉するための信号として出力することを含む。機能ブロック及びそれらの関係性は、上述した例に限られない。
【0024】
機能ブロックは、ステーション間結合に該当することがある。ステーション間結合に該当する機能ブロックは、コントローラ10が、ステーション間結合の宛先となる他のコントローラ10に格納されているデータを設定したり参照したりする必要がある機能ブロックである。ステーション間結合の宛先は、コントローラ10が設定したり参照したりするデータを格納する他のコントローラ10である。以下、制御ロジックが要素としてステーション間結合に該当する機能ブロックだけを含むとして説明されるが、制御ロジックがステーション間結合に該当しない機能ブロックを含んでもよい。
【0025】
図2に例示されるように、制御ロジックに含まれる、ステーション間結合に該当する機能ブロックは、便宜上、結合情報として表現されるとする。結合情報は、機能ブロックが該当するステーション間結合を表す情報(例えば「TAG001_102」又は「TAGmmm_102」等の文字列)と、そのステーション間結合によって設定したり参照したりするデータを表す情報(例えば「.PV」等)を含む。したがって、結合情報は、ステーション間結合に対応する情報である。なお結合情報は、エンジニアリング装置40により生成される。生成された結合情報は、結合ブロックの詳細情報として、結合ブロックが存在するコントローラによりロードされ、コントローラ内のデータベースに保存される。
【0026】
コントローラ10は、エンジニアリング装置40から制御ロジックの要素を取得する。具体的には、コントローラ10は、ステーション間結合に該当する機能ブロックを、ステーション間結合に対応する結合情報として取得する。
【0027】
コントローラ10は、取得したステーション間結合に対応する結合情報をコントローラ10内の記憶部に格納する。本実施形態において、コントローラ10は、複数のステーション間結合のそれぞれに対応する結合情報をまとめて取得する。まとめて取得する結合情報の数は、ハードウェア仕様等に応じて適宜定められる。
【0028】
コントローラ10は、ステーション間結合に対応する結合情報を取得しただけでは、ステーション間結合の宛先を認識できない。そこで、コントローラ10は、取得した結合情報に対応するステーション間結合の宛先を、操作監視装置30に問い合わせる。操作監視装置30は、ステーション間結合の宛先となる他のコントローラ10を認識しているので、コントローラ10からの問い合わせに応じてステーション間結合の宛先をコントローラ10に通知する。コントローラ10は、操作監視装置30からの通知によって、ステーション間結合の宛先となる他のコントローラ10を認識し、ステーション間結合を実行する。
【0029】
ここで、コントローラ10は、図3に例示されるように、コントローラ110及びコントローラ120として区別される2台のコントローラ10を含むとする。コントローラ110及びコントローラ120のそれぞれは、コントローラ10と同様に構成され、プロセッサ11と通信部12とを備えるとする。コントローラ110は、第1データD1を格納する機能ブロック111を備える。コントローラ120は、第2データD2を格納する機能ブロック121を備える。
【0030】
コントローラ110のプロセッサ11は、エンジニアリング装置40から取得した制御ロジックの要素が第2データD2を設定する機能ブロックである場合、第2データD2を設定するための機能ブロック112を実行する。機能ブロック112は、第2データD2がコントローラ110自身の中に格納されていないので、操作監視装置30に第2データD2がどのコントローラ10に格納されているかを問い合わせ、第2データD2が格納されている他のコントローラ10を特定する情報を取得する。また、第2データD2を設定する機能ブロックがステーション間結合に該当するので、第2データD2を設定する機能ブロック112と、第2データD2を格納する機能ブロック121との間に結合ブロック113が生成される。結合ブロック113は、ステーション間結合ブロック又はADLとも称される。結合ブロック113は、コントローラ120のデータ格納ブロック121に設定するデータを、コントローラ120に送信する。コントローラ120のプロセッサ11は、コントローラ110から結合ブロック113を介して受信した第2データD2をデータ格納ブロック121に設定する。
【0031】
コントローラ120のプロセッサ11は、エンジニアリング装置40から取得した制御ロジックの要素が第1データD1を参照する機能ブロックである場合、第1データD1を参照するための機能ブロック122を実行する。機能ブロック122は、第1データD1がコントローラ120自身の中に格納されていないので、操作監視装置30に第1データD1がどのコントローラ10に格納されているかを問い合わせ、第1データD1が格納されている他のコントローラ10を特定する情報を取得する。また、第1データD1を参照する機能ブロックがステーション間結合に該当するので、第1データD1を参照する機能ブロック122と、第1データD1を格納する機能ブロック111との間に結合ブロック123が生成される。結合ブロック123は、ステーション間結合ブロック又はADLとも称される。コントローラ120は、結合ブロック123を介して、コントローラ110に対して機能ブロック111に格納されている第1データD1の値を問い合わせる。コントローラ110のプロセッサ11は、機能ブロック111に格納されている第1データD1の値を読み込んでコントローラ120に対して送信する。コントローラ120の機能ブロック122は、第1データD1をコントローラ110から結合ブロック123を介して取得することによって参照できる。
【0032】
コントローラ10は、ステーション間結合を実行する際に、通信部12の複数の通信チャンネルのそれぞれを用いて複数の他のコントローラ10と通信する並列処理を実行できる。コントローラ10のプロセッサ11は、エンジニアリング装置40から取得した結合情報を各通信チャンネルに対応するグループに振り分け、各通信チャンネルで並列に他のコントローラ10とのステーション間結合を実行する。グループの数は、通信チャンネルの数に応じて定められる。各グループに振り分けられる結合情報の数は、メモリ容量等のハードウェア構成に応じて適宜定められてよい。
【0033】
コントローラ10のプロセッサ11は、第1タスクと第2タスクとを動作させる。第1タスクは、エンジニアリング装置40から結合情報を取得し、取得した結合情報をグループに振り分ける。第2タスクは、第1タスクによって各グループに振り分けられた結合情報に対応するステーション間結合を、各グループに対応する通信チャンネルを用いて並列に実行する。第2タスクは、ステーション間結合の実行結果を第1タスクに出力する。例えば、ステーション間結合がデータを参照する機能ブロックである場合、第2タスクは、参照先のデータの値等を第1タスクに出力する。例えば、ステーション間結合がデータを設定する機能ブロックである場合、第2タスクは、データの設定を完了したかを報告する情報等を第1タスクに出力する。第1タスクは、グループに振り分けた全ての結合情報に対応するステーション間結合の実行結果を第2タスクから取得した後で、未取得の結合情報が存在する場合に新たな結合情報をエンジニアリング装置40から取得してステーション間結合を実行する。なお結合情報は、エンジニアリング装置40から都度取得されなくてもよい。具体的には例えば、エンジニアリング装置40から結合情報が都度取得される代わりに、エンジニアリング装置40からロードされ各コントローラ内のデータベースに保存されている結合情報が利用されてもよい。
【0034】
第1タスクは、エンジニアリング装置40から結合情報を取得してグループに振り分けるときに、その結合情報に対応するステーション間結合の宛先を認識していない。第2タスクは、ステーション間結合の宛先を操作監視装置30から取得してステーション間結合を実行する。つまり、第1タスクは、新たに取得した結合情報に対応するステーション間結合の宛先を認識できないものの、取得済みの結合情報に対応するステーション間結合の宛先を認識できる。具体的に、第1タスクは、第2タスクがステーション間結合を実行したときに認識した宛先を、そのステーション間結合に対応する取得済みの結合情報に関連づける。第1タスクは、取得済みの結合情報に宛先が関連づけられていることによって、その結合情報に対応するステーション間結合の宛先を認識できる。
【0035】
コントローラ120がコントローラ110に格納されている第1データD1を参照する機能ブロック122の動作が、図4に例示したブロック図に基づいて説明される。コントローラ120の第2タスクは、(1)の破線で示されるように、操作監視装置30に対して、第1データD1が格納されている場所を問い合わせる。操作監視装置30は、(2)の破線で示されるように、コントローラ120の第2タスクに対して、第1データD1がコントローラ110に格納されていることを特定する情報を送信する。コントローラ120の機能ブロック122は、(3)の破線で示されるように、コントローラ110に対して、第1データD1の値又は文字列等の情報を問い合わせる。コントローラ110のプロセッサ11は、(4)の破線で示されるように、コントローラ110の機能ブロック111に格納されている第1データD1の値又は文字列等の情報をコントローラ120に対して返信する。以上の動作によって、コントローラ120は、コントローラ110に格納されている第1データD1の値又は文字列等の情報を、コントローラ110とコントローラ120とのステーション間結合を実行することによって参照できる。
【0036】
<通信できない状態になったコントローラ10が存在する場合>
以上述べてきたように、複数のコントローラ10は、互いにステーション間結合を実行することによって、他のコントローラ10に格納されているデータを参照したり設定したりできる。ここで、ステーション間結合の宛先とされるコントローラ10が故障等を原因として通信できない状態になることがある。コントローラ10のプロセッサ11は、ステーション間結合の宛先である他のコントローラ10にデータの設定又は参照等の要求を送信した後に所定時間が経過するまで待っても応答を受信できない場合に、ステーション間結合の宛先のコントローラ10からの応答が無いと判定してよい。所定時間は、制御システム1の構成に応じて適宜設定されてよい。所定時間は、例えば20秒に設定されてよい。コントローラ10のプロセッサ11は、他のコントローラ10からの応答が無い場合、そのコントローラ10が通信できない状態になっていると判定してよい。コントローラ10のプロセッサ11は、ステーション間結合の宛先のコントローラ10が通信できない状態になっていると判定した場合、ステーション間結合の実行結果として、ステーション間結合が実行できなかった報告を出力してよい。
【0037】
例えば、図5に示されるように、制御システム1は、ゲートウェイ70を介して制御ネットワーク80で接続される、第1ドメイン61と第2ドメイン62とに分けられるとする。ゲートウェイ70は、第1ドメイン61と第2ドメイン62との間の制御ネットワーク80の通信を制御する。第1ドメイン61は、コントローラ101と、コントローラ102と、コントローラ103と、操作監視装置301とを備える。第2ドメイン62は、コントローラ201と、コントローラ202と、操作監視装置302とを備える。コントローラ101、102、103、201及び202のそれぞれは、プロセッサ11と通信部12とを備え、コントローラ10と同様に構成される。操作監視装置301及び302のそれぞれは、操作監視装置30と同様に構成される。図4の例において、コントローラ101のプロセッサ11は、他のコントローラ102、103、201及び202のそれぞれとステーション間結合を実行する。
【0038】
仮に、コントローラ201が通信できない状態になっている場合、コントローラ101と、コントローラ102、103及び202のそれぞれとのステーション間結合が正常に実行されるものの、コントローラ101とコントローラ201とのステーション間結合が実行されない。コントローラ101は、コントローラ201からの応答が無いことを確認するために、所定時間の経過を待つ必要がある。
【0039】
ここで、コントローラ101のプロセッサ11の第1タスクは、図2に例示される制御ロジックの結合情報を取得してグループに振り分ける。第1タスクは、宛先が同一のステーション間結合に対応する結合情報を、同じグループに振り分ける。逆に言えば、第1タスクは、宛先が異なるステーション間結合に対応する結合情報を同じグループに振り分けない。
【0040】
コントローラ101の第2タスクは、各グループに振り分けられた結合情報に対応するステーション間結合を、コントローラ101と他のコントローラ102、103、201及び202のそれぞれとの間で実行するために、コントローラ101の通信部12を用いてコントローラ101と他のコントローラ102、103、201又は202のいずれかと通信する。
【0041】
ここで、上述したように、宛先が同一のステーション間結合に対応する結合情報が同じグループに振り分けられている。この場合、第2タスクは、1つのグループに振り分けられた結合情報に対応するステーション間結合を実行する際に、1つの宛先だけと通信すればよい。例えば、あるグループに振り分けられた結合情報に対応するステーション間結合の宛先がコントローラ102で統一されている場合、第2タスクは、1つの通信チャンネルを用いたコントローラ102との接続を維持してもよい。これによりコントローラ102を宛先とするステーション間結合を実行し続けることができる。
【0042】
比較例として、図6に示されるように、各グループに振り分けられた結合情報に対応するステーション間結合の宛先が混在する場合が考えられる。例えば、“TAG001_102.PV”は、コントローラ102を宛先とするステーション間結合に対応する結合情報である。また、“TAG002_103.PV”は、コントローラ103を宛先とするステーション間結合に対応する結合情報である。エンジニアリング装置40から取得された順番に結合情報がグループに振り分けられれば、結合情報に対応するステーション間結合の宛先が1つのグループの中で混在した状態になる。
【0043】
図6において、結合情報を表す矩形は、その結合情報に対応するステーション間結合の宛先毎に異なるハッチングを付して区別されている。第1グループにおいて、コントローラ102、103、201及び202のそれぞれを宛先とするステーション間結合に対応する結合情報が混在している。また、第2グループにおいて、コントローラ102及び202のそれぞれを宛先とするステーション間結合に対応する結合情報が混在している。また、第Nグループにおいて、コントローラ201及び202のそれぞれを宛先とするステーション間結合に対応する結合情報が混在している。
【0044】
比較例において、コントローラ101のプロセッサ11の第2タスクは、第1グループに振り分けられた結合情報に対応するステーション間結合を実行し、通信部12の1つの通信チャンネルを第1グループに対応する通信チャンネルとして用いて他のコントローラ102、103、201及び202のそれぞれと順番にステーション間結合を実行する。第2タスクは、図7に示されるように、第1グループに振り分けられた結合情報に対応するステーション間結合を宛先毎に整理してコントローラ102、103、201及び202のそれぞれと順番にステーション間結合を実行する。
【0045】
ここで、コントローラ201が通信できない状態になっているとする。第2タスクは、コントローラ201とのステーション間結合において、コントローラ201からの応答が無いこと、つまりコントローラ201が通信できない状態になっていることを確認するために、所定時間の経過を待つ必要がある。第2タスクは、第1グループに振り分けた全ての結合情報に対応するステーション間結合の実行結果を取得することによって、第1グループに振り分けた結合情報に対応するステーション間結合の実行を完了できる。
【0046】
ここで、第1グループに振り分けられた全ての結合情報に対応するステーション間結合の実行が完了するまで、第1グループに対応する通信チャンネルは第2タスクによって使用され続ける。また、第1グループに次の結合情報が振り分けられない。したがって、第2タスクが第1グループに振り分けた全ての結合情報に対応するステーション間結合の宛先のコントローラ201からの応答を待っている間、第1グループに対応する通信チャンネルを用いたステーション間結合が停止する。また、通信できる状態であるコントローラ102、103及び202のそれぞれを宛先とするステーション間結合が残っている場合、そのステーション間結合の実行が、通信できない状態のコントローラ201を原因として遅延する。
【0047】
一方で、本実施形態に係る制御システム1において、コントローラ10のプロセッサ11は、グループに振り分ける結合情報に対応するステーション間結合の宛先が1つのコントローラ10に揃うように、結合情報をグループに振り分ける。グループに振り分けられた結合情報に対応するステーション間結合の宛先が1つのコントローラ10に揃えられることによって、他のコントローラ10が通信できない状態になっていることを原因として、通信できる状態のコントローラ10を宛先とする処理の実行が遅延するという事態が避けられる。
【0048】
上述したように、結合情報を振り分けるグループは通信チャンネルに対応づけられる。本実施形態において、コントローラ101の通信部12の通信チャンネルの数がN個であるとする。この場合、コントローラ101のプロセッサ11は、結合情報を第1グループから第NグループまでのN個のグループに振り分けることによって、各グループを1つの通信チャンネルに対応づけて、各グループに振り分けた結合情報に対応するステーション間結合を並列に実行できる。
【0049】
以下、本実施形態に係る制御システム1の動作例が説明される。
【0050】
コントローラ10のプロセッサ11は、エンジニアリング装置40から複数の結合情報を取得する。プロセッサ11は、エンジニアリング装置40から結合情報を取得した段階で結合情報に対応するステーション間結合の宛先を判別できない。
【0051】
プロセッサ11は、宛先を判別できていないステーション間結合の宛先を操作監視装置30に問い合わせる。操作監視装置30は、問い合わせを受けたステーション間結合の宛先となる他のコントローラ10を特定する情報を、コントローラ10に送信する。プロセッサ11は、操作監視装置30から受信した情報に基づいて宛先を判別できていないステーション間結合の宛先を判別し、その宛先のコントローラ10とのステーション間結合を実行する。
【0052】
プロセッサ11は、結合情報に対応するステーション間結合を次に実行するときに宛先を判別できるように宛先情報を生成する。宛先情報は、宛先を判別できていなかったステーション間結合に対応する結合情報と、宛先を判別できていなかったステーション間結合の宛先として判別された他のコントローラ10とを関連づける情報である。エンジニアリング装置40からプロセッサ11が取得する結合情報は、その結合情報に対応するステーション間結合が1回実行されることによって、宛先情報においてその結合情報に対応するステーション間結合の宛先のコントローラ10と関連づけられる。プロセッサ11は、ステーション間結合の2回目以降の実行において、宛先情報を参照することによって、ステーション間結合の宛先を判別できる。
【0053】
プロセッサ11は、結合情報を取得した場合、宛先情報においてその結合情報に宛先が関連づけられているか確認する。プロセッサ11は、結合情報に宛先が関連づけられている場合、宛先が同一のコントローラ10とされているステーション間結合に対応する結合情報を、第1~第Nグループのいずれかのグループを宛先グループとして振り分ける。宛先グループは、宛先が同一のコントローラ10を宛先とするステーション間結合に対応する結合情報を振り分けるために設定されるグループである。プロセッサ11は、第1~第Nグループのうちの任意のグループを宛先グループに設定してもよい。
【0054】
プロセッサ11は、宛先グループに振り分けた結合情報に対応するステーション間結合を、その宛先グループに対応するコントローラ10を宛先としてまとめて実行する。
【0055】
プロセッサ11は、結合情報に宛先が関連づけられていない場合、その結合情報を、第1~第Nグループのいずれかのグループを未判別グループとして振り分けてよい。未判別グループは、宛先が関連づけられていない結合情報を振り分けるために設定されるグループである。プロセッサ11は、第1~第Nグループのうちの任意のグループを未判別グループに設定してもよい。宛先グループにおいて宛先が異なるステーション間結合に対応する結合情報が混在する可能性は無いものの、未判別グループにおいて宛先が異なるステーション間結合に対応する結合情報が混在する可能性がある。
【0056】
プロセッサ11は、未判別グループに振り分けた結合情報のそれぞれについて操作監視装置30に宛先を問い合わせ、各結合情報に対応するステーション間結合の宛先とされるコントローラ10とのステーション間結合を順番に実行する。プロセッサ11は、宛先が判別できていなかったステーション間の宛先を操作監視装置30に問い合わせたことによって、宛先が判別できていなかったステーション間結合の宛先を認識できる。プロセッサ11は、宛先が判別できていなかったステーション間結合に対応する結合情報に、ステーション間結合の宛先として認識したコントローラ10を関連づける宛先情報を生成してよい。言い換えれば、プロセッサ11は、宛先情報において他のコントローラ10と関連づけられていない結合情報について、その結合情報に対応するステーション間結合の宛先とされている他のコントローラ10を特定する情報を新たに取得した場合に、他のコントローラ10と関連づけられていなかった結合情報と、新たに取得した他のコントローラ10を特定する情報とを関連づけてよい。他のコントローラ10と関連づけられていなかった結合情報に、その結合情報に対応するステーション間結合の宛先とされるコントローラ10を特定する情報を関連づけることによって、次回にその結合情報に対応するステーション間結合を実行するときに、その結合情報が宛先グループに振り分けられる。
【0057】
プロセッサ11は、宛先グループに振り分けた全ての結合情報に対応するステーション間結合の実行を完了した後、そのグループに新たな結合情報を振り分けてよい。プロセッサ11は、宛先グループとして設定していたグループに、同じコントローラ10を宛先とするステーション間結合に対応する結合情報を新たに振り分けて同じコントローラ10に対応する宛先グループとして引き続き用いてもよい。プロセッサ11は、宛先グループとして設定していたグループを異なるコントローラ10に対応する宛先グループとして設定して、そのグループに異なるコントローラ10を宛先とするステーション間結合に対応する結合情報を新たに振り分けてもよい。プロセッサ11は、宛先グループとして設定していたグループを未判別グループとして設定して、そのグループに他のコントローラ10と関連づけられていない結合情報を新たに振り分けてもよい。
【0058】
例えば、プロセッサ11は、図8に示されるように、エンジニアリング装置40から取得した結合情報を第1~第Nグループを含む複数の宛先グループに振り分けてよい。図8の例において、プロセッサ11は、第1グループをコントローラ102に対応する宛先グループとして設定し、第1グループに、コントローラ102を宛先とするステーション間結合に対応する結合情報を振り分ける。プロセッサ11は、第2グループをコントローラ103に対応する宛先グループとして設定し、第2グループに、コントローラ103を宛先とするステーション間結合に対応する結合情報を振り分ける。プロセッサ11は、第3グループをコントローラ201に対応する宛先グループとして設定し、第3グループに、コントローラ201を宛先とするステーション間結合に対応する結合情報を振り分ける。プロセッサ11は、第Nグループをコントローラ202に対応する宛先グループとして設定し、第Nグループに、コントローラ202を宛先とするステーション間結合に対応する結合情報を振り分ける。
【0059】
ここで、コントローラ201が通信できない状態であるとする。プロセッサ11は、第3グループに振り分けた結合情報に対応するステーション間結合を実行するために、コントローラ201との通信を試みる。しかし、プロセッサ11は、通信できない状態のコントローラ201からの応答を受け取れず、コントローラ201とのステーション間結合を実行できない。一方で、コントローラ102、103及び202のそれぞれが通信できる状態であるとする。プロセッサ11は、第1グループ、第2グループ及び第Nグループに振り分けた結合情報に対応するステーション間結合を実行するために、通信できる状態のコントローラ102、103及び202のそれぞれとの通信を正常に実行できる。したがって、通信できない状態のコントローラ201を原因として、通信できる状態のコントローラ102、103及び202のそれぞれとのステーション間結合が遅延することが避けられる。
【0060】
プロセッサ11は、各グループに振り分けた結合情報に対応するステーション間結合を、各グループに対応する通信チャンネルを用いて複数の他のコントローラと通信する並列処理として実行してよい。例えば、プロセッサ11は、第1コントローラを宛先とするステーション間結合に対応する結合情報と第2コントローラを宛先とするステーション間結合に対応する結合情報とを取得した場合、第1コントローラを宛先とするステーション間結合に対応する結合情報を第1宛先グループに振り分け、第2コントローラを宛先とするステーション間結合に対応する結合情報を第2宛先グループに振り分けてよい。第1コントローラ及び第2コントローラは、コントローラ10を区別するために便宜的に付された名称である。第1宛先グループ及び第2宛先グループは、宛先グループを区別するために便宜的に付された名称である。プロセッサ11は、第1宛先グループに振り分けた結合情報に対応するステーション間結合を実行するために第1通信チャンネルで第1コントローラと通信してよい。プロセッサ11は、第2宛先グループに振り分けた結合情報に対応するステーション間結合を実行するために第2通信チャンネルで第2コントローラと通信してよい。つまり、プロセッサ11は、第1通信チャンネル及び第2通信チャンネルのそれぞれで第1コントローラ及び第2コントローラのそれぞれと並列で通信することによって、ステーション間結合を並列で実行できる。
【0061】
第1コントローラと通信する通信チャンネルと第2コントローラと通信する通信チャンネルとが分けられることによって、第1コントローラ又は第2コントローラの一方が通信できない状態になった場合の影響が他方の通信に及ぶことが避けられる。
【0062】
<フローチャート例>
以下、コントローラ10のプロセッサ11が結合情報をその結合情報に対応するステーション間結合の宛先毎に振り分けて各宛先のコントローラとのステーション間結合を実行する動作の一例が説明される。コントローラ10のプロセッサ11は、例えば図9に示されるフローチャートの手順例を含む制御方法を実行してよい。制御方法は、コントローラ10のプロセッサ11に実行させる制御プログラムとして実現されてもよい。制御プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
【0063】
プロセッサ11は、結合情報がその結合情報に対応するステーション間結合の宛先とされるコントローラ10に関連づけられているかを、宛先情報に基づいて判定する(ステップS1)。換言するとプロセッサ11は、結合情報の宛先が分かっているか否かを判定する。プロセッサ11は、結合情報がコントローラ10に関連づけられていない場合(ステップS1:NO)、その結合情報を未判別グループに振り分ける(ステップS2)。プロセッサ11は、結合情報がコントローラ10に関連づけられている場合(ステップS1:YES)、その結合情報を、その結合情報に対応するステーション間結合の宛先であるコントローラ10に対応する宛先グループに振り分ける(ステップS3)。
【0064】
プロセッサ11は、未判別グループ又は宛先グループに振り分けた結合情報に対応するステーション間結合を実行する(ステップS4)。プロセッサ11は、ステーション間結合の実行に成功したか判定する(ステップS5)。具体的に、プロセッサ11は、ステーション間結合の宛先となるコントローラと正しく通信できた場合に、ステーション間結合の実行に成功したと判定してよい。例えば、プロセッサ11は、通信ドライバのリターンコードがSUCCEEDである場合にステーション間結合の実行に成功したと判定してよい。逆に、プロセッサ11は、通信ドライバのリターンコードが通信でタイムアウトしたことを示す場合にステーション間結合の実行に失敗したと判定してよい。
【0065】
プロセッサ11は、ステーション間結合の実行に成功した場合(ステップS5:YES)、実行したステーション間結合に対応する結合情報が宛先情報においてコントローラ10に関連づけられていたか判定する(ステップS6)。プロセッサ11は、実行したステーション間結合に対応する結合情報が宛先情報においてコントローラ10に関連づけられていなかった場合(ステップS6:NO)、ステーション間結合を実行した際に操作監視装置30に問い合わせて得られた宛先を、実行したステーション間結合の宛先として取得する(ステップS7)。プロセッサ11は、宛先情報において、実行したステーション間結合に対応する結合情報とその結合情報に対応するステーション間結合の宛先とされるコントローラ10とを関連づける(ステップS8)。プロセッサ11は、ステップS8の手順の実行後、図9のフローチャートの手順の実行を終了する。プロセッサ11は、実行したステーション間結合に対応する結合情報が宛先情報においてコントローラ10に関連づけられていた場合(ステップS6:YES)、実行したステーション間結合に対応する結合情報に対するコントローラ10の関連づけの手順を実行せずに、図9のフローチャートの手順の実行を終了する。
【0066】
プロセッサ11は、ステーション間結合の実行に成功しなかった場合(ステップS5:NO)、実行したステーション間結合に対応する結合情報とそのステーション間結合の宛先とされるコントローラ10との関連づけを解消する(ステップS9)。プロセッサ11は、ステップS9の手順の実行後、図9のフローチャートの手順の実行を終了する。
【0067】
<小括>
以上述べてきたように、本実施形態に係る制御システム1は、ステーション間結合の宛先毎に、そのステーション間結合に対応する結合情報を、各宛先に対応した宛先グループに振り分けることによって、通信できない状態のコントローラ10が存在したとしても、比較例のようにステーション間結合の宛先毎に結合情報を振り分けない場合よりも、通信できる状態のコントローラ10のステーション間結合等の通信が遅延しにくくなる。言い換えれば、通信できない状態のコントローラ10が通信できる状態のコントローラ10の通信に及ぼす影響が低減する。
【0068】
(他の実施形態)
以下、他の実施形態に係る制御システム1の構成例が説明される。
【0069】
<エンジニアリング装置40によってステーション間結合が更新された場合の動作>
制御システム1において、エンジニアリング装置40は、ユーザからの操作入力を受け付け、ユーザからの入力に基づいて、ステーション間結合を更新することがある。ステーション間結合の更新によって、そのステーション間結合の宛先が変更されることがある。エンジニアリング装置40は、ステーション間結合を更新した場合、どのステーション間結合を更新したかをコントローラ10に通知してよい。コントローラ10のプロセッサ11は、ステーション間結合の更新の通知に基づいて、更新されたステーション間結合に対応する結合情報が宛先情報においてコントローラ10に関連づけられているか判定する。
【0070】
プロセッサ11は、宛先情報において他のコントローラ10に関連づけられていた結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報に対する他のコントローラ10の関連づけを宛先情報において解除してよい。
【0071】
ステーション間結合が更新された場合、そのステーション間結合の宛先が異なるコントローラ10に変更されることがある。更新されたステーション間結合に対応する結合情報に、更新される前のステーション間結合の宛先のコントローラ10が関連づけられていると、更新されたステーション間結合に対応する結合情報を宛先グループに振り分けたときに、異なるコントローラ10を宛先とするステーション間結合に対応する結合情報が混在する可能性がある。したがって、更新されたステーション間結合に対応する結合情報とコントローラ10との関連づけを解除することによって、異なるコントローラ10を宛先とするステーション間結合に対応する結合情報が宛先グループに混在することが避けられる。また、エンジニアリング装置40がステーション間結合の更新をコントローラ10に通知することによって、コントローラ10のプロセッサ11は、ステーション間結合の宛先の変更の可能性を見逃しにくくなる。その結果、異なるコントローラ10を宛先とするステーション間結合に対応する結合情報が宛先グループに混在することが避けられる。
【0072】
<ステーション間結合が更新されていないにもかかわらずステーション間結合の宛先だけが変更された場合の動作>
上述したようにエンジニアリング装置40がステーション間結合を更新した場合、エンジニアリング装置40からコントローラ10にステーション間結合の更新を通知する。しかし、エンジニアリング装置40がステーション間結合を更新していないにもかかわらず、ステーション間結合の宛先だけが変更される場合がある。例えば、コントローラ101が“TAG001_102.PV”と表される結合情報に対応するステーション間結合を実行する場合において、“TAG001_102”の所在がコントローラ102からコントローラ103に移動した場合、ステーション間結合が更新されていないにもかかわらずステーション間結合の宛先だけが変更される。この場合において、コントローラ101が“TAG001_102.PV”と表される結合情報に対応するステーション間結合を実行する場合に、“TAG001_102.PV”がコントローラ102を宛先とするグループではなくコントローラ103を宛先とするグループに振り分けられるようにできる。
【0073】
まず、コントローラ101は、“TAG001_102”の所在がコントローラ102であったときに“TAG001_102.PV”と表される結合情報に対応するステーション間結合を実行して成功し、“TAG001_102.PV”と表される結合情報と、その結合情報に対応するステーション間結合の宛先であるコントローラ102とを、宛先情報において関連づけたとする。ここで、“TAG001_102”の所在がコントローラ102からコントローラ103に移動したとしても、“TAG001_102”の所在の移動はコントローラ101に通知されない。コントローラ101が“TAG001_102”の所在の移動を認識していないことによって、“TAG001_102.PV”と表される結合情報に対応するステーション間結合はコントローラ102を宛先として処理される。しかし、“TAG001_102”の実際の所在はコントローラ103に移動しているので、このステーション間結合の実行は失敗する。
【0074】
コントローラ101は、ステーション間結合の実行に失敗した場合、“TAG001_102.PV”と表される結合情報とコントローラ102との関連づけを解除する。この動作は、上述した図9のフローチャートのステップS5でNOと判定してステップS9の手順を実行する場合に対応する。
【0075】
コントローラ101は、次に“TAG001_102.PV”と表される結合情報に対応するステーション間結合を実行する場合に、その結合情報に宛先が関連づけられていない状態でステーション間結合を実行し、“TAG001_102”の所在を操作監視装置30に問い合わせる。コントローラ101は、“TAG001_102”の所在がコントローラ103であることを操作監視装置30からの情報で認識し、“TAG001_102.PV”と表される結合情報と、その結合情報に対応するステーション間結合の宛先であるコントローラ103とを、宛先情報において新たに関連づける。
【0076】
<リンクによる宛先の判別>
上述してきた実施形態において、プロセッサ11は、各結合情報と各結合情報に対応するステーション間結合の宛先とされるコントローラ10とを関連づける宛先情報を生成する。他の実施形態として、プロセッサ11は、あるコントローラ10を宛先とするステーション間結合に対応する結合情報を順番につなぐリンクを生成してもよい。リンクは、2つの情報がつながっていることを表す。
【0077】
例えば、プロセッサ11は、図8に例示される、グループに振り分けられる前の結合情報のうち、コントローラ102を宛先とするステーション間結合に対応する結合情報である“TAG001_102.PV”に、コントローラ102を宛先とするステーション間結合に対応する結合情報である“TAG004_102.PV”をつなぐリンクを生成してよい。プロセッサ11は、リンクをたどることによって同じ宛先のステーション間結合に対応する結合情報を取得できる。
【0078】
プロセッサ11は、各結合情報にその結合情報に対応するステーション間結合の宛先のコントローラ10が関連づけられている宛先情報において、同じ宛先のステーション間結合に対応する結合情報を取得するために、宛先情報において結合情報に関連づけられている宛先を順番に判定する必要がある。プロセッサ11は、リンクをたどることによって、異なる宛先に関連づけられている結合情報の判定を省略できる。したがって、プロセッサ11は、結合情報を順番につなぐリンクを生成することによって、同じ宛先のステーション間結合に対応する結合情報を取得するための動作負荷を低減できる。
【0079】
プロセッサ11は、リンクにつながれている結合情報のうちの1つの結合情報に対応するステーション間結合が更新された場合、更新されたステーション間結合に対応する結合情報の前にリンクでつながれている結合情報と、更新されたステーション間結合に対応する結合情報の次にリンクでつながれている結合情報とを新たなリンクでつなぐことによって、更新されたステーション間結合に対応する結合情報をリンクから外してよい。つまり、更新されたステーション間結合に対応する結合情報の前のリンクだけの変更によってリンクがつなぎ直される。したがって、プロセッサ11は、結合情報を順番にリンクを生成した場合でもステーション間結合の更新に簡便に対応できる。
【0080】
以上、本開示に係る実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【0081】
1 制御システム
10、101、102、103、110、120、201、202 コントローラ
11 プロセッサ
12 通信部
30、301、302 操作監視装置
40 エンジニアリング装置
61 第1ドメイン
62 第2ドメイン
70 ゲートウェイ
80 制御ネットワーク
111、121 機能ブロック(D1:第1データ、D2:第2データ)
112 機能ブロック
113、123 結合ブロック
122 機能ブロック
図1
図2
図3
図4
図5
図6
図7
図8
図9