(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114285
(43)【公開日】2024-08-23
(54)【発明の名称】制御演算装置及び制御装置
(51)【国際特許分類】
G05B 19/05 20060101AFI20240816BHJP
【FI】
G05B19/05 S
G05B19/05 N
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023019951
(22)【出願日】2023-02-13
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】平野 竜馬
(72)【発明者】
【氏名】松山 拓紀
(72)【発明者】
【氏名】大西 直哉
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA01
5H220BB17
5H220CX05
5H220HH01
5H220JJ26
5H220JJ35
5H220KK03
5H220MM08
(57)【要約】 (修正有)
【課題】本発明の実施形態は、周期通信を維持して通信部を切り替える制御演算装置及び制御装置を提供する。
【解決手段】制御演算装置は、第1の経路により一定周期の通信である周期通信を行う第1の通信部、および、第2の経路により周期通信を行う第2の通信部を備える。さらに、周期通信を制御し、第1の通信部または第2の通信部の切り替えに関する切替通知を送信する通信制御部を備える。さらに制御演算装置は、周期通信のタイムアウト時間を算出する時間算出部を備える。さらに制御演算装置は、制御装置から受信したセンサデータに基づいて、制御対象設備の制御演算を実施し、制御対象設備の制御演算の結果を制御装置に送信する制御演算部を備える。さらに、通信制御部は、前記タイムアウト時間に基づいて、第1の通信部を前記第2の通信部に切り替える切替通知を送信し、または、第2の通信部を第1の通信部に切り替える切替通知を送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1の経路により一定周期の通信である周期通信を行う第1の通信部と、
第2の経路により前記周期通信を行う第2の通信部と、
前記周期通信を制御し、前記第1の通信部または前記第2の通信部の切り替えに関する
切替通知を送信する通信制御部と、
前記周期通信のタイムアウト時間を算出する時間算出部と、
制御装置から受信したセンサデータに基づいて、制御対象設備の制御演算を実施し、前
記制御対象設備の制御演算の結果を前記制御装置に送信する制御演算部と、を備え、
前記通信制御部は、
前記タイムアウト時間に基づいて、
前記第1の通信部を前記第2の通信部に切り替える前記切替通知を送信し、または、
前記第2の通信部を前記第1の通信部に切り替える前記切替通知を送信する、
制御演算装置。
【請求項2】
前記通信制御部は、
前記第1の通信部で、前記タイムアウト時間内に前記周期通信により送信される周期通
信データを受信しない場合に、前記第2の通信部で前記切替通知を送信し、前記切替通知
の応答である切替応答を受信後に、前記第2の通信部へと切替を行い、または、
前記第2の通信部で、前記タイムアウト時間内に前記周期通信データを受信しない場合
に、前記第1の通信部で前記切替通知を送信し、前記切替応答を受信後に、前記第1の通
信部に切替を行う、請求項1に記載の制御演算装置。
【請求項3】
前記時間算出部は、
前記周期通信の間隔と、前記周期通信の往復時間とに基づいて、前記タイムアウト時間
を算出する、請求項1に記載の制御演算装置。
【請求項4】
前記時間算出部は、
前記周期通信の間隔から、前記周期通信の往復時間の平均値または中央値を差し引いて
、前記タイムアウト時間を算出し、または、
前記周期通信の往復時間によって表される確率分布の種類に基づいて、曜日及び時間に
対応する前記タイムアウト時間を算出する、請求項3に記載の制御演算装置。
【請求項5】
前記時間算出部は、
前記周期通信の間隔から、前記周期通信の往復時間の標準偏差をさらに差し引いて、前
記タイムアウト時間を算出し、または、
前記周期通信の間隔から、前記第1または第2の通信部の切り替えに要する切替処理時
間をさらに差し引いて、前記タイムアウト時間を算出する、
請求項4に記載の制御演算装置。
【請求項6】
前記時間算出部は、
前記周期通信の間隔から、前記周期通信の往復時間によって表される確率分布の累積確
率が3シグマまたは6シグマに収まる時間を差し引いて、前記タイムアウト時間を算出す
る、請求項4に記載の制御演算装置。
【請求項7】
曜日及び時間に対応する前記タイムアウト時間を格納する記憶部をさらに備え、
前記通信制御部は、前記記憶部から、前記周期通信を行う時の曜日及び時間に対応する
前記タイムアウト時間を読み出す、請求項4に記載の制御演算装置。
【請求項8】
前記時間算出部は、前記通信制御部が測定した前記周期通信の往復時間に基づいて、前
記タイムアウト時間を更新する、請求項1に記載の制御演算装置。
【請求項9】
第1の経路により一定周期の通信である周期通信を行う第1の通信部と、
第2の経路により前記周期通信を行う第2の通信部と、
前記周期通信を制御し、前記第1の通信部または前記第2の通信部の切り替えに関する
切替通知を送信する通信制御部と、
前記周期通信のタイムアウト時間を算出する時間算出部と、
制御演算装置から受信した制御対象設備の制御演算の結果に基づいて、前記制御対象設
備に関する制御信号を生成する制御部と、を備え、
前記通信制御部は、
前記タイムアウト時間に基づいて、
前記第1の通信部を前記第2の通信部に切り替える前記切替通知を送信し、または、
前記第2の通信部を前記第1の通信部に切り替える前記切替通知を送信する、
制御装置。
【請求項10】
前記通信制御部は、
前記第1の通信部で、前記タイムアウト時間内に前記周期通信により送信される周期通
信データを受信しない場合に、前記第2の通信部で前記切替通知を送信し、前記切替通知
の応答である切替応答を受信後に、前記第2の通信部に切替を行い、または、
前記第2の通信部で、前記タイムアウト時間内に前記周期通信データを受信しない場合
に、前記第1の通信部で前記切替通知を送信し、前記切替応答を受信後に、前記第1の通
信部に切替を行う、請求項9に記載の制御装置。
【請求項11】
前記時間算出部は、
前記周期通信の間隔と、前記周期通信の往復時間とに基づいて、前記タイムアウト時間
を算出する、請求項9に記載の制御装置。
【請求項12】
前記時間算出部は、
前記周期通信の間隔から、前記周期通信の往復時間の平均値または中央値を差し引いて
、前記タイムアウト時間を算出し、または、
前記周期通信の往復時間によって表される確率分布の種類に基づいて、曜日及び時間に
対応する前記タイムアウト時間を算出する、請求項11に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御演算装置及び制御装置に関する。
【背景技術】
【0002】
従来、PLC(Programable Logic Controller)等の制御装置によって行われていた制
御演算をクラウド上で実行する制御演算装置では、制御演算の結果について、ネットワー
クを介して、エッジ側の制御装置に送信する。現場の制御装置は、受信した制御演算の結
果を用いて、計装機器等の制御を行う。
【0003】
また、クラウド上の制御演算装置は、ネットワークを介して現場側の制御装置と一定周
期で通信(周期通信)を行い、計装機器等の制御を行っている。クラウド上の制御演算装
置は、ネットワークを構成するルータの故障等により、この一定周期の通信が継続できな
い場合、計装機器の制御ができなくなる可能性がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した技術では、第1のネットワークインタフェースから第2のネットワークインタ
フェースへ通信を切り替えることが記載されている。しかし、上述の技術は、周期通信を
維持して切り替える方法についての記載がなく、計装機器等における制御の通信には不適
である。
【0006】
そこで、本発明の実施形態は、周期通信を維持して通信部を切り替える制御演算装置及
び制御装置を提供する。
【課題を解決するための手段】
【0007】
一つの実施形態によれば、制御演算装置は、第1の経路により一定周期の通信である周
期通信を行う第1の通信部を備える。さらに前記制御演算装置は、第2の経路により前記
周期通信を行う第2の通信部を備える。さらに前記制御演算装置は、前記周期通信を制御
し、前記第1の通信部または前記第2の通信部の切り替えに関する切替通知を送信する通
信制御部を備える。さらに前記制御演算装置は、前記周期通信のタイムアウト時間を算出
する時間算出部を備える。さらに前記制御演算装置は、制御装置から受信したセンサデー
タに基づいて、制御対象設備の制御演算を実施し、前記制御対象設備の制御演算の結果を
前記制御装置に送信する制御演算部を備える。さらに、前記通信制御部は、前記タイムア
ウト時間に基づいて、前記第1の通信部を前記第2の通信部に切り替える前記切替通知を
送信し、または、前記第2の通信部を前記第1の通信部に切り替える前記切替通知を送信
する。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態における制御システムの全体構成図である。
【
図2】第1実施形態における制御演算装置と制御装置との接続図である。
【
図3】第1実施形態における制御演算装置及び制御装置が第1の通信部から第2の通信部に切り替える際のメッセージシーケンスチャートである。
【
図4】第1実施形態における制御装置の第1の通信部及び第2の通信部が送信するデータの例である。
【
図5】第1実施形態における通信制御部が第1の通信部から第2の通信部に切り替える際のフローチャートである。
【
図6】第1実施形態における往復時間データベースの例である。
【
図7】第1実施形態におけるタイムアウト時間の設定例を表す図である。
【
図8】第2実施形態における制御演算装置等のハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態を、図面を参照して説明する。本実施形態は、本発明を限定す
るものではない。図面は模式的又は概念的なものであり、各部分の比率等は、必ずしも現
実のものと同一とは限らない。明細書と図面において、既出の図面に関して前述したもの
と同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0010】
(第1実施形態)
図1は、第1実施形態における制御システムの全体構成図である。
【0011】
本実施形態における制御システム1は、制御演算装置10と制御装置11とを備える。
また、制御演算装置10と、制御装置11とは、第1のネットワーク20及び第2のネッ
トワーク21によって接続される。制御装置11は、例えば工場等、制御対象設備が設置
されるエッジ側に設置され、制御演算装置10は、例えばプラントから離れたクラウド上
に設置される。
【0012】
また、制御装置11には、センサ40やアクチュエータ50が接続される。制御装置1
1は、センサ40から、温度、湿度または圧力等に加え、スイッチのオンオフ等のセンサ
データを収集し、第1のネットワーク20及び第2のネットワーク21のいずれかを使用
し、制御演算装置10に送信する。
【0013】
制御演算装置10は、制御装置11より送信されたセンサデータに基づいて、制御対象
設備を制御するための制御演算を実施する。制御演算の結果は、再び第1のネットワーク
20及び第2のネットワーク21のいずれかを使用し、制御装置11に送信される。制御
装置11は、制御演算の結果に基づいて制御信号を生成し、アクチュエータ50に送信す
る。
【0014】
アクチュエータ50は、制御信号により動作し、電気信号である制御信号が物理運動に
変換され、制御対象設備(不図示)を動作させる。
【0015】
また、制御演算装置10には、HMI(Human Machine Interface)30が接続される
。例えば、ユーザは、HMI30によって、制御演算プログラムを作成し、制御演算装置
10や制御装置11へプログラムのダウンロード等を行う。
【0016】
本実施形態では、制御演算装置10のことをクラウド側制御装置とも呼び、制御装置1
1のことをエッジ側制御装置とも呼ぶ。また、制御演算装置10は、制御装置11の上位
側に接続されることから、制御演算装置10が設置される側を上位側と呼び、制御装置1
1が設置される側を下位側と呼ぶ。以下、各機器について説明を行う。
【0017】
制御演算装置10は、制御装置11から受信したセンサデータに基づいて、制御対象設
備を制御するための制御演算を実施する。制御演算装置10は、制御演算の結果を制御装
置11に送信する。センサデータの受信や制御演算の結果の送信等データ送信等、データ
の送受信は、第1のネットワーク20及び第2のネットワーク21のいずれかを介して行
われる。制御演算装置10は、一方のネットワークに障害が発生した場合、後述する第1
及び第2の通信部12a、12bの切り替えによって、もう一方のネットワークに切り替
えてデータの送受信を行い、制御対象設備の制御を継続することができる。ネットワーク
の切り替え動作の詳細については後述する。
【0018】
制御装置11は、センサ40からのセンサデータを取得し、制御演算装置10に送信す
る。また、制御装置11は、制御演算装置10による制御演算の結果を受信する。制御装
置11は、制御演算装置10から受信した制御演算の結果に基づいて制御信号を生成する
。また、制御装置11は、制御信号をアクチュエータ50に送信し、アクチュエータ50
を動作させる。センサデータの送信や制御演算の結果の受信等、データの送受信は、第1
のネットワーク20及び第2のネットワーク21のいずれかを介して行われる。制御装置
11は、一方のネットワークに障害が発生した場合、後述する第1及び第2の通信部12
a’、12b’の切り替えによって、もう一方のネットワークに切り替えてデータの送受
信を行い、制御対象設備の制御を継続することができる。制御演算装置10のブロック図
やネットワーク切り替え動作の詳細については後述する。
【0019】
第1のネットワーク20及び第2のネットワーク21は、制御演算装置10と、制御装
置11との間における冗長回線として構築される。各ネットワーク20、21は、光回線
またはメタル回線等の有線回線の他、4G(4th Generation)回線、5G(5th Generatio
n)回線、多重無線回線または衛星回線等の無線回線によって構築される。各ネットワーク
20、21におけるルータ等のネットワーク設備の記載については省略する。各ネットワ
ーク20、21は専用線として構築されてもよく、インターネット等の公衆回線を用いて
構築されてもよい。また、各ネットワーク20、21は、一方のネットワークが有線回線
として構築され、もう一方のネットワークが無線回線として構築されていてもよい。また
、ネットワークの途中の区間に有線回線または無線回線が混在していてもよい。第1のネ
ットワーク20は、第1の経路の例であり、第2のネットワーク21は、第2の経路の例
である。
【0020】
また、制御演算装置10及び制御装置11は、常時、第1のネットワーク20及び第2
のネットワーク21の2回線を使ってデータの送受信を行うと、データ量の増加によって
使用する帯域が増加し、回線費用が上昇してしまう。そのため、制御演算装置10及び制
御設備11は、第1のネットワーク20または第2のネットワークはいずれか一方のみを
用いて通信を行う。
【0021】
HMI30は、制御対象設備の制御状況について、ユーザインターフェースを通じて表
示する。オペレータは、HMI30を通じて制御対象設備を監視することができる。また
、制御演算装置10や制御装置11は、HMI30から制御プログラムをダウンロードす
ることができる。詳細は後述するが、HMI30は、ユーザからタイムアウト時間を算出
するための入力データの入力を受け付ける。
【0022】
図2は、第1実施形態における制御演算装置と制御装置との接続図である。
【0023】
以下では、制御演算装置10における各機能ブロックと、制御装置11における各機能
ブロックとを区別するため、制御装置11における第1の通信部12aを第1の通信部1
2a’と表す。また、第2の通信部12b、通信制御部13、時間算出部14、往復時間
データベース15及び記憶部16について、それぞれ、第2の通信部12b’、通信制御
部13’、時間算出部14’、往復時間データベース15’及び記憶部16’と表す。ま
た、これらの機能ブロックは、同様の機能であるため、制御演算装置10で説明する。
【0024】
制御演算装置10の第1の通信部12aと、制御装置11の第1の通信部12a’とは
、第1のネットワーク20を介して接続されている。また、第2の通信部12bと12b
’とは、第2のネットワーク21を介して接続されている。
【0025】
制御演算装置10は、通信制御部13、時間算出部14、記憶部16及び制御演算部1
7を備える。また、制御演算装置10は、例えばPC(Personal Computer)に制御演算
装置10用のプログラムをインストールすることで実現できる。制御演算装置10内のC
PU(Central Processing Unit)が、制御演算装置10のプログラムを実行することに
より、通信制御部13、時間算出部14、記憶部16及び制御演算部17の機能が実現さ
れる。記憶部16は、タイムアウト時間等を記憶する領域である往復時間データベース1
5を備え、例えば、HDD(Hard Disc Drive)上の補助記憶装置上に構築される。また
、制御演算装置10は、PCにVM(virtual machine)として実装されてもよい。
【0026】
また、制御演算装置10は、第1の通信部12a及び第2の通信部12bを備える。そ
れぞれの通信部12a、12bは、例えば、ネットワークインタフェースである。また、
それぞれの通信部12a、12bは、2つの物理ポートとして実装されてもよく、仮想ポ
ートとして1つの物理ポートに2つのポートを実装されてもよい。
【0027】
以下の例では、第1の通信部12a及び第2の通信部12bはそれぞれ物理ポートを有
するものとして説明する。
【0028】
通信制御部13は、後述するタイムアウト時間に基づいて、周期通信が滞りなく行われ
ているかどうかを判断し、第1の通信部12aまたは第2の通信部12bのうち、いずれ
を使用するかを決定する。
【0029】
時間算出部14は、HMI30に入力された入力データに基づいて、タイムアウト時間
を算出する。時間算出部14の詳細は後述する。
【0030】
往復時間データベース15は、入力データ及びタイムアウト時間を保持する。例えば、
往復時間データベース15は、時間及び曜日ごとのタイムアウト時間を保持する。
【0031】
制御演算部17は、第1の通信部12aまたは第2の通信部12bを介して制御装置1
1から受信したセンサデータ等に基づいて、制御対象設備を動作させるための制御演算を
実施する。制御演算は、制御対象設備を制御するための演算である。例えば、制御演算部
17は、第1の通信部12aまたは第2の通信部12bを介して、制御装置11からセン
サ40のセンサデータを受信する。また、制御演算部17は、受信したセンサデータに基
づいて、制御対象設備を動作させるため、アクチュエータ50に対する出力値を演算する
。この制御演算の結果は、第1の通信部12aまたは第2の通信部12bを介して、制御
装置11に送信される。
【0032】
制御装置11は、通信制御部13’、時間算出部14’、記憶部16’及び制御部18
を備える。また、制御装置11は、例えばPC(Personal Computer)に制御装置11用
のプログラムをインストールすることで実現できる。制御装置11内のCPU(Central
Processing Unit)が、制御装置11のプログラムを実行することにより、通信制御部1
3’、時間算出部14’、記憶部16’及び制御部18の機能が実現される。記憶部16
’は、タイムアウト時間等を記憶する領域である往復時間データベース15’を備え、例
えば、HDD(Hard Disc Drive)上の補助記憶装置上に構築される。また、制御装置1
1は、PLCとして実装されてもよい。
【0033】
制御部18は、第1の通信部12a’または第2の通信部12b’を介して、センサデ
ータを、制御演算装置10に送信する。また、制御部18は、制御演算装置10から、第
1の通信部12a’または第2の通信部12b’を介して、制御演算の結果を受信する。
制御部18は、制御演算の結果に基づいて、アクチュエータ50を制御する制御信号を生
成し、アクチュエータ50に送信する。アクチュエータ50は、制御信号によって動作し
、これにより制御対象設備が動作する。
【0034】
以下では、通信制御部13または13’が第1の通信部12aまたは第2の通信部12
bを介して、一定の周期ごとに、周期通信データを送信することを周期通信と呼ぶ。また
、周期通信を開始する時間から、次の周期通信を開始するまでの時間のことを周期通信の
間隔と呼ぶ。以下、周期通信を保ちながら、各ネットワークを切り替える方法について説
明する。切替動作について説明を単純化するため、センサデータの送受信や制御演算の結
果の送受信については、説明を省略する。
【0035】
図3は、第1実施形態における制御演算装置及び制御装置が第1の通信部から第2の通
信部に切り替える際のメッセージシーケンスチャートである。
【0036】
図3では、制御演算装置10が周期通信を保ちながら、通信部を切り替える具体的な流
れについて説明する。
【0037】
ステップS21では、制御演算装置10は、通信制御部13が第1の通信部12aを介
して、第1の通信部12a’に周期通信データを送信する。ステップS22では、制御装
置11は、通信制御部13’が第1の通信部12a’を介して、第1の通信部12aに周
期通信データを送信する。
【0038】
この周期通信データの送信タイミングは、通信制御部13、13’がタイマを用いて実
現してもよく、また、制御演算装置10及び制御装置11に、周期通信管理部(不図示)
を機能ブロックとして備え、この周期通信管理部がタイマ等を用いて実現してもよい。ま
た、周期通信データの送信タイミングは、その他の手段を用いて実現してもよい。
【0039】
周期通信データの送受信が正常に行われている間は、ステップS21~S22の動作が
繰り返される。本実施形態では、通信制御部13が第1の通信部12aから周期通信デー
タの送信を開始した時間から、通信制御部13’が送信した周期通信データを第1の通信
部12aで受信するまでの間を周期通信の往復時間と呼ぶ。また、周期通信の往復時間は
、通信制御部13が第2の通信部12bから周期通信データの送信を開始した時間から、
通信制御部13’が送信した周期通信データを第2の通信部12bで受信するまでの間と
して表されてもよい。また、周期通信の往復時間は、例えば通信制御部13及び13’が
周期通信データを送信するにあたり、通信制御部13及び13’で発生する処理時間も含
めてもよい。
【0040】
第1のネットワーク20と第2のネットワーク21は異なる通信媒体を用いて通信を行
うため、制御演算装置10が、それぞれの経路から周期通信データを送信する場合、遅延
時間はそれぞれ異なる場合がある。以下、本実施形態では、周期通信の往復時間は、第1
のネットワーク20を介した周期通信によって算出されるものとして説明する。
【0041】
ステップS22でタイムアウト時間内に、第1の通信部12aが通信制御部13’から
周期通信データを受信できなかった場合、ステップS23では、通信制御部13は、タイ
ムアウトを検知し、第1の通信部12aを用いた通信に異常があると判定する。ステップ
S24では、通信制御部13は、第1の通信部12aから第2の通信部12bに通信を切
り替えるため、第2の通信部12bから制御装置11の第2の通信部12b’に対して、
切替通知を送信する。
【0042】
なお、このフローチャートでは省略しているが、通信制御部13は、切替通知を送信す
る前に、第2の通信部12bで制御装置11から切替通知を受信しているか確認する動作
を含めてもよい。
【0043】
また、ステップS24で通信制御部13が切替通知を送信する時に、第2の通信部12
bと、第2の通信部12b’は互いに通信を可能とするためのネゴシエーションを行って
もよい。また、ネゴシエーションは、制御システム1のサービスインの前等、あらかじめ
実施してもよい。
【0044】
ステップS25では、通信制御部13’は、第2の通信部12b’で切替通知を受信す
ると、以降の周期通信を第1の通信部12a’から第2の通信部12b’に切り替える処
理をする。ステップS25で通信制御部13’が切替処理を行うと、ステップS26では
、通信制御部13’は、第2の通信部12bに切替応答を送信する。
【0045】
ステップS27では、第2の通信部12bで切替応答を受信すると、通信制御部13は
、以降の周期通信を第1の通信部12aから第2の通信部12bに切り替える処理を行う
。ステップS28では、制御演算装置10は、通信制御部13が第2の通信部12bを介
して、第2の通信部12b’に周期通信データを送信する。
【0046】
ステップS29では、通信制御部13’は、通信制御部13’が第2の通信部12b’
を介して、第2の通信部12bに周期通信データを送信する。
【0047】
以降の周期通信では、ステップS28~S29の動作が繰り返される。
【0048】
図4は、第1実施形態における制御装置の第1の通信部及び第2の通信部が送信するデ
ータの例である。
【0049】
制御演算装置10及び制御装置11が周期通信で送信するデータは同様の内容であるた
め、
図4では、制御装置11が送信したデータを制御演算装置10が受信する例について
説明する。
【0050】
上述の周期通信において、例えば、上述した第1の通信部12aは、タイムアウトを検
知した後に、第1の通信部12a’から遅れて周期通信データを受信してしまう場合が起
こりうる。このように、データを遅れて受信してしまった場合でも、切替処理を誤りなく
継続するための方法について説明する。
【0051】
図4に示す通り、通信制御部13及び13’から送信されるデータは、通番が割り振ら
れている。この通番は、通信制御部13または13’で、それぞれ独立した番号が割り振
られ、通信制御部13または13’がデータを送信する度に純増するよう割り振られる。
また、この通番は、周期通通信データや切替通知といった各送信データとともに送信され
る。また、この通番は、必ずしも0や1といった番号から始まる必要がなく、周期信号の
中で送信データの送信順序が判別できるように割り振られればよい。
【0052】
通信制御部13または13’から送信された通番は、受信側にて管理される。受信側の
通信制御部13’または13は、受信したデータに付与された通番を確認し、前回受信し
た送信データに割り振られた通番から、増加していればその送信データを採用する。通番
が古い番号であった場合や同じ番号であった場合、そのデータを破棄する。
【0053】
図4は、第2の通信部12bがステップS26にて切替応答を受信した後、周期通信デ
ータを受信した例を示している。つまり、通信制御部13は、周期通信のタイムアウトの
検出に伴い、第1の通信部12aから第2の通信部12bに切替処理を実行したが、その
後、遅れて第2通信部12bに周期通信データを受信した例を示している。
【0054】
この例では、通信制御部13’は、最初の送信データである周期通信データに通番「3
1」を割り振り、次の送信データである切替応答に通番「32」を割り振った例を表して
いる。受信側である第2の通信部12bは、通番「32」の切替応答を先に受信し、その
後、遅れて通番「31」の周期通信データを受信している。この場合、遅れて到着した通
番「31」の周期通信データは、先に受信した通番「32」の切替応答よりも通番が小さ
いため、通信制御部13によって周期通信データが破棄される。
【0055】
通信制御部13は、周期通信データを破棄することで、正しいメッセージシーケンスチ
ャート通り、ステップS27にて、第1の通信部12aから第2の通信部12bへと切替
処理を行う。
【0056】
このように、通信制御部13’が送信するデータそれぞれに純増する通番を割り振り、
受信側の通信制御部13が通番の入れ替わりを判断することで、制御演算装置10及び制
御装置11は、誤りなく通信を継続することができる。
【0057】
図5は、第1実施形態における通信制御部が第1の通信部から第2の通信部に切り替え
る際のフローチャートである。
【0058】
制御演算装置10及び制御装置11による各通信部の切り替えは、同様なフローにより
行われるため、
図5では、通信制御部13が第1の通信部12aから第2の通信部12b
に切り替える例を取り上げて説明する。
【0059】
本フローチャートでは、制御演算装置10及び制御装置11は、それぞれ第1の通信部
12a及び12a’を用いて周期通信を行っているものとして説明する。
【0060】
ステップS31において、通信制御部13は、往復時間データベース15より、その時
刻に対応するタイムアウト時間を読み出し、周期通信データの受信待機状態となる。本実
施形態では、通信制御部13は、周期通信の度に往復時間データベース15から読み出す
こととしているが、処理の高速化のため、制御演算装置10は、代わりにキャッシュメモ
リにアクセスする構成としてもよい。例えば、各時刻に対応するタイムアウト時間をキャ
ッシュメモリに格納し、通信制御部13は、周期通信のたびに、キャッシュメモリにアク
セスし、その時刻に対応するタイムアウト時間を読み出す構成とすることが考えられる。
キャッシュメモリへのタイムアウト時間の格納は、例えば、制御演算装置10の起動時や
、運用中に行うことが考えられる。ステップS32では、通信制御部13は、第1の通信
部12aにて、タイムアウト時間内に通信制御部13’から送信された周期通信データを
受信するかを判断する。
【0061】
ステップS32で、タイムアウト時間内に周期通信データを受信した場合、ステップS
33では、通信制御部13は、第1の通信部12a、12a’及び第1のネットワーク2
0は健全であると判断し、第1の通信部12aの使用を継続する。ステップS32で、タ
イムアウト時間内に周期通信データを受信しなかった場合、ステップS34では、通信制
御部13は、第1の通信部12a、12a’及び第1のネットワーク20のいずれかに障
害が発生したと判断する。通信制御部13は、周期通信で使用している第1の通信部12
aではなく、第2の通信部12bで制御装置11から送信された切替通知を受信している
か判断する。
【0062】
ステップS34で、第2の通信部12bが制御装置11から送信された切替通知を受信
している場合、ステップS35では、通信制御部13は、第2の通信部12bを介して第
2の通信部12b’に切替応答を送信する。ステップS36では、通信制御部13は、周
期通信を第1の通信部12aから第2の通信部12bに切り替える処理を行う。
【0063】
ステップS34で、第2の通信部12bが制御装置11から送信された切替通知を受信
していなかった場合、ステップS37では、通信制御部13は、第2の通信部12bを介
して第2の通信部12b’に切替通知を送信する。ステップS38では、通信制御部13
は、タイムアウト時間内に、第2の通信部12bで制御装置11から送信された切替応答
を受信するか判断する。
【0064】
ステップS38で、第2の通信部12bが制御装置11から送信された切替応答を受信
した場合、ステップS39では、通信制御部13は、周期通信を第1の通信部12aから
第2の通信部12bに切り替える処理を行う。ステップS38で、第2の通信部12bが
制御装置11から送信された切替応答を受信しなかった場合、再びステップS37に戻り
、通信制御部13は、第2の通信部12bを介して第2の通信部12b’に切替通知を再
送する。図中のフローチャートには図示しないが、再送回数には上限を設けてもよい。ま
た、再送回数が上限に達した場合、通信制御部13は、再び第1の通信部12aにて周期
通信を試みてもよい。また、再送回数が上限に達した場合、再度ステップS31に戻り、
このフローチャートを開始してもよい。再送方法については、例えば、TCP(Transmis
sion Control Protocol)等の再送機能を有する既存の通信方法を用いてもよい。
【0065】
また、ステップS38で、第2の通信部12bが制御装置11から送信された切替応答
を受信しなかった場合、通信制御部13は、切替通知を再送するのではなく、再度ステッ
プS31に戻り、このフローチャートを開始してもよい。通信制御部13は、最初から連
続的に周期通信データや各通知を送信することで、切替通知の確達性を高めてもよい。
【0066】
また、本フローチャートでは、ステップS33、S36及びS39の後、切替処理は終
了する流れとなっているが、通信制御部13は、次の周期通信のタイミングになった場合
、再びステップS31から処理を開始する。また、その際は、第1の通信部12aと、第
2の通信部12bとを読み替えてフローチャートを適用する。切り替え完了後は、通常通
り、センサデータの受信や制御演算の結果の送信等、データの送受信を行うことができる
。
【0067】
図6は、第1実施形態における往復時間データベースの例である。
【0068】
この図では、制御演算装置10の往復時間データベース15について説明する。制御装
置11の往復時間データベース15’は、往復時間データベース15と同様であるため説
明を省略する。
【0069】
往復時間データベース15には、周期通信の往復時間によって表される確率分布の種類
、その確率分布にパラメータとして代入する変数、往復時間の平均値、中央値、標準偏差
及びタイムアウト時間等が、曜日及び時間ごとに分類されて格納される。
【0070】
本実施形態では、時間、曜日、確率分布、変数の数、変数群、平均値、中央値、標準偏
差及びタイムアウト値が格納される。時間の項目は分や秒等、さらに細かい単位として格
納されてもよい。曜日の項目については、例えば日や月といった単位として格納されても
よい。
【0071】
本実施形態では、往復時間データベース15に上記のデータを格納するにあたり、HM
I30は、入力インターフェース(不図示)を通じて、ユーザからの入力を受け付ける。
この例では、HMI30は、時間、曜日、確率分布の種類、変数の数、変数群、平均値、
中央値、標準偏差を入力データとして受け付ける。また、HMI30は、入力インターフ
ェースを通じて、CSVファイル等の入力データに関する設定ファイルのアップロードを
受け付けてもよい。また、入力データは、HMI30を介して入力するのではなく、制御
演算装置10に直接、保守用PCを接続し、入力データを流し込むこととしてもよい。
【0072】
時間算出部14は、入力データに基づいて、タイムアウト時間を算出する。また、時間
算出部14は、入力データとタイムアウト時間を紐づけて、往復時間データベース15に
格納する。
【0073】
往復時間データベース15に格納するデータはこれらに限定されない。例えば、往復時
間データベース15に格納されるデータには、往復時間の最大値、最小値、最頻値または
歪度等のデータを含んでもよい。また、上述したデータのうち、いずれかのデータが往復
時間データベース15に含まれていなくてもよい。
【0074】
一般的に、インターネット等の公衆回線は、曜日や時間帯に応じて混雑の度合いが変わ
り、例えば、平日であれば日中よりも夜間に輻輳が生じることが多い。通信の輻輳が生じ
た場合、周期通信の往復時間に遅れが生じる。
【0075】
上述した理由により、縦軸を確率とし、横軸を時間として、周期通信の往復時間を確率
分布として表した場合、正規分布のような分布ではなく、例えば、レイリー分布、ガンマ
分布または指数分布といった分布に近い形状を示す場合がある。
【0076】
本実施形態では、ユーザは、HMI30への入力にあたり、あらかじめ、周期通信の往
復時間によって表される確率分布の種類について、曜日及び時間帯ごとに分類する。時間
算出部14は、その確率分布の種類によって表される平均値、中央値または標準偏差等か
ら、曜日及び時間帯ごとにタイムアウト時間を算出し、往復時間データベース15に格納
する。
【0077】
図6では、確率分布の種類を指数分布、レイリー分布及びガンマ分布の3種類に分類し
た例を示している。また、
図6の変数の数及び変数群は、各確率分布の式にパラメータと
して代入する変数の数や、その変数の値を示している。確率分布の種類は、これらに限定
されず、正規分布やパレード分布等、他の確率分布のモデルに分類してもよい。
【0078】
また、
図6の平均値、中央値及び標準偏差は、確率分布の式にパラメータとなる変数の
値を代入した場合における、周期通信の往復時間の平均値、中央値及び標準偏差を示して
いる。
図6のタイムアウト時間は、時間算出部14によって算出されたタイムアウト時間
を示している。
【0079】
また、確率分布の種類は、例えば、周期通信の往復時間の確率分布に基づいて、ユーザ
によってあらかじめ分類され、HMI30の入力インターフェースに入力される他、教師
ありの機械学習モデルによって自動で分類されてもよい。例えば、別の制御システムに関
する通信往復時間の確率分布に関するプロットデータと、その分布が表す確率分布の種類
とを時間算出部14に教師データとして学習させる。HMI30がユーザから本実施形態
の制御システム1に関する往復時間の確率分布に関するプロットデータを入力として受け
付けた際に、時間算出部14は、出力として確率分布の種類を出力するよう学習させても
よい。また、時間算出部14は、確率分布の種類の出力に加え、例えば、変数の数、変数
群を出力するよう学習させてもよい。また、これらの値に基づいて、時間算出部14は、
通信往復時間の平均値、中央値または標準偏差を算出し、出力してもよい。
【0080】
往復時間データベース15は、例えば、制御システム1のサービスイン前に作成するの
が望ましい。例えば、制御システム1のサービスイン前に、仮運用期間を設ける等して、
制御システム1によって、周期通信の往復時間を収集することとしてもよい。また、通信
制御部13は常時、周期通信を行っているため、制御システム1のサービスイン後には、
通信制御部13が測定した周期通信の往復時間に基づいて、時間算出部14は、タイムア
ウト時間を更新し、往復時間データベース15に格納する構成としてもよい。タイムアウ
ト時間の更新は、例えば、HMI30の入力インターフェースに更新ボタンを用意し、ユ
ーザが更新ボタンを押下することで、時間算出部14がタイムアウト時間を算出すること
としてもよい。また、タイムアウト時間は、あらかじめ決められたタイミングで更新する
こととしてもよい。
【0081】
図7は、第1実施形態におけるタイムアウト時間の設定例を表す図である。
【0082】
図7a~7cの横軸tは、経過時間を表しており、横軸内の各項目は、その時間におけ
る制御演算装置10の動作内容を表している。
【0083】
タイムアウト時間は、制御演算装置10及び制御装置11で同様な算出方法で設定され
るため、
図7では、制御演算装置10におけるタイムアウト時間の設定方法について説明
する。
【0084】
通信制御部13は、例えば、第1の通信部12aから第2の通信部12bに通信を切り
替える際に、周期通信の周期を保つため、次の周期通信の周期通信データの送信までに、
切替処理を完了させる。通信制御部13は、上記の切替処理にあたり、第2の通信部12
bから切替通知を送信し、その後、通信制御部13’より送信される切替応答を第2の通
信部12bで受信する必要があるため、周期通信の往復時間と同程度の時間が必要となる
。以下、時間算出部14によって算出されるタイムアウト時間の例についていくつか説明
する。
【0085】
図7aは、第1実施形態におけるタイムアウト時間の設定例である。
【0086】
本実施形態では、時間算出部14は、周期通信の間隔から、周期通信の往復時間の平均
時間を引いた値をタイムアウト時間として算出する。
【0087】
図7bは、第1実施形態におけるタイムアウト時間の別の設定例である。
【0088】
輻輳等の理由により、時間や曜日によって、周期通信の往復時間が変動するため、周期
通信の往復時間の平均時間のみを用いると、通信制御部13は、周期通信の間隔を保てな
い場合もある。そのため、時間算出部14は、タイムアウト時間の算出にあたり、平均時
間に加え、標準偏差をさらに差し引いてもよい。この場合、タイムアウト時間は、周期通
信の間隔から、周期通信の往復時間の平均時間及び標準偏差を差し引いた値となる。
【0089】
図7cは、第1実施形態におけるタイムアウト時間のさらに別の設定例である。
【0090】
タイムアウト時間の算出にあたり、時間算出部14は、上述した
図7bの値から、第1
の通信部12aから第2の通信部12bに通信を切り替える切替処理時間をさらに差し引
いてもよい。この場合、タイムアウト時間は、周期通信の間隔から、周期通信の往復時間
の平均時間及び標準偏差及び切替処理時間を差し引いた値となる。
【0091】
また、タイムアウト時間は、平均時間を用いる代わりに、周期通信の往復時間の中央値
を用いてもよい。この場合、タイムアウト時間は、周期通信の間隔から、周期通信の往復
時間の中央値を差し引いた値となる。同様に、タイムアウト時間の算出に当たり、時間算
出部14は、この値から標準偏差をさらに差し引いてもよい。同様に、時間算出部14は
、この値から、切替処理時間をさらに差し引いてもよい。
【0092】
また、タイムアウト時間の算出にあたり、さらにマージンを持たせてもよい。このマー
ジンとは、切替処理時間以外の処理時間について、事前に測定することが考えられる。そ
の他、周期通信の往復時間の最大値、最小値、最頻値または歪度等を用いてもよい。
【0093】
また、タイムアウト時間の算出にあたり、累積確率を用いてもよい。例えば、時間算出
部14は、周期通信の往復時間の累積確率が3シグマまたは6シグマに収まる往復時間を
算出し、周期通信の間隔からこの値を差し引いてもよい。例えば、標準偏差をシグマとす
ると、3シグマに収まる往復時間は、周期通信の往復時間の平均値と、標準偏差の3倍の
値とを足し合わせた時間となる。また、6シグマに収まる往復時間は、周期通信の往復時
間の平均値と、標準偏差の6倍の値とを足し合わせた時間となる。
【0094】
第1実施形態によれば、制御演算装置10及び制御装置11は、第1のネットワーク2
0や第2のネットワーク21等の障害により通信ができない場合でも、タイムアウト時間
に基づいて各通信部12aまたは12bの切り替えを行う。これにより、制御演算装置1
0及び制御装置11は、周期通信を欠損させることなく通信を継続することができる。
【0095】
また、本実施形態によれば、第1のネットワーク20や第2のネットワーク21等の障
害が発生した場合でも、通信を継続することができるため、制御演算装置10は制御演算
の送信を継続し、制御対象設備の稼働を継続することができる。
【0096】
また、本実施形態によれば、通信制御部13、13’は、切替通知及び切替応答の送受
信状況に基づいて、お互いの第1の通信部12a、12a’または第2の通信部12b、
12b’を切り替える。そのため、通信制御部13、13’は、障害の発生箇所を具体的
に特定する動作を不要とし、速やかにネットワークを切り替えることができる。具体的に
は、通信制御部13、13’は、第1の通信部12a、12a’、第1のネットワーク2
0、第2のネットワーク21または第2の通信部12b、12b’のうち、どこで障害が
発生したかを特定する動作を不要とし、ネットワークの切替を速やかに行うことができる
。
【0097】
また、本実施形態によれば、時間算出部14は、周期通信の間隔から、往復時間の平均
値や中央値を差し引いてタイムアウト時間を算出する。これにより、通信制御部13及び
13’は、障害が発生した場合でも周期通信の間隔を保ち、お互いの第1の通信部12a
、12a’または第2の通信部12b、12b’を切り替えることができる。
【0098】
また、本実施形態によれば、時間算出部14は、タイムアウト時間の算出にあたり、往
復時間の標準偏差を差し引いてもよい。これにより、制御演算装置10、往復時間にばら
つきがある場合でも、周期通信の間隔を保ち、お互いの第1の通信部12a、12a’ま
たは第2の通信部12b、12b’を切り替えることができる。
【0099】
また、本実施形態によれば、時間算出部14は、タイムアウト時間の算出にあたり、切
替処理時間を差し引いてもよい。これにより、制御演算装置10は、切替処理時間に大き
な時間を要する場合でも、周期通信の間隔を保ち、お互いの第1の通信部12a、12a
’または第2の通信部12b、12b’を切り替えることができる。
【0100】
また、本実施形態によれば、時間算出部14は、タイムアウト時間の算出に当たり、往
復時間の累積確率が3シグマまたは6シグマに収まる時間を用いてもよい。これにより、
制御演算装置10は、より確実に周期通信の間隔を保つことができる。
【0101】
また、本実施形態によれば、時間算出部14は、曜日及び時間帯ごとにタイムアウト時
間を算出する。これにより、通信制御部13は、通信の輻輳状況に応じて柔軟にタイムア
ウト時間を変えることができる。
【0102】
(第2実施形態)
図8は、第2実施形態における制御演算装置等のハードウェア構成図である。
【0103】
図8の制御演算装置10は、CPU等のプロセッサ52と、RAM等の主記憶装置53
と、HDD等の補助記憶装置54と、LAN(Local Area Network)ボード等のネットワ
ークインタフェース55と、メモリスロットやメモリポート等のデバイスインタフェース
56、と、これらの機器を互いに接続するバス57とを備えている。制御演算装置10は
例えば、PC(Personal Computer)等のコンピュータであり、キーボードやマウス等の
入力装置や、LCD(Liquid Crystal Display)モニタ等の出力装置を備えている。
【0104】
本実施形態においては、制御演算装置10の情報処理をコンピュータに実行させるため
のプログラムが、補助記憶装置54内にインストールされている。制御演算装置10は、
このプログラムを主記憶装置53に展開して、プロセッサ52により実行する。これによ
り、
図2に示す各ブロック13~16の機能を制御演算装置10内で実現し、第1実施形
態で説明したタイムアウト時間の算出等が可能となる。なお、この情報処理により生成さ
れたデータは、主記憶装置53に一時的に保持されるか、補助記憶装置54内に格納され
保存される。また、本実施形態では、1つのLANボードに2ポート分の物理ポートが配
置されており、それぞれ、第1の通信部12a及び第2の通信部12bとして機能する。
【0105】
このプログラムは例えば、このプログラムを記録した外部装置58をデバイスインタフ
ェース56に装着し、このプログラムを外部装置58から補助記憶装置54に格納するこ
とでインストール可能である。外部装置58の例は、コンピュータ読み取り可能な記録媒
体や、このような記録媒体を内蔵する記録装置である。記録媒体の例はCD-ROM(Co
mpact Disk Read Only Memory)、CD-R(Compact Disk Recordable)、フレキシブル
ディスク、DVD-ROM(Digital Versatile Disk Read Only Memory)、DVD-R (D
igital Versatile Disk Recordable)であり、記録装置の例はHDDである。また、この
プログラムは例えば、このプログラムをネットワークインタフェース55を介してダウン
ロードすることでインストール可能である。
【0106】
本実施形態によれば、第1実施形態における制御演算装置10の機能をソフトウェアに
より実現することが可能となる。
【0107】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示した
ものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新
規な制御演算装置10及び制御装置11は、その他の様々な形態で実施することができる
。また、本明細書で説明した制御演算装置10及び制御装置11の形態に対し、発明の要
旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求
の範囲及びこれに均等な範囲は、発明の範囲や要旨に含まれるこのような形態や変形例を
含むように意図されている。
【符号の説明】
【0108】
1:制御システム、10:制御演算装置、11:制御装置、12a:第1の通信部、
12a’:第1の通信部、12b:第2の通信部、12b’:第2の通信部、
13:通信制御部、13’:通信制御部、14:時間算出部、14’:時間算出部、
15:往復時間データベース、15’:往復時間データベース、16:記憶部、
17:制御演算部、18:制御部、20:第1のネットワーク、
21:第2のネットワーク、30:HMI、40:センサ、50:アクチュエータ、
52:プロセッサ、53:主記憶装置、54:補助記憶装置、
55:ネットワークインタフェース、56:デバイスインタフェース、
57:バス、58:外部装置