(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024173023
(43)【公開日】2024-12-12
(54)【発明の名称】制御装置、制御方法及び制御システム
(51)【国際特許分類】
G05B 19/042 20060101AFI20241205BHJP
G05B 23/02 20060101ALI20241205BHJP
【FI】
G05B19/042
G05B23/02 Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023091133
(22)【出願日】2023-06-01
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小林 良
(72)【発明者】
【氏名】坂本 和司
【テーマコード(参考)】
3C223
5H220
【Fターム(参考)】
3C223AA01
3C223BA03
3C223BB17
3C223CC02
3C223DD03
3C223EB01
3C223FF23
3C223GG01
5H220AA01
5H220BB05
5H220BB09
5H220CC06
5H220CX01
5H220HH08
5H220JJ12
5H220JJ16
5H220JJ28
(57)【要約】
【課題】オープン化されたプロセス制御システムにおいてシミュレーション機能を実現する。
【解決手段】制御装置は、通信部と、取得部と、演算部と、を備える。通信部は、ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行う。取得部は、I/O接続機器が有し、I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、情報処理装置が有し、デバイス情報を記憶する第2の記憶部の少なくとも一方からデバイス情報を取得する。演算部は、デバイス情報を用いてI/Oデバイスに関する制御演算を行う。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行う通信部と、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得する取得部と、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行う演算部と、
を備える制御装置。
【請求項2】
前記制御演算の実行結果を、前記第1の記憶部及び前記第2の記憶部の少なくとも一方に記憶させる出力部をさらに備える、請求項1に記載の制御装置。
【請求項3】
前記情報処理装置は、
前記第1の記憶部及び前記第2の記憶部の少なくとも一方から前記演算部による前記制御演算の結果に応じた前記デバイス情報を取得し、
前記I/Oデバイスに関する演算ロジックを実行し、
前記演算ロジックの実行結果を前記第1の記憶部及び前記第2の記憶部の少なくとも一方に記憶させる、
請求項1に記載の制御装置。
【請求項4】
前記情報処理装置は、配線定義情報に基づき、前記I/Oデバイスに関する前記演算ロジックを実行し、
前記配線定義情報は、前記I/Oデバイスが接続する前記I/O接続機器を識別する情報を含む、
請求項3に記載の制御装置。
【請求項5】
前記情報処理装置は、前記I/O接続機器に応じたアクセス周期に応じて前記デバイス情報を取得する、請求項3に記載の制御装置。
【請求項6】
前記情報処理装置は、前記アクセス周期が経過した場合に前記演算ロジックを実行する、請求項5に記載の制御装置。
【請求項7】
前記情報処理装置は、前記I/O接続機器ごとに前記I/Oデバイスの前記演算ロジックを実行する、請求項3に記載の制御装置。
【請求項8】
前記情報処理装置は、配線先の前記I/Oデバイスが、前記演算ロジックの実行対象である前記I/O接続機器に接続されている場合、当該I/Oデバイスの前記演算ロジックを実行する、請求項7に記載の制御装置。
【請求項9】
前記取得部は、エイリアス管理装置が管理するエイリアスに基づき、前記デバイス情報を取得する、請求項1に記載の制御装置。
【請求項10】
前記I/O接続機器は、前記第1の記憶部が記憶する前記デバイス情報に対応する前記I/Oデバイスに関する前記エイリアスを登録するよう前記エイリアス管理装置に要求するエイリアス登録部を備える、請求項9に記載の制御装置。
【請求項11】
前記情報処理装置は、前記第2の記憶部が記憶する前記デバイス情報に対応する前記I/Oデバイスに関する前記エイリアスを登録するよう前記エイリアス管理装置に要求するエイリアス登録部を備える、請求項9に記載の制御装置。
【請求項12】
前記情報処理装置は、前記I/O接続機器から演算ロジックの実行要求を受信した場合に、前記演算ロジックを実行する、請求項1に記載の制御装置。
【請求項13】
ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行うことと、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得することと、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行うことと、
を含む制御方法。
【請求項14】
I/Oデバイスが接続するI/O接続機器と、
情報処理装置と、
制御装置と、
を備え、
前記制御装置は、
ネットワークを介して前記I/O接続機器及び前記情報処理装置と通信を行う通信部と、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得する取得部と、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行う演算部と、
を備える制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法及び制御システムに関する。
【背景技術】
【0002】
プロセス制御システムは、プラントや工場等(以下、これらを総称する場合には、単に「プラント」という)において、工業プロセスにおける各種の状態量(例えば、圧力、温度、流量等)を制御し、高度な自動操業を行う(例えば、特許文献1参照)。
【0003】
従来のプロセス制御システムは、ベンダ独自仕様の専用コントローラが核になって構成される。この専用コントローラは、I/O接続部を通して複数のセンサ(流量計や温度計等)からのI/O入力値によって状態量を取得する。
【0004】
ここで、I/O接続部は、専用コントローラ等の制御部とセンサ等のI/O入力デバイスやアクチュエータ等のI/O出力デバイスとの間に位置し、双方間のI/Oデータのやり取りに必要となる機能を提供するものである。
【0005】
次に、専用コントローラは、状態量に応じてI/O出力デバイス(バルブ等のアクチュエータ)の操作量を求める。更に、専用コントローラは、I/O接続部を通してこの操作量に応じたI/O出力値をI/O出力デバイスに与えて、操作する。この専用コントローラの3つの機能によって、上述した各種の状態量が制御される。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、近年のオープン化されたプロセス制御システムでは、専用コントローラの代わりに、汎用機器(例えば、PCやワークステーション等)に標準的な制御機能(例えばIEC61131-3準拠の制御機能等)を組み込んだ汎用コントローラが提案されている。この汎用コントローラとネットワークに対応したI/O接続機器(以下、単にI/O接続機器とも記載する)とを汎用のネットワーク(例えばOPC-UA(Open Platform Communications Unified Architecture)等)により接続するシステムが増えつつある。
【0008】
その背景には、プロセス制御システムのユーザが、システムの導入費用を安く抑えて、デジタルトランスフォーメーション(DX)技術を取り込み易くするシステム環境を望んでいることが挙げられる。また、ユーザが、その実現のためにベンダに働きかけて、制御機能とI/O接続機器をオープンなネットワークで接続したマルチベンダ環境を実現しようとしていることが挙げられる。
【0009】
オープン化されたプロセス制御システムにおいても、従来のプロセス制御システムと同等のシミュレーション機能が求められる。しかしながら、オープン化されたプロセス制御システムでは、I/O接続機器や汎用コントローラの一部が準備できていない状態でシミュレーションが行われることがある。
【0010】
そこで、本開示では、オープン化されたプロセス制御システムにおいてシミュレーション機能を実現することができる制御装置、制御方法及び制御システムを提案する。
【課題を解決するための手段】
【0011】
本開示の制御装置は、通信部と、取得部と、演算部と、を備える。通信部は、ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行う。取得部は、前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得する。演算部は、前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行う。
【図面の簡単な説明】
【0012】
【
図1】専用コントローラを用いたプロセス制御システムの機能構成例を示す図である。
【
図3】ソフトワイヤリング定義情報の一例を示す図表である。
【
図4】制御処理の流れの一例を示すフローチャートである。
【
図5】リフレッシュ処理の流れの一例を示すフローチャートである。
【
図6】フラッシュ処理の流れの一例を示すフローチャートである。
【
図7】ワイヤリング実行処理の流れの一例を示すフローチャートである。
【
図8】全体処理の流れの一例を示すフローチャートである。
【
図9】本開示の実施形態に係るプロセス制御システムの構成例を示すブロック図である。
【
図10】本開示の実施形態に係るネットワークデバイスID情報の一例を示す図表である。
【
図11】本開示の実施形態に係るソフトワイヤリング定義情報の一例を示す図表である。
【
図12】本開示の実施形態に係る制御処理の流れの一例を示すフローチャートである。
【
図13】本開示の実施形態に係る更新処理の流れの一例を示すフローチャートである。
【
図14】本開示の実施形態に係るソフトワイヤリング実行処理の流れの一例を示すフローチャートである。
【
図15】本開示のその他の実施形態に係るプロセス制御システムの構成例を示す図である。
【
図16】本開示のその他の実施形態に係るプロセス制御システムの構成例を示す図である。
【
図17】本開示のその他の実施形態に係るI/O切り離し部による更新処理の流れの一例を示すフローチャートである。
【
図18】制御装置のハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する管理システム及び管理方法の実施形態を図面に基づいて詳細に説明する。なお、ここで説明する実施形態により本願の発明が限定されるものではない。また、同一の要素には同一の符号を付し、重複する説明は適宜省略する。また、各実施形態は、矛盾のない範囲内で適宜組み合わせることができる。
【0014】
<<1.はじめに>>
<1.1.用語の定義>
本開示の技術を説明するにあたって、ここで用いるいくつかの用語を以下のように定義する。
【0015】
(制御機能(制御部))
制御機能を有する制御部は、定周期で、センサ等のI/O入力デバイスから工業プロセスの状態量を入力として取得する。制御部は、取得した状態量を入力とし、ユーザが作成した制御ロジックを実行する。制御部は、制御ロジックの実行結果に基づき、アクチュエータ等のI/O出力デバイスの操作量を出力する。制御部が実行する制御ロジックには、PID制御、シーケンス制御、及び、インタプリンタ言語の制御等が含まれる。
【0016】
(I/O切り離し機能(I/O切り離し部))
I/O切り離し部が有するI/O切り離し機能は、ソフトウェア上でI/O入力デバイス及びI/O出力デバイス(以下、I/O入力デバイス及びI/O出力デバイスをまとめてI/Oデバイスとも記載する)を部分的に切り離したり、接続したりする機能である。この機能により、実際にI/Oデバイスがプロセス制御システムに接続されていなくても、ユーザは、制御機能による制御ロジックのテストを行うことができる。
【0017】
(ソフトワイヤリング機能(ソフトワイヤリング部))
ソフトワイヤリング部が有するソフトワイヤリング機能は、ソフトウェア上で仮想的な配線(ワイヤリング)を行う機能である。ソフトワイヤリング部は、制御機能の出力情報(操作量)を入力とする。この出力情報は、例えば後述するI/Oイメージから取得される。I/Oイメージは、定周期でI/Oデバイスの入出力値(制御部からの出力情報、及び、制御機能への入力情報)を保持している。
【0018】
ソフトワイヤリング部は、取得した出力情報を入力として、ユーザが作成した演算ロジックを実行する。ソフトワイヤリング部は、演算ロジックの実行結果に基づき、制御機能への入力情報(例えば、工業プロセスの状態量を模擬した状態模擬量)を出力する。例えば、ソフトワイヤリング部は、入力情報をI/Oイメージへ出力する。
【0019】
このソフトワイヤリング部のソフトワイヤリング機能により、実際のI/Oデバイスを使用しなくても、ユーザは、制御ロジックのテストを行うことができる。横河製のソフトワイヤリング機能として、例えば、CENTUMのワイヤリング機能、STARDOMのソフトワイヤリング機能(参考URL:http://www.yokogawa.co.jp/pdf/provide/J/GW/TI/0000031416/0/TI34P02P25-01.pdf)が挙げられる。
【0020】
(専用コントローラ)
専用コントローラは、制御機能を有するベンダ独自仕様のコントローラである。専用コントローラは、例えば、工業プロセスの状態量を制御する制御機能(制御部)と、I/Oデバイスの入出力値を管理するI/O接続機能(I/O接続部)と、を備える。例えば、横河製の専用コントローラとしてFCS(Field Control Station)が挙げられる。
【0021】
(汎用コントローラ)
汎用コントローラは、制御機能を有する汎用使用のコントローラである。汎用コントローラは、後述するネットワーク対応のI/O接続機器と、ネットワークを介して接続される。汎用コントローラは、例えば、工業プロセスの状態量を制御する制御機能(制御部)と、OPC-UA(参考URL:https://reference.opcfoundation.org/)等のI/O入出力が可能な汎用ネットワーク対応の通信機能(通信部)と、を備える。
【0022】
(I/O接続機器)
I/O接続機器は、I/O接続機能(I/O接続部)を有する機器である。I/O接続機器は、汎用コントローラの制御機能とネットワークを介して接続する。I/O接続機器は、例えば、OPC-UA等のI/O入出力要求を受け付けるネットワーク通信機能(通信部)と、I/Oデバイスの入出力値を管理するI/O接続機能(I/O接続部)と、を備える。例えば、横河製のI/O接続機器として、N-IO DCN(Network-I/O Distributed Control Node)が挙げられる。
【0023】
<1.2.背景>
本開示の提案技術は、ネットワーク対応のI/O接続機器を用いたプロセス制御システムにおけるI/O接続機器のシミュレーション機能に関する。
【0024】
プロセス制御システムは、プラントにおいて工業プロセスにおける各種の状態量(例えば、圧力、温度及び流量等)を制御する。これにより、高度な自動操業が行われている。
【0025】
従来のプロセス制御システムは、ベンダ独自仕様の専用コントローラを中心に構成される。専用コントローラは、IOM(Input/Output Module)を介して、複数のセンサ(例えば、流量計及び温度計等)からのI/O入力値を状態量として取得する。次に、専用コントローラは、状態量に応じてアクチュエータ(例えば、バルブ等)の操作量を求める。専用コントローラは、IOMを介して、この操作量に応じたI/O出力値をアクチュエータに与えることで、アクチュエータを操作する。専用コントローラのこれらの機能によって、上述した各種の状態量が制御される。
【0026】
この専用コントローラの制御ロジックのデバッグや、センサ及びアクチュエータ等のハードウェアを通した動作テストのために、シミュレーション機能が存在する。シミュレーション機能は、上述したI/O切り離し機能やソフトワイヤリング機能を含む。これらの機能により、専用コントローラは、ハードウェアが揃っていない状況下で動作確認を行うことができる。
【0027】
一方、近年、プロセス制御システムのオープン化が進んでいる。オープン化されたプロセス制御システムは、例えば、汎用コントローラと、DCN(Distributed Control Node)と、を備える。汎用コントローラは、専用コントローラの代わりに、例えば、PC(Personal Computer)やワークステーション等の汎用機器上に標準的な制御機能(例えば、IEC61131-3準拠の制御機能等)を実現した装置である。汎用コントローラ及びDCNは、例えば、オープンなネットワーク(例えば、OPC-UA等)で接続される。
【0028】
プロセス制御システムのオープン化によって、システムの導入費用を安く抑えることができる。また、オープン化によって、DX技術を取り込みやすいシステム環境を構築することができる。そのため、プロセス制御システムのユーザは、システムベンダに働きかけて、制御機能及びIOMをオープンなネットワークで接続したマルチベンダ環境の実現を目指している(例えばOPAF(Open Process Automation Forum(参考URL:https://www.productivity.be/en/page.php?r=O-PAS))等)。
【0029】
マルチベンダ環境のプロセス制御システムでは、ネットワークに対応するI/O接続機器は、複数の汎用コントローラからのI/O入出力に対応することが求められる。また、ネットワークに対応するI/O接続機器のシミュレーション機能がネットワークに接続可能な状態であることが求められる。
【0030】
<1.3.専用コントローラを用いたプロセス制御システム>
<1.3.1.プロセス制御システムの構成例>
ここで、まず、専用コントローラを用いたシミュレーション機能の一例について説明する。
図1は、専用コントローラを用いたプロセス制御システムSaの機能構成例を示す図である。
【0031】
プロセス制御システムSaは、専用コントローラ10aと、I/Oデバイス20a1、20a2と、を備える。なお、I/Oデバイス20a1、20a2を区別しない場合は、単にI/Oデバイス20aとも記載する。また、
図1では2つのI/Oデバイス20a1、20a2を示しているが、I/Oデバイス20の数は2つに限定されず、1つであっても3つ以上であってもよい。
【0032】
(専用コントローラ10a)
専用コントローラ10aは、制御部110aと、I/O接続部120aと、I/O切り離し定義情報DB(Data Base)130aと、ソフトワイヤリング部140aと、ソフトワイヤリング定義情報DB150aと、を含む。I/O接続部120aは、I/O切り離し部121aと、I/Oイメージ122aと、を含む。
【0033】
(制御部110a)
制御部110aは、I/O接続部120aのI/O切り離し部121aへリフレッシュ要求を出力する。制御部110aは、ソフトワイヤリング部140aへワイヤリング実行要求を出力する。
【0034】
制御部110aは、I/Oイメージ122aからI/O入力情報を読み取る。制御部110aは、読み取ったI/O入力情報に基づき、制御機能を実行する。制御部110aは、制御機能の実行結果として、I/O出力情報をI/Oイメージ122aに書き込み、I/O切り離し部121aへフラッシュ要求を出力する。
【0035】
制御部110aは、これらの動作を定周期(以降、I/Oアクセス周期とも記載する)で実行する。
【0036】
(I/O接続部120a)
上述したように、I/O接続部120aは、I/O切り離し部121aと、I/Oイメージ122aと、を備える。
【0037】
(I/Oイメージ122a)
I/Oイメージ122aは、I/Oデバイス20aから読み取ったI/O入力情報(以降、単に入力情報とも記載する)、及び、制御部110aが出力するI/O出力情報(以降、単に出力情報とも記載する)を保持するデータベースである。
【0038】
(I/O切り離し部121a)
I/O切り離し部121aは、I/O切り離し機能を持ち、I/Oイメージ122aとI/Oデバイス20aとの間を仲介する。I/O切り離し部121aは、制御部110aからのリフレッシュ要求及びフラッシュ要求に応じて動作する。
【0039】
(I/O切り離し定義情報DB130a)
I/O切り離し定義情報DB130aは、I/O定義情報を保持するデータベースである。I/O定義情報は、I/O切り離し部121aが動作するために用いる情報である。
【0040】
I/O定義情報は、I/O切り離し部121aが動作する前に専用コントローラ10aの各部から参照できるメモリ領域(I/O切り離し定義情報DB130a)に配置される。I/O定義情報は、専用コントローラ10aの各部が動作していても動的に変更されうる。I/O定義情報は、I/O入出力データ点ごとに、I/O切り離し対象であるか否かを示す情報を含む。ここで、I/O入出力データ点は、I/Oデバイス20と専用コントローラ10aとの接続点である。1つのI/Oデバイス20と1つの専用コントローラ10aとが複数の接続点(I/O入出力データ点)で接続されてもよい。
【0041】
図2は、I/O定義情報の一例を示す図表である。
図2に示すように、I/O定義情報は、I/O入出力データ点を識別するI/O入出力データ点IDと、I/O入出力データ点IDで識別されるI/O入出力データ点がI/O切り離し対象であるかを示す切り離し対象情報と、を含む。
【0042】
図2の例では、I/O入出力データ点IDが「1」、「3」、「4」、「5」であるI/O入出力データ点は、切り離し対象である(「TRUE」)。一方、I/O入出力データ点IDが「2」であるI/O入出力データ点は、切り離し対象でない(「FALSE」)。
【0043】
(ソフトワイヤリング部140a)
図1に戻り、ソフトワイヤリング部140aは、I/Oイメージ122aが保持する入力情報や出力情報に対して、ソフトワイヤリング機能を実行する。ソフトワイヤリング部140aは、制御部110aからワイヤリング実行要求を受けると、ソフトワイヤリング動作を実行する。
【0044】
(ソフトワイヤリング定義情報DB150a)
ソフトワイヤリング定義情報DB150aは、ソフトワイヤリング定義情報を保持するデータベースである。ソフトワイヤリング定義情報は、ソフトワイヤリング部140aが動作するために用いる情報である。
【0045】
ソフトワイヤリング定義情報は、ソフトワイヤリング部140aが動作する前に専用コントローラ10aの各部から参照できるメモリ領域(ソフトワイヤリング定義情報DB150a)に配置される。ソフトワイヤリング定義情報は、専用コントローラ10aの各部が動作していても動的に変更されうる。
【0046】
ソフトワイヤリング定義情報は、ワイヤリング元のI/O入出力データ点に関する情報、ワイヤリング先のI/O入出力データ点に関する情報及び演算ロジックに関する情報を含む。
【0047】
図3は、ソフトワイヤリング定義情報の一例を示す図表である。
図3に示すように、ソフトワイヤリング定義情報は、ワイヤリング元のI/O入出力データ点を識別するワイヤリング元のI/O入出力データ点IDを含む。また、ソフトワイヤリング定義情報は、ワイヤリング先のI/O入出力データ点を識別するワイヤリング先のI/O入出力データ点IDを含む。ソフトワイヤリング定義情報は、ワイヤリング元、及び、ワイヤリング先のI/O入出力データ点IDの組み合わせに対応する演算ロジックを含む。
【0048】
図3の例では、ワイヤリング元のI/O入出力データ点IDが「1」、ワイヤリング先のI/O入出力データ点IDが「3」である場合の演算ロジックは、y=2*x+1である。また、ワイヤリング元のI/O入出力データ点IDが「4」、ワイヤリング先のI/O入出力データ点IDが「4」である場合の演算ロジックは、y=x^2+1である。なお、xは、ワイヤリング元のI/O入出力値を示す。yは、ワイヤリング先のI/O入出力値を示す。
【0049】
(I/Oデバイス20a)
図1に戻り、I/Oデバイス20aは、例えば、センサ等の計測機器、アクチュエータやバルブ等の操作機器などである。
【0050】
<1.3.2.プロセス制御システムの動作例>
(制御処理)
図4は、制御処理の流れの一例を示すフローチャートである。
図4に示す制御処理は、例えば、制御部110aによってI/Oアクセス周期で実行される。
【0051】
図4に示すように、制御部110aは、I/O切り離し部121aへリフレッシュ要求を出力する(ステップS11)。このリフレッシュ要求を受けて、I/O切り離し部121aはリフレッシュ処理(
図5参照)を実行する。
【0052】
その後、制御部110aは、ソフトワイヤリング部140aへワイヤリング実行要求を出力する(ステップS12)。このワイヤリング実行要求を受けて、ソフトワイヤリング部140aは、ワイヤリング実行処理を実行する(
図7参照)。
【0053】
制御部110aは、I/Oイメージ122aから入力情報を読み出す(ステップS13)。続いて、制御部110aは、読み出した入力情報を用いて、制御演算を実行する(ステップS14)。制御部110aは、制御演算の結果に基づき、I/Oイメージ122aに出力情報を書き込む(ステップS15)。
【0054】
制御部110aは、I/O切り離し部121aへフラッシュ要求を出力し(ステップS16)、処理を終了する。このフラッシュ要求を受けて、I/O切り離し部121aは、フラッシュ処理を実行する(
図6参照)。
【0055】
(リフレッシュ処理)
図5は、リフレッシュ処理の流れの一例を示すフローチャートである。
図5に示すフレッシュ処理は、制御部110aからリフレッシュ要求を受けたタイミングでI/O切り離し部121aによって実行される。
【0056】
I/O切り離し部121aは、専用コントローラ10aに接続するI/Oデバイス20aが有する全てのI/O入出力データ点の中から1つのI/O入出力データ点を選択する(ステップS21)。以下、I/O切り離し部121aが選択したI/O入出力データ点を選択データ点とも記載する。
【0057】
I/O切り離し部121aは、選択データ点がI/O切り離し対象であるか否かを判定する(ステップS22)。例えば、I/O切り離し部121aは、I/O切り離し定義情報DB130aを参照し、選択データ点を識別するI/O入出力データ点IDの切り離し対象情報を取得する。I/O切り離し部121aは、取得した切り離し対象情報に基づき、選択データ点がI/O切り離し対象であるか否かを判定する。
【0058】
選択データ点がI/O切り離し対象である、すなわち選択データ点の切り離し対象情報が「TRUE」である場合(ステップS22;Yes)、I/O切り離し部121aは、ステップS25に進む。
【0059】
一方、選択データ点がI/O切り離し対象でない、すなわち選択データ点の切り離し対象情報が「FALSE」である場合(ステップS22;No)、I/O切り離し部121aは、選択データ点のI/Oデバイス20aから入力情報を読み出す(ステップS23)。
【0060】
次に、I/O切り離し部121aは、読み出した入力情報をI/Oイメージ122aに書き込む(ステップS24)。
【0061】
I/O切り離し部121aは、全てのI/Oデバイス20aの全てのI/O入出力データ点を選択したか否かを判定する(ステップS25)。
【0062】
選択していないI/O入出力データ点がある場合(ステップS25;No)、I/O切り離し部121aは、ステップS21に戻る。一方、全てのI/O入出力データ点を選択した場合(ステップS25;Yes)、I/O切り離し部121aは処理を終了する。
【0063】
(フラッシュ処理)
図6は、フラッシュ処理の流れの一例を示すフローチャートである。
図6に示すフレッシュ処理は、制御部110aからフレッシュ要求を受けたタイミングでI/O切り離し部121aによって実行される。
【0064】
I/O切り離し部121aは、専用コントローラ10aに接続するI/Oデバイス20aが有する全てのI/O入出力データ点の中から1つのI/O入出力データ点を選択する(ステップS31)。以下、I/O切り離し部121aが選択したI/O入出力データ点を選択データ点とも記載する。
【0065】
I/O切り離し部121aは、選択データ点がI/O切り離し対象であるか否かを判定する(ステップS32)。例えば、I/O切り離し部121aは、I/O切り離し定義情報DB130aを参照し、選択データ点を識別するI/O入出力データ点IDの切り離し対象情報を取得する。I/O切り離し部121aは、取得した切り離し対象情報に基づき、選択データ点がI/O切り離し対象であるか否かを判定する。
【0066】
選択データ点がI/O切り離し対象である、すなわち選択データ点の切り離し対象情報が「TRUE」である場合(ステップS32;Yes)、I/O切り離し部121aは、ステップS35に進む。
【0067】
一方、選択データ点がI/O切り離し対象でない、すなわち選択データ点の切り離し対象情報が「FALSE」である場合(ステップS32;No)、I/O切り離し部121aは、選択データ点のI/Oデバイス20aから出力情報を読み出す(ステップS33)。
【0068】
次に、I/O切り離し部121aは、読み出した出力情報をI/Oイメージ122aに書き込む(ステップS34)。
【0069】
I/O切り離し部121aは、全てのI/Oデバイス20aの全てのI/O入出力データ点を選択したか否かを判定する(ステップS35)。
【0070】
選択していないI/O入出力データ点がある場合(ステップS35;No)、I/O切り離し部121aは、ステップS31に戻る。一方、全てのI/O入出力データ点を選択した場合(ステップS35;Yes)、I/O切り離し部121aは処理を終了する。
【0071】
(ワイヤリング実行処理)
図7は、ワイヤリング実行処理の流れの一例を示すフローチャートである。
図7に示すワイヤリング実行処理は、制御部110aからのワイヤリング実行要求を受けたタイミングで、ソフトワイヤリング部140aによって実行される。
【0072】
図7に示すように、ソフトワイヤリング部140aは、ワイヤリング先のI/O入出力データ点を選択する(ステップS41)。例えば、ソフトワイヤリング部140aは、ソフトワイヤリング定義情報DB150aが保持するワイヤリング先のI/O入出力データ点IDのうち1つを選択する。以下、ソフトワイヤリング部140aが選択したワイヤリング先のI/O入出力データ点を選択ワイヤリング先データ点とも記載する。
【0073】
ソフトワイヤリング部140aは、選択ワイヤリング元データ点が指定されているか否かを判定する(ステップS42)。ここで、選択ワイヤリング元データ点は、ワイヤリング定義情報において選択ワイヤリング先データ点に対応するワイヤリング元のI/O入出力データ点である。例えば、ソフトワイヤリング部140aは、ソフトワイヤリング定義情報DB150aを参照し、選択ワイヤリング先データ点に対応するワイヤリング元のI/O入出力データ点IDがあるか否かを判定する。
【0074】
選択ワイヤリング元データ点が指定されていない場合(ステップS42;No)、ソフトワイヤリング部140aはステップS44に進む。すなわち、選択ワイヤリング先データ点に対応するワイヤリング元のI/O入出力データ点IDがワイヤリング定義情報に含まれない場合、ソフトワイヤリング部140aは、ステップS44に進む。
【0075】
選択ワイヤリング元データ点が指定されている場合(ステップS42;Yes)、ソフトワイヤリング部140aは、I/Oイメージ122aから選択ワイヤリング元データ点の出力情報を読み出す(ステップS43)。すなわち、選択ワイヤリング先データ点に対応するワイヤリング元のI/O入出力データ点IDがワイヤリング定義情報に含まれる場合、ソフトワイヤリング部140aは、I/Oイメージ122aから選択ワイヤリング元データ点の出力情報を読み出す。
【0076】
ソフトワイヤリング部140aは、選択演算ロジックから入力情報を生成する(ステップS44)。ここで、選択演算ロジックは、ワイヤリング定義情報において選択ワイヤリング先データ点に対応する演算ロジックである。
【0077】
ソフトワイヤリング部140aは、I/Oイメージ122aに、選択ワイヤリング先データ点の入力情報を書き込む(ステップS45)。ここで、選択ワイヤリング先データ点の入力情報は、ステップS44において選択演算ロジックを用いて生成された入力情報である。
【0078】
ソフトワイヤリング部140aは、ワイヤリング先のI/O入出力データ点を全て選択したか否かを判定する(ステップS46)。
【0079】
選択していないワイヤリング先のI/O入出力データ点がある場合(ステップS46;No)、ソフトワイヤリング部140aは、ステップS41に戻る。一方、ワイヤリング先のI/O入出力データ点を全て選択した場合(ステップS46;Yes)、ソフトワイヤリング部140aは処理を終了する。
【0080】
(全体処理)
次に、プロセス制御システムSaで実行される全体処理の一例について説明する。
図8は、全体処理の流れの一例を示すフローチャートである。
図8の全体処理は、例えば定周期で、プロセス制御システムSaによって実行される。
【0081】
プロセス制御システムSaの制御部110aは、I/O切り離し部121aへリフレッシュ要求を出力する(ステップS51)。
【0082】
I/O切り離し部121aは、I/Oデバイス20aから入力情報を読み出す(ステップS52)。I/Oデバイス20aは、I/Oイメージ122aに、読み出した入力情報を書き込む(ステップS53)。
【0083】
制御部110aは、ソフトワイヤリング部140aへワイヤリング実行要求を出力する(ステップS54)。
【0084】
ソフトワイヤリング部140aはI/Oイメージ122aの出力情報を読み取り、演算ロジックを実行して入力情報を算出する(ステップS55)。ソフトワイヤリング部140aは、I/Oイメージ122aに入力情報を書き込む(ステップS56)。
【0085】
制御部110aは、I/Oイメージ122aから入力情報を読み取り、制御演算を実行する(ステップS57)。制御部110aは、I/Oイメージ122aへ出力情報を書き込む(ステップS58)。制御部110aは、I/O切り離し部121aへフラッシュ要求を出力する(ステップS59)。
【0086】
I/O切り離し部121aは、I/Oイメージ122aから出力情報を読み出す(ステップS60)。I/O切り離し部121aは、I/Oデバイス20aへ出力情報を出力する(ステップS61)。
【0087】
<1.4.課題>
上述したように、専用コントローラ10aのシミュレーション機能を用いて、制御機能の動作テスト等が行われる。プロセス制御システムをオープン化した場合でも、同等のシミュレーション機能が求められる。
【0088】
例えば、プロセス制御システムがオープン化されると、上述した制御部110a、I/O接続部120a、及び、ソフトワイヤリング部140aそれぞれに相当する装置(それぞれ制御装置、I/O接続機器、及び、情報処理装置とも記載する)がオープンなネットワーク上で接続されうる。
【0089】
ネットワークに対応するI/O接続機器は、ネットワーク上に存在する複数の制御機能(制御装置)から入力情報及び出力情報(以下、入出力情報とも記載する)のアクセス要求を受け取る場合がある。この場合、例えば、以下の課題が挙げられる。
【0090】
(課題1)
オープン化されたプロセス制御システム(例えばI/O接続機器)のシミュレーション機能は、汎用コントローラのシミュレーション機能と、実際(実機)の汎用コントローラの制御機能の両方に対応することが求められる。
【0091】
すなわち、オープン化されたプロセス制御システムのシミュレーション機能は、I/O接続機器の実機や汎用コントローラの実機の一部が準備できていない場合でもプロセス制御システムの動作テストを開始できることが求められる。
【0092】
(課題2)
オープン化されたプロセス制御システム(例えばI/O接続機器)のシミュレーション機能は、入出力情報を汎用ネットワーク上に公開することが求められる。入出力情報が公開されることで、複数の汎用コントローラ又はHMI(Human Machine Interface)等が、ネットワークに対応するI/O接続機器のシミュレーション機能へアクセスする際に、齟齬が発生しないようにすることができる。また、複数の汎用コントローラ又はHMI等は、I/O接続機器がシミュレーション機能であるか実機であるかを区別(意識)せずにシミュレーション機能へアクセスできる。
【0093】
<1.5.提案技術の概要>
本開示の提案技術に係るプロセス制御システムは、ネットワークに対応するI/O接続機器と、制御装置と、情報処理装置と、を備える。
【0094】
制御装置は、通信部と、取得部と、実行部と、を備える。通信部は、ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行う。取得部は、第1のI/Oイメージ(第1の記憶部の一例)、及び、第2のI/Oイメージ(第2の記憶部の一例)の少なくとも一方からデバイス情報を取得する。第1のI/Oイメージは、I/O接続機器が有し、I/Oデバイスに関するデバイス情報を記憶する。第2のI/Oイメージは、情報処理装置が有し、デバイス情報を記憶する。実行部は、デバイス情報を用いてI/Oデバイスに関する制御演算を実行する。
【0095】
制御装置は、I/O接続機器が有する第1の記憶部に加え、情報処理装置が有する第2の記憶部へアクセスし、デバイス情報を取得する。これにより、制御装置は、I/O接続機器の実機の一部が準備できていない場合でもプロセス制御システムの動作テストを開始することができる。
【0096】
また、制御装置は、実機に限定されず、シミュレーション機能を有する制御装置であってもよい。このように、シミュレーション機能を有する制御装置であっても、すなわち、制御装置の実機の一部が準備できていない場合でも、プロセス制御システムは、動作テストを開始することができる。
【0097】
また、制御装置がネットワークを介して接続するI/O接続機器及び情報処理装置にI/Oデバイスに関するデバイス情報(例えば、入出力情報)が保持される。そのため、本提案技術の制御装置は、ネットワーク上に公開されたデバイス情報にアクセスすることができる。
【0098】
このように、制御装置がネットワークを介してI/O接続機器及び情報処理装置と接続する、すなわち、プロセス制御システムがオープン化されても、本提案技術に係る制御装置は、シミュレーション機能を実現することができる。
【0099】
<<2.プロセス制御システムの構成例>>
図9は、本開示の実施形態に係るプロセス制御システムSの構成例を示すブロック図である。
図9のプロセス制御システムSは、制御装置100と、I/O接続機器200と、情報処理装置300と、I/Oデバイス400_1、400_2と、を備える。
【0100】
なお、I/Oデバイス400_1、400_2を区別しない場合は、単にI/Oデバイス400とも記載する。また、
図9では2つのI/Oデバイス400_1、400_2を示しているが、I/Oデバイス400の数は2つに限定されず、1つであっても3つ以上であってもよい。
【0101】
制御装置100、I/O接続機器200、及び、情報処理装置300は、互いにネットワークを介して接続される。
図9では、ネットワークの一例として、ETHERNET(登録商標)が示されるが、ネットワークは、ETHERNETに限定されない。ネットワークは、汎用ネットワークであればよく、WAN(Wide Area Network)やETHERNET以外のLAN(Local Area Network)であってもよい。
【0102】
また、
図9では、制御装置100、I/O接続機器200及び情報処理装置300がそれぞれ1つであるが、これらの装置の数は1つに限定されず、2つ以上あってもよい。また、I/O接続機器200は、ネットワークに接続されていなくてもよい。すなわち、プロセス制御システムSでシミュレーションが行われる時点で、I/O接続機器200がプロセス制御システムSに含まれていなくてもよい。また、制御装置100は、実機でなくてもよく、シミュレーション機能を有する装置であってもよい。
【0103】
また、
図9では、本実施形態の説明に必要となる構成要素のみを機能ブロックで示しており、一般的な構成要素についての記載を省略している。
【0104】
(制御装置100)
図9に示す制御装置100は、PCやワークステーション等の汎用コントローラである。制御装置100は、通信部110と、制御部120と、を備える。
【0105】
(通信部110)
通信部110は、I/O接続機器200、情報処理装置300、その他の装置との間の通信を制御する処理部である。通信部110は、OPC-UA等のI/O入出力が可能な汎用ネットワーク通信機能を有する。通信部110は、例えば、通信インタフェースなどにより実現される。
【0106】
(制御部120)
制御部120は、制御装置100全体を制御する処理部である。制御部120は、工業プロセスの状態量を制御する制御機能を有する。制御部120は、例えばプロセッサ等により実現される。制御部120は、取得部121と、演算部122と、出力部123と、を備える。ここで、制御部120は、いわゆるプロセッサに相当する。制御部120は、CPU(Central Processing Unit)や、MPU(Micro Processing Unit)等によって実現される。
【0107】
制御部120は、記憶部(図示省略)に記憶されているプログラムを読み込んでRAMを作業領域として実行することで、取得部121、演算部122、及び、出力部123の各機能を実現する。制御部120は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)等の集積回路により実現することもできる。
【0108】
(取得部121)
取得部121は、I/O接続機器200及び情報処理装置300の少なくとも一方から入力情報(デバイス情報の一例)を取得する。取得部121は、取得した入力情報を演算部122に出力する。このように、取得部121は、I/O接続機器200及び情報処理装置300を区別せずに、I/Oデバイス400の入力情報(I/O入力情報)を取得する。
【0109】
(演算部122)
演算部122は、取得部121が取得した入力情報に基づき、制御演算を実行する。演算部122は、制御演算の実行結果を出力部123へ出力する。
【0110】
(出力部123)
出力部123は、演算部122の演算結果を出力情報として、I/O接続機器200及び情報処理装置300の少なくとも一方に出力する。このように、出力部123は、I/O接続機器200及び情報処理装置300を区別せずに、I/Oデバイス400の出力情報(I/O出力情報)を出力する。
【0111】
(I/O接続機器200)
図9に示すI/O接続機器200は、汎用の制御装置100の制御部120とネットワーク接続するI/O接続機能を有する。
図9に示すI/O接続機器200は、通信部210と、I/O接続部220と、I/O切り離し定義情報DB230と、を備える。
【0112】
(通信部210)
通信部210は、制御装置100、情報処理装置300、その他の装置との間の通信を制御する処理部である。通信部210は、OPC-UA等のI/O入出力要求を受け付ける。通信部110は、例えば、通信インタフェースなどにより実現される。
【0113】
(I/O接続部220)
I/O接続部220は、I/Oデバイス400の入出力値(入出力情報)を管理する機能を有する。ここで、入力情報(入力値)は、制御装置100へ入力する情報(値)であり、出力情報(出力値)は、制御装置100から出力される情報(値)である。出力情報は、I/Oデバイス400に入力される情報であり、入力情報は、I/Oデバイス400から出力される情報である。
【0114】
I/O接続部220は、I/O切り離し部221と、第1のI/Oイメージ222と、備える。
【0115】
(I/O切り離し部221)
I/O切り離し部221は、ソフトウェア上でI/Oデバイス400を部分的に切り離したり、接続したりする機能を有する。I/O切り離し部221は、第1のI/Oイメージ222とI/Oデバイス400との間を仲介する。
【0116】
図9のI/O切り離し部221は、定周期(アクセス周期)で動作する。
図9のI/O切り離し部221は、制御装置100の制御部120や後述するソフトワイヤリング部340とは非同期で動作する。
【0117】
(第1のI/Oイメージ222)
第1のI/Oイメージ222は、I/Oデバイス400から読み取った入力情報、及び、制御装置100が出力する出力情報を保持するデータベースである。
図9に示す第1のI/Oイメージ222は、I/O接続機器200とハードウェア上(実際に)接続するI/Oデバイス400_1、400_2の入出力情報を保持する。
【0118】
(I/O切り離し定義情報DB230)
I/O切り離し定義情報DB230は、I/O定義情報を保持するデータベースである。I/O定義情報は、I/O切り離し部221が動作するために用いる情報である。
【0119】
I/O定義情報は、I/O切り離し部221が動作する前に制御装置100の各部から参照できるメモリ領域(I/O切り離し定義情報DB230)に配置される。I/O定義情報は、制御装置100の各部が動作していても動的に変更されうる。
【0120】
I/O定義情報は、I/O入出力データ点ごとに、I/O切り離し対象であるか否かを示す情報を含む。ここで、I/O入出力データ点は、I/Oデバイス400とI/O接続機器200との接続点である。1つのI/Oデバイス400と1つのI/O接続機器200とが複数の接続点(I/O入出力データ点)で接続されてもよい。なお、I/O定義情報は、例えば、専用コントローラ10aのI/O切り離し定義情報DB130aが保持するI/O定義情報(
図2参照)と同じである。
【0121】
(情報処理装置300)
図9に示す情報処理装置300は、PCやワークステーション等の汎用装置である。情報処理装置300は、例えば、エンジニアリング機能を有するエンジニアリングPCである。情報処理装置300は、ソフトワイヤリング機能を有する。
【0122】
図9に示す情報処理装置300は、通信部310と、第2のI/Oイメージ320と、ソフトワイヤリング定義情報DB330と、ソフトワイヤリング部340と、を備える。
【0123】
(通信部310)
通信部310は、制御装置100、情報処理装置300、その他の装置との間の通信を制御する処理部である。通信部310は、例えば、通信インタフェースなどにより実現される。
【0124】
図9の通信部310は、ソフトワイヤリング部340からの要求に従って、第2のI/Oイメージ320と通信を行う。通信部310は、第2のI/Oイメージ320との間で入出力情報をやり取りする。通信部310は、第2のI/Oイメージ320の入出力情報を制御装置100又はソフトワイヤリング部340へ出力する。また、通信部310は、制御装置100又はソフトワイヤリング部340から受け取った入出力情報を第2のI/Oイメージ320へ出力する。
【0125】
(第2のI/Oイメージ320)
第2のI/Oイメージ320は、ネットワークに対応するI/O接続機器200のシミュレーションのために設けたI/Oイメージである。第2のI/Oイメージ320は、I/O接続機器200の第1のI/Oイメージ222と同等の構成及び機能を有する。
【0126】
ただし、第2のI/Oイメージ320は、全ての入出力データ点について、常にI/Oデバイス400と切り離されている点で、第1のI/Oイメージ222と異なる。
【0127】
すなわち、第2のI/Oイメージ320は、ネットワークに接続していないI/O接続機器200(図示省略)の第1のI/Oイメージ222を模擬するデータベースである。このI/O接続機器200がネットワークに接続されると、接続されたI/O接続機器200の第1のI/Oイメージ222が保持する入出力情報に相当する入出力情報は、第2のI/Oイメージ320から削除される。
【0128】
全てのI/O接続機器200がネットワークに接続されると、第2のI/Oイメージ320が保持する入出力情報は全て削除される、あるいは、第2のI/Oイメージ320が削除される。
【0129】
(ソフトワイヤリング定義情報DB330)
ソフトワイヤリング定義情報DB330は、ネットワークデバイスID情報、及び、ソフトワイヤリング定義情報を保持するデータベースである。
【0130】
(ネットワークデバイスID情報)
ネットワークデバイスID情報は、例えば、ソフトワイヤリング定義情報が有するワイヤリング元、又は、ワイヤリング先のI/O入出力データ点に対応するI/O接続機器200を識別する識別情報を含む。
【0131】
また、ネットワークデバイスID情報は、ネットワークに接続するI/O接続機器200に加え、ネットワークに接続していないI/O接続機器200を識別する識別情報を含みうる。
【0132】
ネットワークに接続していないI/O接続機器200を識別する識別情報は、このネットワークに接続していないI/O接続機器200の第1のI/Oイメージ222を模擬する第2のI/Oイメージ320を識別する情報であるともいえる。
【0133】
換言すると、ネットワークデバイスID情報は、I/O接続機器200の第1のI/Oイメージ222及び第2のI/Oイメージ320を識別する識別情報を含む。
【0134】
ネットワークデバイスID情報は、ソフトワイヤリング部340が、動作するために用いる情報である。ネットワークデバイスID情報は、ソフトワイヤリング部340が動作する前に情報処理装置300の各部から参照できるメモリ領域(ソフトワイヤリング定義情報DB330)に配置される。ネットワークデバイスID情報は、情報処理装置300の各部が動作していても動的に変更されうる。
【0135】
ネットワークデバイスID情報は、I/O接続機器200を識別する識別情報(ネットワークデバイスID)と、アクセス周期と、を含む。アクセス周期は、ソフトワイヤリング部340がI/O接続機器200にアクセスする最小の期間を定めた情報である。ソフトワイヤリング部340は、このアクセス周期に応じてI/O接続機器200及びI/Oイメージ330にアクセスし、入出力情報を取得する。また、アクセス周期は、I/O接続機器200がリフレッシュ処理及びフラッシュ処理を実行する周期である。
【0136】
図10は、本開示の実施形態に係るネットワークデバイスID情報の一例を示す図表である。
図10に示すように、ネットワークデバイスID情報は、ネットワークデバイスIDと、アクセス周期と、を含む。
【0137】
図10の例では、ネットワークデバイスIDが「172.18.32.1」のアクセス周期は「4000(msec)」である。ネットワークデバイスIDが「172.18.32.2」のアクセス周期は「1000(msec)」である。
【0138】
なお、
図10に示すネットワークデバイスIDは一例である。ネットワークデバイスIDは、ワイヤリング元又はワイヤリング先のI/O入出力データ点に対応するI/O接続機器200(又は情報処理装置300)を識別する情報であればよく、IPアドレスやホスト名、ドメイン名等であってもよい。
【0139】
(ソフトワイヤリング定義情報)
ソフトワイヤリング定義情報は、ソフトワイヤリング部340が動作する前に制御装置100の各部から参照できるメモリ領域(ソフトワイヤリング定義情報DB330)に配置される。ソフトワイヤリング定義情報は、制御装置100の各部が動作していても動的に変更されうる。
【0140】
図11は、本開示の実施形態に係るソフトワイヤリング定義情報の一例を示す図表である。
【0141】
ソフトワイヤリング定義情報は、ワイヤリング元のI/O入出力データ点に関する情報及びネットワークデバイスID、ワイヤリング先のI/O入出力データ点に関する情報及びネットワークデバイスID、及び、演算ロジックに関する情報を含む。
【0142】
ワイヤリング元のI/O入出力データ点に関する情報は、ワイヤリング元のI/O入出力データ点を識別するI/O入出力データ点IDを含む。また、ワイヤリング元のネットワークデバイスIDは、ワイヤリング元のI/O入出力データ点IDで識別されるI/O入出力データ点を有するI/O接続機器200を識別する情報である。
【0143】
なお、I/O接続機器200がネットワークに接続されていない場合、ワイヤリング元のネットワークデバイスIDは、第2のI/Oイメージ320(又は、情報処理装置300)を識別する情報でありうる。
【0144】
ワイヤリング先のI/O入出力データ点に関する情報は、ワイヤリング先のI/O入出力データ点を識別するI/O入出力データ点IDを含む。また、ワイヤリング先のネットワークデバイスIDは、ワイヤリング先のI/O入出力データ点IDで識別されるI/O入出力データ点を有するI/O接続機器200を識別する情報である。
【0145】
なお、I/O接続機器200がネットワークに接続されていない場合、ワイヤリング先のネットワークデバイスIDは、第2のI/Oイメージ320(又は、情報処理装置300)を識別する情報でありうる。
【0146】
演算ロジックは、ワイヤリング元のI/O入出力データ点におけるI/O入出力値(入出力情報)に対する、ワイヤリング先のI/O入出力データ点におけるI/O入出力値(入出力情報)を示す情報である。演算ロジックは、ソフトワイヤリング部340での演算ロジックの実行に使用される。
【0147】
図11の例では、ワイヤリング元のネットワークデバイスIDが「172.18.32.1」、I/O入出力データ点IDが「3」、ワイヤリング先のネットワークデバイスIDが「172.18.32.1」、I/O入出力データ点IDが「1」である場合の演算ロジックは、y=2*x+1である。
【0148】
また、ワイヤリング元のネットワークデバイスIDが「172.18.32.4」、I/O入出力データ点IDが「1」、ワイヤリング先のネットワークデバイスIDが「172.18.32.3」、I/O入出力データ点IDが「3」である場合の演算ロジックは、y=xである。なお、xは、ワイヤリング元のI/O入出力値を示す。yは、ワイヤリング先のI/O入出力値を示す。
【0149】
ソフトワイヤリング定義情報は、ワイヤリング先のネットワークデバイスID及びI/O入出力データ点IDを複合主キーとする。
【0150】
(ソフトワイヤリング部340)
図9に戻り、ソフトワイヤリング部340は、第1、第2のI/Oイメージ222、320が保持する入力情報や出力情報に対して、ソフトワイヤリング機能を実行する。ソフトワイヤリング部340は、定周期でソフトワイヤリング機能を実行する。
【0151】
ソフトワイヤリング部340は、ネットワークデバイスID及びI/O入出力データ点IDに基づき、ワイヤリング元又はワイヤリング先を判断する。
【0152】
ソフトワイヤリング部340によるワイヤリング演算の実行周期は、例えば、ワイヤリング先のネットワークデバイスIDに対応するアクセス周期である。そのため、
図9のソフトワイヤリング機能の実行周期(定周期)は、ネットワークデバイスIDごとのアクセス周期以下であることが求められる。
【0153】
すなわち、ソフトワイヤリング機能の実行周期は、ネットワークデバイスIDごとのアクセス周期のうち最も短いアクセス周期(例えば、
図10の例では50msec)以下である。
【0154】
図9に示すソフトワイヤリング部340は、取得部341と、実行部342と、出力部343と、を有する。
【0155】
(取得部341)
取得部341は、I/O接続機器200の第1のI/Oイメージ222及び第2のI/Oイメージ320の少なくとも一方から入出力情報(デバイス情報の一例)を取得する。取得部341は、例えば、ソフトワイヤリング定義情報DB330を参照し、ワイヤリング元のI/O入出力データ点における入出力情報を取得する。
【0156】
取得部341は、取得した入出力情報を実行部342へ出力する。このように、取得部341は、第1、第2のI/Oイメージ222、320を区別せずに、I/Oデバイス400の入出力情報(I/O入出力情報)を取得する。
【0157】
(実行部342)
実行部342は、取得部341が取得した入出力情報に基づき、演算ロジックを実行する。実行部342は、例えば、ソフトワイヤリング定義情報DB330を参照し、ワイヤリング元のI/O入出力データ点に対応する演算ロジックを実行する。実行部342は、演算ロジックの実行結果を出力部343へ出力する。
【0158】
(出力部343)
出力部343は、実行部342の実行結果を入出力情報として、I/O接続機器200の第1のI/Oイメージ222及び第2のI/Oイメージ320の少なくとも一方に出力する。出力部343は、例えば、ソフトワイヤリング定義情報DB330を参照し、ワイヤリング元のI/O入出力データ点に対応するワイヤリング先のI/O入出力データ点を指定して入出力情報を出力する。
【0159】
出力部343は、I/O接続機器200の第1のI/Oイメージ222及び第2のI/Oイメージ320を区別せずに、ワイヤリング先の入出力データ点の入出力情報(I/O入出力情報)を出力する。
【0160】
<<3.プロセス制御システムの処理例>>
<3.1.制御処理例>
図12は、本開示の実施形態に係る制御処理の流れの一例を示すフローチャートである。
図12の制御処理は、第1の周期で制御装置100によって実行される。
【0161】
図12に示すように、制御装置100は、第1、第2のI/Oイメージ222、320の少なくとも一方から入力情報を読み出す(ステップS101)。
【0162】
制御装置100は、読み出した入力情報を用いて制御演算を実行する(ステップS102)。制御装置100は、演算結果である出力情報を、第1、第2のI/Oイメージ222、320の少なくとも一方に書き込む(ステップS103)。
【0163】
このように、
図12の制御処理では、制御装置100は、リフレッシュ要求、フラッシュ要求をI/O接続機器200に送信せず、ソフトワイヤリング実行要求をソフトワイヤリング部340に送信しない。制御装置100は、I/O接続機器200及び情報処理装置300と同期せずに(非同期で)動作する。
【0164】
<3.2.更新処理例>
図13は、本開示の実施形態に係る更新処理の流れの一例を示すフローチャートである。
図13の更新処理は、第2の周期でI/O接続機器200によって実行される。なお、第2の周期は、第1の周期とは非同期の周期である。第2の周期は第1の周期と同じであっても異なっていてもよい。
【0165】
I/O接続機器200は、リフレッシュ処理を実行する(ステップS201)。I/O接続機器200が実行するリフレッシュ処理は、
図5に示すリフレッシュ処理と同じであるため説明を省略する。
【0166】
図13に示すように、リフレッシュ処理を実行後、I/O接続機器200は、フラッシュ処理を実行する(ステップS202)。I/O接続機器200が実行するフラッシュ処理は、
図6に示すリフレッシュ処理と同じであるため説明を省略する。
【0167】
このように、本実施形態のI/O接続機器200は、制御装置100からの指示によらず、一定の周期(第2の周期)でリフレッシュ処理及びフラッシュ処理を実行する。
【0168】
<3.3.ソフトワイヤリング実行処理例>
図14は、本開示の実施形態に係るソフトワイヤリング実行処理の流れの一例を示すフローチャートである。
図14のソフトワイヤリング実行処理は、第3の周期で、情報処理装置300によって実行される。
【0169】
なお、第3の周期は、第1の周期及び第2の周期それぞれと非同期の周期である。第3の周期は、第1の周期及び第2の周期の少なくとも一方と同じであっても異なっていてもよい。
【0170】
情報処理装置300は、I/O接続機器200を選択する(ステップS301)。ここで、情報処理装置300が選択するI/O接続機器200は、ネットワークに接続するI/O接続機器200に限定されず、ネットワークにまだ接続されていないI/O接続機器200であってもよい。以下、情報処理装置300が選択したI/O接続機器200を選択機器200とも記載する。
【0171】
情報処理装置300は、以前、選択機器200にアクセスしてから、選択機器200のアクセス周期以上の時間が経過したか否かを判定する(ステップS302)。
【0172】
アクセス周期以上の時間が経過していない場合(ステップS302;No)、情報処理装置300は、ステップS310に進む。
【0173】
一方、アクセス周期以上の時間が経過した場合(ステップS302;Yes)、情報処理装置300は、ワイヤリング先のI/O入出力データ点を選択する(ステップS303)。選択したワイヤリング先のI/O入出力データ点を選択ワイヤリング先データ点とも記載する。
【0174】
情報処理装置300は、選択ワイヤリング先データ点のI/O接続機器200が選択機器200と一致しているか否かを判定する(ステップS304)。情報処理装置300は、ソフトワイヤリング定義情報DB330を参照し、選択ワイヤリング先データ点のI/O入出力データ点IDに対応する、ワイヤリング先のネットワークデバイスIDが、選択機器200のネットワークデバイスIDと一致しているか否かを判定する。
【0175】
選択ワイヤリング先データ点のI/O接続機器200が選択機器200と一致していない場合(ステップS304;No)、情報処理装置300は、ステップS309に進む。
【0176】
一方、選択ワイヤリング先データ点のI/O接続機器200が選択機器200と一致している場合(ステップS304;Yes)、情報処理装置300は、選択ワイヤリング元データ点のI/O入出力データ点IDが指定されているか否かを判定する(ステップS305)。
【0177】
ここで、選択ワイヤリング元データ点は、ソフトワイヤリング定義情報において、選択ワイヤリング先データ点に対応する、ワイヤリング元のI/O入出力データ点である。
【0178】
情報処理装置300は、ソフトワイヤリング定義情報DB330を参照し、選択ワイヤリング先データ点のI/O入出力データ点IDに対応するワイヤリング元のI/O入出力データ点IDがあるか否かを判定する。情報処理装置300は、このワイヤリング元のI/O入出力データ点IDがあるか否かに応じて選択ワイヤリング元データ点のI/O入出力データ点IDが指定されているか否かを判定する。
【0179】
選択ワイヤリング元データ点のI/O入出力データ点IDが指定されていない場合(ステップS305;No)、情報処理装置300は、ステップS307に進む。
【0180】
一方、選択ワイヤリング元データ点のI/O入出力データ点IDが指定されている場合(ステップS305;Yes)、情報処理装置300は、第1、第2のI/Oイメージ222、320の少なくとも一方から選択ワイヤリング元データ点の出力情報を読み出す(ステップS306)。情報処理装置300は、選択ワイヤリング元データ点のI/O入出力データ点IDを用いて、選択ワイヤリング先データ点における出力情報を読み出す。
【0181】
情報処理装置300は、選択演算ロジックから入力情報を生成する(ステップS307)。ここで、選択演算ロジックは、ワイヤリング定義情報において選択ワイヤリング先データ点に対応する演算ロジックである。
【0182】
情報処理装置300は、第1、第2のI/Oイメージ222、320の少なくとも一方に、選択ワイヤリング先データ点の入力情報を書き込む(ステップS308)。この入力情報は、選択演算ロジックの演算結果である。
【0183】
情報処理装置300は、全てのワイヤリング先のI/O入出力データ点を選択したか否かを判定する(ステップS309)。
【0184】
選択していないI/O入出力データ点がある場合(ステップS309;No)、情報処理装置300は、ステップS303に戻る。
【0185】
一方、ワイヤリング先の全てのI/O入出力データ点を選択した場合(ステップS309;Yes)、情報処理装置300は、全てのI/O接続機器200を選択したか否かを判定する(ステップS310)。
【0186】
このI/O接続機器200は、ネットワークに接続済み、すなわち実機があるI/O接続機器200に限定されず、ネットワークに未接続、すなわち実機のないI/O接続機器200を含みうる。
【0187】
選択していないI/O接続機器200がある場合(ステップS310;No)、情報処理装置300は、ステップS301に戻る。一方、全てのI/O接続機器200を選択した場合(ステップS310;Yes)、情報処理装置300は処理を終了する。
【0188】
以上のように、本実施形態に係るプロセス制御システムSは、I/Oデバイス400が接続するI/O接続機器200と、情報処理装置300と、制御装置100と、を備える。制御装置100は、通信部110と、取得部121と、演算部122と、を備える。
【0189】
通信部110は、ネットワークを介してI/O接続機器200及び情報処理装置300と通信を行う。取得部121は、第1のI/Oイメージ222及び第2のI/Oイメージ320の少なくとも一方から入力情報を取得する。第1のI/Oイメージ222は、I/O接続機器200が有する。第1のI/Oイメージ222は、I/Oデバイス400に関する入出力情報を記憶する。第2のI/Oイメージ320は、情報処理装置300が有する。第2のI/Oイメージ320は、I/Oデバイス400に関する入出力情報を記憶する。演算部122は、入力情報を用いてI/Oデバイス400に関する制御演算を行う。
【0190】
本実施形態に係るプロセス制御システムSは、上述した課題1、2を解決することができる。また、プロセス制御システムSは、I/O接続機器200の第1のI/Oイメージ222の構造を変化させずにシミュレーションを行うことができる。そのため、制御装置100は、入力情報を読み出す相手が、第1のI/Oイメージ222であるのか、第2のI/Oイメージ320であるのかを区別(意識)せずに入力情報を読み出すことができる。従って、プロセス制御システムSは、ハード依存性/ベンダ依存性が小さく、多様な制御装置100からのI/O入出力要求に対応することができる。
【0191】
本実施形態に係るプロセス制御システムSを用いることで、ユーザは、I/O接続機器200やI/Oデバイス400の実機が用意できていない状況下でも、制御装置100の動作確認テストをより実環境に近い状態で行うことができる。
【0192】
<<4.その他の実施形態>>
<4.1.エイリアス管理サーバ>
上述したプロセス制御システムSにおいて、ユーザがエイリアスによって通信先の指定を行えるようにしてもよい。これを実現するために、本実施形態に係るプロセス制御システムS_Aは、エイリアス管理サーバを備える。
【0193】
図15は、本開示のその他の実施形態に係るプロセス制御システムS_Aの構成例を示す図である。
図9に示すプロセス制御システムSと同じ構成には同一符号を付し、説明を省略する。
【0194】
プロセス制御システムS_Aは、制御装置100Aと、I/O接続機器200Aと、情報処理装置300Aと、管理装置500と、を備える。
【0195】
(制御装置100A)
制御装置100Aは、エイリアス参照部130を備える。エイリアス参照部130は、エイリアス(別名)と通信相手との対応関係を記憶する。通信相手は、例えば、ネットワークIDで識別される装置(例えば、I/O接続機器200Aや情報処理装置300Aなど)であってもよく、I/O入出力データ点IDで識別されるI/O入出力データ点であってもよい。
【0196】
エイリアス参照部130は、例えば、通信部110が指定するエイリアスから通信相手を特定し、特定した通信相手を通信部110に通知する。通信部110は、例えば、エイリアス参照部130が特定した通信相手と通信を行う。
【0197】
また、エイリアス参照部130は、エイリアスを管理する管理装置500からのエイリアス変更通知を受けて、エイリアスの変更内容を制御部120に通知する。これにより、取得部121は、管理装置500が管理するエイリアスに基づき、I/Oイメージ222、330から入出力情報を取得することができる。
【0198】
(I/O接続機器200A)
I/O接続機器200Aは、エイリアス登録部240を備える。エイリアス登録部240は、管理装置500に対して、エイリアスの登録を要求する。例えば、エイリアス登録部240は、I/O接続機器200AのネットワークデバイスIDやI/O入出力データ点IDなどと、エイリアスと、を対応付けて登録を要求する。例えば、エイリアス登録部240は、第1のI/Oイメージ222のI/O入出力データ点に対応するI/O入出力データ点IDと、エイリアスと、を対応付けて登録を要求する。エイリアス登録部240は、I/Oデバイス400に関するエイリアスを登録するよう管理装置500に要求する。
【0199】
(情報処理装置300A)
情報処理装置300Aは、エイリアス登録部350と、エイリアス参照部360と、を備える。
【0200】
エイリアス登録部350は、管理装置500に対して、エイリアスの登録を要求する。例えば、エイリアス登録部350は、情報処理装置300AのネットワークデバイスIDやI/O入出力データ点IDなどと、エイリアスと、を対応付けて登録を要求する。例えば、エイリアス登録部350は、第2のI/Oイメージ320のI/O入出力データ点に対応するI/O入出力データ点IDと、エイリアスと、を対応付けて登録を要求する。エイリアス登録部350は、第2のI/Oイメージ320のI/O入出力データ点に対応するI/Oデバイス400に関するエイリアスを登録するよう管理装置500に要求する。
【0201】
エイリアス参照部360は、例えば、通信部310が指定するエイリアスから通信相手を特定し、特定した通信相手を通信部310に通知する。通信部310は、例えば、エイリアス参照部360が特定した通信相手と通信を行う。
【0202】
また、エイリアス参照部360は、エイリアスを管理する管理装置500からのエイリアス変更通知を受けて、エイリアスの変更内容をソフトワイヤリング定義情報に通知する。
【0203】
(管理装置500)
管理装置500は、PCやワークステーション等の汎用コントローラである。管理装置500は、通信部510と、エイリアス管理部530と、エイリアス管理DB520と、を備える。
【0204】
通信部510は、制御装置100、I/O接続機器200、情報処理装置300、その他の装置との間の通信を制御する処理部である。通信部510は、OPC-UA等のI/O入出力が可能な汎用ネットワーク通信機能を有する。通信部510は、例えば、通信インタフェースなどにより実現される。
【0205】
エイリアス管理DB520は、エイリアス情報を保持するデータベースである。エイリアス情報は、エイリアスと、通信相手であるネットワークデバイスID又はI/O入出力データ点IDと、が対応付けられた情報である。
【0206】
エイリアス管理部530は、エイリアスの管理を行う。エイリアス管理部530は、I/O接続機器200Aのエイリアス登録部240及び情報処理装置300Aのエイリアス登録部350からの要求を受けて、エイリアスの登録を行う。
【0207】
例えば、エイリアス管理部530は、エイリアス登録部240、350からの登録要求に含まれるエイリアスと、ネットワークデバイスID又はI/O入出力データ点IDと、を対応付けたエイリアス情報を登録する。
【0208】
エイリアス管理部530は、例えばエイリアス情報をエイリアス管理DB520に記憶させる。また、エイリアス管理部530は、エイリアス情報を制御装置100のエイリアス参照部130及び情報処理装置300Aのエイリアス参照部360に通知する。
【0209】
なお、エイリアスの登録要求に含まれるネットワークデバイスID又はI/O入出力データ点IDがすでに登録済みである場合、エイリアス管理部530は、エイリアス情報を更新(変更)する。例えば、エイリアス管理部530は、ネットワークデバイスID又はI/O入出力データ点IDに対応するエイリアスを登録要求に含まれるエイリアスで上書きする。
【0210】
エイリアス管理部530は、更新後のエイリアス情報を制御装置100のエイリアス参照部130及び情報処理装置300Aのエイリアス参照部360に通知する。
【0211】
なお、ここでは、エイリアス登録部240、350が登録要求を用いて、エイリアスの登録及び更新(変更)を行うとしたが、エイリアス登録部240、350が変更要求を用いてエイリアスの更新(変更)を行うようにしてもよい。
【0212】
<4.2.処理の同期>
上述した実施形態では、I/O接続機器200及び情報処理装置300が非同期で更新処理及びソフトワイヤリング実行処理それぞれを実行するとしたが、これらの処理を同期して実行するようにしてもよい。
【0213】
例えば、ソフトワイヤリング定義情報DB330が保持するソフトワイヤリング定義情報のワイヤリング先がI/O接続機器200の実機である場合、ソフトワイヤリング部340とI/O接続機器200とが同期されることが求められる。
【0214】
実機であるI/O接続機器200とソフトワイヤリング部340(I/O接続機器200のシミュレーション機能)との動作が非同期である場合に、各動作の周期が乱れると、プロセス制御システムSの動作がシミュレーションとして異常な状態になる恐れがある。
【0215】
具体的には、一周期だけONになるパルス信号をソフトワイヤリング部340で生成するケースで、I/O接続機器200及びソフトワイヤリング部340の動作の周期が乱れたとする。この場合、制御部120が、パルス信号がONになっているタイミングを見逃してしまう可能性がある。
【0216】
実機は、シミュレーションと異なり周期が乱れないアーキテクチャであるため、このような問題は生じないが、一般的なシミュレータ用のマシンには、そのような周期を揃えるスペックがない場合が多い。
【0217】
そこで、ここでは、同期して動作するI/O接続機器200B及び情報処理装置300Bを含むプロセス制御システムS_Bについて説明する。
【0218】
図16は、本開示のその他の実施形態に係るプロセス制御システムS_Bの構成例を示す図である。
図9に示すプロセス制御システムSと同じ構成には同一符号を付し、説明を省略する。
【0219】
プロセス制御システムS_Bは、I/O接続機器200Bと、情報処理装置300Bと、を備える。I/O接続機器200Bは、I/O切り離し部221Bを備える。
【0220】
I/O切り離し部221Bは、情報処理装置300Bのソフトワイヤリング部340Bへ、ソフトワイヤリング実行処理の実行を要求するワイヤリング実行要求を送信する。I/O切り離し部221Bは、通信部210を介して、ワイヤリング実行要求を送信する。
【0221】
それ以外のI/O切り離し部221Bの動作は、
図9に示すI/O切り離し部221と同じである。I/O切り離し部221Bは、制御装置100の制御部120とは非同期で動作する。すなわち、I/O切り離し部221Bによる更新処理は、制御部120による制御処理と非同期で実行される。
【0222】
情報処理装置300Bは、ソフトワイヤリング部340Bを備える。ソフトワイヤリング部340Bは、実行部342Bを備える。実行部342Bは、I/O接続機器200BのI/O切り離し部221Bからのワイヤリング実行要求に従って、ソフトワイヤリング実行処理を実行する。
【0223】
図17は、本開示のその他の実施形態に係るI/O切り離し部200Bによる更新処理の流れの一例を示すフローチャートである。
図17の更新処理は、第2の周期でI/O接続機器200Bによって実行される。なお、第2の周期は、制御装置100が実行する制御処理の第1の周期とは非同期の周期である。第2の周期は第1の周期と同じであっても異なっていてもよい。
【0224】
I/O接続機器200Bは、リフレッシュ処理を実行する(ステップS201)。I/O接続機器200Bが実行するリフレッシュ処理は、
図5に示すリフレッシュ処理と同じであるため説明を省略する。
【0225】
図17に示すように、リフレッシュ処理を実行後、I/O接続機器200Bは、情報処理装置300Bにワイヤリング実行要求を送信する(ステップS401)。その後、I/O接続機器200Bは、フラッシュ処理を実行する(ステップS202)。I/O接続機器200が実行するフラッシュ処理は、
図6に示すリフレッシュ処理と同じであるため説明を省略する。
【0226】
このように、I/O接続機器200Bが情報処理装置300Bにワイヤリング実行要求を送信することで、I/O接続機器200B及び情報処理装置300Bが同期して動作することができる。
【0227】
プロセス制御システムS_Bは、プロセス制御システムSと同様の効果を得られるとともに、I/O接続機器200B及び情報処理装置300Bを同期して動作させることで、より正常にシミュレーションを実行することができる。
【0228】
<5.システム>
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0229】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0230】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0231】
<6.ハードウェア>
次に、制御装置100のハードウェア構成例を説明する。
図18は、制御装置100のハードウェア構成例を説明する図である。
図18に示すように、制御装置100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、
図18に示した各部は、バス等で相互に接続される。
【0232】
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、
図9に示した機能を動作させるプログラムやDBを記憶する。
【0233】
プロセッサ100dは、
図9に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、
図9等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、制御装置100が有する各処理部と同様の機能を実行する。具体的には、プロセッサ100dは、取得部121、演算部122、出力部123等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、取得部121、演算部122、出力部123等と同様の処理を実行するプロセスを実行する。
【0234】
このように、制御装置100は、プログラムを読み出して実行することで各種処理方法を実行する装置として動作する。また、制御装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施形態と同様の機能を実現することもできる。なお、この他の実施形態でいうプログラムは、制御装置100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0235】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【0236】
また、ここでは制御装置100のハードウェア構成例について説明したが、制御装置100A、I/O接続機器200、200A、200B、情報処理装置300、300A、300B等も同様なハードウェア構成で実現され得る。
【0237】
<7.その他>
開示される技術特徴の組合せのいくつかの例を以下に記載する。
(1)
ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行う通信部と、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得する取得部と、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行う演算部と、
を備える制御装置。
(2)
前記制御演算の実行結果を、前記第1の記憶部及び前記第2の記憶部の少なくとも一方に記憶させる出力部をさらに備える、(1)に記載の制御装置。
(3)
前記情報処理装置は、
前記第1の記憶部及び前記第2の記憶部の少なくとも一方から前記演算部による前記制御演算の結果に応じた前記デバイス情報を取得し、
前記I/Oデバイスに関する演算ロジックを実行し、
前記演算ロジックの実行結果を前記第1の記憶部及び前記第2の記憶部の少なくとも一方に記憶させる、
(1)又は(2)に記載の制御装置。
(4)
前記情報処理装置は、配線定義情報に基づき、前記I/Oデバイスに関する前記演算ロジックを実行し、
前記配線定義情報は、前記I/Oデバイスが接続する前記I/O接続機器を識別する情報を含む、
(3)に記載の制御装置。
(5)
前記情報処理装置は、前記I/O接続機器に応じたアクセス周期に応じて前記デバイス情報を取得する、(3)又は(4)に記載の制御装置。
(6)
前記情報処理装置は、前記アクセス周期が経過した場合に前記演算ロジックを実行する、(5)に記載の制御装置。
(7)
前記情報処理装置は、前記I/O接続機器ごとに前記I/Oデバイスの前記演算ロジックを実行する、(3)~(6)のいずれか1つに記載の制御装置。
(8)
前記情報処理装置は、配線先の前記I/Oデバイスが、前記演算ロジックの実行対象である前記I/O接続機器に接続されている場合、当該I/Oデバイスの前記演算ロジックを実行する、(7)に記載の制御装置。
(9)
前記取得部は、エイリアス管理装置が管理するエイリアスに基づき、前記デバイス情報を取得する、(1)~(8)のいずれか1つに記載の制御装置。
(10)
前記I/O接続機器は、前記第1の記憶部が記憶する前記デバイス情報に対応する前記I/Oデバイスに関する前記エイリアスを登録するよう前記エイリアス管理装置に要求するエイリアス登録部を備える、(9)に記載の制御装置。
(11)
前記情報処理装置は、前記第2の記憶部が記憶する前記デバイス情報に対応する前記I/Oデバイスに関する前記エイリアスを登録するよう前記エイリアス管理装置に要求するエイリアス登録部を備える、(9)又は(10)に記載の制御装置。
(12)
前記情報処理装置は、前記I/O接続機器から演算ロジックの実行要求を受信した場合に、前記演算ロジックを実行する、(1)~(11)のいずれか1つに記載の制御装置。
(13)
ネットワークを介してI/Oデバイスが接続するI/O接続機器及び情報処理装置と通信を行うことと、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得することと、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行うことと、
を含む制御方法。
(14)
I/Oデバイスが接続するI/O接続機器と、
情報処理装置と、
制御装置と、
を備え、
前記制御装置は、
ネットワークを介して前記I/O接続機器及び前記情報処理装置と通信を行う通信部と、
前記I/O接続機器が有し、前記I/Oデバイスに関するデバイス情報を記憶する第1の記憶部、及び、前記情報処理装置が有し、前記デバイス情報を記憶する第2の記憶部の少なくとも一方から前記デバイス情報を取得する取得部と、
前記デバイス情報を用いて前記I/Oデバイスに関する制御演算を行う演算部と、
を備える制御システム。
【符号の説明】
【0238】
100 制御装置
110,210,310,510 通信部
120 制御部
121,341 取得部
122 演算部
123,343 出力部
130,360 エイリアス参照部
200 I/O接続機器
220 I/O接続部
221 I/O切り離し部
222 第1のI/Oイメージ
230 I/O切り離し定義情報DB
240,350 エイリアス登録部
300 情報処理装置
320 第2のI/Oイメージ
330 ソフトワイヤリング定義情報DB
340 ソフトワイヤリング部
342 実行部
400 I/Oデバイス
500 管理装置
520 エイリアス管理DB
530 エイリアス管理部
S プロセス制御システム