(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】制御装置、制御システム、及び時刻同期方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20241025BHJP
H04L 12/28 20060101ALI20241025BHJP
G05B 19/05 20060101ALI20241025BHJP
【FI】
H04L7/00 990
H04L12/28 200Z
G05B19/05 J
(21)【出願番号】P 2021168749
(22)【出願日】2021-10-14
【審査請求日】2024-05-30
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】佐々本 学
(72)【発明者】
【氏名】清水 俊樹
(72)【発明者】
【氏名】大塚 祐策
(72)【発明者】
【氏名】酒田 輝昭
【審査官】阿部 弘
(56)【参考文献】
【文献】国際公開第2021/079599(WO,A1)
【文献】国際公開第2021/131530(WO,A1)
【文献】特開2009-284054(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04L 12/28
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
被制御装置に対する制御を実行する制御システムを構成する制御装置であって、
前記制御装置に関する情報を送受信する通信部と、
前記通信部を介して、時刻マスタ装置である制御装置から受信した時刻同期情報を格納する共有データ格納部と、
他の前記制御装置の共有データ格納部への格納と同期して、自制御装置の共有データ格納部へ時刻同期情報の格納を制御する同期更新部と、
前記時刻マスタ装置に対するクロックのずれ量を検出し、前記検出されたクロックのずれ量を前記共有データ格納部へ格納する時刻管理部と、
前記共有データ格納部に格納された前記クロックのずれ量に基づいて時刻マスタ装置を選択し、他制御装置と調停し時刻マスタ装置を決定する調停部とを備えることを特徴とする制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記調停部は、前記時刻マスタ装置との通信が遮断された場合に、他の前記制御装置から新たに時刻マスタ装置を選択することを特徴とする制御装置。
【請求項3】
請求項1に記載の制御装置であって、
前記調停部は、前記共有データ格納部に格納された前記クロックのずれ量が最小の制御装置を時刻マスタ装置に選択することを特徴とする制御装置。
【請求項4】
請求項1に記載の制御装置であって、
前記時刻管理部は、接続している通信路の情報を前記共有データ格納部へ格納し、
前記調停部は、前記格納された通信路の情報に基づいて時刻マスタ装置を選択することを特徴とする制御装置。
【請求項5】
請求項1に記載の制御装置であって、
前記時刻管理部は、自制御装置が時刻マスタ装置に決定された場合、自制御装置のクロックのずれ量を加算して時刻同期情報を他の前記制御装置に送信することを特徴とする制御装置。
【請求項6】
請求項2に記載の制御装置であって、
前記調停部は、元の時刻マスタ装置である制御装置との通信が復帰した場合、当該制御装置を時刻マスタ装置に選択することを特徴とする制御装置。
【請求項7】
請求項6に記載の制御装置であって、
前記時刻管理部は、自制御装置の通信が遮断された後、再接続まで自制御装置のクロックのずれ量を加算してクロックを補正し自走することを特徴とする制御装置。
【請求項8】
請求項1に記載の制御装置であって、
前記共有データ格納部は、所定数の前記制御装置から受信した時刻同期情報を格納する記憶領域を有し、クロックの差分が小さい制御装置の時刻同期情報を格納することを特徴とする制御装置。
【請求項9】
請求項1に記載の制御装置であって、
前記クロックのずれ量は、時刻の差分及び時刻変化の差分であって、
前記調停部は、前記クロックの時刻の差分が最小の制御装置を時刻マスタ装置に選択し、
前記制御装置は、前記時刻の差分及び前記時刻変化の差分を加算してクロックを補正することを特徴とする制御装置。
【請求項10】
被制御装置に対する制御を実行する制御システムであって、
複数の制御装置と、前記複数の制御装置を通信可能に接続するネットワークとを備え、
前記複数の制御装置の各々は、
前記制御装置に関する情報を送受信する通信部と、
前記通信部を介して、時刻マスタ装置である制御装置から受信した時刻同期情報を格納する共有データ格納部と、
他の前記制御装置の共有データ格納部への格納と同期して、自制御装置の共有データ格納部へ時刻同期情報の格納を制御する同期更新部と、
前記時刻マスタ装置に対するクロックの時刻変化の差分及び時刻の差分を検出し、前記検出されたクロックの差分を前記共有データ格納部へ格納する時刻管理部と、
前記共有データ格納部に格納された前記制御装置のクロックの時刻の差分から時刻マスタ装置を選択し、他制御装置と調停し時刻マスタ装置を決定する調停部とを有することを特徴とする制御システム。
【請求項11】
被制御装置に対する制御を実行する制御システムを構成する制御装置が実行する時刻同期方法であって、
前記制御システムは、複数の制御装置と、前記複数の制御装置を通信可能に接続するネットワークとを有し、
前記時刻同期方法は、
前記制御装置が、時刻マスタ装置である制御装置から受信した時刻同期情報を共有データ格納部に格納し、
前記制御装置が、他の前記制御装置の共有データ格納部への格納と同期して、自制御装置の共有データ格納部へ時刻同期情報の格納を制御し、
前記制御装置が、前記時刻マスタ装置に対するクロックの時刻変化の差分及び時刻の差分を検出し、前記検出されたクロックの時刻の差分を前記共有データ格納部へ格納し、
前記制御装置が、前記共有データ格納部に格納された前記制御装置のクロックの差分から時刻マスタ装置を選択し、他制御装置と調停し時刻マスタ装置を決定することを特徴とする時刻同期方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システムを構成する制御装置に関する。
【背景技術】
【0002】
各種の社会インフラシステムには、制御システムが設置されている。制御システムには、演算処理を実行する複数の制御装置による制御システムの自動化と効率化とによって、社会インフラシステムが自動化され、効率化されている。
【0003】
このような制御システムを構成する制御装置は、フィールドに設置されるセンサなどの検出機器から各種の状態量などの取得情報を取得し、制御装置の中央演算処理装置が演算処理を実行する。そして、制御装置は、フィールドに設置されるモータやアクチュエータなどの操作機器に制御指令を出力し、制御対象である操作機器をリアルタイムに制御する。
【0004】
また、大規模な社会インフラシステムにおける制御システムは、複数の制御装置が共通ネットワークを介して接続され、分散制御システムを構成する。分散制御システムは、広大なフィールドに設置される複数の検出機器から取得される取得情報を1カ所の制御装置に集約し、演算処理を実行する。このような分散制御システムは、演算処理を実行する制御装置と制御指令を出力する制御装置との役割を分担し、高い効率の制御を実行する。
【0005】
分散制御システムにおける制御装置間でデータを同期する方法として、共有メモリ方式がある。共有メモリ方式では、分散制御システムを構成するそれぞれの制御装置が、それぞれの制御装置に実装されるメモリに共有メモリを有し、自制御装置は、共有メモリに格納されるデータを他制御装置に送信する。これにより、制御装置間でデータが共有され、制御装置間の通信負荷が軽減される。
【0006】
さらに、複数の制御装置が時刻同期し、タイミングを合わせて制御対象に対する制御指令を出力することで、複数の工程を同時に実施したり、時系列に所望の時刻に処理するなど、高精度なリアルタイム制御も考えられる。そのため、前述の共通ネットワークでは、時刻同期のための情報をやり取りし、各制御装置が時刻を同期する。
【0007】
この技術分野の背景技術として、特開2009―284054号公報(特許文献1)がある。特許文献1には、時刻基準装置が送信するUTCに対して直接時間同期が確立できる基地局と、直接時間同期が確立できない基地局と、を含む通信システムであって、直接時間同期が確立できない基地局が、直接時間同期が確立できる基地局から時間誤差情報を取得し、取得した情報に基づいて時間同期を確立するためのマスタ局を選択し、遅延量計測のための遅延量計測信号をマスタ局に送信し、マスタ局が、遅延量計測信号を基地局に転送し、遅延量Eを計測して基地局に通知し、基地局が遅延量Eに基づいてマスタ局と時間同期を確立する通信システムが記載されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載された通信システムでは、クロックマスタである複数の基地局から、大元のクロックマスタからの段数が小さい基地局を選んで時刻同期を確立する。しかし、特許文献1には、クロックマスタと自局のクロックのずれ量の考慮や、複数の基地局間で共有した情報から調停して一つのクロックマスタを決定する技術は記載されていない。
【0010】
そこで、本発明は、複数の制御装置間で共有した情報から調停して時刻同期を実現し、高精度なリアルタイム制御を継続し、製品の品質、精度向上させる精度の高い制御を実現する制御装置の提供を目的とする。
【課題を解決するための手段】
【0011】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、被制御装置に対する制御を実行する制御システムを構成する制御装置であって、前記制御装置に関する情報を送受信する通信部と、前記通信部を介して、時刻マスタ装置である制御装置から受信した時刻同期情報を格納する共有データ格納部と、他の前記制御装置の共有データ格納部への格納と同期して、自制御装置の共有データ格納部へ時刻同期情報の格納を制御する同期更新部と、前記時刻マスタ装置に対するクロックのずれ量を検出し、前記検出されたクロックのずれ量を前記共有データ格納部へ格納する時刻管理部と、前記共有データ格納部に格納された前記クロックのずれ量に基づいて時刻マスタ装置を選択し、他制御装置と調停し時刻マスタ装置を決定する調停部とを備えることを特徴とする。
【発明の効果】
【0012】
本発明の一態様によれば、高精度なリアルタイム制御を実現できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】実施例1に係る制御システムの構成を示す図である。
【
図2】実施例1に係る制御装置の構成を説明する説明図である。
【
図3】実施例1に係る制御装置の機能構成を示す図である。
【
図4】実施例1に係る制御装置の他の機能構成を示す図である。
【
図5】実施例1に係る制御装置の動作タイミングを示すタイミングチャートである。
【
図6】実施例1に係る制御装置の情報保持部の内容の一例を示す図である。
【
図7】実施例1に係る制御装置の共有データ格納部の内容の一例を説明する説明図である。
【
図8】実施例1に係る制御装置の時刻同期情報の例を示す図である。
【
図9】実施例1に係る各制御装置の補正後の時刻同期情報の例を示す。
【
図10】実施例1に係る制御装置の時刻同期動作の状態を示す図である。
【
図11】実施例1に係る制御装置(制御システム)がセンサから取得される取得情報及び時刻同期情報を共有する処理のフローチャートである。
【
図12】実施例1に係る制御装置が制御指令を演算し、制御装置が制御指令を共有する処理のフローチャートである。
【
図13】実施例2に係る制御装置を鉄鋼システムに適用した一例を説明する説明図である。
【
図14】実施例3に係る制御装置をFAシステムに適用した一例を説明する説明図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を参照して説明する。なお、実質的に同一又は類似の構成には、同一の符号を付し、説明が重複する場合には、重複する説明を省略する場合がある。
【実施例1】
【0015】
先ず、実施例1に係る制御システムの構成を説明する。
【0016】
図1は、実施例1に係る制御システムの構成を示す図である。
【0017】
実施例1の制御システムは、制御装置(制御A)100、制御装置(制御B)101、制御装置(制御C)102が共通ネットワーク1を介して接続され、分散制御システムを構成する。
【0018】
制御装置100、101、102は、フィールドに設置されるモータ8、11やアクチュエータ9などの操作機器(制御対象である被制御装置)に制御指令(制御信号、指令値などの制御データ)を出力し、操作機器をリアルタイムに制御する。つまり、分散制御システムは、操作機器に対する制御を実行する制御装置によって構成される。
【0019】
共通ネットワーク1は、例えば、TSN(Time Sensitive Network)と呼称されるIEEE規格で構成される通信方式によるデータ通信を実行するネットワークや、IEC61784などにより規格化される産業用ネットワークなど、時分割制御に基づくタイムスロット通信を使用することにより、制御装置間の通信遅延における時間確定性を向上させるネットワークである。また、接続形態としては、有線ケーブルによる接続や、携帯電話網や無線LANなどの無線での接続でもよい。
【0020】
制御装置100は、CPU(Central Processing Unit)1001とメモリ1002とを有する。同様に、制御装置101は、CPU1011とメモリ1012とを有し、制御装置102は、CPU1021とメモリ1022とを有する。
【0021】
メモリ1002には、各制御装置で動作するプログラムAを保持する領域と、各制御装置が取得する保持情報Aを保持する領域と、共通ネットワーク1を介して各制御装置間で共有される共有データを保持する領域(共有データ領域)が設けられる。ここでの共有データには、制御Aで得た取得情報や、他制御装置から受信した制御指令などの情報が含まれる。同様に、メモリ1012は、プログラムBと保持情報Bとを保持する領域、及び、共有データを保持する領域、が設置され、メモリ1022は、プログラムCと保持情報Cとを保持する領域、及び、共有データを保持する領域、が設置される。
【0022】
また、制御装置100には、フィールドネットワーク20を介して、センサA7、モータA8、アクチュエータA9が接続される。同様に、制御装置101には、フィールドネットワーク21を介して、センサB10、モータB11が接続され、制御装置102には、フィールドネットワーク22を介して、センサC12、センサC13が接続される。
【0023】
なお、フィールドネットワーク20、21、22は、例えば、IEC61158によって規定されるネットワークでもよい。また、制御装置100等と検出機器7等や操作機器8、9等との間を、直接接続して、デジタル信号やアナログ信号を入出力してもよい。この場合、制御装置100等と各検出機器7等や各制御対象8、9等とは、複数の入出力信号線により接続されるとよい。
【0024】
制御装置100は、センサ7から入力されたセンシングデータを、共通ネットワーク1を介して、制御装置101及び制御装置102と共有データとして共有する。同様に、制御装置101は、センサ10から入力されたセンシングデータを、共通ネットワーク1を介して、制御装置100及び制御装置102と共有データとして共有し、制御装置102は、センサ12及びセンサ13からの入力を受けて、共通ネットワーク1を介して、制御装置101及び制御装置102と共有データを共有する。
【0025】
そして、特に、制御装置102は、共有される入力データから、例えば、モータ8、アクチュエータ9、モータ11への制御指令(指令値)を演算し、制御装置101及び制御装置102と制御指令を共有する。一方、制御装置100は、共有される制御指令によって、モータ8及びアクチュエータ9を制御し、同様に、制御装置101は、共有される制御指令によって、モータ11を制御する。
【0026】
なお、フィールドに設置されるセンサ7、センサ10、センサ12、センサ13は、検出機器であり、各種の流量、温度、圧力、張力、回転速度などの状態量である取得情報を検出し、取得する。
【0027】
次に、実施例1に係る制御装置100の構成を説明する。
【0028】
図2は、実施例1に係る制御装置100の構成を説明する説明図である。
【0029】
制御装置100は、CPU1001、メモリ1002、通信制御部1003、インタフェース部1004、不揮発性記憶媒体1005、バス1006及び入出力部1007を有する。
【0030】
なお、ここでは、制御装置100について説明するが、制御装置101及び制御装置102も、基本的な構成は、制御装置100と同じである。
【0031】
CPU1001は、制御装置100の各構成要素の動作を制御する中央演算処理装置である。
【0032】
メモリ1002には、CPU1001が動作する際に使用される一時的な記憶領域であり、不揮発性記憶媒体1005から転送されるオペレーティングシステム(以下、OSと呼称する)や、アプリケーションプログラムなどが格納される。
【0033】
また、メモリ1002には、各制御装置で動作するプログラムAを保持する領域と、各制御装置が取得する保持情報A(各制御装置が検出機器や制御対象から取得する情報)を保持する領域と、共通ネットワーク1を介して各制御装置間で共有される共有データ(制御Aで取得される取得情報や制御指令)を保持する領域が設けられる。
【0034】
通信制御部1003は、共通ネットワーク1を介して、制御装置101及び制御装置102とデータ通信を実行する。データ通信の方式としては、例えば、IEEE802.3規格のMAC(Media Access Control)層の機能が実装されるとよい。なお、通信制御部1003の実装例としては、例えば、IC(Integrated Circuit)、FPGA(Field Programmable Gate Array)、ゲートアレイなどがある。また、通信制御部1003は、CPU1001と一体化して構成されてもよい。
【0035】
更に、通信制御部1003は、ネットワークを使用し時刻同期パケットをやり取りして時刻同期プロトコルを実行する機能を有する。つまり、通信制御部1003は、時刻同期パケットの送受信時における計時機能や、時刻同期パケットへの補正値の設定や加算などの機能を有する。このような時刻同期プロトコルとして、IEEE1588、IEEE802.1AS、NTP、SNTPが使用される。また、通信制御部1003は、同期時刻に基づく時刻管理機能を有し、制御装置101及び制御装置102への同期時刻情報を通信する。
【0036】
インタフェース部1004は、共通ネットワーク1との間で、データを送受信する。インタフェース部1004は、例えば、IEEE802.3の物理層の機能が実装される。なお、インタフェース部1004は、通信制御部1003に含まれもよい。
【0037】
図2では、制御装置100は、一つの通信制御部1003及び一つのインタフェース部1004を有しているが、複数の通信制御部1003及び複数のインタフェース部1004を有してもよい。
【0038】
不揮発性記憶媒体1005は、情報の記憶媒体であり、例えばOS、アプリケーション、デバイスドライバ、CPU1001を動作させるプログラム、プログラムの実行結果が保存される。
【0039】
不揮発性記憶媒体1005は、例えば、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリなどで構成される。また、不揮発性記憶媒体1005は、外部記憶媒体として取り外しが容易なUSBメモリ、ソリッドステートドライブなどで構成されてもよい。
【0040】
入出力部1007は、制御装置100に接続される装置、例えば、センサ7から取得情報を取得し、モータ8やアクチュエータ9を制御する入出力インタフェースである。入出力部1007は、例えば、前述の各種のフィールドネットワーク20の機能や、デジタル入出力機能やアナログ入出力機能が実装される。なお、
図2では、入出力部1007から1本の信号線を図示しているが、複数の信号線があってもよい。
【0041】
バス1006は、CPU1001、メモリ1002、通信制御部1003、不揮発性記憶媒体1005及び入出力部1007を、通信可能に接続する。
【0042】
次に、実施例1に係る制御装置の機能構成を説明する。
【0043】
図3は、実施例1に係る制御装置の機能構成を示す図である。
【0044】
図3に示す制御装置は、時刻同期部300、通信部301、同期更新部302、共有データ格納部303、時刻管理部304、入出力制御部305、情報保持部306及び調停部307を有する。つまり、制御装置100、制御装置101、制御装置102は、これら機能部を有することが好ましい。特に好ましくは、制御装置100、制御装置101は、これら機能部を有する。
【0045】
時刻同期部300は、時刻同期手順を実行する。時刻同期部300が実行する時刻同期プロトコルは、前述のIEEE1588、IEEE802.1AS、NTP、SNTPなどである。なお、時刻同期部300は、後述の通信部301で時刻同期パケットの送信時や受信時に計測する時刻などを使用し、制御装置101及び制御装置102と時刻同期する。つまり、時刻同期部300は、分散制御システムを構成する他制御装置と時刻同期する。
【0046】
なお、時刻同期部300は、CPU1001で動作するアプリケーションで実現してもよいし、通信制御部1003をICやFPGAによるハードウェア論理回路で実現してもよい。また、時刻同期部300を、CPU1001のソフトウェアと通信制御部1003のハードウェアとの両方で構成してもよい。この場合、時刻同期パケットの送信タイミングや受信タイミングの計測機能や、時刻同期パケットフォーマットの生成は、通信制御部1003で処理するとよい。
【0047】
通信部301は、共通ネットワーク1に接続し、共通ネットワーク1の通信プロトコルに基づいて、通信をする機能部である。例えば、通信部301は、CPU1001で動作するソフトウェア、通信制御部1003、インタフェース部1004で構成される。つまり、通信部301は、共通ネットワーク1を介して、自制御装置に関する情報を他制御装置に送信し、他制御装置に関する情報を他制御装置から受信する。通信部301は、自制御装置に関して自制御装置が取得した情報(センサ情報)を送信し、他制御装置に関して他制御装置が取得した情報(センサ情報)を受信する。
【0048】
同期更新部302は、通信部301から受信した通信内容を保持する。同期更新部302は、後述の時刻管理部304から通知される同期時刻情報(時刻通知や時刻通知割込などを含む)によって、保持する情報を後述の共有データ格納部303に格納する。つまり、同期更新部302は、他制御装置の共有データ格納部303への共有データ(情報)の格納と同期して、又は、他制御装置の共有データ格納部303からの共有データ(情報)の格納と同期して、自制御装置の共有データ格納部303へ共有データ(情報)を格納する。
【0049】
共有データ格納部303は、各制御装置間で共有する共有データを保持する機能部である。共有データ格納部303には、各制御装置の共有データ領域が割り当てられる。例えば、各制御装置が周期的なブロードキャスト通信を実行し、受信した制御装置が、送信元の制御装置を識別し、該当する共有データ領域を更新する。共有データ格納部303は、後述の情報保持部306に保持された情報を格納する。そして、共有データ格納部303は、他制御装置から送信された共有データを格納し、後述の演算部401にて演算された制御対象に対する制御指令を格納する。
【0050】
時刻管理部304は、同期時刻に基づいて、各制御装置における後述の情報保持部306の同期時刻情報を管理する。
【0051】
入出力制御部305は、例えば、制御装置100に接続されるセンサ7から取得情報を取得し、モータ8やアクチュエータ9を制御し、情報を入出力する。つまり、入出力制御部305は、検出機器から取得情報を取得し、制御対象を制御する情報を入出力する。
【0052】
情報保持部306は、入出力制御部305から入力されるセンサ情報などを保持する。情報保持部306は、例えばリングバッファで構成され、情報保持部306は、センサ情報を保持する際に、時刻管理部304から通知される同期時刻情報(センサ情報を取得した時刻が付加されたセンサ情報)、つまり、センサ情報と当該センサ情報を取得した時刻とを保持する。また、情報保持部306は、時刻同期の状態についても、時刻管理部304からの情報を受け保持する。そして、情報保持部306は、保持したデータを共有データ格納部303に格納する。また、情報保持部306は、共有データ格納部303に格納された情報を取り込んで保持する。
【0053】
調停部307は、共有データに格納され、共通ネットワーク1に接続されている各制御装置の時刻同期の情報に基づいて、共通ネットワーク1に接続されている制御装置の中から時刻同期のためのクロックマスタを選択する。例えば、クロックマスタからメッセージが受信できなければ、クロックマスタとの通信が切断されており、新しいクロックマスタを選択する。通信の切断は、例えば、無線通信の不安定性によって生じたり、ケーブル断やコネクタ離脱による有線通信回線の切断によって生じ得る。
【0054】
このように、実施例1に係る制御装置は、分散制御システムを構成する他制御装置と時刻同期する時刻同期部300と、他制御装置に自制御装置に関する情報を送信し、他制御装置から他制御装置に関する情報を受信する通信部301と、情報に同期時刻情報を付加し、情報を保持する情報保持部306と、共有データを格納する共有データ格納部303と、を有する。
【0055】
また、同期更新部302は、通信部301を介して共有データを送信する。
【0056】
次に、実施例1に係る制御装置の他の機能構成を説明する。
【0057】
図4は、実施例1に係る制御装置の他の機能構成を示す図である。
【0058】
図4に示す制御装置は、時刻同期部300、通信部301、同期更新部302、共有データ格納部303、時刻管理部304、入出力制御部305(図示なし)情報保持部306、調停部307及び演算部401を有する。なお、時刻同期部300、通信部301、同期更新部302、共有データ格納部303、時刻管理部304、入出力制御部305、情報保持部306及び調停部307は、
図3に示す機能部と同じである。
【0059】
この制御装置は、特に、演算部401を有し、制御装置102に対応する。なお、
図3に示す制御装置が、演算部401を有してもよい。つまり、制御装置102は、演算部401を有する。
【0060】
演算部401は、入出力制御部305に接続されるモータやアクチュエータを制御するため、必要な制御指令を演算する。演算部401における演算処理は、共有データ格納部303から取得する、各制御装置が取得した取得情報(センサ情報)を使用し、実行される。演算部401は、共有データ格納部303に格納されている取得情報(センサ情報)を読み出し、制御指令を演算する。演算される制御指令は、共有データ格納部303に格納され、他制御装置(制御装置100及び制御装置101)と共有する。つまり、演算部401は、通信部301にて送信された共有データに基づいて、制御対象に対する制御指令を演算する。
【0061】
自制御装置(制御装置100及び制御装置101)に割り当てられる制御指令は、自制御装置の共有データ格納部303から読み出され、
図2に示す入出力部1007(
図3に示す入出力制御部305)に接続されるモータやアクチュエータに出力される。なお、演算部401は、CPU1001で動作するソフトウェアで実現される。
【0062】
次に、実施例1に係る制御装置の動作タイミングを説明する。
【0063】
図5は、実施例1に係る制御装置の動作タイミングを示すタイミングチャートであり、制御システムが予め決定される制御周期に基づいて処理を実行する状態を示す。
【0064】
図5(a)は、制御装置100、制御装置101及び制御装置102の各共有データを制御周期の先頭において共有していることを示す。
【0065】
制御装置100がデータを共有し、制御装置100のデータ共有時間が終了すると制御装置101がデータを共有し、制御装置101のデータ共有時間が終了すると制御装置102がデータを共有する。そして、制御装置102のデータ共有時間が終了すると、次の制御周期の開始時刻までの間、各制御装置のCPUは、演算や制御などの別の処理を実行する。
【0066】
つまり、各制御装置は、次のデータ共有時間までの間に、センサ情報や時刻同期情報を取得し、保持することにより、同期更新部302によって、各制御装置の共有データ格納部303が、制御周期毎に更新され、データを共有する。
【0067】
図5(b)は、制御装置102が制御指令を演算し、演算結果(制御指令)を共有していることを示す。
【0068】
制御装置101のデータ共有期間が終了すると、制御装置102は、制御装置100及び制御装置101から送信された共有データであるセンサ情報と制御装置102におけるセンサ情報とに基づいて、制御指令を演算する。
【0069】
そして、次のデータ共有時間において、得られる演算結果(制御指令)を共有し(制御装置102は、得られる演算結果(制御指令)を制御装置100及び制御装置101に送信し)、制御装置100及び制御装置101は、制御装置102から送信された制御指令により、対応するモータやアクチュエータに対する制御を実行する。
【0070】
次に、実施例1に係る制御装置の情報保持部306の内容の一例を説明する。
【0071】
図6は、実施例1に係る制御装置の情報保持部306の内容の一例を示す図である。
【0072】
図6は、時刻t1におけるそれぞれの制御装置の情報保持部306の保持領域内容の一例を示すものであり、
図6(a)は、制御装置100の情報保持部306の保持領域内容の一例である保持領域60を示し、
図6(b)は、制御装置101の情報保持部306の保持領域内容の一例である保持領域61を示し、
図6(c)は、制御装置102の情報保持部306の保持領域内容の一例である保持領域62を示す。
【0073】
保持領域60には、制御装置100に接続されるセンサ7で取得したセンサ情報a、及び時刻同期情報atが取得時刻と共に格納される。保持領域61には、制御装置101に接続されるセンサ10で取得したセンサ情報b、及び時刻同期情報btが取得時刻と共に格納される。保持領域62には、制御装置102に接続されるセンサ12及びセンサ13で取得したセンサ情報c1、c2、及び時刻同期情報ctが取得時刻と共に格納される。
【0074】
これらの各制御装置の保持領域60に格納された情報は、各制御装置の共有データ格納部303に格納される。
【0075】
制御装置102の演算部401は、制御装置102の共有データ格納部303に格納される他制御装置及び自制御装置から取得したデータ情報に基づいて、制御指令を演算する。つまり、この演算には、制御装置100にて取得したセンサ7のセンサ情報、制御装置101にて取得したセンサ10のセンサ情報、制御装置102にて取得したセンサ12及びセンサ13のセンサ情報が使用される。
【0076】
次に、実施例1に係る制御装置の共有データ格納部303の内容の一例を説明する。
【0077】
図7は、実施例1に係る制御装置の共有データ格納部303の内容の一例を説明する説明図である。
【0078】
制御装置102において、制御指令の演算前では、制御装置100にてセンサ7で取得したセンサ情報(センサ値a)と時刻同期情報(時刻同期at)、制御装置101にてセンサ10で取得したセンサ情報(センサ値b)と時刻同期情報(時刻同期bt)、制御装置102にてセンサ12及びセンサ13で取得したセンサ情報(センサ値c1及びc2)と時刻同期情報(時刻同期ct)とが、共有データ70として、共有データ格納部303に格納される。
【0079】
そして、制御装置102は、これらのセンサ情報に基づいて、制御指令を演算し、その演算結果(制御指令値)を共有データ格納部303に格納する。
【0080】
次に、実施例1に係る制御装置の時刻同期情報の一例を説明する。
【0081】
図8は、実施例1に係る制御装置の時刻同期情報の例を示す図であり、
図7の共有データ70から時刻同期情報を抽出したものである。
【0082】
図8(a)は、制御装置102がクロックマスタである場合の時刻同期情報80を示し、例えば、クロックマスタとのクロックのずれ量が格納される。時刻同期atは、制御装置100が有する時計と制御装置102との時刻変化の差分Δa1、及び時刻の差分Δa2が格納される。同様に時刻同期btは、制御装置101の時計と制御装置102との時刻変化の差分Δb1、及び時刻の差分Δb2が格納される。時刻同期ctは、制御装置102が基準時刻を提供するクロックマスタであるため、それぞれの値はゼロとなる。これらの値は、各制御装置の保持領域60にも保持される。CPU1001(演算部401)は、時刻変化の差分及び時刻の差分を加算してクロックを補正する。
【0083】
ここで、クロックマスタである制御装置102が共有ネットワークから離脱し、次のクロックマスタを選択する場合、前述の調停部307が、共有されている時刻同期情報を参照して、共通ネットワーク1に接続されている制御装置の中から、制御装置102とのクロックのずれ量のうち時刻の差分が小さい制御装置を選択する。制御装置101が選択されクロックマスタになった後、時刻同期情報81は
図8(b)のようになる。すなわち、時刻同期atは、制御装置100の時計と制御装置101との時刻変化の差分Δa1’、及び時刻の差分Δa2'が格納される。時刻同期btは、制御装置101が基準時刻を提供するクロックマスタであるため、それぞれの値はゼロとなる。
【0084】
調停部307は、共有データ格納部303に格納された通信路の情報に基づいてクロックマスタになる制御装置を決定してもよい。例えば、各制御装置が接続している共通ネットワーク1の品質情報を用いてもよい。また、共通ネットワーク1が無線による接続形態である場合、電波強度や、基地局か中継局かの情報等に基づいて接続安定性を評価して、クロックマスタになる制御装置を決定してもよい。
【0085】
また、共有される時刻同期情報は、ネットワークに接続されている全ての制御装置について共有する必要はなく、例えば5台分の記憶領域を用意し、ずれ量の小さい制御装置の時刻同期情報を格納してもよい。時刻同期情報の記憶数を限定することによって、共有メモリの容量を低減できる。
【0086】
図9は、実施例1に係る制御システムのクロックマスタに制御装置101が選択された場合の、各制御装置の補正後の時刻同期情報の例を示す。
【0087】
図9(a)は、制御装置100の補正後の時刻同期情報90であり、クロックマスタが制御装置102の際の時刻同期情報が加算されている。この時刻同期情報に基づいて制御装置100が時刻同期動作を行うことによって、制御装置102がクロックマスタに選択されていた際の時刻同期の状態を維持でき、高精度なリアルタイム制御を実現できる。
【0088】
図9(b)は、制御装置101の補正後の時刻同期情報91であり、クロックマスタが制御装置102の際の時刻同期情報が加算されている。この時刻同期情報に基づいて制御装置101が時刻同期動作を行うことによって、制御装置102がクロックマスタに選択されていた際の時刻同期の状態を維持することができ、同様に高精度なリアルタイム制御を実現できる。
【0089】
この時刻同期情報90は、保持領域60に格納されている共有メモリの保持値から演算したものであり、保持領域60に追記してもよい。
【0090】
図10は、実施例1に係る制御装置100の時刻同期動作の状態を示す図であり、時間tmを境にクロックマスタが制御装置102から制御装置101に変更された状態を示す。
【0091】
線111は制御装置102の時計の時刻であり、線112は制御装置100の時計の時刻である。前述の時刻同期プロトコルによって、クロックマスタとの時計の差分を検出し、時刻111への同期のため、制御装置100の時計を合わせるよう制御される。この際、前述のように、時計の時刻変化の差分、及び時刻の差分が各制御装置で共有される。線113は制御装置101の時計の時刻である。前述の補正後の時刻同期情報によって、時刻tm以降も、制御装置102がクロックマスタに選択された際の時刻同期の状態を維持でき、高精度なリアルタイム制御を実現できる。
【0092】
他の方法として、制御装置101が時刻情報を配信する際に、制御装置102とのクロックのずれ量を加算した時刻情報を配信しても同様の効果が得られる。
【0093】
また、制御装置102の共通ネットワーク600への接続が復帰した場合は、制御装置102をクロックマスタとして選択することで、時刻同期をずれなく継続できる。
【0094】
さらに、共通ネットワーク600から切断された制御装置は、再度接続が復帰するまでの間、保持領域60に保持している補正後の時刻同期情報によって時計の補正を継続して、共通ネットワーク600への接続が復帰した場合に時刻同期をずれなく継続できる。また、クロックマスタの調停に時間を要する場合にも補正後の時刻同期情報により自走することで、クロックマスタとの接続復帰時においても時刻同期をずれなく継続できる。
【0095】
次に、実施例1に係る制御装置(制御システム)が共有情報を共有する処理を説明する。
【0096】
図11は、実施例1に係る制御装置(制御システム)がセンサから取得される共有データ(取得情報及び時刻同期情報)を共有する処理のフローチャートである。
【0097】
ステップS91にて、制御システムの動作フローが開始する。
【0098】
ステップS92にて、制御システムが起動する。
【0099】
ステップS93にて、時刻同期部300が、他制御装置との時刻同期動作を行う。また、前述のように、クロックマスタが選択される。
【0100】
ステップS94にて、各制御装置が、取得したセンサ情報、及び時刻同期情報を、取得時刻と共に情報保持部306に格納する。
【0101】
ステップS95にて、各制御装置が、情報保持部306に格納されたセンサ情報、及び時刻同期情報を共有データ格納部303に格納し、共有データとして他制御装置と共有する。
【0102】
そして、これらのステップが、制御周期毎に繰り返し実行される。
【0103】
次に、実施例1に係る制御装置(制御システム)が制御指令を演算し、制御装置(制御システム)が制御指令を共有する処理を説明する。
【0104】
図12は、実施例1に係る制御装置(制御システム)が制御指令を演算し、制御装置(制御システム)が制御指令を共有する処理のフローチャートである。
【0105】
ステップS101にて、制御システムの動作フローが開始する。
【0106】
ステップS102にて、制御システムが起動する。
【0107】
ステップS103にて、時刻同期部300が、他制御装置との時刻同期動作を行う。また、前述のように、クロックマスタが選択される。
【0108】
ステップS104にて、各制御装置が、共有データを共有する。なお、ステップS95に対応するステップである。
【0109】
ステップS104にて、演算部401が制御指令を演算する。
【0110】
ステップS105にて、各制御装置が、演算された制御指令を共有する。
【0111】
そして、これらのステップが、制御周期毎に繰り返される。
【0112】
なお、制御装置間の時刻同期情報80の共有の方法は、時刻同期プロトコルにおける時刻同期パケットのユーザ定義領域に格納する方法でもよい。
【0113】
以上のように、実施例1によれば、ずれなく時刻同期を継続し、製品の品質を向上させ、精度の高い制御を実現する制御装置を提供できる。
【実施例2】
【0114】
次に、前述した制御装置を鉄鋼システムに適用した実施例を説明する。
【0115】
図13は、実施例2に係る制御装置を鉄鋼システムに適用した一例を説明する説明図である。
【0116】
鉄鋼システムは、鉄鋼の熱延設備800を、制御装置100、制御装置101、制御装置102、制御装置104及び制御装置105が制御する。制御装置100、制御装置101、制御装置102、制御装置104及び制御装置105は、共通ネットワーク600に接続される端末500によって制御される。また、共通ネットワーク600に接続される制御装置100、制御装置101、制御装置102、制御装置104及び制御装置105、及び端末500は、例えば制御装置105をクロックマスタとして時刻同期している。
【0117】
加熱炉801で加熱された鋼は、熱延設備800に投入される。熱延設備800は、粗圧延機802、仕上圧延機803、冷却設備804及び巻取機805を有する。
【0118】
温度センサ700によって取得される加熱炉801の温度は、フィールドネットワーク601を介して、制御装置100に入力される。
【0119】
制御装置101は、送り制御・板速度センサ部701を制御し、粗圧延機802の回転数を調整し、鋼の送り速度を検出する。
【0120】
制御装置102は、圧延制御・板厚センサ部702を制御し、仕上圧延機803の回転数や張力を調整し、鋼の板厚を検出する。
【0121】
温度センサ703により取得される冷却設備804の温度は、制御装置104に入力される。
【0122】
制御装置105は、巻き取り制御・板厚センサ・板速度センサ部704を制御し、巻取機805の回転数を調整し、鋼の板厚や鋼の巻き取り速度を検出する。また、制御装置105は、各制御装置に対する制御指令の演算を実行する。
【0123】
また、各制御装置は、前述の動作フローに従って、制御を実行する。
【0124】
ここで、制御装置105と共通ネットワーク600との間で接続される有線ケーブルの断線などによって制御装置105が他制御装置との接続が断たれた場合にも、接続を継続している他制御装置によって 安定した時刻同期を維持できる。このため、取得情報から最適な制御指令を演算でき、品質、精度の高い制御を実現できる。
【実施例3】
【0125】
次に、前述した制御装置をFA(Factory Automation)制御システムに適用した実施例を説明する。
【0126】
図14は、実施例3に係る制御装置をFAシステムに適用した一例を説明する説明図である。
【0127】
LAN620にはサーバ520と、監視端末521と、無線ブリッジ522、無線ブリッジ523が接続される。また、制御装置120、121は、無線ブリッジ522に無線接続され、制御装置122、123は、無線ブリッジ523に無線接続される。これによって、制御装置120、121、122、123の制御を実行する。また、制御装置121、122、123は、制御装置120をクロックマスタとして時刻同期している。
【0128】
制御装置120は、接続されるPLC(Programmable Logic Controller)720を制御し、制御装置121は、接続されるPLC721を制御する。また、制御装置122は、PLC722を制御し、制御装置123は、PLC723を制御する。
【0129】
そして、PLC720は、ピッキングロボット822を制御し、PLC721は、コンベアモータ823及びカメラ821を制御し、PLC722は、塗装ロボット824を制御し、PLC723は、カメラ825を制御する。
【0130】
ベルトコンベア826に搭載される製品(製造対象物)は、PLC720が制御するピッキングロボット822によって、所定の位置・姿勢(例えば、製品の正しい向きなど)に配置される。ベルトコンベア826は、PLC721が制御するコンベアモータ823により、所定の速度で移動する。ベルトコンベア826を移動する製品は、PLC721が制御するカメラ821により撮影され、このカメラ821は、この製品が所定の位置に設置されているか否かを観測する。
【0131】
PLC721は、カメラ821で撮影された製品の画像を取得し、製品が所定の位置に設置されているか否かの検査を実行する。PLC722が制御する塗装ロボット824は、製品の表面を塗装する。PLC723が制御するカメラ825は、塗装された製品を撮影し、製品が正しく塗装されている否かを観察する。PLC723は、カメラ825で撮影された製品の画像を取得し、製品が正しく塗装されている否かの検査を実行する。
【0132】
そして、制御装置121には、カメラ821によるカメラ情報(センサ情報)が入力され、制御装置123には、カメラ852によるカメラ情報(センサ情報)が入力される。
【0133】
そして、制御装置121及び制御装置122は、これら入力されるカメラ情報に基づいて、同一の製品に対するカメラ情報である共有データを選択し、制御装置120は、共有データに基づいて、ピッキングロボット822の制御指令を演算する。また、制御装置122は、共有データに基づいて、塗装ロボット824に対する制御指令を演算する。
【0134】
なお、ピッキングロボット822が製品を設置し、カメラ821が製品を撮影し、塗装ロボット824が製品を塗装する。カメラ825が製品を撮影する時刻は、制御装置の時刻管理部304により管理される。
【0135】
ここで、制御装置120と無線ブリッジ522の無線接続が切断された場合、実施例1で述べたように、共有メモリの時刻同期情報から、接続を維持している制御装置121、122、123の中から新たにクロックマスタを調停して選択する。
【0136】
以上のように、実施例3によれば無線接続が切断された場合でも、時刻同期を安定して維持することができる。このため、取得情報から最適な制御指令を演算でき、品質、精度の高い制御を実現できる。
【0137】
なお、実施例1の制御装置は、FAシステムや鉄鋼システムの他、上下水処理システム、発電制御システム、エレベーター制御システム、鉄道制御システム、自動車制御システム、建設機械制御システムなど、種々の制御システムに使用することができる。
【0138】
以上に説明したように、本実施例の制御装置は、制御装置に関する情報を送受信する通信部301と、通信部301を介して、時刻マスタ装置である制御装置から受信した時刻同期情報を格納する共有データ格納部303と、他の制御装置の共有データ格納部303への格納と同期して、自制御装置の共有データ格納部303へ時刻同期情報の格納を制御する同期更新部302と、時刻マスタ装置に対するクロックのずれ量を検出し、検出されたクロックのずれ量を共有データ格納部303へ格納する時刻管理部304と、共有データ格納部303に格納されたクロックのずれ量に基づいて時刻マスタ装置を選択し、他制御装置と調停し時刻マスタ装置を決定する調停部307とを備えるので、複数の制御装置間で共有される情報から調停して時刻同期を実現し、高精度なリアルタイム制御が継続でき、製品の品質を向上させ、精度の高い制御を実現する制御装置を提供することができる。
【0139】
また、調停部307は、時刻マスタ装置との通信が遮断された場合に、他の前記制御装置から新たに時刻マスタ装置を選択するので、正常に稼働している制御装置を用いて時刻同期を継続できる。
【0140】
また、調停部307は、共有データ格納部303に格納されたクロックのずれ量が最小の制御装置を時刻マスタ装置に選択するので、時刻補正量が小さくなり、時刻の誤差を小さくできる。
【0141】
また、時刻管理部304は、接続している通信路の情報を共有データ格納部303へ格納し、調停部307は、格納された通信路の情報に基づいて時刻マスタ装置を選択するので、通信が安定している通信路で転送された時刻同期情報の使用によって、安定した時刻同期を実現できる。
【0142】
また、調停部307は、元の時刻マスタ装置である制御装置との通信が復帰した場合、当該制御装置を時刻マスタ装置に選択するので、元の時刻マスタ装置に戻すことで、余計な補正を不要として、安定した時刻同期を実現できる。
【0143】
また、時刻管理部304は、自制御装置の通信が遮断された後、再接続まで自制御装置のクロックのずれ量を加算してクロックを補正し自走するので、時刻同期が不可能になっても、システム全体として動作を継続できる。
【0144】
また、共有データ格納部303は、所定数の制御装置から受信した時刻同期情報を格納する記憶領域を有し、クロックの差分が小さい制御装置の時刻同期情報を格納するので、時刻同期情報の記憶数を限定して、共有データ格納部303の記憶容量を低減できる。
【0145】
また、クロックのずれ量は、時刻の差分及び時刻変化の差分であって、調停部307は、クロックの時刻の差分が最小の制御装置を時刻マスタ装置に選択し、制御装置は、時刻の差分及び時刻変化の差分を加算してクロックを補正するので、時刻の差分を用いる時刻同期と比較して、正確に時刻を同期できる。すなわち、時刻変化の差分を用いないと、時刻同期後に制御装置間の時刻差が大きくなるが、時刻変化の差分を用いた時刻同期によって、時刻誤差を長期間低減できる。
【0146】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0147】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0148】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【0149】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0150】
1、600…共通ネットワーク、20、21、22、601…フィールドネットワーク、1001、1011、1021…CPU、1002、1012、1022…メモリ、7、10、12、13…センサ、8、11…モータ、9…アクチュエータ、100、101、102、104、105、120、121、122、123…制御装置、1003…通信制御部、1004…インタフェース部、1005…不揮発性記憶媒体、1006…バス、1007…入出力部、300…時刻同期部、301…通信部、302…同期更新部、303…共有データ格納部、304…時刻管理部、305…入出力制御部、306…情報保持部、307…調停部、401…演算部、520…サーバ、521…監視端末、700、703…温度センサ、701…送り制御・板速度センサ、702…圧延制御・板厚センサ、704…巻き取り制御・板厚センサ・板速度センサ、720、721、722、723…PLC、822…ピッキングロボット、821…カメラ、823…コンベアモータ、824…塗装ロボット、825…カメラ、826…ベルトコンベア、800…圧延設備、801…加熱炉、802…粗圧延機、803…仕上圧延機、804…冷却設備、805…巻取機。