(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-14
(45)【発行日】2024-02-22
(54)【発明の名称】制御システム、産業装置、制御方法、及びプログラム
(51)【国際特許分類】
H04L 41/0893 20220101AFI20240215BHJP
H04L 1/00 20060101ALI20240215BHJP
H04L 12/28 20060101ALI20240215BHJP
【FI】
H04L41/0893
H04L1/00 B
H04L12/28 100F
H04L12/28 400
(21)【出願番号】P 2021184718
(22)【出願日】2021-11-12
【審査請求日】2022-09-15
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】滝 直也
(72)【発明者】
【氏名】井上 浩司
【審査官】鈴木 香苗
(56)【参考文献】
【文献】特開2021-141400(JP,A)
【文献】特開2001-282760(JP,A)
【文献】国際公開第2017/046916(WO,A1)
【文献】米国特許出願公開第2012/0291089(US,A1)
【文献】特開2021-039407(JP,A)
【文献】陶山 貢市 ほか,正常時制御性能と安全性,故障時制御性能との間のバランスを考慮した制御系設計 Control System Synthesis Based on Balance between Normal-Case Performance, Safety and Fault-Case Performance,システム/制御/情報 第53巻 第1号 システム制御情報学会論文誌 第22巻 第1号,日本,システム制御情報学会 The Institute of Systems,Control and Information Engineers,2009年01月15日,pp.29-36
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/0893
H04L 1/00
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
同一の産業用通信のネットワークに設定された複数の通信ドメインと、
前記複数の通信ドメインのうちの1以上の通信ドメインに属し、同じ前記通信ドメインに属するもの同士で通信を行う複数の産業装置と、
を有し、
前記複数の産業装置のうちの1以上の産業装置は、
自身が属する前記1以上の通信ドメインが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報を記憶する記憶部と、
前記ドメイン情報が前記安全ドメインを示す場合に、前記安全通信に関する安全処理を行う安全処理部と、
前記安全処理に基づいて、前記安全通信を行う通信部と、
を有する制御システム。
【請求項2】
前記複数の通信ドメインの各々では、定周期通信が行われ、
前記通信部は、周期的に、前記安全通信を行う、
請求項1に記載の制御システム。
【請求項3】
前記複数の通信ドメインの各々には、第1の前記産業装置と、前記第1の産業装置が制御する第2の前記産業装置と、が属し、
前記安全ドメインに属する前記第1の産業装置及び前記第2の産業装置の各々は、前記記憶部、前記安全処理部、及び前記通信部を有する、
請求項1又は2に記載の制御システム。
【請求項4】
前記複数の通信ドメインの全ては、前記安全ドメインである、
請求項1~3の何れかに記載の制御システム。
【請求項5】
前記複数の通信ドメインは、通常通信が行われる通常ドメインを含む、
請求項1~
3の何れかに記載の制御システム。
【請求項6】
前記通信部は、前記ドメイン情報が前記通常ドメインを示す場合に、前記安全処理が行われていないデータを送信することによって、前記通常通信を行い、前記ドメイン情報が前記安全ドメインを示す場合に、前記安全処理が行われたデータを送信することによって、前記安全通信を行う、
請求項5に記載の制御システム。
【請求項7】
前記安全処理部は、前記通常通信用の第1部分と、前記安全通信用の第2部分と、の両方をペイロードとして含む1のデータを生成し、
前記通信部は、前記1のデータを送信することによって、前記安全通信を行う、
請求項5又は6に記載の制御システム。
【請求項8】
前記安全処理部は、前記通常通信用の部分をペイロードとして含まずに、前記安全通信用の部分をペイロードとして含む1のデータを生成し、
前記通信部は、前記1のデータを送信することによって、前記安全通信を行う、
請求項5
又は6に記載の制御システム。
【請求項9】
前記複数の産業装置の全ては、第1の前記通信ドメインに属し、
前記複数の産業装置のうちの一部の2以上の産業装置は、第2の前記通信ドメインに属する、
請求項1~8の何れかに記載の制御システム。
【請求項10】
前記複数の産業装置として、第1の前記通信ドメイン及び第2の通信ドメインの両方に属する産業装置と、前記第1の通信ドメインに属して前記第2の通信ドメインには属さない産業装置と、前記第2の通信ドメインに属して前記第1の通信ドメインには属さない産業装置と、を有する、
請求項1~
8の何れかに記載の制御システム。
【請求項11】
前記1以上の産業装置は、複数の前記安全ドメインに属し、
前記1以上の産業装置は、
前記複数の安全ドメインのうちの何れかで異常が発生した場合に、前記異常が発生した前記安全ドメインの前記安全通信を制限する第1制限部と、
前記異常が発生した場合に、前記異常が発生していない前記安全ドメインの前記安全通信を制限する第2制限部と、
を有する請求項1~10の何れかに記載の制御システム。
【請求項12】
前記1以上の産業装置は、複数の前記安全ドメインに属し、
前記1以上の産業装置は、前記複数の安全ドメインのうちの何れかで異常が発生した場合に、前記異常が発生した前記安全ドメインの前記安全通信を制限する第1制限部を有し、
前記通信部は、前記異常が発生していない前記安全ドメインの前記安全通信を継続する、
請求項1~1
0の何れかに記載の制御システム。
【請求項13】
前記1以上の産業装置は、複数の前記安全ドメインに属し、
前記制御システムは、前記複数の安全ドメインのうちの異常が発生していない前記安全ドメインの前記安全通信を制限するか否かに関する選択を受け付ける受付部を有し、
前記1以上の産業装置は、
前記複数の安全ドメインのうちの何れかで前記異常が発生した場合に、前記異常が発生した前記安全ドメインの前記安全通信を制限する第1制限部と、
前記異常が発生し、かつ、前記異常が発生していない前記安全ドメインの前記安全通信を制限することが選択された場合に、前記異常が発生していない前記安全ドメインの前記安全通信を制限する第2制限部と、
を有する請求項1~12の何れかに記載の制御システム。
【請求項14】
前記安全処理部は、前記安全通信用の複数の部分をペイロードとして含み、前記部分ごとに個別の誤り検出符号を設定した1のデータを生成し、
前記通信部は、前記1のデータを送信することによって、前記安全通信を行う、
請求項1~
6の何れかに記載の制御システム。
【請求項15】
同一の産業用通信のネットワークに設定された複数の通信ドメインのうちの1以上の通信ドメインに属し、同じ前記通信ドメインに属するもの同士で通信を行う複数の産業装置のうちの何れかであって、
自身が属する前記1以上の通信ドメインが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報を記憶する記憶部と、
前記ドメイン情報が前記安全ドメインを示す場合に、前記安全通信に関する安全処理を行う安全処理部と、
前記安全処理に基づいて、前記安全通信を行う通信部と、
を有する産業装置。
【請求項16】
同一の産業用通信のネットワークに設定された複数の通信ドメインのうちの1以上の通信ドメインに属し、同じ前記通信ドメインに属するもの同士で通信を行う複数の産業装置の制御方法であって、
前記複数の産業装置のうちの1以上の産業装置が属する前記1以上の通信ドメインが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報が前記安全ドメインを示す場合に、前記安全通信に関する安全処理を行い、
前記安全処理に基づいて、前記安全通信を行う、
制御方法。
【請求項17】
同一の産業用通信のネットワークに設定された複数の通信ドメインのうちの1以上の通信ドメインに属し、同じ前記通信ドメインに属するもの同士で通信を行う複数の産業装置のうちの何れかを、
自身が属する前記1以上の通信ドメインが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報が前記安全ドメインを示す場合に、前記安全通信に関する安全処理を行う安全処理部、
前記安全処理に基づいて、前記安全通信を行う通信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、産業装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、コントローラと、当該コントローラが制御する産業装置と、を含む通信グループを他の通信グループから独立して通信させるためのスイッチのオン/オフを制御することによって、1つの伝送周期の中で通信システム内の通信グループを動的に切り替える技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の目的の1つは、例えば、マルチドメインに対応したネットワークで発生した異常に対応することである。
【課題を解決するための手段】
【0005】
本開示の一側面に係る制御システムは、同一の産業用通信のネットワークに設定された複数の通信ドメインと、前記複数の通信ドメインのうちの1以上の通信ドメインに属し、同じ前記通信ドメインに属するもの同士で通信を行う複数の産業装置と、を有し、前記複数の産業装置のうちの1以上の産業装置は、自身が属する前記1以上の通信ドメインが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報を記憶する記憶部と、前記ドメイン情報が前記安全ドメインを示す場合に、前記安全通信に関する安全処理を行う安全処理部と、前記安全処理に基づいて、前記安全通信を行う通信部と、を有する。
【発明の効果】
【0006】
本開示によれば、例えば、マルチドメインに対応したネットワークで発生した異常に対応できる。
【図面の簡単な説明】
【0007】
【
図1】制御システムの全体構成の一例を示す図である。
【
図2】制御システムにおける通信ドメインの一例を示す図である。
【
図3】伝送周期における通信手順の一例を示す図である。
【
図4】制御システムで実現される機能の一例を示す機能ブロック図である。
【
図6】安全処理が行われたデータの一例を示す図である。
【
図7】制御システムで実行される処理の一例を示すフロー図である。
【
図8】制御システムで実行される処理の一例を示すフロー図である。
【
図9】変形例における機能ブロックの一例を示す図である。
【
図10】変形例1における通信ドメインの一例を示す図である。
【
図11】変形例3で安全処理が行われたデータの一例を示す図である。
【
図12】変形例4における通信ドメインの一例を示す図である。
【発明を実施するための形態】
【0008】
[1.制御システムの全体構成]
本開示に係る制御システムの実施形態の一例を説明する。
図1は、制御システムの全体構成の一例を示す図である。本実施形態では、産業装置10A~10Fを区別しない場合には、産業装置10と記載する。CPU11A~11F、メモリ12A~12F、及び通信IF13A~13Fを区別しない場合には、それぞれCPU11、メモリ12、及び通信IF13と記載する。
【0009】
産業装置10は、生産現場に配置された装置である。例えば、産業装置10は、物理的な作業を行う装置、物理的な作業を行う装置を制御する装置、又はこれらの装置のデータを収集する装置である。産業装置10は、任意の種類であってよく、例えば、モータ制御装置、数値制御装置、加工装置、搬送装置、検査装置、これらの装置を制御するコントローラ、ロボットコントローラ、PLC(Programmable Logic Controller)、セルコントローラ、又はラインコントローラである。物理的な作業を行わないセンサユニット又はI/Oユニット等の装置が産業装置10に相当してもよい。
【0010】
CPU11は、1以上のプロセッサを含む。メモリ12は、揮発性メモリと、不揮発性メモリと、の少なくとも一方を含む。通信IF13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
図1の各産業装置10を接続する線は、通信ケーブルである。本実施形態では、産業装置10の接続形態がデイジーチェーン接続(カスケード接続)である場合を例に挙げるが、産業装置10の接続形態は、スター接続等の任意の接続形態であってよく、デイジーチェーン接続に限られない。
【0011】
なお、産業装置10のハードウェア構成は、任意の構成であってよく、
図1の例に限られない。例えば、産業装置10は、メモリカードスロット等の読取部、又は、USB端子等の入出力部を含んでもよい。この場合、コンピュータ読み取り可能な情報記憶媒体に記憶されたプログラム又はデータが、読取部又は入出力部を介して、産業装置10に供給されてもよい。例えば、プログラム又はデータは、ネットワークを介して、産業装置10に供給されてもよい。
【0012】
また、産業装置10は、FPGA又はASICといった他の回路を含んでもよい。本実施形態では、CPU11がcircuitryと呼ばれる構成に相当する場合を例に挙げるが、FPGA又はASICといった他の回路がcircuitryに相当してもよい。例えば、産業装置10には、モータ又はロボットといった機構が接続されてもよいし、トルクセンサ、モータエンコーダ、又はビジョンセンサといったセンサが接続されてもよい。
【0013】
[2.制御システムの概要]
本実施形態の制御システム1は、同一の産業用通信のネットワークに設定された複数の通信ドメインを有する。産業用通信のネットワークは、産業用の通信プロトコルに基づいて構築されたネットワークである。各産業装置10を互いに接続する通信ケーブル及び通信IF13は、産業用の通信プロトコルに応じたものとなる。本実施形態では、通信プロトコルがメカトロリンク(登録商標)である場合を例に挙げるが、制御システム1の通信プロトコル自体は、任意の通信プロトコルであってよく、本実施形態の例に限られない。
【0014】
通信ドメインは、ネットワークにおける通信の範囲である。同じ通信ドメインに属する装置同士で通信が行われる。通信ドメインは、物理的なグループではなく、論理的なグループである。物理的に接続されていても、同じ通信ドメインに属さない装置同士で通信は行われない。本実施形態の制御システム1は、マルチドメインに対応し、複数の通信ドメインを有する。マルチドメインとは、同一のネットワーク内に複数の通信ドメインを構成することである。
【0015】
本実施形態では、複数の通信ドメインの各々には、第1の産業装置と、第1の産業装置が制御する第2の産業装置と、が属する。第1の産業装置は、第2の産業装置に指令を送信する装置である。第1の産業装置は、メイン又はホストと呼ばれることもある。第2の産業装置は、第1の産業装置の制御対象となる装置である。第2の産業装置は、第1の産業装置からの指令に基づいて動作し、第1の産業装置に応答を送信する装置である。第2の産業装置は、セカンダリ又はクライアントと呼ばれることもある。なお、第1の産業装置及び第2の産業装置について説明している箇所は、産業装置10における「10」の符号を省略する。
【0016】
図2は、制御システム1における通信ドメインの一例を示す図である。本実施形態では、制御システム1が、通常ドメインである通信ドメインD1と、安全ドメインである通信ドメインD2と、を有する。以降、通信ドメインD1,D2を区別しない時は、通信ドメインDと記載する。制御システム1は、3以上の通信ドメインDを有してもよく、通信ドメインDは、
図2の例に限られない。
【0017】
通常ドメインとは、通常通信が行われる通信ドメインDである。通常通信は、送信対象のデータに対し、後述の安全処理が行われない通信である。例えば、通常通信では、ネットワークで異常が発生していない場合における処理と、ネットワークで異常が発生した場合における処理と、は同じである。例えば、安全通信では、ネットワークで異常が発生していない場合には任意の指令を送信可能であるが、ネットワークで異常が発生した場合には所定の指令が強制的に送信されるのに対し、通常通信では、ネットワークで異常が発生しても所定の指令にはならず、ネットワークで異常が発生していない場合と同様の任意の指令を送信可能である。安全処理が行われないので、通常通信は、安全通信よりも、ネットワークに発生した異常に対応しにくいことがある。ただし、通常通信は、安全処理が行われないので、データの送信に要する時間が短くなったり、産業装置10の処理負荷が軽くなったりすることがある。
【0018】
安全ドメインとは、安全通信が行われる通信ドメインDである。安全通信は、送信対象のデータに対し、安全処理が行われる通信である。安全処理は、ネットワークに異常が発生した場合に、一定以上の確率(通常通信よりも高い確率)で異常を検出するための処理である。安全処理は、データの欠落や伝達ミスにより通信が断絶したり誤ったデータが送信されたりしても異常を検出できずに通信を継続してしまう可能性が低くなる処理ということもできる。安全処理は、ネットワークをフェールセーフ状態にするための処理ということもできる。
【0019】
例えば、安全通信では、ネットワークで異常が発生していない場合における処理と、ネットワークで異常が発生した場合における処理と、は互いに異なるようにしてもよい。安全処理が行われるので、安全通信は、通常通信よりもネットワークで発生した異常に対応しやすくなる。本実施形態では、通常通信の仕組み(通常通信のモジュール)の前提の上に、安全通信の仕組み(安全通信のモジュール)が存在する場合を説明するが、通常通信及び安全通信は、互いに仕組みとして別物であってもよい。
【0020】
例えば、安全処理は、通常通信で付与される誤り検出符号よりも、符号サイズが大きい(ビット数が多い)誤り検出符号を付与する処理であってもよい。安全処理は、通常通信よりも多くの誤り検出符号を付与する処理であってもよい。通常通信で誤り検出符号が付与されない場合には、安全処理は、誤り検出符号を付与する処理であってもよい。
【0021】
なお、誤り訂正符号は、誤りの検出も可能なので、本実施形態の誤り検出符号は、誤り訂正符号も含む意味である。本実施形態では、誤り検出符号の一例としてCRC(Cyclic Redundancy Check)を説明するが、誤り検出符号自体は、任意の種類を適用可能であり、CRCに限られない。例えば、誤り検出符号として、パリティ符号又はチェックサムが用いられてもよいし、誤りの訂正も可能なハミング符号が用いられてもよい。
【0022】
例えば、通常通信でデータの多重化が行なわれない場合には、安全処理は、データの多重化をする処理であってもよい。通常通信でデータの多重化が行われる場合には、安全処理は、通常通信よりも多くの多重化を行う処理であってもよい。例えば、通常通信でデータの二重化が行われる場合には、データの三重化以上の多重化を行うことが安全処理に相当してもよい。
【0023】
例えば、安全処理は、ネットワークに異常が発生した場合に、産業装置10に特定の動作をさせないようにする処理であってもよい。この処理としては、産業装置10に対する指令として、何も動作しないことを示す特定の指令を設定する処理であってもよい。安全処理は、上記説明した処理の組み合わせであってもよい。安全処理自体は、ネットワークに発生した異常に対応可能な任意の処理であってよく、本実施形態の例に限られない。
【0024】
図2の例では、産業装置10A~10Fの全てが、通常ドメインである通信ドメインD1に属する。本実施形態では、産業装置10Aは、産業装置10B~10Fの各々を制御するものとする。このため、産業装置10Aは、通信ドメインD1における第1の産業装置に相当する。産業装置10B~10Fは、通信ドメインD1における第2の産業装置に相当する。
【0025】
なお、産業装置10Aは、同じ通信ドメインD1に属する産業装置10B~10Fの全てを制御する必要はなく、産業装置10B~10Fの一部だけを制御してもよい。例えば、産業装置10Aは、産業装置10B~10Eだけを制御し、産業装置10Fを制御せずに産業装置10Fからデータ収集のみを行ってもよい。他にも例えば、産業装置10Aは、産業装置10B,10C,10E,10Fだけを制御し、産業装置10Dは、産業装置10Aと産業装置10E,10Fとの間のデータの転送のみを行ってもよい。
【0026】
例えば、産業装置10D~10Fは、通信ドメインD2に属する。本実施形態では、産業装置10Dは、産業装置10E,10Fの各々を制御するものとする。このため、産業装置10Dは、通信ドメインD2における第1の産業装置に相当する。産業装置10E,10Fは、通信ドメインD2における第2の産業装置に相当する。通信ドメインD1と同様に、産業装置10Dは、産業装置10E,10Fの全てではなく一部だけを制御してもよい。
【0027】
本実施形態では、通信ドメインD1,D2の各々において定周期通信が行われるものとする。定周期通信は、周期的に通信する通信方式である。定周期通信では、ある伝送周期が訪れると、この伝送周期内で、予め定められた手順に基づいて通信が行われる。ある伝送周期が終了して次の伝送周期が訪れると、再び同様の手順に基づいて通信が行われる。以降、予め定められた手順に基づく通信が周期的に繰り返される。
【0028】
図3は、伝送周期における通信手順の一例を示す図である。本実施形態では、通信ドメインD1の伝送周期と、通信ドメインD2の伝送周期と、が同じである場合を例に挙げるが、これらの伝送周期は、互いに異なってもよい。伝送周期が互いに異なる場合には、通信ドメインD1,D2のうちの一方の伝送周期は、他方の伝送周期の整数倍であるものとする。例えば、通信ドメインD1の伝送周期が250μsだったとすると、通信ドメインD2の伝送周期は125μs又は500μs等の長さになる。
【0029】
図3の例では、通信ドメインD1用の期間の後に通信ドメインD2用の期間が訪れるようにスケジューリングされている場合を例に挙げるが、通信ドメインD2用の期間の後に通信ドメインD1用の期間が訪れるようにスケジューリングされてもよい。ただし、通信ドメインD1,D2の両方に属する産業装置10D~10Fは、原則として、通信ドメインD1,D2の両方における通信を同時に行うことができない。このため、原則として、通信ドメインD1用の期間と、通信ドメインD2用の期間と、は重複しないものとする。
【0030】
例えば、伝送周期が訪れると、産業装置10間で所定の同期処理が行われた後に、産業装置10Aは、産業装置10B~10Fの各々に対する指令(合計5つの指令)を含むデータd10を生成する。通信ドメインD1は、通常ドメインなので、指令の多重化等の安全処理は行われない。通信ドメインD1が通常ドメインであることは、後述のドメイン情報によって特定される。このため、産業装置10Aは、安全処理を行うことなく、通信ケーブルで直接的に接続された産業装置10Bにデータd10を送信する。
【0031】
産業装置10Bは、データd10を受信すると、自身のメモリ12Bにデータd10を記録する。産業装置10Bは、通信ケーブルで直接的に接続された産業装置10Cに、データd10を転送する。以降、接続順が最下位の産業装置10Fまで、データd10が次々と転送される。産業装置10B~10Fの各々は、データd10を受信すると、データd10に含まれる自身に対する指令を実行する。
【0032】
例えば、伝送周期が訪れると、産業装置10Fは、産業装置10Aに対する応答を含むデータd11を生成する。通信ドメインD1は、通常ドメインなので、応答の多重化等の安全処理は行われない。このため、産業装置10Fは、安全処理を行うことなく、通信ケーブルで直接的に接続された産業装置10Eにデータd11を送信する。
【0033】
産業装置10Eは、データd11を受信すると、何も処理をせず、通信ケーブルで直接的に接続された産業装置10Dにデータd11を転送する。以降、データd11の転送が次々と行われる。産業装置10B~10Eについても、同様のデータ生成及びデータ転送が行われる。
図3のように、産業装置10B~10Eの各々により生成された応答を含むデータd12~d15が産業装置10Aに送信される。産業装置10Aがデータd11~d15を受信すると、通信ドメインD1用の期間が終了する。その後、通信ドメインD2用の期間が開始する。
【0034】
産業装置10Dは、通信ドメインD2用の期間が開始すると、産業装置10E,10Fの各々に対する指令(計2つの指令)を含むデータd20を生成する。通信ドメインD2は、安全ドメインなので、指令の多重化等の安全処理が行われる。通信ドメインD2が安全ドメインであることは、後述のドメイン情報によって特定される。このため、産業装置10Dは、通信ケーブルで直接的に接続された産業装置10Eに、安全処理を行ったデータd20を送信する。
【0035】
産業装置10Eは、データd20を受信すると、自身のメモリ12Eにデータd20を記録する。産業装置10Eは、通信ケーブルで直接的に接続された産業装置10Fに、データd20を転送する。産業装置10E,10Fの各々は、データd20を受信すると、データd20に含まれる自身に対する指令を実行する。
【0036】
例えば、伝送周期が訪れると、産業装置10Fは、産業装置10Aに対する応答を含むデータd21を生成する。通信ドメインD2は、安全ドメインなので、応答の多重化等の安全処理が行われる。産業装置10Fは、通信ケーブルで直接的に接続された産業装置10Eに、安全処理が行われたデータd21を送信する。
【0037】
産業装置10Eは、データd21を受信すると、何も処理をせず、通信ケーブルで直接的に接続された産業装置10Dにデータd21を転送する。産業装置10Eについても、同様に、産業装置10Aに対する応答を含むデータd22が産業装置10Aに送信される。産業装置10Eがデータd21,d22を受信すると、通信ドメインD2用の期間が終了する。その後、次の伝送周期が訪れた場合には、
図3と同様の通信手順に基づいて、通信ドメインD1,D2の各々における通信が行われる。
【0038】
以上のように、本実施形態の制御システム1は、安全ドメインと通常ドメインを混在させることによって、マルチドメインに対応したネットワークで発生した異常に対応しやすくなっている。以降、制御システム1の詳細を説明する。
【0039】
[3.制御システムで実現される機能]
図4は、制御システム1で実現される機能の一例を示す機能ブロック図である。本実施形態では、産業装置10A~10Fは、互いに同様の機能を有するものとする。このため、
図4では、1つの産業装置10としての機能を示している。記憶部100は、メモリ12を主として実現される。安全処理部101は、CPU11を主として実現される。通信部102は、CPU11及び通信IF13を主として実現される。
【0040】
なお、本実施形態では、産業装置10A~10Cは、通常ドメインである通信ドメインD1だけに属する。このため、産業装置10A~10Cは、安全通信のための機能(安全処理部101と、記憶部100及び通信部102の一部の機能)自体を有してはいるが、実際の通信では、この機能が利用されない状態になる。
【0041】
[記憶部]
記憶部100は、制御システム1における通信に必要なデータを記憶する。例えば、記憶部100は、自身が属する1以上の通信ドメインDが、安全通信が行われる安全ドメインであるか否かを示すドメイン情報を記憶する。例えば、ユーザがエンジニアリングツールから通信ドメインDの設定作業を行うと、エンジニアリングツールにより生成されたドメイン情報が記憶部100に記録される。ドメイン情報を生成及び記録するためのツールは、任意のツールであってよく、エンジニアリングツールに限られない。例えば、産業装置10に接続可能な入力デバイスからの操作に基づいて、ドメイン情報が生成及び記録されてもよい。
【0042】
図5は、ドメイン情報の一例を示す図である。例えば、ドメイン情報は、通信ドメインDの名前、通信ドメインDの種類、通信ドメインDにおける第1の産業装置の名前、通信ドメインDにおける第2の産業装置の名前、及び通信ドメインDにおけるスケジュールを含む。ドメイン情報は、通信ドメインDに関する任意の情報を含むことができ、
図5の例に限られない。例えば、ドメイン情報は、通信ドメインDの種類だけを含んでもよい。
【0043】
ある産業装置10の記憶部100に記憶されるドメイン情報には、この産業装置10が属する通信ドメインDに関する情報が示される。
図5の例では、通信ドメインD1,D2の両方に関する情報がドメイン情報に示されているので、通信ドメインD1,D2の両方に属する産業装置10D~10Fが記憶するドメイン情報である。通信ドメインD1だけに属する産業装置10A~10Cのドメイン情報は、通信ドメインD1に関する情報だけが示されるものとするが、産業装置10A~10Cのドメイン情報に、通信ドメインD2に関する情報が示されてもよい。
【0044】
通信ドメインDの名前は、通信ドメインDを識別可能なドメイン識別情報の一例である。通信ドメインDは、通信ドメインDの名前ではなく、通信ドメインDのID又は番号等の他の情報によって識別されてもよい。通信ドメインDの種類は、安全ドメインであるか、通常ドメインであるか、を示す情報である。産業装置10の名前は、産業装置10を識別可能な装置識別情報の一例である。装置識別情報は、産業装置10の名前ではなく、ID又はIPアドレス等の他の情報によって識別されてもよい。
【0045】
スケジュールは、産業装置10間の通信の順序を示す情報である。本実施形態では、定周期通信が行われるので、スケジュールには、ある伝送周期における通信手順が定義されている。例えば、スケジュールには、伝送周期の開始時点からの経過時間と、その時間に通信すべき相手と、が定義されている。経過時間は、タイマ値等の時間情報により管理されるようにすればよい。記憶部100は、時間情報も記憶する。時間情報は、適宜カウントアップされる。時間情報は、伝送周期の冒頭で行われる同期処理によって同期が取られるようにしてもよい。
【0046】
なお、本実施形態では、第1の産業装置及び第2の産業装置の両方にドメイン情報が記憶される場合を説明するが、指令を送信する第1の産業装置だけにドメイン情報が記憶されてもよい。即ち、第2の産業装置には、ドメイン情報が記憶されなくてもよい。この場合、第2の産業装置は、第1の産業装置からの指令により、自身が安全ドメインに属しているか通常ドメインに属しているかを特定できるようにしてもよい。
【0047】
記憶部100は、ドメイン情報以外にも、種々のデータを記憶する。例えば、記憶部100は、安全処理が行われる前のデータを生成するためのプログラム(アプリケーション)を記憶する。安全通信では、このプログラムにより生成されたデータに対して安全処理が行われる。安全処理自体も、何らかの情報処理によって実行されるが、通信プロトコルによって処理内容が定められているので、本実施形態では、制御システム1のユーザが自分で安全処理のためのプログラムを作成するわけではないものとする。なお、安全処理のためのプログラムは、ユーザによる作成又は編集が可能であってもよい。
【0048】
例えば、第1の産業装置の記憶部100は、制御プログラムと、パラメータと、を記憶する。制御プログラムは、指令を生成するための処理を含む。制御プログラムは、任意の言語で作成可能であり、例えば、ラダー言語又はロボット言語で作成される。パラメータは、制御対象の産業装置10の動作に関する情報であり、例えば、モータの回転方向、モータの回転速度、又はロボットの目標位置といった情報である。
【0049】
例えば、第2の産業装置の記憶部100は、動作プログラムと、パラメータと、を記憶する。動作プログラムは、指令に応じた動作を行う処理と、応答を生成するための処理と、を含む。動作プログラムは、任意の言語で作成可能であり、例えば、ラダー言語又はロボット言語で作成可能である。ジョブと呼ばれるプログラムも動作プログラムの一種である。パラメータは、モータ又はロボットといった機構の制御に用いられる情報である。例えば、パラメータは、モータの回転方向、モータの回転速度、又はロボットの目標位置といった情報である。
【0050】
[安全処理部]
安全処理部101は、ドメイン情報が安全ドメインを示す場合に、安全通信に関する安全処理を行う。安全処理部101は、ドメイン情報が安全ドメインを示さない場合(ドメイン情報が通常ドメインを示す場合)には、安全処理を行わない。本実施形態では、安全処理部101は、ドメイン情報が示す通信ドメインDの種類に基づいて、産業装置10が属する通信ドメインDが安全ドメインであるか否かを判定する。
【0051】
産業装置10は、自身が属する通信ドメインDの種類に関係なく、送信対象のデータの元となるデータを生成する。安全処理部101は、産業装置10が安全ドメインに属する場合に、当該生成されたデータに対して安全処理を行い、実際に送信されるデータを生成する。産業装置が通常ドメインに属する場合には、当該生成されたデータに対して安全処理が行われずに、後述の通信部102により、当該生成されたデータがそのまま送信される。
【0052】
例えば、安全ドメインに属する第1の産業装置は、制御プログラムに基づいて、同じ安全ドメインに属する第2の産業装置への指令を生成する。第1の産業装置の安全処理部101は、当該生成された指令に対して安全処理を行い、実際に送信されるデータを生成する。
図2及び
図3の例であれば、産業装置10Dが、安全ドメインに属する第1の産業装置に相当するので、産業装置10Dは、制御プログラムに基づいて、産業装置10E,10Fの各々への指令を生成する。産業装置10Dの安全処理部101は、当該生成された2つの指令に安全処理を行い、実際に送信されるデータd20を生成する。
【0053】
例えば、安全ドメインに属する第2の産業装置は、動作プログラムに基づいて、同じ安全ドメインに属する第1の産業装置への応答を生成する。応答は、指令の実行結果やセンサにより検出された物理量といった種々の情報を含むことができる。第2の産業装置の安全処理部101は、当該生成された応答に対して安全処理を行い、実際に送信されるデータを生成する。
図2及び
図3の例であれば、産業装置10E,10Fが、安全ドメインに属する第2の産業装置に相当するので、産業装置10E,10Fは、動作プログラムに基づいて、産業装置10Dへの応答を生成する。産業装置10E,10Fの安全処理部101は、当該生成された応答に安全処理を行い、実際に送信されるデータd21を生成する。
【0054】
図6は、安全処理が行われたデータの一例を示す図である。
図6では、第1の産業装置に相当する産業装置10Dの安全処理部101が生成したデータd20の一例を示す。産業装置10E,10Fの各々への指令が、データd20のペイロードとして含まれる。データd20は、安全通信で送信される1つのデータのまとまりである。データd20は、フレーム、パケット、又はセグメントと呼ばれることもある。
【0055】
例えば、先頭から所定ビット数までのデータ領域には、プリアンブル、デリミタ、及び全体のヘッダが含まれる。プリアンブルは、予め定められたビット列である。デリミタは、データの区切りを示すビット列である。全体のヘッダには、送信元となる産業装置10DのIPアドレスが含まれる。送信先の産業装置10E,10Fの各々のIPアドレスは、全体のヘッダに含まれてもよいし、後述の個別のヘッダに含まれてもよい。
【0056】
全体のヘッダ以降の部分は、第2の産業装置ごとにデータ領域が割り当てられている。本実施形態では、第2の産業装置ごとのデータ領域がペイロードに相当する場合を説明するが、デリミタによってデータの開始部分を特定できるので、デリミタ以降の部分をペイロードとしてもよい。ペイロードに相当する部分は、データd20のうち、実質的な内容が格納された部分であればよい。
【0057】
第2の産業装置ごとのデータ領域には、個別のヘッダと、安全通信用のPDU(Protocol Data Unit)と、が含まれる。個別のヘッダは、第2の産業装置のIPアドレス等の装置識別情報を含む。個別のヘッダにより、安全通信用のPDUがどの産業装置10に対するものなのかを特定できる。安全通信用のPDUは、第2の産業装置への指令を含む。安全通信用のPDUには、指令以外の任意の情報が含まれてよい。例えば、第2の産業装置に何らかのパラメータを送信したい場合には、安全通信用のPDUにパラメータが含まれてもよい。
【0058】
例えば、安全処理により、安全通信用のPDUに含まれる指令が多重化される。例えば、ネットワークに異常が発生した場合に、安全処理により、安全通信用のPDUに所定の指令が含まれるようになる。所定の指令は、安全ドメインがフェールセーフ状態に働くための指令であり、例えば、産業装置10が何の動作もしないようにするための指令、又は、モータ又はロボット等の機構の動作を徐々に停止するための指令である。安全処理の対象となるのは、安全通信用のPDUに含まれる任意のデータであってよく、指令に限られない。例えば、安全通信用のPDUに何らかのパラメータを含める場合には、パラメータに対して安全処理が行われてもよい。
【0059】
図6のデータの末尾のデータ領域には、全体の誤り検出符号が含まれる。例えば、安全処理により、末尾のデータ領域に含まれる誤り検出符号は、通常通信よりも符号サイズが大きくなってもよい。なお、産業装置10間で送信されるデータのフォーマットは、
図6の例に限られない。
図6では、複数の産業装置10の各々に対する指令が1つのデータとしてまとめられる場合を説明したが、個々の産業装置10に対する指令が別々のデータに分けられてもよい。産業装置10間で送信されるデータは、予め定められたフォーマットに準じたものであればよい。
【0060】
安全処理部101は、通常通信用の部分をペイロードとして含まずに、安全通信用の部分をペイロードとして含む1のデータd20を生成する。
図6の例では、プリアンブル、デリミタ、全体のヘッダ、及び全体の誤り検出符号以外の部分(
図6で全体のヘッダと全体の誤り検出符号とに挟まれた部分)がペイロードに相当する。本実施形態では、第1の産業装置である産業装置10Dの安全処理部101は、第2の産業装置である産業装置10Eのデータ領域と、第2の産業装置である産業装置10Fのデータ領域と、をペイロードとして含む1のデータd20を生成する。
【0061】
安全処理部101は、安全通信用の複数の部分をペイロードとして含み、当該部分ごとに個別の誤り検出符号を設定した1のデータd10を生成してもよい。
図6の例では、安全PDUごとに、個別の誤り検出符号が設定される。本実施形態では、第1の産業装置である産業装置10Dの安全処理部101は、第2の産業装置である産業装置10E用の安全PDUに個別の誤り検出符号を設定し、かつ、第2の産業装置である産業装置10F用の安全PDUに個別の誤り検出符号を設定し、1のデータd20を生成する。
【0062】
なお、
図6では、第1の産業装置である産業装置10Dから、第2の産業装置である産業装置10E,10Fの各々へのデータd20の一例を示したが、第2の産業装置である産業装置10E,10Fの各々から、第1の産業装置である産業装置10Dへのデータd21も同様の形式であってよい。例えば、データd21は、
図6と同様のプリアンブル、デリミタ、全体のヘッダ、及び全体の誤り検出符号を含む。全体のヘッダと、全体の誤り検出符号と、の間に、安全処理が行われた応答に対応するデータ領域が含まれる。このデータ領域の個別のヘッダは、応答を生成した第2の産業装置の装置識別情報を含む。このデータ領域の安全通信用のPDUは、多重化等の安全処理が行われた応答を含む。
【0063】
また、通常通信におけるデータd10,d11の形式は、安全通信におけるデータd20,d21のうちの安全処理が行われた部分だけが異なるものとする。例えば、通常通信におけるデータd10,d11は、プリアンブル、デリミタ、全体のヘッダ、及び全体の誤り検出符号は、安全通信と同様であってよい。全体の誤り検出符号は、安全通信よりも符号サイズが小さくてもよい。全体のヘッダと、全体の誤り検出符号と、の間のデータ領域には、個別のヘッダと、通常通信用のPDUと、を含む。通常通信用のPDUは、多重化等の安全処理が行われていない指令又は応答を含む。
【0064】
[通信部]
通信部102は、通信相手の産業装置10との通信を行う。例えば、通信部102は、安全処理に基づいて、安全通信を行う。通信部102は、安全処理が行われたデータを、同じ安全ドメインに属する他の産業装置10に送信することによって、安全通信を行う。本実施形態では、複数の通信ドメインDの各々では、定周期通信が行われる。このため、通信部102は、周期的に、安全通信を行う。通信部102は、記憶部100に記憶されたスケジュールに基づいて、周期的に安全通信を行う。通信部102は、
図6に示す1のデータを送信することによって、安全通信を行う。通信部102は、通常ドメインに属する他の産業装置10に、安全処理が行われていないデータを送信する。
【0065】
以上のように、複数の通信ドメインDの各々には、第1の産業装置と、第1の産業装置が制御する第2の産業装置と、が属する。安全ドメインに属する第1の産業装置及び第2の産業装置の各々は、記憶部100、安全処理部101、及び通信部102を有する。本実施形態では、通常ドメインに属する第1の産業装置及び第2の産業装置の各々も記憶部100、安全処理部101、及び通信部102を有する場合を説明するが、通常ドメインに属する第1の産業装置及び第2の産業装置の各々は、安全ドメインに属さないのであれば、安全通信のための機能(安全処理部101と、記憶部100及び通信部102の一部の機能)を有さなくてもよい。
【0066】
本実施形態では、通信ドメインD1は、第1の通信ドメインの一例である。このため、通信ドメインD1と記載した箇所は、第1の通信ドメインと読み替えることができる。通信ドメインD2は、第2の通信ドメインの一例である。このため、通信ドメインD2と記載した箇所は、第2の通信ドメインと読み替えることができる。複数の産業装置10の全ては、第1の通信ドメインに属する。複数の産業装置10のうちの一部の2以上の産業装置10は、第2の通信ドメインに属する。
【0067】
なお、安全ドメインにおける指令だけに安全処理を行い、応答については安全処理を行わなくてもよい。この場合、指令を送信する第1の産業装置だけが安全通信のための機能を有し、応答を送信する第2の産業装置は、安全通信のための機能を有さなくてもよい。逆に、安全ドメインにおける応答だけに安全処理を行い、指令については安全処理を行わなくてもよい。この場合、応答を送信する第2の産業装置だけが安全通信のための機能を有し、指令を送信する第1の産業装置は、安全通信のための機能を有さなくてもよい。
【0068】
[4.制御システムで実行される処理]
図7及び
図8は、制御システム1で実行される処理の一例を示すフロー図である。
図7及び
図8の処理は、伝送周期が訪れた場合に、産業装置10に記憶されたスケジュールに基づいて実行される。本実施形態では、
図2のような通信ドメインDにおいて
図3のようなスケジュールで通信が行われる場合の処理の一例を説明する。
図7は、通信ドメインD1において行われる通常通信の処理である。
図8は、通信ドメインD2において行われる安全通信の処理である。
【0069】
図7のように、産業装置10Aは、メモリ12Aに記憶された時間情報に基づいて、伝送周期の開始時点が訪れたことを検知すると、産業装置10B~10Fの各々との間で同期処理を行う(S100)。産業装置10Aは、制御プログラムに基づいて、産業装置10B~10Fの各々への指令を生成する(S101)。産業装置10Aは、ドメイン情報に基づいて、通信ドメインD1が通常ドメインであることを特定するので、安全処理が行われない。産業装置10Aは、産業装置10Bに、安全処理が行われていないデータd10を送信する(S102)。以降、産業装置10Fがデータを受信するまで、次々とデータd10が転送される。
【0070】
産業装置10B~10Fの各々は、産業装置10Aが送信したデータに含まれる自身への指令を実行する(S103)。産業装置10B~10Fの各々は、動作プログラムに基づいて、産業装置10Aに対する応答を生成する(S104)。産業装置10B~10Fの各々は、ドメイン情報に基づいて、通信ドメインD1が通常ドメインであることを特定するので、安全処理が行われない。産業装置10B~10Fの各々は、産業装置10Aに、安全処理が行われていないデータd11~d15を送信する(S105)。産業装置10Aは、安全処理が行われていないデータd11~d15を受信する。以上により、通信ドメインD1における通常通信が完了する。
【0071】
図8のように、産業装置10Dは、メモリ12Dに記憶された時間情報に基づいて、通信ドメインD2用の期間の開始時点が訪れたことを検知すると、制御プログラムに基づいて、産業装置10E,10Fの各々への指令を生成する(S200)。産業装置10Aは、ドメイン情報に基づいて、通信ドメインD2が安全ドメインであることを特定し、S200で生成した指令に対して安全処理を行う(S201)。産業装置10Dは、産業装置10Eに、S201で行われた安全処理に基づいて、データd20を送信する(S202)。産業装置10Eは、産業装置10Dから受信したデータd20を産業装置10Fに転送する。
【0072】
産業装置10E,10Fの各々は、産業装置10Dが送信したデータに含まれる自身への指令を実行する(S203)。産業装置10E,10Fの各々は、自身への指令に対する応答を生成する(S204)。産業装置10E,10Fの各々は、ドメイン情報に基づいて、通信ドメインD2が安全ドメインであることを特定し、S204で生成した応答に対して安全処理を行う(S205)。産業装置10E,10Fの各々は、産業装置10Dに、安全処理が行われたデータd21,d22を送信する(S206)。産業装置10Dは、安全処理が行われたデータd21,d22を受信し、伝送周期における通信が終了する。以上により、通信ドメインD2における安全通信が完了する。次の伝送周期が訪れた場合には、
図7のS100の処理から実行される。
【0073】
本実施形態の制御システム1によれば、マルチドメインの制御システム1で安全通信を実現することによって、マルチドメインに対応したネットワークで発生した異常に対応しやすくなる。例えば、安全ドメインに属する産業装置10が安全通信を行うことによって、産業装置10の誤動作を防止できる。例えば、ネットワークにおけるノイズ等によって異常が発生したとしても、全ての産業装置10の動作を止めるのではなく、異常が発生した通信ドメインDに属する産業装置10の動作だけを止めて、他の通信ドメインDに属する産業装置10の動作は継続させるといったこともできる。制御システム1における生産効率が高まる。
【0074】
また、制御システム1では、複数の通信ドメインDの各々で定周期通信が行われ、安全ドメインでは、周期的に安全通信が行われる。これにより、定周期通信が行われるネットワークで発生した異常に対応しやすくなる。
【0075】
また、複数の通信ドメインDの各々は、第1の産業装置と、第1の産業装置が制御する第2の産業装置と、を含む。これにより、制御する側の第1の産業装置が複数存在する制御システム1のネットワークで発生した異常に対応しやすくなる。例えば、第1の産業装置が送信した指令にノイズが入ってしまい、第2の産業装置が誤動作を起こすといったことを防止できる。例えば、第2の産業装置が送信した応答にノイズが入ってしまい。第2の産業装置の動作結果が第1の産業装置に誤って通知されるといったことを防止できる。
【0076】
また、制御システム1は、複数の通信ドメインDの中に、安全ドメインだけではなく通常ドメインも存在する。これにより、安全ドメインと通常ドメインを混在させることができる。例えば、ネットワークで異常が発生した場合には動作を止めたい産業装置10と、多少の異常であれば動作を止めたくない産業装置10と、が混在した場合に、使い勝手が良くなる。例えば、安全ドメインで異常が発生し、安全ドメインに属する産業装置10の動作が止まったとしても、通常ドメインに属する産業装置10の動作を止めないようにした場合には、制御システム1における生産効率が高まる。
【0077】
また、制御システム1は、通常通信用の部分をペイロードとして含まずに、安全通信用の部分をペイロードとして含む1のデータを生成する。安全処理が行われた部分をペイロードとして含むので、安全通信の精度が高まる。例えば、通常通信用の部分を含まないので、個々のデータのデータサイズを抑えることもできる。その結果、ネットワークの通信負荷を軽減できる。
【0078】
また、制御システム1は、複数の産業装置10の全てが通信ドメインD1に属し、複数の産業装置10のうちの一部の2以上の産業装置10が通信ドメインD2に属する。これにより、ある通信ドメインD1が他の通信ドメインD2を包含するようなネットワークを構築できる。例えば、全体に渡る通信ドメインD1に属する産業装置10Aに、ネットワーク全体を一括して管理させつつ、部分的なローカル通信を通信ドメインD2で行うことができる。よって、ネットワークの管理効率が高めつつも、ローカルな制御グループを設定することが可能になる。
【0079】
また、制御システム1は、あるデータのうちの安全通信用の部分ごとに個別の誤り検出符号を設定することによって、安全通信の精度が高まる。
【0080】
[5.変形例]
なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0081】
図9は、変形例における機能ブロックの一例を示す図である。第1制限部103及び第2制限部104は、CPU11を主として実現される。受付部200は、ユーザが操作するユーザ装置20により実現される。例えば、ユーザ装置20は、パーソナルコンピュータ、タブレット端末、又はスマートフォンである。例えば、ユーザ装置20には、エンジニアリングツールがインストールされる。ユーザ装置20は、通信ケーブルを介して産業装置10に接続可能である。ユーザは、ユーザ装置20のエンジニアリングツールから、産業装置10の各種設定が可能である。
【0082】
[5-1.変形例1]
例えば、実施形態では、制御システム1における複数の通信ドメインDの全ては、安全ドメインであってもよい。即ち、制御システム1は、通常ドメインを有さずに、安全ドメインだけを有してもよい。変形例1では、複数の安全ドメインの各々に属する産業装置10の組み合わせが、互いに異なる場合を例に挙げるが、複数の安全ドメインの各々に属する産業装置10の組み合わせは、互いに同じであってもよい。
【0083】
図10は、変形例1における通信ドメインDの一例を示す図である。
図10の例では、通信ドメインD3,D4の各々は、ともに安全ドメインである。通信ドメインD3には、産業装置10A~10Fの全てが属する。変形例1では、産業装置10Aは、産業装置10B~10Fの各々を制御するものとする。通信ドメインD2には、産業装置10D~10Fが属する。変形例1では、産業装置10Dは、産業装置10E,10Fの各々を制御するものとする。
【0084】
変形例1でも、
図3と同様に、ある1つの伝送周期に、通信ドメインD3用の期間と、通信ドメインD4用の期間と、が存在する。通信ドメインD3における通信手順は、通信ドメインD1と同様であるが、安全処理が行われる点で実施形態とは異なる。例えば、産業装置10Aの安全処理部101は、産業装置10B~10Fの各々に対する指令(合計5つの指令)を生成すると、当該生成された個々の指令に対して安全処理を行う。安全処理が行われたデータは、
図6と同様であってよい。
【0085】
産業装置10B~10Fの各々の安全処理部101は、産業装置10Aに対する応答を生成すると、当該生成された応答に対して安全処理を行う。安全処理の意味は、実施形態で説明した通りである。変形例1では、通信ドメインD3における安全処理と、通信ドメインD4における安全処理と、は互いに同じであるものとする。例えば、通信ドメインD3における安全処理で付加される誤り検出符号の符号サイズと、通信ドメインD4における安全処理で付加される誤り検出符号の符号サイズと、は互いに同じである。例えば、通信ドメインD3における安全処理の多重化と、通信ドメインD4における安全処理の多重化と、は互いに同じである。通信ドメインD4の通信手順は、通信ドメインD2と同様である。
【0086】
なお、通信ドメインD3における安全処理と、通信ドメインD4における安全処理と、は互いに異なってもよい。例えば、通信ドメインD4における安全処理で付加される誤り検出符号の符号サイズは、通信ドメインD3における安全処理で付加される誤り検出符号の符号サイズよりも大きくてもよい。例えば、通信ドメインD4における安全処理の多重化は、通信ドメインD3における安全処理の多重化よりも多くてもよい。
【0087】
変形例1によれば、複数の安全ドメインだけを有するネットワークにすることによって、ネットワークで発生した異常に対応しやすくなる。安全ドメインだけを有するので、産業装置10の誤動作を、より確実に防止できる。
【0088】
[5-2.変形例2]
例えば、実施形態のように安全ドメイン及び通常ドメインを混在させる場合に、通常ドメインに属する産業装置10の記憶部100にもドメイン情報が記録されてもよい。この場合、通信部102は、ドメイン情報が通常ドメインを示す場合に、安全処理が行われていないデータを送信することによって、通常通信を行う。通信部102は、ドメイン情報が安全ドメインを示す場合に、安全処理が行われたデータを送信することによって、安全通信を行う。
【0089】
安全ドメイン及び通常ドメインの両方に属する産業装置10は、ドメイン情報に基づいて、自身が属する通信ドメインDの種類を特定する。通常ドメインだけに属する産業装置10についても、ドメイン情報に基づいて、自身が通常ドメインだけに属することを特定する。安全ドメインだけに属する産業装置10についても、ドメイン情報に基づいて、自身が安全ドメインだけに属することを特定する。
【0090】
変形例2によれば、産業装置10が、ドメイン情報に応じて、通常通信と安全通信の何れにも対応可能となる。したがって、ネットワークを柔軟に簡単に形成することができる。例えば、制御システム1における産業装置10の配置を変更し、通常ドメインに属する産業装置10を安全ドメインに属するようにしたとしても、産業装置10は、何れの通信ドメインDにも対応可能なので、ユーザの設定変更の作業を簡易化できる。例えば、通常通信又は安全通信の何れか一方だけに対応した産業装置10を採用したとすると、ネットワークの設定変更に柔軟に対応できないが、通常通信と安全通信の両方に対応可能な産業装置10を採用することによって、ネットワークの設定変更に柔軟に対応できる。
【0091】
[5-3.変形例3]
例えば、安全処理部101は、通常通信用の第1部分と、安全通信用の第2部分と、の両方をペイロードとして含む1のデータを生成してもよい。第1部分は、安全処理が行われていない部分である。第2部分は、安全処理が行われた部分である。変形例3の安全処理部101は、安全処理が行われていない部分と、安全処理が行われた部分と、をペイロードとして含む1のデータを生成する。
【0092】
図11は、変形例3で安全処理が行われたデータの一例を示す図である。
図11では、
図6と同様に、第1の産業装置の安全処理部101が生成するデータを示す。即ち、第1の産業装置から第2の産業装置への指令が、
図11のデータのペイロードとして含まれる。冒頭のプリアンブル、デリミタ、及び全体のヘッダと、末尾の全体の誤り検出符号と、の部分は、
図6と同様である。第2の産業装置ごとにPDUが生成されるのは、
図6と同様であるが、ある1つの第2の産業装置に対し、安全処理が行われていない通常PDUと、安全処理が行われた安全PDUと、が存在する。
【0093】
例えば、第2の産業装置に何らかの指令とパラメータをPDUに含めて送信する場合に、指令については安全処理を行うが、パラメータについては安全処理が不要だったとする。この場合、安全処理部101は、第2の産業装置への指令に対して安全処理を行って安全PDUを生成する。安全処理部101は、第2の産業装置に送信するパラメータには安全処理を行わずに、そのまま通常PDUとする。通信部102は、
図11のようなフォーマットの1のデータを送信することによって、安全通信を行う。第2の産業装置から第1の産業装置への応答も、
図11と同様に、通常PDUと安全PDUの混在が可能である。
【0094】
変形例3によれば、通常通信用の部分と、安全通信用の部分と、を混在させた1のデータを送信することによって、柔軟なデータ通信が可能になる。例えば、ある産業装置10に対して送信するデータとして、安全処理が必要なものとそうではないものが混在していたとしても、1のデータの中に両方を混在させることができる。安全処理が必要ではないものについても安全処理をする必要がないので、産業装置10に不要な処理を実行させる必要がなくなり、産業装置10の処理負荷を軽減できる。不要な多重化も行われないので、データサイズを小さくすることができる。その結果、ネットワークの通信負荷を軽減できる。
【0095】
[5-4.変形例4]
例えば、複数の産業装置10として、第1の通信ドメイン及び第2の通信ドメインの両方に属する産業装置10と、第1の通信ドメインに属して第2の通信ドメインには属さない産業装置10と、第2の通信ドメインに属して第1の通信ドメインには属さない産業装置10と、を有してもよい。変形例4では、第1の通信ドメイン及び第2の通信ドメインが両方とも安全ドメインである場合を説明するが、第1の通信ドメイン又は第2の通信ドメインの何れか一方は、通常ドメインであってもよい。
【0096】
図12は、変形例4における通信ドメインDの一例を示す図である。
図12の例では、通信ドメインD5,D6の各々は、ともに安全ドメインである。通信ドメインD5には、産業装置10A~10Dが属する。例えば、産業装置10Aは、産業装置10B~10Dの各々を制御する。通信ドメインD6には、産業装置10D~10Fが属する。例えば、産業装置10Dは、産業装置10E,10Fの各々を制御する。
【0097】
変形例4でも、
図3と同様に、ある1つの伝送周期に、通信ドメインD5用の期間と、通信ドメインD6用の期間と、が存在するものとする。個々の通信ドメインD5,D6における通信手順は、実施形態及び変形例1-3と同様であってよい。例えば、ある伝送周期が訪れた場合に、産業装置10Aは、通信ドメインD5に属する産業装置10B~10Dの各々に、安全処理を行ったデータを送信する。産業装置10B~10Dの各々は、自身への指令を実行すると、安全処理を行ったデータを産業装置10Aに送信する。
【0098】
通信ドメインD5用の期間が終了すると、産業装置10Dは、通信ドメインD6に属する産業装置10E,10Fの各々に、安全処理を行ったデータを送信する。産業装置10E,10Fの各々は、自身への指令を実行すると、安全処理を行ったデータを産業装置10Dに送信する。以降、伝送周期が訪れるたびに、同様の手順によって通信が行われる。なお、伝送周期の冒頭で制御システム1全体の同期処理を行うために、産業装置10A~10Fの全てが属する通信ドメインDが別途存在してもよいし、通信ドメインD5,D6の各々の中でのみ同期処理が行われてもよい。
【0099】
変形例4によれば、ある通信ドメインDと他の通信ドメインDとが互いに一部だけが重複するようなネットワークを構築できる。例えば、第1の通信ドメインで部分的なローカル通信を行いつつ、第2の通信ドメインで、第1の通信ドメインとは異なる範囲のローカル通信を行うことができる。第1の通信ドメイン及び第2の通信ドメインの両方に属する産業装置10に、これら2つの通信ドメインDを管理させることもできる。
【0100】
[5-5.変形例5]
例えば、1以上の産業装置10が複数の安全ドメインに属する場合に、ある安全ドメインで異常が発生した場合に、この安全ドメインの安全通信が制限されてもよい。更に、異常が発生した安全ドメインだけではなく、異常が発生していない他の安全ドメインの安全通信が制限されてもよい。変形例5では、複数の安全ドメインに属する1以上の産業装置10は、第1制限部103及び第2制限部104を有する。
【0101】
第1制限部103は、複数の安全ドメインのうちの何れかで異常が発生した場合に、異常が発生した安全ドメインの安全通信を制限する。安全通信を制限するとは、安全通信で本来行うべき処理を実行しないようにすることである。安全通信を制限するとは、異常が発生した場合とは異なる処理をすることである。変形例5では、安全通信で送信されるデータの内容を変えることが安全通信を制限することに相当する場合を例に挙げるが、安全通信の制限方法は、安全通信を何らかの形で制限する方法であればよく、変形例5の制限方法に限られない。
【0102】
例えば、安全通信におけるデータの送信を行わないことが、安全通信を制限することに相当してもよい。通信プロトコル上はデータの送信を停止できない場合だったとしても、アプリケーション側の処理により、安全通信におけるデータの送信を停止することによって、安全通信を制限してもよい。他にも例えば、安全通信におけるデータを受信した場合に、このデータに基づく処理を実行しないことが、安全通信に相当してもよい。即ち、安全通信におけるデータを受信した産業装置10が、データの受信自体は行うがこのデータに含まれる自身への指令を実行せずにデータを破棄することが、安全通信を制限することに相当してもよい。この場合、指令を実行しないことを識別可能な情報がデータに含まれているものとする。
【0103】
産業装置10は、予め定められた判定方法に基づいて、通信ドメインDで異常が発生したか否かを判定する。例えば、産業装置10は、誤り検出符号に基づいて誤りが検出された場合に、通信ドメインDで異常が発生したと判定する。例えば、産業装置10は、一定時間以上データを受信しなかった場合に、通信ドメインDで異常が発生したと判定する。例えば、産業装置10は、ある伝送周期でデータを受信しなかった場合に、通信ドメインDで異常が発生したと判定する。例えば、産業装置10は、データの個々の部分が欠落したり、通常のフォーマットでは考えられない値になっていたりした場合に、通信ドメインDで異常が発生したと判定する。異常の発生を判定する方法自体は、種々の方法を利用可能であり、上記説明した例に限られない。
【0104】
第2制限部104は、異常が発生した場合に、異常が発生していない安全ドメインの安全通信を制限する。安全通信の制限方法自体は、第1制限部103と同様であってよい。変形例1のようなネットワークの例であれば、通信ドメインD3において異常が発生した場合に、通信ドメインD3に属する産業装置10の第1制限部103は、自身が通信ドメインD1で行う安全通信を制限する。異常が発生していない通信ドメインD4に属する産業装置10の第2制限部104は、自身が通信ドメインD4で行う安全通信を制限する。
【0105】
変形例5によれば、ある安全ドメインで異常が検知された場合に、その安全ドメインだけではなく、他の安全ドメインの安全通信も制限することによって、より確実に異常に対応できる。その結果、産業装置10の誤動作をより確実に防止できる。
【0106】
[5-6.変形例6]
例えば、変形例5では、異常が発生していない安全ドメインにおける安全通信が制限される場合を説明したが、異常が発生していない安全ドメインにおける安全通信は、制限されなくてもよい。変形例6では、産業装置10は、変形例5で説明した第1制限部103を有するが、第2制限部104は有さない。
【0107】
異常が発生していない安全ドメインに属する産業装置10の通信部102は、異常が発生していない安全ドメインの安全通信を継続する。変形例1のような通信ドメインDの例であれば、通信ドメインD3において異常が発生した場合に、通信ドメインD3に属する産業装置10の第1制限部103は、自身が通信ドメインD3で行う安全通信を制限する。異常が発生していない通信ドメインD4に属する産業装置10の通信部102は、自身が通信ドメインD4で行う安全通信を制限せずに、安全通信を継続する。
【0108】
変形例6によれば、ある安全ドメインで異常が検知された場合に、その安全ドメインの安全通信を制限し、他の安全ドメインの安全通信は制限しないことによって、異常が発生した安全ドメインの異常に対応し、かつ、異常が発生していない安全ドメインにおける産業装置10の動作を継続することができる。その結果、制御システム1における生産効率が高まる。
【0109】
[5-7.変形例7]
例えば、変形例5のように異常が発生していない安全ドメインにおける安全通信を制限するか、変形例6のように異常が発生していない安全ドメインにおける安全通信については制限しないか、をユーザが選択できるようにしてもよい。変形例7の制御システム1は、受付部200を含む。受付部200は、複数の安全ドメインのうちの異常が発生していない安全ドメインの安全通信を制限するか否かに関する選択を受け付ける。例えば、ユーザ装置20は、異常が発生していない安全ドメインの安全通信を制限するか否かの選択を受け付けるユーザインタフェースとなる画面を表示させる。この画面は、エンジニアリングツールの画面として表示されてもよい。受付部200は、この画面に対する入力を受け付けることによって、ユーザの選択を受け付ける。
【0110】
変形例7の第2制限部104は、異常が発生し、かつ、異常が発生していない安全ドメインの安全通信を制限することが選択された場合に、異常が発生していない安全ドメインの安全通信を制限する。この場合、変形例5と同様に、異常が発生していない安全ドメインの安全通信が制限される。第2制限部104は、異常が発生していない安全ドメインの安全通信を制限することが選択されなかった場合には、異常が発生していない安全ドメインの安全通信については制限しない。この場合、変形例6と同様に、異常が発生していない安全ドメインの安全通信は継続される。
【0111】
変形例7によれば、複数の安全ドメインのうちの異常が発生していない安全ドメインの安全通信を制限するか否かに関する選択をさせることによって、ユーザに応じた柔軟な通信が可能になる。例えば、誤動作の防止を優先させたいユーザは、安全通信を制限するように選択し、生産システムにおける生産効率を優先させたいユーザは、安全通信を制限しないように選択するといったことが可能になる。
【0112】
[5-8.その他変形例]
例えば、上記変形例を組み合わせてもよい。
【0113】
例えば、個々の伝送周期では、個々の通信ドメインDの通信期間が時分割で設定されるのではなく、実施形態で説明した時分割の設定が行われなくてもよい。例えば、制御システム1は、定周期通信ではなく、特に伝送周期が定められていない非定周期的な通信が行われてもよい。例えば、各機能は、制御システム1における任意の装置で実現されるようにすればよい。ある1つの産業装置10で実現されるものとして説明した機能の一部又は全部は、複数の産業装置10で分担されてもよい。
【符号の説明】
【0114】
1 制御システム、D,D1,D2,D3,D4,D5,D6 通信ドメイン、10,10A,10B,10C,10D,10E,10F 産業装置、11,11A,11B,11C,11D,11E,11F CPU、12,12A,12B,12C,12D,12E,12F メモリ、13,13A,13B,13C,13D,13E,13F 通信IF、20 ユーザ装置、100 記憶部、101 安全処理部、102 通信部、103 第1制限部、104 第2制限部、200 受付部、d10,d11,d20,d21 データ。