JP2024000591A - 制御システム、中継装置および通信方法 - Google Patents

制御システム、中継装置および通信方法 Download PDF

Info

Publication number
JP2024000591A
JP2024000591A JP2022099334A JP2022099334A JP2024000591A JP 2024000591 A JP2024000591 A JP 2024000591A JP 2022099334 A JP2022099334 A JP 2022099334A JP 2022099334 A JP2022099334 A JP 2022099334A JP 2024000591 A JP2024000591 A JP 2024000591A
Authority
JP
Japan
Prior art keywords
controller
data
communication
relay unit
output data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022099334A
Other languages
English (en)
Inventor
祥実 丹羽
Yoshimi Niwa
寛仁 水本
Hirohito Mizumoto
貴雅 植田
Takamasa Ueda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2022099334A priority Critical patent/JP2024000591A/ja
Priority to PCT/JP2023/008839 priority patent/WO2023248551A1/ja
Publication of JP2024000591A publication Critical patent/JP2024000591A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Communication Control (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】制御性能の低下を抑制しつつ、より多くのデータを交換できる構成を提供する。【解決手段】制御システムは、第1伝送路に接続するためのインターフェイスを有する第1コントローラと、第2伝送路に接続するためのインターフェイスを有する第2コントローラと、第1伝送路に接続するための第1インターフェイスと第2伝送路に接続するための第2インターフェイスとを有する中継ユニットとを含む。中継ユニットは、第1コントローラからサイクリック通信で送信された出力データを転送設定に従って第2コントローラへ送信するとともに、第1コントローラからメッセージ通信で送信された出力データを第2コントローラへ送信する。【選択図】図1

Description

本発明は、制御システム、中継装置および通信方法に関する。
近年の情報通信技術の飛躍的な発展に伴って、産業用装置においてもより多くのデータを処理する必要性が高まっている。より具体的には、IoT(Internet of Things)やIndustry 4.0などに代表される、通信技術を用いた技術革新が進みつつある。これによって、システム内でやり取りされるデータは増大傾向にある。
このようなデータ処理量の増大に対する解決手段の一つとして、国際公開第2013/137023号(特許文献1)は、複数の通信ラインを含む構成において、装置間のデータ更新をより適切に行うことができる構成を開示する。
複数のネットワークを用いて複数のコントローラを接続してネットワーク分散制御システムを構成する場合には、ネットワーク間のデータ転送を担当するゲートウェイである中継ユニットが用いられる。このようなネットワーク分散制御システムでは、あるネットワークに属するコントローラは、中継ユニットを介して他のネットワークに属するコントローラとデータを交換する。このようなデータ交換によって、制御状態の監視やコントローラ間の制御などを実現する。
国際公開第2013/137023号
コントローラ間で交換されるデータ量が増大することに伴って、データ交換に要する時間が長くなるため、制御性能が低下し得る。そのため、制御性能の低下を抑制しつつ、より多くのデータを交換できる構成が要望されている。
本発明の一例に従う制御システムは、第1伝送路に接続するためのインターフェイスを有する第1コントローラと、第2伝送路に接続するためのインターフェイスを有する第2コントローラと、第1伝送路に接続するための第1インターフェイスと第2伝送路に接続するための第2インターフェイスとを有する中継ユニットとを含む。中継ユニットは、第1コントローラからサイクリック通信で送信された出力データを転送設定に従って第2コントローラへ送信するとともに、第1コントローラからメッセージ通信で送信された出力データを第2コントローラへ送信する。
この構成によれば、第1コントローラから第2コントローラへのデータ送信は、サイクリック通信およびメッセージ通信の両方で行うことができるので、より多くのデータを交換できる。併せて、データの特性に応じて、サイクリック通信およびメッセージ通信のいずれかを選択できるので、制御性能の低下を抑制できる。
中継ユニットは、第1コントローラからサイクリック通信で送信された出力データをサイクリック通信で第2コントローラへ送信し、第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で第2コントローラへ送信するようにしてもよい。この構成によれば、第1コントローラから中継ユニット、および、中継ユニットから第2コントローラへのデータ送信を同じ方法で行うことで、データの転送に係る処理を簡素化できる。
中継ユニットは、第2コントローラからサイクリック通信で送信された出力データを第1コントローラへ送信するとともに、第2コントローラからメッセージ通信で送信された出力データを第1コントローラへ送信するようにしてもよい。この構成によれば、第2コントローラから第1コントローラへのデータ送信は、サイクリック通信およびメッセージ通信の両方で行うことができるので、より多くのデータを交換できる。併せて、データの特性に応じて、サイクリック通信およびメッセージ通信のいずれかを選択できるので、制御性能の低下を抑制できる。
中継ユニットは、第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で第2コントローラへ逐次送信するようにしてもよい。この構成によれば、メッセージ通信で送信されたデータを逐次送信するので、データの転送に係る処理を簡素化できる。
中継ユニットは、第1コントローラからメッセージ通信で送信された出力データを保持するとともに、第2コントローラからのアクセスに応じて、当該保持したデータを第2コントローラへ送信するようにしてもよい。この構成によれば、第2コントローラの制御状態などに応じて、第2コントローラは適切なタイミングでデータを取得できる。
中継ユニットは、第1コントローラからメッセージ通信で送信された出力データを保持していることを第2コントローラへ通知するようにしてもよい。この構成によれば、第2コントローラは、中継ユニットからの通知に基づいて、中継ユニットからデータを取得する処理を実行できる。
中継ユニットは、第1コントローラからメッセージ通信で送信された出力データを保持していることをサイクリック通信で第2コントローラへ通知するようにしてもよい。この構成によれば、第2コントローラは、サイクリック通信で中継ユニットからの通知を取得できるので、第2コントローラでの制御演算の周期毎に、中継ユニットからデータを取得するか否かを判断できる。
制御システムは、ユーザ操作に応じて、転送設定を作成するためのユーザインターフェイスを提供するようにしてもよい。この構成によれば、ユーザは、ユーザインターフェイスを介して、転送設定を容易に作成できる。
本発明の別の一例に従えば、第1伝送路を介して第1コントローラに接続されるとともに、第2伝送路を介して第2コントローラに接続された中継ユニットが提供される。中継ユニットは、第1伝送路に接続するための第1インターフェイスと、第2伝送路に接続するための第2インターフェイスと、第1コントローラからサイクリック通信で送信された出力データを転送設定に従って第2コントローラへ送信するとともに、第1コントローラからメッセージ通信で送信された出力データを第2コントローラへ送信する処理回路とを含む。
本発明のさらに別の一例に従えば、第1伝送路に接続するためのインターフェイスを有する第1コントローラと、第2伝送路に接続するためのインターフェイスを有する第2コントローラとを備える制御システムにおける通信方法が提供される。通信方法は、転送設定に従って、第1コントローラからサイクリック通信で送信された出力データを第2コントローラへ送信するステップと、第1コントローラからメッセージ通信で送信された出力データを第2コントローラへ送信するステップとを含む。
本発明によれば、制御性能の低下を抑制しつつ、より多くのデータを交換できる構成を提供する。
本実施の形態に従う制御システムの適用例を示す模式図である。 本実施の形態に従う制御システムの全体構成例を示す模式図である。 本実施の形態に従う主制御装置の演算ユニットのハードウェア構成例を示すブロック図である。 本実施の形態に従う副制御装置の演算ユニットのハードウェア構成例を示すブロック図である。 本実施の形態に従う副制御装置の中継ユニットのハードウェア構成例を示すブロック図である。 本実施の形態に従う制御システムにおけるデータ通信の概要を示す模式図である。 本実施の形態に従う制御システムにおけるデータ通信に用いられるデータ構造の一例を示す模式図である。 本実施の形態に従う制御システムにおける中継ユニットにおける処理を説明するための図である。 本実施の形態に従う制御システムにおけるサイクリック通信によるI/Oデータ送信を説明するための図である。 本実施の形態に従う制御システムにおけるメッセージ通信(逐次送信方式)によるI/Oデータ送信を説明するための図である。 本実施の形態に従う制御システムにおけるメッセージ通信(一時保持方式)によるI/Oデータ送信を説明するための図である。 図11に示すデータ有フラグに関する処理を説明するための図である。 本実施の形態に従う制御システムにおけるメッセージ通信によるデータ送信の手順例を示すシーケンス図である。 本実施の形態に従う制御システムにおけるデータ転送の手順例を示すシーケンス図である。 本実施の形態に従う中継ユニットのサイクリック通信によるI/Oデータ送信の処理手順例を示すフローチャートである。 本実施の形態に従う中継ユニットのメッセージ通信によるI/Oデータ送信(逐次送信方式)の処理手順例を示すフローチャートである。 本実施の形態に従う中継ユニットのメッセージ通信によるI/Oデータ送信(一時保持方式)の処理手順例を示すフローチャートである。 本実施の形態に従う制御システムにおける中継ユニットの転送設定を作成するためのユーザインターフェイス例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う制御システム1の適用例を示す模式図である。図1を参照して、制御システム1は、第1コントローラおよび第2コントローラを含む。第1コントローラは、第1伝送路に接続するためのインターフェイスを有している。第2コントローラは、第2伝送路に接続するためのインターフェイスを有している。
制御システム1は、第1伝送路に接続するための第1インターフェイスと第2伝送路に接続するための第2インターフェイスとを有する中継ユニットをさらに含む。中継ユニットは、一種のゲートウェイであり、第1コントローラからサイクリック通信で送信された出力データを転送設定に従って第2コントローラへ送信するとともに、第1コントローラからメッセージ通信で送信された出力データを第2コントローラへ送信する。
本明細書において、「サイクリック通信」は、予め定められた送信周期(例えば、1msec~数100msec)毎に予め定められたデータを送信する方法である。
本明細書において、「メッセージ通信」は、送信元または送信先の要求に応じて、データを送信する方法である。「メッセージ通信」は、非サイクリック通信およびイベントドリブン通信を含む。
本明細書において、「入力データ」および「出力データ」との用語は、対象のデータが注目しているコントローラから見てどのような意味を持っているのかを示す。
より具体的には、「入力データ」は、注目しているコントローラに入力されるデータ(注目しているコントローラが参照するデータ)を意味する。「入力データ」は、例えば、他のコントローラから与えられる指令値、他のコントローラに接続されたセンサなどで取得された状態値などを含む。
一方、「出力データ」は、注目しているユニットが出力するデータ(注目しているユニットが値を変更するデータ)を意味する。「出力データ」は、例えば、他のコントローラおよび/または他のコントローラに接続されたアクチュエータに対して与える指令値などを含む。
図1に示す構成例においては、中継ユニットを介して、第1コントローラから第2コントローラへデータが転送される。同じデータであっても、送信元の第1コントローラから見れば「出力データ」となり、送信先の第2コントローラから見れば「入力データ」となり得る。
以下の説明においては、「入力データ」および「出力データ」を「入出力データ」または「I/Oデータ」と総称することもある。但し、「入出力データ」および「I/Oデータ」は、入力データのみ、あるいは、出力データのみを含む場合もある。
図1に示すサイクリック通信により送信されるデータは、優先度が相対的に高く、また、データ量が相対的に少ない。これに対して、メッセージ通信により送信されるデータは、優先度が相対的に低く、また、データ量が相対的に多い。このように、高頻度のデータ交換方法であるサイクリック通信に加えて、時間制約を持たないメッセージ通信を利用可能に構成する。更新頻度が相対的に低いデータ交換をメッセージ通信で行うことで、サイクリック通信によるデータ交換量を低減できる。
本実施の形態に従う制御システム1においては、送信対象のデータの特性などに応じて、サイクリック通信およびメッセージ通信のいずれを用いるかを任意に設定できる。
このように、中継ユニット(ゲートウェイ)を介して、コントローラ間でI/Oデータを交換する制御システムにおいて、サイクリック通信だけではなく、メッセージ通信によってもI/Oデータを送信できる構成を採用する。このような構成を採用することで、送信可能なデータ量を増加させることができ、これによって、制御性能の低下を抑制しつつ、より多くのデータを交換できる。すなわち、制御性能の向上およびコントローラ間通信の大容量化を実現できる。
<B.全体構成例>
次に、本実施の形態に従う制御システム1の全体構成例について説明する。
図2は、本実施の形態に従う制御システム1の全体構成例を示す模式図である。図2を参照して、本実施の形態に従う制御システム1は、主制御装置10と、1または複数の副制御装置20とを含む。
本明細書において、「主制御装置」および「副制御装置」との用語は、説明の便宜上の区別であり、実質的に同一のハードウェア構成であってもよいし、実質的に同一の機能構成であってもよい。主制御装置および副制御装置は、PLC(プログラマブルロジックコントローラ)などの一種のコンピュータであってもよい。
主制御装置10と、1または複数の副制御装置20とは、フィールドネットワーク4を介して接続されている。フィールドネットワーク4は、サイクリック通信およびメッセージ通信をサポートしている。フィールドネットワーク4としては、例えば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、PROFINET(登録商標)、PROFIBUS(登録商標)、DeviceNet(登録商標)、FL-net、CompoNet(登録商標)などを用いてもよい。
このように、主制御装置10は、第1伝送路に相当するフィールドネットワーク4に接続するためのインターフェイスを有する第1コントローラに相当する。
主制御装置10は、制御演算を実行する演算ユニット100を含む。演算ユニット100は、フィールドネットワーク4によるデータ通信が可能になっている。主制御装置10は、電源ユニット、I/Oユニット、特殊ユニットなどをさらに有してもよい。
副制御装置20は、制御演算を実行する演算ユニット200と、フィールドネットワーク4によるデータ通信を行う中継ユニット250とを含む。副制御装置20は、電源ユニット、I/Oユニット、特殊ユニットなどをさらに有してもよい。
演算ユニット200と中継ユニット250とは、内部バス6(図4および図5参照)を介して接続されている。なお、副制御装置20がI/Oユニットおよび/または特殊ユニットを含む場合には、当該ユニットも内部バス6を介して接続される。
このように、演算ユニット200は、第2伝送路に相当する内部バス6に接続するためのインターフェイスを有する第2コントローラに相当する。
中継ユニット250は、主制御装置10から送信されるデータを演算ユニット200で参照できるように中継するとともに、演算ユニット200が出力するデータを主制御装置10へ送信できるように中継する。すなわち、中継ユニット250は、フィールドネットワーク4(第1伝送路)に接続するための第1インターフェイスと、内部バス6(第2伝送路)に接続するための第2インターフェイスとを有するゲートウェイである。
制御システム1は、主制御装置10および/または副制御装置20で実行されるプログラムや設定などを作成および変更するためのサポート装置300を含んでいてもよい。サポート装置300は、副制御装置20の演算ユニット200に接続されてもよいし、主制御装置10の演算ユニット100に接続されてもよい。
<C.ハードウェア構成例>
次に、本実施の形態に従う制御システム1の主要な装置のハードウェア構成例について説明する。
(c1:演算ユニット100)
図3は、本実施の形態に従う主制御装置10の演算ユニット100のハードウェア構成例を示すブロック図である。図3を参照して、演算ユニット100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メモリ106と、ストレージ108と、上位ネットワークインターフェイス110と、USB(Universal Serial Bus)インターフェイス112と、メモリカードインターフェイス114と、フィールドネットワークインターフェイス120とを含む。
プロセッサ102は、ストレージ108に格納された各種プログラムを読み出して、メモリ106に展開して実行することで、演算ユニット100で必要な処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ通信などを制御する。
ストレージ108には、典型的には、システムプログラム131と、制御演算に必要なコンピュータ読み取り可能なコードを含むユーザプログラム132とが格納される。
ストレージ108に格納されたプログラムが実行されることで、コンピュータである演算ユニット100に本明細書に記載された処理を実行させるとともに、コンピュータである演算ユニット100において本明細書に記載された機能構成を実現させる。
上位ネットワークインターフェイス110は、上位ネットワークを介した他の装置との間のデータ通信を制御する。USBインターフェイス112は、USB接続を介してサポート装置との間のデータ通信を制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
フィールドネットワークインターフェイス120は、フィールドネットワーク4を介した副制御装置20との間のデータ通信を制御する。より具体的には、フィールドネットワークインターフェイス120は、受信したデータを保持するための受信バッファ121と、送信するデータの生成などに用いられる送信バッファ122とを含む。
(c2:演算ユニット200)
図4は、本実施の形態に従う副制御装置20の演算ユニット200のハードウェア構成例を示すブロック図である。図4を参照して、演算ユニット200は、CPUやMPUなどのプロセッサ202と、チップセット204と、メモリ206と、ストレージ208と、上位ネットワークインターフェイス210と、USBインターフェイス212と、メモリカードインターフェイス214と、内部バスインターフェイス220とを含む。
プロセッサ202は、ストレージ208に格納された各種プログラムを読み出して、メモリ206に展開して実行することで、演算ユニット200で必要な処理を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータ通信などを制御する。
ストレージ208には、典型的には、システムプログラム231と、制御演算に必要なコンピュータ読み取り可能なコードを含むユーザプログラム232とが格納される。
ストレージ208に格納されたプログラムが実行されることで、コンピュータである演算ユニット200に本明細書に記載された処理を実行させるとともに、コンピュータである演算ユニット200において本明細書に記載された機能構成を実現させる。
上位ネットワークインターフェイス210は、上位ネットワークを介した他の装置との間のデータ通信を制御する。USBインターフェイス212は、USB接続を介してサポート装置との間のデータ通信を制御する。
メモリカードインターフェイス214は、メモリカード216を着脱可能に構成されており、メモリカード216に対してデータを書き込み、メモリカード216から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
内部バスインターフェイス220は、内部バス6を介した1または複数のユニット(中継ユニット250を含む)との間のデータ通信を制御する。より具体的には、内部バスインターフェイス220は、受信したデータを保持するための受信バッファ221と、送信するデータの生成などに用いられる送信バッファ222とを含む。
内部バス6は、フィールドネットワーク4と同様に、サイクリック通信およびメッセージ通信をサポートしている。内部バス6としては、メーカ専用の通信方式を採用してもよいし、例えば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、PROFINET(登録商標)、PROFIBUS(登録商標)、DeviceNet(登録商標)、FL-net、CompoNet(登録商標)などを用いてもよい。
(c3:中継ユニット250)
図5は、本実施の形態に従う副制御装置20の中継ユニット250のハードウェア構成例を示すブロック図である。図5を参照して、中継ユニット250は、処理回路260と、フィールドネットワークインターフェイス270と、内部バスインターフェイス280とを含む。
処理回路260は、後述するような中継ユニット250の処理および機能を実現する。より具体的には、処理回路260は、プロセッサ262と、メモリ264と、ストレージ266とを含む。プロセッサ262は、ストレージ266に格納されたシステムプログラム(ファームウェア)を読み出して、メモリ264に展開して実行することで、中継ユニット250で必要な処理を実現する。ストレージ266には、システムプログラムに加えて、データ転送を実現するための転送設定268が格納されている。
図5には、転送設定268がストレージ266に格納されている例を示すが、必要に応じて、主制御装置10および演算ユニット200から取得するようにしてもよい。すなわち、中継ユニット250のストレージ266には、転送設定268が事前に格納されてはおらず、中継ユニット250の起動時などにおいて、主制御装置10および演算ユニット200のそれぞれから転送設定を取得するようにしてもよい。
転送設定268は、主として、サイクリック通信でI/Oデータを主制御装置10と演算ユニット200との間で転送するための設定を含む。なお、転送設定268は、メッセージ通信でI/Oデータを主制御装置10と演算ユニット200との間で転送するために必要な設定を含んでいてもよい。
フィールドネットワークインターフェイス270は、フィールドネットワーク4を介した主制御装置10との間のデータ通信を制御する。より具体的には、フィールドネットワークインターフェイス270は、受信したデータを保持するための受信バッファ271と、送信するデータの生成などに用いられる送信バッファ272とを含む。
内部バスインターフェイス280は、内部バス6を介した1または複数のユニット(演算ユニット200を含む)との間のデータ通信を制御する。より具体的には、内部バスインターフェイス280は、受信したデータを保持するための受信バッファ281と、送信するデータの生成などに用いられる送信バッファ282とを含む。
(c4:その他の構成)
図3~図5には、プロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
本明細書において、「プロセッサ」は、ストアードプログラム方式で処理を実行する狭義のプロセッサに限られず、ASICやFPGAなどのハードワイヤード回路を含み得る。そのため、「プロセッサ」との用語は、コンピュータ読み取り可能なコードおよび/またはハードワイヤード回路によって予め処理が定義されている、処理回路(processing circuitry)と読み替えることもできる。
演算ユニットの主要部は、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(c5:サポート装置300)
本実施の形態に従うサポート装置300は、一例として、汎用的なアーキテクチャに従う汎用コンピュータなどで構成される。汎用コンピュータのハードウェア構成例は公知であるので、詳細な説明は行わない。
<D.データ通信>
次に、本実施の形態に従う制御システム1におけるデータ通信について説明する。
図6は、本実施の形態に従う制御システム1におけるデータ通信の概要を示す模式図である。図6には、主制御装置10と演算ユニット200との間のI/Oデータの送信例を示す。
図6を参照して、主制御装置10と演算ユニット200との間には、ゲートウェイとして、中継ユニット250が配置されている。主制御装置10と中継ユニット250との間は、第1伝送路に相当するフィールドネットワーク4を介して接続されている。
主制御装置10の出力データが中継ユニット250を介して演算ユニット200へ送信される場合と、演算ユニット200の出力データが中継ユニット250を介して主制御装置10へ送信される場合とが想定される。本実施の形態においては、いずれの送信についても、サイクリック通信による方法、および、メッセージ通信による方法が可能になっている。
一般的な制御システムにおいては、I/Oデータは、サイクリック通信のみで送信されるが、本実施の形態においては、送信されるデータ量および要求される定時性などに応じて、サイクリック通信およびメッセージ通信のいずれを選択することも可能になっている。
主制御装置10から送信されたデータ(出力データ)は、中継ユニット250へ送信される。中継ユニット250は、主制御装置10の出力データとして受信したデータを、演算ユニット200の入力データとして、演算ユニット200へ送信する。
一方、演算ユニット200から送信されたデータ(出力データ)は、中継ユニット250へ送信される。中継ユニット250は、演算ユニット200の出力データとして受信したデータを、主制御装置10の入力データとして、主制御装置10へ送信する。
このように、中継ユニット250は、主制御装置10と演算ユニット200との間でデータを転送する。すなわち、中継ユニット250は、主制御装置10(第1コントローラ)からサイクリック通信で送信された出力データを転送設定268(図5)に従って演算ユニット200(第2コントローラ)へ送信するとともに、主制御装置10からメッセージ通信で送信された出力データを演算ユニット200へ送信する。
同様に、中継ユニット250は、演算ユニット200からサイクリック通信で送信された出力データを転送設定268に従って主制御装置10へ送信するとともに、演算ユニット200からメッセージ通信で送信された出力データを主制御装置10へ送信する。
このとき、中継ユニット250は、主制御装置10からサイクリック通信で送信された出力データをサイクリック通信で演算ユニット200へ送信し、主制御装置10からメッセージ通信で送信された出力データをメッセージ通信で演算ユニット200へ送信するようにしてもよい。あるいは、主制御装置10から中継ユニット250へのデータ送信の方法と、中継ユニット250から演算ユニット200へのデータ送信の方法とを異ならせてもよい。
サイクリック通信では、予め定められた送信周期毎にデータが送信されるので、送信先では常に最新のデータを利用できる。
図7は、本実施の形態に従う制御システム1におけるデータ通信に用いられるデータ構造の一例を示す模式図である。
図7を参照して、フィールドネットワーク4においては、送信周期毎に通信用帯域が区切られている。各送信周期は、サイクリック通信用帯域12とメッセージ通信用帯域14とを含む。サイクリック通信用帯域12においては、予め定められたデータサイズのフレーム16が送信される。フレーム16は、フィールドネットワーク4に接続されたデバイス(ユニット)間を順次転送される。これによって、フレーム16は、フィールドネットワーク4をサイクリックに巡回する。
サイクリック通信用帯域12において、フィールドネットワーク4に接続されたデバイス毎に出力データを書き込むための領域が用意されている。図7には、N個のデバイスがそれぞれ出力データを書き込むためのN個の領域が用意されている例を示す。フィールドネットワーク4に接続されたデバイスは、自デバイスがデータを書き込むための領域以外の領域に格納されているデータ(すなわち、他のデバイスが書き込んだデータ)を参照できる。
また、サイクリック通信用帯域12においては、出力データを書き込める領域に加えて、通信に必要な管理情報(通信管理情報18)を格納する領域も用意されている。
一方、メッセージ通信用帯域14は、フィールドネットワーク4を管理するデバイス(例えば、「通信マスタ」または「マスタ」などと称される。)による指示に従って、指定されたデバイスから他の1または複数のデバイスに対するメッセージ通信に用いられる。なお、メッセージ通信においては、1回のサイクリック通信で送信されるデータより大きいデータサイズのデータが送信されることもあるので、1回のデータ送信には、複数回分のサイクリック通信用帯域が必要なこともある。
なお、内部バス6においても、図7と同様に、送信周期毎に通信用帯域が区切られており、各送信周期は、サイクリック通信用帯域とメッセージ通信用帯域とを含む。
図8は、本実施の形態に従う制御システム1における中継ユニット250における処理を説明するための図である。
図8を参照して、中継ユニット250は、フィールドネットワーク4に接続されたフィールドネットワークインターフェイス270と、内部バス6に接続された内部バスインターフェイス280とを含む。
フィールドネットワークインターフェイス270は、受信バッファ271および送信バッファ272を有している。受信バッファ271は、主制御装置10から受信したデータを保持し、送信バッファ272は、主制御装置10へ送信するデータを保持する。
内部バスインターフェイス280は、受信バッファ281および送信バッファ282を有している。受信バッファ281は、演算ユニット200から受信したデータを保持し、送信バッファ282は、演算ユニット200へ送信するデータを保持する。
中継ユニット250は、フィールドネットワークインターフェイス270の受信バッファ271が保持しているデータを内部バスインターフェイス280の送信バッファ282へデータコピーするとともに、内部バスインターフェイス280の受信バッファ281が保持しているデータをフィールドネットワークインターフェイス270の送信バッファ272へデータコピーする。
中継ユニット250は、このようなバッファ間のデータコピーによって、データ転送を実現する。
<E.サイクリック通信によるI/Oデータ送信>
次に、本実施の形態に従う制御システム1におけるサイクリック通信によるI/Oデータ送信について説明する。
図9は、本実施の形態に従う制御システム1におけるサイクリック通信によるI/Oデータ送信を説明するための図である。図9には、フィールドネットワーク4をサイクリックに巡回するフレーム16Aと、内部バス6をサイクリックに巡回するフレーム16Bとを示す。
図9(A)には、主制御装置10から演算ユニット200へのデータ送信を実現するための処理例を示す。図9(A)を参照して、主制御装置10は、フレーム16Aに割り当てられた領域に対して出力データを書き込む。その後、フレーム16Aは、中継ユニット250へ送信される。
中継ユニット250は、フレーム16Aに含まれる主制御装置10の出力データを抽出し、抽出した主制御装置10の出力データをフレーム16Bに割り当てられた領域に書き込む。すなわち、フレーム16Bは、中継ユニット250の出力データとして、主制御装置10の出力データを含む。その後、フレーム16Bは、演算ユニット200へ送信される。演算ユニット200は、フレーム16Bに含まれる中継ユニット250の出力データ(主制御装置10の出力データ)を入力データとして抽出する。
図9(B)には、副制御装置20から主制御装置10へのデータ送信を実現するための処理例を示す。図9(B)を参照して、演算ユニット200は、フレーム16Bに割り当てられた領域に対して出力データを書き込む。その後、フレーム16Bは、中継ユニット250へ送信される。
中継ユニット250は、フレーム16Bに含まれる演算ユニット200の出力データを抽出し、抽出した演算ユニット200の出力データをフレーム16Aに割り当てられた領域に書き込む。すなわち、フレーム16Aは、中継ユニット250の出力データとして、演算ユニット200の出力データを含む。その後、フレーム16Aは、主制御装置10へ送信される。主制御装置10は、フレーム16Aに含まれる中継ユニット250の出力データ(演算ユニット200の出力データ)を入力データとして抽出する。
図9に示すように、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレーム16Aと、内部バス6をサイクリックに巡回するフレーム16Bとの間で、データを交換(コピー)することで、サイクリック通信によるI/Oデータ送信を実現する。
<F.メッセージ通信によるI/Oデータ送信>
次に、本実施の形態に従う制御システム1におけるメッセージ通信によるI/Oデータ送信について説明する。メッセージ通信によるI/Oデータ送信は、例えば、逐次送信方式、および、一時保持方式のいずれかを採用してもよい。
(f1:逐次送信方式)
中継ユニット250は、主制御装置10からメッセージ通信で送信された出力データをメッセージ通信で演算ユニット200へ逐次送信するとともに、演算ユニット200からメッセージ通信で送信された出力データをメッセージ通信で主制御装置10へ逐次送信するようにしてもよい。
図10は、本実施の形態に従う制御システム1におけるメッセージ通信(逐次送信方式)によるI/Oデータ送信を説明するための図である。
図10を参照して、逐次送信方式のメッセージ通信においては、主制御装置10から中継ユニット250へメッセージ通信により送信されたデータ(出力データ)は、その後、入力データとして、中継ユニット250から演算ユニット200へメッセージ通信により送信される。同様に、演算ユニット200から中継ユニット250へメッセージ通信により送信されたデータ(出力データ)は、その後、入力データとして、中継ユニット250から主制御装置10へメッセージ通信により送信される。
このように、逐次送信方式において、中継ユニット250は、主制御装置10または演算ユニット200からメッセージ通信によりデータを受信すると、当該受信したデータをメッセージ通信により演算ユニット200または主制御装置10へ送信する。ここで、メッセージ通信によるデータ送信は、フィールドネットワーク4および内部バス6のメッセージ通信用帯域14の空き状態に応じて、逐次実行される。
逐次送信方式においては、中継ユニット250がデータを受信した後、送信先に当該データが送信されるまでには、メッセージ通信の優先度に応じた遅延が発生し得る。但し、基本的には、中継ユニット250がデータを受信した順に、データは送信される。
(f2:一時保持方式)
一時保持方式においては、中継ユニット250が送信元からメッセージ通信により受信したデータを一時的に保持した上で、送信先がメッセージ通信により当該データを取得する。
すなわち、中継ユニット250は、主制御装置10からメッセージ通信で送信された出力データを保持するとともに、演算ユニット200からのアクセスに応じて、当該保持したデータを演算ユニット200へ送信するようにしてもよい。逆に、主制御装置10は、中継ユニット250からメッセージ通信で送信された出力データを保持するとともに、主制御装置10からのアクセスに応じて、当該保持したデータを演算ユニット200へ送信するようにしてもよい。
このように、中継ユニット250は、送信先からのアクセスを受けて、送信すべきデータを読み取ってもらうことになる。そのため、中継ユニット250は、データの送信先に対して、データを保持していることを通知するようにしてもよい。この通知を受けて、送信先は、中継ユニット250にアクセス(ポーリング)する。
すなわち、中継ユニット250は、主制御装置10からメッセージ通信で送信された出力データを保持していることを演算ユニット200へ通知するとともに、演算ユニット200からメッセージ通信で送信された出力データを保持していることを主制御装置10へ通知するようにしてもよい。
図11は、本実施の形態に従う制御システム1におけるメッセージ通信(一時保持方式)によるI/Oデータ送信を説明するための図である。
図11(A)を参照して、主制御装置10がメッセージ通信によりデータを中継ユニット250へ送信する。中継ユニット250は、主制御装置10からのデータを保持する。
図11(B)を参照して、中継ユニット250は、主制御装置10からのデータを保持していることを通知する。この通知は、例えば、中継ユニット250の出力データに含まれるデータ有フラグをONに設定することで実現される。すなわち、データ有フラグは、サイクリックに巡回するフレームに含まれている。
図11(C)を参照して、演算ユニット200は、データ有フラグがONに設定されていることに応じて、中継ユニット250に保持されているデータをメッセージ通信により取得する。中継ユニット250は、演算ユニット200によりデータが取得されると、データ有フラグをOFFに設定する。なお、中継ユニット250は、保持していたデータを削除してもよいし、新たなデータを受信するまでそのまま保持していてもよい。
このように、中継ユニット250は、主制御装置10からメッセージ通信で送信された出力データを保持していることをサイクリック通信で演算ユニット200へ通知するとともに、演算ユニット200からメッセージ通信で送信された出力データを保持していることをサイクリック通信で主制御装置10へ通知してもよい。
図12は、図11に示すデータ有フラグに関する処理を説明するための図である。
図12を参照して、主制御装置10がメッセージ通信によりデータを中継ユニット250へ送信すると、中継ユニット250は、主制御装置10からのデータを保持する。データが保持されることに応じて、データ有フラグがONに設定される。
演算ユニット200は、データ有フラグがONに設定されることで、中継ユニット250にデータが保持されている(データが存在している)ことを認識する。そして、演算ユニット200は、中継ユニット250にアクセスしてデータを取得する(より具体的には、データを読み出す)。
データ有フラグは、中継ユニット250の出力データに含まれているので、演算ユニット200(および、主制御装置10)で実行されるアプリケーションから参照することができる。そのため、中継ユニット250へのアクセスのタイミングを制御するコードをアプリケーションに含まれることで、データ交換に係るデータ有フラグ(一種のインターロック信号)のみで、データをやり取りできる。
なお、図11および図12には、説明の便宜上、主制御装置10から副制御装置20の演算ユニット200へデータを送信する例を示す。但し、副制御装置20の演算ユニット200から主制御装置10へデータを送信する場合も同様である。
ここで、メッセージ通信によるデータ送信の手順例について説明する。本実施の形態に従う制御システム1は、マスタスレーブ方式の通信方式を採用している。例えば、フィールドネットワーク4においては、主制御装置10が通信マスタ(以下、単に「マスタ」と称す。)となり、中継ユニット250が通信スレーブ(以下、単に「スレーブ」と称す。)となる。
図13は、本実施の形態に従う制御システム1におけるメッセージ通信によるデータ送信の手順例を示すシーケンス図である。図13を参照して、主制御装置10および中継ユニット250が接続されたフィールドネットワーク4では、フレームが送信周期毎に巡回する。
サイクリックに巡回するフレームは、I/Oデータに加えて、通信管理情報18(図7参照)を含む。通信管理情報18は、スレーブである中継ユニット250がメッセージ通信を要求するためのメッセージ有フラグを含み得る。すなわち、マスタである主制御装置10は、フィールドネットワーク4を管理しているため、空いている帯域を把握しているので、適切なタイミングでメッセージ通信を行う。
これに対して、スレーブである中継ユニット250は、いずれのタイミングでメッセージ通信を行ってよいのかが分からない。そのため、中継ユニット250は、メッセージ通信が必要な状態になると、通信管理情報18のメッセージ有フラグをONに設定する。マスタである主制御装置10は、通信管理情報18に含まれているメッセージ有フラグがONに設定されていることに応じて、中継ユニット250にアクセスすることで、メッセージ通信により送信すべきデータを読み出す。
図13には、メッセージ有フラグがONに設定されている通信管理情報18を実線で表現し、メッセージ有フラグがOFFに設定されている通信管理情報18を破線で表現している。
通信管理情報18に含まれるメッセージ有フラグを用いたやり取りは、例えば、フィールドネットワークインターフェイスまたは内部バスインターフェイスにより実現される。この場合、主制御装置10および演算ユニット200で実行されるアプリケーション(ユーザプログラム)は、データの送信を要求する処理を行えばよい。
より具体的には、アプリケーションがデータの送信を要求すると、主制御装置10は、要求されたデータを含むメッセージを中継ユニット250に書き込む。中継ユニット250は、書き込まれたメッセージを処理する。例えば、メッセージに含まれるデータを保持する処理などが行われる。
中継ユニット250は、メッセージの処理が完了すると、メッセージの書き込みに対するレスポンスを用意し、通信管理情報18のメッセージ有フラグをONに設定する。主制御装置10は、中継ユニット250にアクセスして、中継ユニット250からレスポンスを読み出す。主制御装置10のアプリケーションは、読み出したレスポンスに基づいて、メッセージの書き込みが成功したことを確認する。そして、一連のメッセージ通信によるデータ送信が完了する。
主制御装置10のアプリケーションは、レスポンスの読み出しの情報に基づいて、データ送信が完了したことを把握する。
なお、図13には、メッセージ通信により主制御装置10から中継ユニット250へデータを送信する例を示すが、メッセージ通信により副制御装置20の演算ユニット200から中継ユニット250へデータを送信する場合も同様である。
図13には、通信管理情報18によりメッセージ有フラグがONに設定されることで、レスポンスが読み出される例を示すが、レスポンス以外の任意のデータをスレーブからマスタへ送信する場合も同様の処理が実行される。
図14は、本実施の形態に従う制御システム1におけるデータ転送の手順例を示すシーケンス図である。図14には、中継ユニット250を介して、主制御装置10から副制御装置20の演算ユニット200へデータが転送される場合の処理を示す。但し、中継ユニット250を介して、副制御装置20の演算ユニット200から主制御装置10へデータが転送される場合の処理も同様である。
図14を参照して、フィールドネットワーク4を送信周期毎に巡回するフレーム16Aと、内部バス6を送信周期毎に巡回するフレーム16Bとを示す。フレーム16Aは、中継ユニット250の出力データの一部として、データ有フラグ22Aを含む。また、フレーム16Aは、I/Oデータに加えて、通信管理情報18Aを含む。同様に、フレーム16Bは、中継ユニット250の出力データの一部として、データ有フラグ22Bを含む。また、フレーム16Bは、I/Oデータに加えて、通信管理情報18Bを含む。
図14には、データ有フラグ22A,22BがONに設定されている状態を実線で表現し、データ有フラグ22A,22BがOFFに設定されている状態を破線で表現している。また、メッセージ有フラグがONに設定されている通信管理情報18A,18Bを実線で表現し、メッセージ有フラグがOFFに設定されている通信管理情報18A,18Bを破線で表現している。
図14を参照して、主制御装置10のアプリケーションがデータの送信を要求すると(シーケンスSQ2)、主制御装置10は、要求されたデータを含むメッセージを中継ユニット250に書き込む(シーケンスSQ4)。中継ユニット250は、書き込まれたメッセージを処理する(シーケンスSQ6)。
中継ユニット250は、メッセージの処理が完了すると、メッセージの書き込みに対するレスポンスを用意し、通信管理情報18Aのメッセージ有フラグをONに設定する(シーケンスSQ8)。主制御装置10は、中継ユニット250にアクセスして、中継ユニット250からレスポンスを読み出す(シーケンスSQ10)。主制御装置10のアプリケーションは、読み出したレスポンスに基づいて、メッセージの書き込みが成功したことを確認する(シーケンスSQ12)。これにより、主制御装置10から中継ユニット250へのメッセージ通信によるデータ送信が完了する。
一方、中継ユニット250は、データ有フラグ22BをONに設定する(シーケンスSQ12)。演算ユニット200のアプリケーションは、データ有フラグ22BがONに設定されたことに応じて、データの取得(読み出し)を要求する(シーケンスSQ14)。すると、主制御装置10は、中継ユニット250にアクセスして、中継ユニット250に保持されているデータを読み出す(シーケンスSQ16)。
中継ユニット250は、データが読み出されると、保持しているメッセージ(データ)を処理して、メッセージの読み出しに対するレスポンスを用意する(シーケンスSQ18)。そして、中継ユニット250は、通信管理情報18Bのメッセージ有フラグをON設定する(シーケンスSQ20)。
演算ユニット200は、通信管理情報18Bに含まれているメッセージ有フラグに応じて、中継ユニット250にアクセスして、中継ユニット250からレスポンスを読み出す(シーケンスSQ22)。演算ユニット200のアプリケーションは、読み出したレスポンスに基づいて、メッセージの読み出しが成功したことを確認する(シーケンスSQ24)。これにより、中継ユニット250から演算ユニット200へのメッセージ通信によるデータ送信が完了する。
<G.処理手順例>
次に、本実施の形態に従う制御システム1における中継ユニット250の処理手順例について説明する。
図15は、本実施の形態に従う中継ユニット250のサイクリック通信によるI/Oデータ送信の処理手順例を示すフローチャートである。図15に示す各ステップは、中継ユニット250のプロセッサ262がシステムプログラムを実行することで実現されてもよい。
図15を参照して、中継ユニット250は、フィールドネットワーク4を介したフレームの更新周期が到来したか否かを判断する(ステップS2)。フィールドネットワーク4を介したフレームの更新周期が到来すれば(ステップS2においてYES)、中継ユニット250は、受信したフレームに含まれる主制御装置10の出力データを抽出し(ステップS4)、抽出したデータを内部バス6に関連付けられた送信バッファに保持する(ステップS6)。そして、中継ユニット250は、フィールドネットワーク4に関連付けられた送信バッファに保持されているデータを含むフレームを再構成し(ステップS8)、再構成したフレームをフィールドネットワーク4を介して送信する(ステップS10)。
内部バス6を介したフレームの更新周期が到来したか否かを判断する(ステップS12)。内部バス6を介したフレームの更新周期が到来すれば(ステップS12においてYES)、中継ユニット250は、受信したフレームに含まれる演算ユニット200の出力データを抽出し(ステップS14)、抽出したデータをフィールドネットワーク4に関連付けられた送信バッファに保持する(ステップS16)。そして、中継ユニット250は、内部バス6に関連付けられた送信バッファに保持されているデータを含むフレームを再構成し(ステップS18)、再構成したフレームを内部バス6を介して送信する(ステップS20)。
以下、ステップS2~S20の処理は繰り返される。
図16は、本実施の形態に従う中継ユニット250のメッセージ通信によるI/Oデータ送信(逐次送信方式)の処理手順例を示すフローチャートである。図16に示す各ステップは、中継ユニット250のプロセッサ262がシステムプログラムを実行することで実現されてもよい。
図16を参照して、中継ユニット250は、内部バス6をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがONであるか否かを判断する(ステップS30)。内部バス6をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがOFFであれば(ステップS30においてNO)、中継ユニット250は、フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信したか否かを判断する(ステップS32)。すなわち、演算ユニット200へデータを送信できる状態において、主制御装置10からデータを受信したか否かを判断する。
フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信していれば(ステップS32においてYES)、中継ユニット250は、受信したデータを内部バス6に関連付けられたバッファに保持する(ステップS34)。そして、中継ユニット250は、内部バス6をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグをONに設定する(ステップS36)。
フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信していなければ(ステップS32においてNO)、ステップS34~S36の処理はスキップされる。
内部バス6をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがONであれば(ステップS30においてYES)、中継ユニット250は、演算ユニット200がバッファに保持しているデータを読み出したか否かを判断する(ステップS38)。演算ユニット200がバッファに保持しているデータを読み出していなければ(ステップS38においてNO)、ステップS40の処理はスキップされる。
演算ユニット200がバッファに保持しているデータを読み出していれば(ステップS38においてYES)、中継ユニット250は、内部バス6をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグをOFFに設定する(ステップS40)。そして、ステップS30以下の処理が繰り返される。
並行して、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがONであるか否かを判断する(ステップS50)。フィールドネットワーク4をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがOFFであれば(ステップS50においてNO)、中継ユニット250は、内部バス6を介して演算ユニット200からメッセージ通信によりデータを受信したか否かを判断する(ステップS52)。すなわち、主制御装置10へデータを送信できる状態において、演算ユニット200からデータを受信したか否かを判断する。
内部バス6を介して主制御装置10からメッセージ通信によりデータを受信していれば(ステップS52においてYES)、中継ユニット250は、受信したデータをフィールドネットワーク4に関連付けられたバッファに保持する(ステップS54)。そして、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグをONに設定する(ステップS56)。
内部バス6を介して演算ユニット200からメッセージ通信によりデータを受信していなければ(ステップS52においてNO)、ステップS54~S56の処理はスキップされる。
フィールドネットワーク4をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグがONであれば(ステップS50においてYES)、中継ユニット250は、主制御装置10がバッファに保持しているデータを読み出したか否かを判断する(ステップS58)。主制御装置10がバッファに保持しているデータを読み出していなければ(ステップS58においてNO)、ステップS60の処理はスキップされる。
主制御装置10がバッファに保持しているデータを読み出していれば(ステップS58においてYES)、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームの通信管理情報18のメッセージ有フラグをOFFに設定する(ステップS60)。そして、ステップS50以下の処理が繰り返される。
図17は、本実施の形態に従う中継ユニット250のメッセージ通信によるI/Oデータ送信(一時保持方式)の処理手順例を示すフローチャートである。図17に示す各ステップは、中継ユニット250のプロセッサ262がシステムプログラムを実行することで実現されてもよい。
図17を参照して、中継ユニット250は、内部バス6をサイクリックに巡回するフレームのデータ有フラグがONであるか否かを判断する(ステップS70)。内部バス6をサイクリックに巡回するフレームのデータ有フラグがOFFであれば(ステップS70においてNO)、中継ユニット250は、フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信したか否かを判断する(ステップS72)。すなわち、演算ユニット200へデータを送信できる状態において、主制御装置10からデータを受信したか否かを判断する。
フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信していれば(ステップS72においてYES)、中継ユニット250は、受信したデータを内部バス6に関連付けられたバッファに保持する(ステップS74)。そして、中継ユニット250は、内部バス6をサイクリックに巡回するフレームのデータ有フラグをONに設定する(ステップS76)。
フィールドネットワーク4を介して主制御装置10からメッセージ通信によりデータを受信していなければ(ステップS72においてNO)、ステップS74~S76の処理はスキップされる。
内部バス6をサイクリックに巡回するフレームのデータ有フラグがONであれば(ステップS70においてYES)、中継ユニット250は、演算ユニット200がバッファに保持しているデータを読み出したか否かを判断する(ステップS78)。演算ユニット200がバッファに保持しているデータを読み出していなければ(ステップS78においてNO)、ステップS80~S84の処理はスキップされる。
演算ユニット200がバッファに保持しているデータを読み出していれば(ステップS78においてYES)、中継ユニット250は、レスポンスを用意し(ステップS80)、演算ユニット200がレスポンスを読み出したか否かを判断する(ステップS82)。演算ユニット200がレスポンスを読み出していなければ(ステップS82においてNO)、ステップS82の処理が繰り返される。
演算ユニット200がレスポンスを読み出していれば(ステップS82においてYES)、中継ユニット250は、内部バス6をサイクリックに巡回するフレームのデータ有フラグをOFFに設定する(ステップS84)。そして、ステップS70以下の処理が繰り返される。
並行して、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームのデータ有フラグがONであるか否かを判断する(ステップS90)。フィールドネットワーク4をサイクリックに巡回するフレームのデータ有フラグがOFFであれば(ステップS90においてNO)、中継ユニット250は、内部バス6を介して演算ユニット200からメッセージ通信によりデータを受信したか否かを判断する(ステップS92)。すなわち、主制御装置10へデータを送信できる状態において、演算ユニット200からデータを受信したか否かを判断する。
内部バス6を介して演算ユニット200からメッセージ通信によりデータを受信していれば(ステップS92においてYES)、中継ユニット250は、受信したデータをフィールドネットワーク4に関連付けられたバッファに保持する(ステップS94)。そして、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームのデータ有フラグをONに設定する(ステップS96)。
内部バス6を介して演算ユニット200からメッセージ通信によりデータを受信していなければ(ステップS92においてNO)、ステップS94~S96の処理はスキップされる。
フィールドネットワーク4をサイクリックに巡回するフレームのデータ有フラグがONであれば(ステップS90においてYES)、中継ユニット250は、主制御装置10がバッファに保持しているデータを読み出したか否かを判断する(ステップS98)。主制御装置10がバッファに保持しているデータを読み出していなければ(ステップS98においてNO)、ステップS100~S104の処理はスキップされる。
主制御装置10がバッファに保持しているデータを読み出していれば(ステップS98においてYES)、中継ユニット250は、レスポンスを用意し(ステップS100)、主制御装置10がレスポンスを読み出したか否かを判断する(ステップS102)。主制御装置10がレスポンスを読み出していなければ(ステップS102においてNO)、ステップS102の処理が繰り返される。
主制御装置10がレスポンスを読み出していれば(ステップS102においてYES)、中継ユニット250は、フィールドネットワーク4をサイクリックに巡回するフレームのデータ有フラグをOFFに設定する(ステップS104)。そして、ステップS90以下の処理が繰り返される。
<H.ユーザインターフェイス例>
次に、本実施の形態に従う制御システム1における中継ユニット250の転送設定268を作成するためのユーザインターフェイス例について説明する。
図18は、本実施の形態に従う制御システム1における中継ユニット250の転送設定268を作成するためのユーザインターフェイス例を示す模式図である。例えば、サポート装置300が図18に示すユーザインターフェイスを提供する。
図18を参照して、設定画面350は、演算ユニット200から主制御装置10へ転送するデータの設定項目群352と、主制御装置10から演算ユニット200へ転送するデータの設定項目群354とを含む。設定項目群352,354の各々は、データ構造およびデータ種類の別に複数種類の設定を含む。設定画面350は、データ転送の対象となるデータ候補群356を含む。
ユーザは、設定項目群352,354のうち対象の項目を選択した上で、データ候補群356から転送対象のデータを選択する。追加ボタン358が押下されることで、選択中のデータが転送対象として追加され、削除ボタン360が押下されることで、選択中のデータが転送対象から削除される。
ユーザが設定画面350を操作して作成した転送設定268は、中継ユニット250に格納されるとともに、主制御装置10および演算ユニット200にも対応する設定が格納される。
なお、図18に示すユーザインターフェイス例に限られず、任意のインターフェイスが提供されてもよいし、ユーザインターフェイスを用意せずに、任意の方法で転送設定268を作成できるようにしてもよい。
また、ユーザインターフェイスは、サポート装置300が提供するのではなく、演算ユニット200または中継ユニット250が直接的に提供するようにしてもよい。この場合には、例えば、演算ユニット200または中継ユニット250にウェブサーバ機能を組み込んでもよい。
このように、制御システム1は、ユーザ操作に応じて、転送設定268を作成するためのユーザインターフェイスを提供するようにしてもよい。
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
第1伝送路(4)に接続するためのインターフェイス(120)を有する第1コントローラ(10)と、
第2伝送路(6)に接続するためのインターフェイス(220)を有する第2コントローラ(200)と、
前記第1伝送路に接続するための第1インターフェイス(270)と前記第2伝送路に接続するための第2インターフェイス(280)とを有する中継ユニット(250)とを備え、
前記中継ユニットは、前記第1コントローラからサイクリック通信で送信された出力データを転送設定(268)に従って前記第2コントローラへ送信するとともに、前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信する、制御システム。
[構成2]
前記中継ユニットは、前記第1コントローラからサイクリック通信で送信された出力データをサイクリック通信で前記第2コントローラへ送信し、前記第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で前記第2コントローラへ送信する、構成1に記載の制御システム。
[構成3]
前記中継ユニットは、前記第2コントローラからサイクリック通信で送信された出力データを前記第1コントローラへ送信するとともに、前記第2コントローラからメッセージ通信で送信された出力データを前記第1コントローラへ送信する、構成1またはた2に記載の制御システム。
[構成4]
前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で前記第2コントローラへ逐次送信する、構成1~3のいずれか1項に記載の制御システム。
[構成5]
前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持するとともに、前記第2コントローラからのアクセスに応じて、当該保持したデータを前記第2コントローラへ送信する、構成1~4のいずれか1項に記載の制御システム。
[構成6]
前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持していることを前記第2コントローラへ通知する、構成5に記載の制御システム。
[構成7]
前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持していることをサイクリック通信で前記第2コントローラへ通知する、構成6に記載の制御システム。
[構成8]
前記制御システムは、ユーザ操作に応じて、前記転送設定を作成するためのユーザインターフェイス(350)を提供する、構成1~7のいずれか1項に記載の制御システム。
[構成9]
第1伝送路(4)を介して第1コントローラ(10)に接続されるとともに、第2伝送路(6)を介して第2コントローラに接続された中継ユニット(250)であって、
前記第1伝送路に接続するための第1インターフェイス(270)と、
前記第2伝送路に接続するための第2インターフェイス(280)と、
前記第1コントローラからサイクリック通信で送信された出力データを転送設定(268)に従って前記第2コントローラへ送信するとともに、前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信する処理回路(260)とを備える、中継装置。
[構成10]
第1伝送路(4)に接続するためのインターフェイス(120)を有する第1コントローラ(10)と、第2伝送路に接続するためのインターフェイス(220)を有する第2コントローラ(200)とを備える制御システム(1)における通信方法であって、
転送設定に従って、前記第1コントローラからサイクリック通信で送信された出力データを前記第2コントローラへ送信するステップ(S4~S10)と、
前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信するステップ(S30~S40;S70~S84)とを備える、通信方法。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、4 フィールドネットワーク、6 内部バス、10 主制御装置、12 サイクリック通信用帯域、14 メッセージ通信用帯域、16,16A,16B フレーム、18,18A,18B 通信管理情報、20 副制御装置、22A,22B データ有フラグ、100,200 演算ユニット、102,202,262 プロセッサ、104,204 チップセット、106,206,264 メモリ、108,208,266 ストレージ、110,210 上位ネットワークインターフェイス、112,212 インターフェイス、114,214 メモリカードインターフェイス、116,216 メモリカード、120,270 フィールドネットワークインターフェイス、121,221,271,281 受信バッファ、122,222,272,282 送信バッファ、131,231 システムプログラム、132,232 ユーザプログラム、220,280 内部バスインターフェイス、250 中継ユニット、260 処理回路、268 転送設定、300 サポート装置、350 設定画面、352,354 設定項目群、356 データ候補群、358 追加ボタン、360 削除ボタン。

Claims (10)

  1. 第1伝送路に接続するためのインターフェイスを有する第1コントローラと、
    第2伝送路に接続するためのインターフェイスを有する第2コントローラと、
    前記第1伝送路に接続するための第1インターフェイスと前記第2伝送路に接続するための第2インターフェイスとを有する中継ユニットとを備え、
    前記中継ユニットは、前記第1コントローラからサイクリック通信で送信された出力データを転送設定に従って前記第2コントローラへ送信するとともに、前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信する、制御システム。
  2. 前記中継ユニットは、前記第1コントローラからサイクリック通信で送信された出力データをサイクリック通信で前記第2コントローラへ送信し、前記第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で前記第2コントローラへ送信する、請求項1に記載の制御システム。
  3. 前記中継ユニットは、前記第2コントローラからサイクリック通信で送信された出力データを前記第1コントローラへ送信するとともに、前記第2コントローラからメッセージ通信で送信された出力データを前記第1コントローラへ送信する、請求項1に記載の制御システム。
  4. 前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データをメッセージ通信で前記第2コントローラへ逐次送信する、請求項1に記載の制御システム。
  5. 前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持するとともに、前記第2コントローラからのアクセスに応じて、当該保持したデータを前記第2コントローラへ送信する、請求項1に記載の制御システム。
  6. 前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持していることを前記第2コントローラへ通知する、請求項5に記載の制御システム。
  7. 前記中継ユニットは、前記第1コントローラからメッセージ通信で送信された出力データを保持していることをサイクリック通信で前記第2コントローラへ通知する、請求項6に記載の制御システム。
  8. 前記制御システムは、ユーザ操作に応じて、前記転送設定を作成するためのユーザインターフェイスを提供する、請求項1に記載の制御システム。
  9. 第1伝送路を介して第1コントローラに接続されるとともに、第2伝送路を介して第2コントローラに接続された中継ユニットであって、
    前記第1伝送路に接続するための第1インターフェイスと、
    前記第2伝送路に接続するための第2インターフェイスと、
    前記第1コントローラからサイクリック通信で送信された出力データを転送設定に従って前記第2コントローラへ送信するとともに、前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信する処理回路とを備える、中継装置。
  10. 第1伝送路に接続するためのインターフェイスを有する第1コントローラと、第2伝送路に接続するためのインターフェイスを有する第2コントローラとを備える制御システムにおける通信方法であって、
    転送設定に従って、前記第1コントローラからサイクリック通信で送信された出力データを前記第2コントローラへ送信するステップと、
    前記第1コントローラからメッセージ通信で送信された出力データを前記第2コントローラへ送信するステップとを備える、通信方法。
JP2022099334A 2022-06-21 2022-06-21 制御システム、中継装置および通信方法 Pending JP2024000591A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022099334A JP2024000591A (ja) 2022-06-21 2022-06-21 制御システム、中継装置および通信方法
PCT/JP2023/008839 WO2023248551A1 (ja) 2022-06-21 2023-03-08 制御システム、中継装置および通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022099334A JP2024000591A (ja) 2022-06-21 2022-06-21 制御システム、中継装置および通信方法

Publications (1)

Publication Number Publication Date
JP2024000591A true JP2024000591A (ja) 2024-01-09

Family

ID=89379448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022099334A Pending JP2024000591A (ja) 2022-06-21 2022-06-21 制御システム、中継装置および通信方法

Country Status (2)

Country Link
JP (1) JP2024000591A (ja)
WO (1) WO2023248551A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006253864A (ja) * 2005-03-09 2006-09-21 Fujitsu Ltd データ蓄積型転送方法及びそのシステム並びに装置
JP6769230B2 (ja) * 2016-10-14 2020-10-14 オムロン株式会社 通信装置、制御装置および通信方法
JP7210313B2 (ja) * 2019-02-14 2023-01-23 株式会社日立製作所 通信制御装置及び通信制御方法並びに通信システム
JP7327225B2 (ja) * 2020-03-13 2023-08-16 オムロン株式会社 ロボット制御システムおよび制御方法
CN113691385A (zh) * 2020-05-19 2021-11-23 中兴通讯股份有限公司 报文处理、通告方法、装置、网桥节点、源设备及介质

Also Published As

Publication number Publication date
WO2023248551A1 (ja) 2023-12-28

Similar Documents

Publication Publication Date Title
CN113485823A (zh) 数据传输方法、装置、网络设备、存储介质
CN106980582B (zh) 数据处理方法和装置
EP3260987B1 (en) Data reading method, equipment and system
CN114285695B (zh) 通信方法、装置、设备、系统和存储介质
JP3551905B2 (ja) 管理局及びネットワークシステム並びにネットワークシステムにおける通信方法
CN114416277A (zh) 一种基于numa架构的容器部署亲和性配置优化的方法
WO2023248551A1 (ja) 制御システム、中継装置および通信方法
JP2806778B2 (ja) 変換索引バッファクリア命令処理方式
JP2023126702A (ja) 情報処理装置、および、データ転送方法
JP2007066061A (ja) データ送信装置、受信装置、送信システム、受信システム、方法及び端末装置
CN107547593B (zh) 一种实现日志同步的方法、装置及分布式系统
CN108090004B (zh) 硬件资源共用系统及连线桥接平台的操作方法
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
JP3523181B2 (ja) 非同期バスインタフェース回路及びマイクロコンピュータ
JP4814882B2 (ja) 通信システムおよび通信装置
JP2014178828A (ja) 二重化システム
CN111083182B (zh) 分布式物联网设备管理方法及装置
JP2009199281A (ja) データ送信装置
WO2024014048A1 (ja) 制御システム、制御装置および通信方法
JP2024011461A (ja) 制御システム、制御装置および通信方法
WO2022124083A1 (ja) 通信装置、通信方法、およびプログラム
JP6480747B2 (ja) 通信装置、制御方法、及びプログラム
JP2024000664A (ja) 制御システム、中継装置および通信方法
JP2021129162A (ja) 通信装置、制御方法およびプログラム
CN117493024A (zh) 多进程异构程序的迁移方法、存储介质及电子设备