JP6984199B2 - 制御システム、および、制御方法 - Google Patents

制御システム、および、制御方法 Download PDF

Info

Publication number
JP6984199B2
JP6984199B2 JP2017133765A JP2017133765A JP6984199B2 JP 6984199 B2 JP6984199 B2 JP 6984199B2 JP 2017133765 A JP2017133765 A JP 2017133765A JP 2017133765 A JP2017133765 A JP 2017133765A JP 6984199 B2 JP6984199 B2 JP 6984199B2
Authority
JP
Japan
Prior art keywords
controller
control frame
control
transmission
frame
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.)
Active
Application number
JP2017133765A
Other languages
English (en)
Other versions
JP2019016210A (ja
Inventor
成憲 澤田
靖男 宗田
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 JP2017133765A priority Critical patent/JP6984199B2/ja
Priority to PCT/JP2018/025185 priority patent/WO2019009282A1/ja
Priority to CN201880038687.4A priority patent/CN110741322B/zh
Priority to US16/621,689 priority patent/US11169492B2/en
Priority to EP18828549.8A priority patent/EP3650962B1/en
Publication of JP2019016210A publication Critical patent/JP2019016210A/ja
Application granted granted Critical
Publication of JP6984199B2 publication Critical patent/JP6984199B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21039Slaves, modules in daisy chain, each handles control data, transmits to next
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24188Redundant processors run different programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25164Loopback
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31145Ethernet
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)
  • Safety Devices In Control Systems (AREA)

Description

この発明は、コントローラとスレーブ装置とを備える制御システムに関する。
現在、FA(ファクトリー オートメーション)システムが多く実用化されている。FAシステムは、コントローラと複数のスレーブ装置と備える。複数のスレーブ装置は、計測器、スイッチ、または、制御用ドライバ等であり、制御用ドライバには、制御対象機器が接続されている。コントローラは、複数のスレーブ装置に対して、制御データを送信する。また、コントローラは、複数のスレーブ装置から計測データ等を受信して、次の制御サイクルでの制御データを生成する。
コントローラと複数のスレーブ装置とは、例えば、特許文献1に示すように、通信ケーブル等によって接続されており、イーサネット(登録商標)、または、イーサキャット(登録商標)のネットワーク規格に準じて、上述の各データを通信している。
特開2011−35664号公報
しかしながら、従来の構成では、コントローラが故障した時には、複数のスレーブ装置に対する制御が停止してしまう。また、コントローラのファームウェアの書き替え等の時には、コントローラを一時停止させる。この時にも、複数のスレーブ装置に対する制御が停止してしまう。
これにより、FAシステムの各機器に対して所望の動作をさせることができなくなり、例えば、当該FAシステムで製造される製品の不良品の発生を招くことになる。また、コントローラの停止に伴って、当該コントローラで動作が制御される全ての機器を停止させると、生産性が低下してしまう。
したがって、本発明の目的は、スレーブ装置に対して制御を行ってきたコントローラを停止させても、スレーブ装置に対する制御を継続できる制御技術を提供することにある。
この制御システムは、スレーブ装置が通信ケーブルによってライン状に接続されるフィールドバス、第1のコントローラ、および、第2のコントローラを備える。第1のコントローラは、フィールドバスの一方端に接続され、第2のコントローラは、フィールドバスの他方端に接続される。
第1のコントローラと第2のコントローラとは、制御用フレーム生成部および送受信部を備える。制御用フレーム生成部は、スレーブ装置に与える制御用フレームを生成する。送受信部は、制御用フレームのスレーブ装置に対する送受信を行う。
第1のコントローラと第2のコントローラとのいずれか一方は、制御用フレーム生成部にて制御用フレームを生成して送受信部から送信し、他方は、送受信部にて制御用フレームの折り返し通信を行う。
この構成では、第1のコントローラおよび第2のコントローラは、スレーブ装置に対して、制御用フレームを与えることが可能な構成を備える。また、第1のコントローラおよび第2のコントローラは、制御用フレームを単に折り返すことが可能な構成も備える。したがって、第1のコントローラが制御用フレームを生成、送信できなくても、第2のコントローラが制御用フレームを生成、送信する。逆に、第2のコントローラが制御用フレームを生成、送信できなくても、第1のコントローラが制御用フレームを生成、送信する。
また、この制御システムは、第1のコントローラと第2のコントローラとを、スレーブ装置を介さずに接続するデータ通信ネットワークを備える。
この構成では、第1のコントローラと第2のコントローラとは、データ通信ネットワークを介して、互いの動作状況を直接的に確認する。
また、この制御システムでは、第1のコントローラが制御用フレームの生成、送信を行い、第2のコントローラが制御用フレームの折り返し通信を行っている時において、以下の処理が実行される。第2のコントローラは、第1のコントローラに対してデータ通信ネットワークを介して動作確認用信号を送信する。第2のコントローラは、動作確認用信号に対する応答信号が受信できなければ、制御用フレームの生成、送信を開始する。
この構成では、第1のコントローラが制御用フレームの生成、送信を行っていて、何らかの事情で当該制御用フレームの生成、送信ができなくなったことを、第2のコントローラは、容易且つ確実に確認する。
また、この制御システムでは、第2のコントローラは、制御用フレームを観測し、所定時間に亘り制御用フレームが受信できなければ、制御用フレームの生成、送信を開始する。
この構成では、第2のコントローラは、複数のスレーブ装置が接続されるネットワークからの情報も含めて、第1のコントローラの制御用フレームの生成、送信の静止を確認する。
また、この制御システムは、データ通信ネットワークに接続され、第1のコントローラと第2のコントローラとの制御の切り替えの操作入力を受け付けるユーザインターフェース装置を備える。第1のコントローラが制御用フレームの生成、送信を行い、第2のコントローラが制御用フレームの折り返し通信を行っている時において、第1のコントローラは、ユーザインターフェース装置から制御の切り替えの命令を受信すると、制御用フレームの生成、送信を停止して、制御用フレームの折り返し通信を開始する。第2のコントローラは、ユーザインターフェース装置から制御の切り替えの命令を受信すると、制御用フレームの折り返し通信を停止して、制御用フレームの生成、送信を開始する。
この構成では、操作入力に応じて、第1のコントローラから第2のコントローラに、制御用フレームの生成、送信が切り替わる。
また、この制御システムでは、第1のコントローラと第2のコントローラは、切り替え確認信号を送受信し、相互に切り替えを確認する。この確認後に、第1のコントローラは、制御用フレームの生成、送信を停止して、制御用フレームの折り返し通信を開始し、第2のコントローラは、制御用フレームの折り返し通信を停止して、制御用フレームの生成、送信を開始する。
この構成では、第1のコントローラによる制御用フレームの生成、送信の停止タイミングと、第2のコントローラによる制御用フレームの生成、送信の開始タイミングとは、適正に調整される。
また、この制御システムでは、制御用フレーム生成部と送受信部とは、異なる半導体デバイスで形成されている。
この構成では、上述の切り替えが確実に実現される。
また、この制御システムでは、制御用フレーム生成部は、制御用フレームの生成プログラムを実行する演算素子からなり、送受信部は、制御用フレームの送受信を専任する半導体素子からなる。
この構成では、制御用フレーム生成部と送受信部とがそれぞれの処理に適正な素子で実現される。
この発明によれば、スレーブ装置に対して制御を行ってきたコントローラを停止させても、スレーブ装置に対する制御を継続できる。
制御システムにおける装置の構成を示す図である。 コントローラにおけるハードウェアの構成を示すブロック図である。 コントローラにおけるデータ通信に関する構成を示すブロック図である。 制御用データの概略的なデータ構成を示す図である。 制御用フレームを記憶するためのデータ通信の概要を示す図である。 ランモードのコントローラにおけるデータ伝送の状態を示す図である。 ランモードのコントローラが実行する概略処理を示すフローチャートである。 データ取得モードのコントローラにおけるデータ伝送の状態を示す図である。 データ取得モードのコントローラが実行する概略処理を示すフローチャートである。 ランモードのコントローラによる診断用フレームの送信処理を示すフローチャートである。 データ取得モードのコントローラによる診断用フレームの受信、転送処理を示すフローチャートである。 制御システムにおける装置の構成を示す図である。 ランモードのコントローラにおけるデータ伝送の状態を示す図である。 データ取得モードのコントローラにおけるデータ伝送の状態を示す図である。 コントローラの冗長化の概要の一例を示す図である。 データ取得モードからランモードに切り替わるのコントローラにおけるデータ伝送の状態を示す図である。 ビーコンの応答のみで切り替えを判断する第1の態様を示す。 ビーコンの応答のみで切り替えを判断する第2の態様を示す。 制御用フレームの観測結果とビーコンの応答で切り替えを判断する態様を示す。 ランモードに切り替わった後のコントローラにおけるデータ伝送の状態を示す図である。 制御用ネットワークに接続される2個のコントローラのモード切り替えにおけるデータ伝送の状態を示す図である。 2個のコントローラが実行するモード切り替えの概略処理を示すフローチャートである。 ケーブルの冗長化によって対処可能な事例の一例を示す図である。 ケーブルの冗長化に対応したランモードのコントローラの処理のフローチャートである。 ケーブルの冗長化に対応したデータ取得モードのコントローラの処理のフローチャートである。 データ取得モードのコントローラによって異常検知を実行する場合の制御システムにおける装置の構成を示す図である。 データ取得モードのコントローラにおけるデータ通信に関する構成を示すブロック図である。
本発明の実施形態に係る制御システムおよび制御方法について、図を参照して説明する。本実施形態では、制御システムとして、FA(ファクトリー オートメーション)システム、具体的には、ネットワーク規格として、EtherCAT(イーサキャット)(登録商標)に準じた制御用ネットワークを有するFAシステムを例に説明する。しかしながら、EatherCATと同じネットワーク規格で通信を実行する他の制御システムにも、本願発明の構成を適用できる。
(制御システムの構成)
図1は、制御システムにおける装置の構成を示す図である。図1に示すように、制御システム1は、コントローラ11、コントローラ12、複数のスレーブ装置21、22、23、複数の通信ケーブル31、32、33、34、35、データベース装置40ユーザインターフェース装置(UI装置)50、および、情報通信用ネットワーク60を備える。コントローラ11は、本発明の「第1のコントローラ」に対応し、コントローラ12は、本発明の「第2のコントローラ」に対応する。
データベース装置40は、以下に示す制御用フレームや診断用フレームを保存する。そして、データベース装置40は、制御システム1によって取得され保存された制御用フレームまたは診断用フレームを用いて、制御用ネットワークの異常検知に関する処理を実行する。例えば、データベース装置40で実行される異常検知に関する処理は、異常診断、異常通知、異常予兆推測、データトレース、および、制御用ネットワークの負荷モニタの少なくとも1つを含むものであり、既知の方法によって実現が可能である。
UI装置50は、コントローラ11、および、コントローラ12へのユーザプログラムの転送を行う。なお、UI装置50においてユーザプログラムを作成することも可能である。また、UI装置50は、コントローラ11、および、コントローラ12に対する制御値や処理の設定を行う。
コントローラ11は、通信ケーブル31を介してスレーブ装置21に接続している。スレーブ装置21は、通信ケーブル32を介してスレーブ装置22に接続している。スレーブ装置22は、通信ケーブル33を介してスレーブ装置23に接続している。スレーブ装置23は、通信ケーブル34を介してコントローラ12に接続している。
すなわち、コントローラ11、スレーブ装置21、スレーブ装置22、スレーブ装置23、および、コントローラ12は、この順でライン状に接続されている。言い換えれば、コントローラ11を第1端とし、コントローラ12を第2端として、第1端から第2端に向かって、複数のスレーブ装置21、22、23が順に接続されている。また、コントローラ12は、通信ケーブル35を介してコントローラ11に接続されている。このような通信ケーブルの接続態様によって、制御用ネットワークのフィールドバスが構成される。この制御用ネットワークでは、データは、Ethernet(登録商標)を利用したEtherCAT(登録商標)のネットワーク規格にしたがって通信される。なお、具体的な通信の内容は後述する。
コントローラ11、コントローラ12、データベース装置40、および、UI装置50は、情報通信用ネットワーク60を介して接続されている。情報通信用ネットワーク60は、Ethernet等の汎用のネットワーク規格にしたがった通信を行うものであり、コントローラ11、コントローラ12、データベース装置40、および、UI装置50間でデータリンクを実現する。なお、本発明の制御システム1は、少なくとも、制御用ネットワークの部分を有していればよい。
(コントローラの構成)
コントローラ11とコントローラ12とは、同じ構成からなる。図2は、コントローラにおけるハードウェアの構成を示すブロック図である。なお、図2では、コントローラ11とコントローラ12とが同じ構成であることからコントローラ10として説明する。
図2に示すように、コントローラ10は、CPU101、送受信部102、上位通信部103、共有メモリ104、プログラムメモリ105、および、システムバス110を備える。送受信部102、上位通信部103、共有メモリ104、および、プログラムメモリ105は、システムバス110によって接続されている。
送受信部102は、ASIC等によって実現され、CPU101とは別の専用のICによって実現されている。なお、送受信部102は、FPGA等によって実現されていてもよい。送受信部102は、制御用ネットワークに接続され、制御フレームの送受信を実行する。
上位通信部103は、汎用の通信用ICによって実現されている。上位通信部103は、情報通信用ネットワーク60に接続され、情報通信用ネットワーク60を介した送受信を実行する。
共有メモリ104は、情報通信用ネットワーク60からの制御用の各種のデータ、制御用フレームを構成するPDOデータ等が記憶されている。PDOデータとは、複数のスレーブ装置21、22、23に対する出力データ、複数のスレーブ装置21、22、23からの入力データからなるデータ群によって構成されている。
プログラムメモリ105には、コントローラ10の基本制御が記載されたシステムプログラム、UI装置50から書き込まれた制御用のユーザプログラムが記憶されている。ユーザプログラムは、後述のランモードのコントローラとデータ取得モードのコントローラとで異なっていてもよく、これらランモードとデータ取得モードとの両方を選択的に実現できるものであってもよい。
図3は、コントローラにおけるデータ通信に関する構成を示すブロック図である。図4は、制御用データの概略的なデータ構成を示す図である。
図3に示すように、CPU101は、PLC制御、EtherCATスタック、Etherドライバ、上位通信用Etherドライバを実現する。
EtherCATスタック、Etherドライバ、上位通信用Etherドライバは、CPU101がプログラムメモリ105からシステムプログラムを読み出して実行することによって、実現される。PLC制御は、CPU101がプログラムメモリ105から制御用のユーザプログラムを読み出して実行することによって、実現される。
PLC制御は、共有メモリ104に記憶されたデータを用いて、PDOデータを生成する。すなわち、PLC制御は、各スレーブ装置21、22、23からの計測値等の入力データ、当該入力データに基づく演算結果、ユーザプログラム、および、UI装置50からの制御情報等を用いて、PDOデータを生成する。図4に示すように、PDOデータは、スレーブ装置21用のデータ領域DG21、スレーブ装置22用のデータ領域DG22、スレーブ装置23用のデータ領域DG23からなり、スレーブ装置21用のデータ領域DG21は、スレーブ装置21に対する出力データ、および、スレーブ装置21からの入力データの書き込み領域であり、スレーブ装置22用のデータ領域DG22は、スレーブ装置22に対する出力データ、および、スレーブ装置22からの入力データの書き込み領域であり、スレーブ装置23用のデータ領域DG23は、スレーブ装置23に対する出力データ、および、スレーブ装置23からの入力データの書き込み領域である。なお、スレーブ装置21、22、23において、スレーブ装置がセンサ等の入力データを必要とせず出力データが制御に必要な装置であれば、当該スレーブ装置に対するデータ領域は、スレーブ装置からの出力データの書き込み領域のみとなる。一方、スレーブ装置21、22、23において、スレーブ装置がスイッチ等の入力データが制御に必要であり、出力データが制御に必要でない装置であれば、当該スレーブ装置に対するデータ領域は、スレーブ装置に対する入力データの書き込み領域のみとなる。
PLC制御は、制御用データの送信のスケジューリングを実行する。PLC制御は、PDOデータを、EtherCATスタックに渡す。また、PLC制御は、EtherCATスタックからのPDOデータからスレーブ装置21、22、23に紐付けされた入力データを抽出し、共有メモリ104に記憶する。
EtherCATスタックは、PDOデータに対して、EtherCATヘッダ(図4のECH)を付け、Etherドライバに渡す。逆に、EtherCATスタックは、Etherドライバからのフレームデータ(図4のECH+PDO)からPDOデータを抽出し、PLC制御に渡す。
Etherドライバは、EtherCATスタックからのフレームデータ(図4のECH+PDO)に対して、Ehernetヘッダ(図4のEH)およびCRCデータ(図4のCRC)を付け、制御用フレームとして、送受信部102の送信部121に出力する。逆に、Etherドライバは、送受信部102の受信部122からの制御用フレーム(図4に示すデータ)から、EtherCATに対応するフレームデータ(図4のECH+PDO)を抽出し、EtherCATスタックに渡す。
なお、CPU101は、上位通信部103を介した情報通信用ネットワーク60に対する送受信を、上位通信用Etherドライバによって実行する。これにより、CPU101は、情報通信用ネットワーク60を介して、UI装置50からのシステムプログラムやユーザプログラム、各種のデータを受信し、プログラムメモリ105や共有メモリ104に記憶する。この情報通信用ネットワーク60に対する通信は、汎用のEthernet等に準じたものであり、説明は省略する。
(送受信部102の構成)
送受信部102は、送信部121、受信部122、および、IF(インターフェース)123を備える。送信部121と受信部122とは、それぞれ個別のICによって実現されている。IF123は、通信ケーブルに対する物理的な接続を実現しており、少なくとも2個のポートを有する。
送信部121は、CPU101からの制御用フレームをIF123を介して制御用ネットワークに送信する。この際、送信部121は、制御用フレームにタイムスタンプを付与して送信する。また、送信部121は、次に示す受信部122からの複写された制御用フレームも、IF123を介して制御用ネットワークに送信できる。さらに、送信部121は、後述する診断用フレームを生成し、所定の時刻にて、IF123を介して制御用ネットワークに送信できる。
受信部122は、IF123を介して制御用ネットワークから受信した制御用フレームをCPU101に渡す。受信部122は、制御用フレームを複写することもできる。受信部122は、複写した制御用フレームを、送信部121や上位通信部13に転送することもできる。この場合、受信部122は、複写した制御用フレームを、CPU101を介することなく、直接に、送信部121や上位通信部13に転送する。
(異常検知)
図5は、制御用フレームを記憶するためのデータ通信の概要を示す図である。図5において、太矢印は、制御用フレームの流れを示している。
異常検知のための制御用フレームの収集処理では、コントローラ11をランモードに設定し、コントローラ12をデータ取得モードに設定する。コントローラ11が、本発明の「第1のコントローラ」に対応し、コントローラ12が、本発明の「第2のコントローラ」に対応する。
ランモードのコントローラ11は、制御用フレームの送受信のスケジュール管理、各スレーブ装置21、22、23から入力データを用いた演算、当該演算結果による出力データの生成および制御用フレームの生成を実行する。すなわち、ランモードのコントローラ11は、制御用ネットワークを用いたサイクリック通信による複数のスレーブ装置21、22、23との制御用のデータ通信を、高速に実行する。
データ取得モードのコントローラ12は、コントローラ11のような複数のスレーブ装置21、22、23に対する制御用のデータ通信の管理を実行せず、制御用フレームを受信して、情報通信用ネットワーク60のデータベース装置40へ転送する。
コントローラ11は、図4に示すような制御用フレームを生成すると、制御用ネットワークに送信する。すなわち、コントローラ11は、制御用フレームを通信ケーブル31を介して送信する。
スレーブ装置21は、通信ケーブル31を介して制御用フレームを受信する。スレーブ装置21は、制御用フレームに記載されたスレーブ装置21用の出力データを取得し、スレーブ装置21で取得した入力データを制御用フレームに書き込む。なお、スレーブ装置21は、出力データに基づいて、スレーブ装置21に接続された制御対象装置を制御する。また、スレーブ装置21は、制御対象装置から計測値を取得し、次の制御周期における入力データとする。
スレーブ装置21は、制御用フレームに対してタイムスタンプを付与する。スレーブ装置21は、制御用フレームを、通信ケーブル32を介して送信する。
スレーブ装置22は、通信ケーブル32を介して制御用フレームを受信する。スレーブ装置22は、制御用フレームに記載されたスレーブ装置22用の出力データを取得し、スレーブ装置22で取得した入力データを制御用フレームに書き込む。なお、スレーブ装置22は、出力データに基づいて、スレーブ装置22に接続された制御対象装置を制御する。また、スレーブ装置22は、制御対象装置から計測値を取得し、次の制御周期における入力データとする。
スレーブ装置22は、制御用フレームに対してタイムスタンプを付与する。スレーブ装置22は、制御用フレームを、通信ケーブル33を介して送信する。
スレーブ装置23は、通信ケーブル33を介して制御用フレームを受信する。スレーブ装置23は、制御用フレームに記載されたスレーブ装置23用の出力データを取得し、スレーブ装置23で取得した入力データを制御用フレームに書き込む。なお、スレーブ装置23は、出力データに基づいて、スレーブ装置23に接続された制御対象装置を制御する。また、スレーブ装置23は、制御対象装置から計測値を取得し、次の制御周期における入力データとする。
スレーブ装置23は、制御用フレームに対してタイムスタンプを付与する。スレーブ装置23は、制御用フレームを、通信ケーブル34を介して送信する。
コントローラ12は、通信ケーブル34を介して制御用フレームを受信する。コントローラ12は、制御用フレームを複写して、通信ケーブル35を介して送信する。この際、コントローラ12は、制御用フレームに対してタイムスタンプを付与する。この制御用フレームは、通信ケーブル35を介して、コントローラ11によって受信される。また、コントローラ12は、複写した制御用フレームを、情報通信用ネットワーク60を介して接続されたデータベース装置40に送信する。
(ランモードのコントローラ11の具体的な処理)
ランモードに設定されたコントローラ11は、具体的に次の処理を実行する。ランモードの設定は、例えば、UI装置50からの制御命令等によって実行される。図6は、ランモードのコントローラにおけるデータ伝送の状態を示す図である。
コントローラ11では、CPU101は、上述のように、共有メモリ104に記憶されたデータ群を用いて、PLC制御、EtherCATスタック、およびEtherドライバによって制御用フレームを生成する。この制御用フレームの生成処理は、PLC制御によって決定された制御周期に応じて実行される。CPU101は、制御用フレームを、送受信部102の送信部121に出力する。
送信部121は、上記制御周期に応じて、IF123を介して、通信ケーブル31に制御用フレームを送信する。
一方、コントローラ11では、送受信部102の受信部122は、通信ケーブル35、および、IF123を介して、制御用ネットワークから返ってきた制御用フレームを受信する。受信部122は、制御用フレームをCPU101に出力する。
CPU101は、上述のように、Etherドライバ、EtherCATスタック、およびPLC制御によって制御用フレームからPDOデータを抽出する。CPU101は、PDOデータを、共有メモリ104に記憶する。なお、CPU101は、PDOデータから、複数のスレーブ装置21、22、23からの入力データを抽出して、入力データのみを共有メモリ104に記憶してもよい。
コントローラ11は、この制御用フレームの生成、送受信、および、制御用ネットワークから返ってきたPDOデータの記憶を、上述の制御周期に対応して繰り返し実行する。
すなわち、コントローラ11は、図7に示す処理を実行する。図7は、ランモードのコントローラが実行する概略処理を示すフローチャートである。なお、図7に示す処理は、CPU101と送受信部102とによって実行されているが、CPU101のみでも実行可能である。
図7に示すように、コントローラ11は、共有メモリ104から、前回のPDOデータを含む今回の制御用フレームに必要なデータ群を読み出す(S101)。コントローラ11は、これらのデータ群を用いて、今回のPDOデータを生成する(S102)。コントローラ11は、PDOデータを用いて、制御用フレームを生成する(S103)。コントローラ11は、制御周期から送信時刻を設定する(S104)。コントローラ11は、送信時刻に同期して、制御用フレームを送信する(S105)。コントローラ11は、制御用ネットワークから返ってきた制御用フレームを受信する(S106)。コントローラ11は、返ってきた制御用フレームからPDOデータを抽出する(S107)。コントローラ11は、PDOデータを、共有メモリ104に書き込む(S108)。コントローラ11は、これらの処理を終了すると、ステップS101に戻り、処理を繰り返す。
(データ取得モードのコントローラ12の具体的な処理)
データ取得モードに設定されたコントローラ12は、具体的に次の処理を実行する。データ取得モードの設定は、例えば、UI装置50からの制御命令等によって実行される。図8は、データ取得モードのコントローラにおけるデータ伝送の状態を示す図である。
コントローラ12では、送受信部102’の受信部122’は、通信ケーブル34、および、IF123’を介して、制御用ネットワークから送信されてきた、すなわち、全てのスレーブ装置21、22、23を通ってきた制御用フレームを受信する。受信部122’は、制御用フレームを複写する。受信部122’は、制御用フレームをCPU101’に出力するとともに、送信部121’に出力する。CPU101’に入力されたPDOデータは、CPU101と同様に共有メモリ104に記憶される。
送信部121’は、IF123’を介して、通信ケーブル35に、制御用フレームを出力する。すなわち、受信部122’と送信部121’とによって、制御用ネットワークにおける制御用フレームの折り返しを実行する。
また、受信部122’は、制御用フレームを上位通信部103’に転送する。この転送は、例えば、DMA(Direct Memory Access)転送方式を用いる。上位通信部103’は、IF130’を介して、情報通信用ネットワーク60のデータベース装置40に、制御用フレームを転送する。なお、この際に、コントローラ12は、制御用フレームに対してタイムスタンプを付与する。
コントローラ12は、この制御用フレームの折り返し、および、情報通信用ネットワーク60への転送を、制御用フレームを受信する毎に実行する。
すなわち、コントローラ12は、図9に示す処理を実行する。図9は、データ取得モードのコントローラが実行する概略処理を示すフローチャートである。なお、図9に示す処理は、CPU101’と送受信部102’と上位通信部103’とによって実行されているが、CPU101’のみでも実行可能である。
図9に示すように、コントローラ12は、制御用ネットワークから送られてきた制御用フレームを受信する(S201)。コントローラ12は、制御用フレームを複写する(S202)。コントローラ12は、制御用フレームを、制御用ネットワークに返信する(S203)。コントローラ12は、制御用フレームを、情報通信用ネットワーク60のデータベース装置40に転送する(S211)。コントローラ12は、制御用フレームからPDOデータを抽出し(S221)、共有メモリ104’に記憶する(S222)。なお、後述のコントローラの冗長化が必要でなければ、コントローラ12は、PDOデータの抽出、記憶を行わなくてもよい。
以上のように、制御システム1では、ランモードのコントローラ11は、異常検知用の制御用フレームの保存、情報通信用ネットワーク60への転送を行わない。すなわち、ランモードのコントローラ11は、複数のスレーブ装置21、22、23に対するサイクリックな制御を専任して実行する。
一方、データ取得モードのコントローラ12は、制御用フレームの送受信管理を行わない。すなわち、データ取得モードのコントローラ12は、異常検知用の制御用フレームの保存、情報通信用ネットワーク60への転送を専任して実行する。
このような構成によって、制御システム1は、制御用ネットワークで通信されるデータ量に関係なく、コントローラと複数のスレーブ装置との制御用フレームの通信を確実に行いながら、異常検知用の制御用フレームの取得量の低下を抑制できる。
また、制御システム1では、データ取得モードのコントローラ12は、ランモードのコントローラ11を起点にして複数のスレーブ装置21、22、23の先に接続されている。したがって、コントローラ12は、今回の制御周期において全てのスレーブ装置21、22、23が更新したPDOデータを含む制御用フレームを受信できる。これにより、コントローラ12は、最新の状態に更新された制御用フレームを効率的に取得できる。
さらに、制御システム1では、コントローラがCPUと送受信部とによって構成されているので、上述の制御用フレームの折り返しの遅延を抑制でき、データ取得モードのコントローラを接続することによる制御周期の長周期化を抑制できる。また、制御用フレームを情報通信用ネットワーク60のデータベース装置40に転送する際にCPUを用いず、CPUの負荷が軽減される。
(診断用フレームの送信、保存)
なお、上述の構成および処理では、制御周期に応じて周期的に通信される制御用フレームを保存、転送する態様を示したが、診断用フレームを生成して、当該診断用フレームを保存、転送することもできる。
図10は、ランモードのコントローラによる診断用フレームの送信処理を示すフローチャートである。図10に示すように、コントローラ11は、診断用フレームを生成する(S121)。コントローラ11は、診断用フレームの送信タイミングか否かを検出する。診断用フレームの送信タイミングは、予め所定の時間間隔に設定されているか、または、UI装置50から診断用フレームの送信要求によって決定される。コントローラ11は、診断用フレームの送信タイミングであり(S122:YES)、且つ、制御用フレームの送信中でなければ(S123:NO)、診断用フレームを、制御用ネットワークに送信する(S124)。
図11は、データ取得モードのコントローラによる診断用フレームの受信、転送処理を示すフローチャートである。図11に示すように、コントローラ12は、診断用フレームを受信する(S231)。コントローラ12は、診断用フレームを、情報通信用ネットワーク60のデータベース装置40に転送する(S232)。この際、コントローラ12は、診断用フレームであることを検出すると、上述の制御用フレームのような、複写と折り返しとは行わなくてもよい。
このような構成および処理によって、制御システム1は、コントローラと複数のスレーブ装置との制御用フレームの通信を確実に行いながら、異常検知用の診断用フレームを転送、保存できる。したがって、異常検知用のフレームデータをさらに多く取得でき、且つ、詳細な異常検知ができるデータを取得できる。
さらに、上述のコントローラ11における診断用フレームの送信処理を、送受信部102によって実行させることで、診断用フレームを用いることによるコントローラ11のCPU101の処理負荷の増加を抑制できる。
また、上述の説明では、コントローラ11は、制御用フレームおよび診断用フレームを、情報通信用ネットワーク60のデータベース装置40に転送しない態様を示した。しかしながら、コントローラ11は、制御用フレームおよび診断用フレームを、情報通信用ネットワーク60のデータベース装置40に転送してもよい。ただし、制御用フレームおよび診断用フレームを、情報通信用ネットワーク60のデータベース装置40に転送しないことによって、情報通信用ネットワーク60を介したコントローラ11のCPU101とUI装置50との通信帯域を確保できる。したがって、UI装置50とコントローラ11のCPU101との間の制御用のデータの通信を、確実且つ高速に実行できる。
なお、上述の説明では、コントローラ11とコントローラ12とは、通信ケーブル35を介して接続されている。しかしながら、通信ケーブル35は、省略することも可能である。図12は、制御システムにおける装置の構成を示す図である。図12に示すように、制御システム1Aは、コントローラ11A、コントローラ12A、複数のスレーブ装置21、22、23、複数の通信ケーブル31、32、33、34、データベース装置40ユーザインターフェース装置(UI装置)50、および、情報通信用ネットワーク60を備える。図12に示す制御システム1Aは、図1に示す制御システム1に対して、通信ケーブル35を省略した構成を有する。したがって、以下では、図1に示す制御システムと異なる新たな説明の必要な箇所のみを説明する。
コントローラ11A、スレーブ装置21、スレーブ装置22、スレーブ装置23、および、コントローラ12Aは、この順でライン状に接続されている。言い換えれば、コントローラ11Aを第1端とし、コントローラ12Aを第2端として、第1端から第2端に向かって、複数のスレーブ装置21、22、23が順に接続されている。しかしながら、コントローラ11Aとコントローラ12Aとは、直接接続されていない。この場合、コントローラ11Aから送信されコントローラ12Aに到達した制御用フレームは、コントローラ12Aで折り返されて、スレーブ装置23、スレーブ装置22、スレーブ装置21を順に介して、コントローラ11Aに戻る。
(ランモードのコントローラ11Aの具体的な処理)
ランモードに設定されたコントローラ11Aは、具体的に次の処理を実行する。図13は、ランモードのコントローラにおけるデータ伝送の状態を示す図である。
コントローラ11Aでは、CPU101は、上述のように、共有メモリ104に記憶されたデータ群を用いて、PLC制御、EtherCATスタック、およびEtherドライバによって制御用フレームを生成する。この制御用フレームの生成処理は、PLC制御によって決定された制御周期に応じて実行される。CPU101は、制御用フレームを、送受信部102の送信部121に出力する。
送信部121は、上記制御周期に応じて、IF123を介して、通信ケーブル31に制御用フレームを送信する。
一方、コントローラ11では、送受信部102の受信部122は、通信ケーブル31、および、IF123を介して、制御用ネットワークから返ってきた制御用フレームを受信する。受信部122は、制御用フレームをCPU101に出力する。
(データ取得モードのコントローラ12Aの具体的な処理)
データ取得モードに設定されたコントローラ12Aは、具体的に次の処理を実行する。図14は、データ取得モードのコントローラにおけるデータ伝送の状態を示す図である。
コントローラ12Aでは、送受信部102’の受信部122’は、通信ケーブル34、および、IF123’を介して、制御用ネットワークから送信されてきた制御用フレームを受信する。受信部122’は、制御用フレームを複写する。受信部122’は、制御用フレームをCPU101’に出力するとともに、送信部121’に出力する。
送信部121’は、IF123’を介して、通信ケーブル34に、制御用フレームを出力する。すなわち、受信部122’と送信部121’とによって、制御用ネットワークにおける制御用フレームの折り返しを実行する。
また、受信部122’は、制御用フレームを上位通信部103’に転送する。この転送は、例えば、DMA(Direct Memory Access)転送方式を用いる。上位通信部103’は、IF130’を介して、情報通信用ネットワーク60のデータベース装置40に、制御用フレームを転送する。なお、この際に、コントローラ12は、制御用フレームに対してタイムスタンプを付与する。
コントローラ12は、この制御用フレームの折り返し、および、情報通信用ネットワーク60への転送を、制御用フレームを受信する毎に実行する。
このような構成の制御システム1Aであっても、制御用ネットワークで通信されるデータ量に関係なく、コントローラと複数のスレーブ装置との制御用フレームの通信を確実に行いながら、異常検知用の制御用フレームの取得量の低下を抑制できる。
(コントローラの冗長化)
上述の構成からなる制御システム1は、コントローラの冗長化に対応可能である。コントローラの冗長化とは、概略的には、複数のスレーブ装置21、22、23を有する制御用ネットワークの両端に、それぞれに制御用フレームの生成、送受信をできるコントローラを接続する構成(図1、図12と同様の構成)である。そして、コントローラの冗長化では、両端のコントローラのいずれか一方を、制御用フレームの生成、スケジュール管理用として利用する。
図15は、コントローラの冗長化の概要の一例を示す図である。図15では、コントローラ11がランモードを実行中に故障し、コントローラ12がデータ取得モードからランモードに切り換えた態様を示している。図15において黒色の太矢印は、ビーコンの伝送状態を示し、白色の太矢印は、制御用フレームの伝送状態を示す。
図15に示すように、コントローラ12は、情報通信用ネットワーク60を介して、コントローラ11に対して、ビーコン(本発明の「動作確認用信号」に対応する。)を送信する。コントローラ12は、ビーコンの応答信号が無ければ、データ取得モード(図15ではPモード)からランモード(図15ではRモード)に切り替える。そして、コントローラ12は、複数のスレーブ装置21、22、23が接続される制御用ネットワークに対する制御用フレームを生成し、当該制御用ネットワークに制御用フレームを送信する。コントローラ11は、上述の構成であれば、CPU101が故障していても、送受信部102によって、制御用フレームの折り返し通信は可能である。
(データ取得モードからランモードに切り替わるコントローラ12の具体的な処理)
図16は、データ取得モードからランモードに切り替わるのコントローラにおけるデータ伝送の状態を示す図である。図16において黒色の太矢印は、ビーコンの伝送状態を示し、白色の太矢印は、制御用フレームの伝送状態を示す。
コントローラ12は、データ取得モードに設定されている期間では、上述の制御用フレームの複写、折り返し、情報通信用ネットワーク60のデータベース装置40、および、PDOデータの共有メモリ104への記憶を、逐次実行する。
これらの処理とともに、コントローラ12のCPU101は、PLC制御においてビーコンを生成する。この際、CPU101は、予め設定した動作確認用の周期でビーコンを生成する。動作確認用の周期は、制御用ネットワークの制御周期の定数倍(例えば、2倍から5倍程度)に設定されている。なお、この定数は一例であり、他の値であってもよい。また、CPU101は、送受信部102からの制御用フレームの出力が所定時間に亘って無い時に、制御用フレームの出力の停止したと検知し、ビーコンを生成する。
上位通信用Etherドライバは、このビーコンにコントローラ11を受信先とするEhernetヘッダを付け、上位通信部103に出力する。上位通信部103は、IF130を介してビーコンを情報通信用ネットワーク60に出力する。
コントローラ12のCPU101におけるPLC制御は、ビーコンの応答信号を検出できなければ、データ取得モードからランモードへの切り替えを実行する。
コントローラ12は、具体的に、次の図17、図18、図19のいずれかに示すような処理を実行する。
図17は、データ取得モードからランモードに切り替わるコントローラが実行する概略処理を示すフローチャートである。図17は、ビーコンの応答のみで切り替えを判断する第1の態様を示す。
図17に示すように、コントローラ12は、スレーブ情報、すなわち、制御用ネットワークに接続された複数のスレーブ装置21、22、23の情報を受信する(S300)。このような複数のスレーブ装置21、22、23の情報は、コントローラ11が制御用ネットワークを構築する際に取得され、コントローラ11から送信され、コントローラ12で受信される。なお、この処理は、データ取得モードからランモードへの切り替え処理に対する事前処理であり、データ取得モードからランモードへの切り替え処理における必須の処理でなく、他の方法によって実現していてもよい。
コントローラ12は、ビーコンを生成して、情報通信用ネットワーク60を介してコントローラ11に送信する(S301)。コントローラ12は、ビーコンに対する応答信号があれば(S302:NO)、上述の動作確認用の周期でビーコンの送信を繰り返す。
コントローラ12は、ビーコンに対する応答信号がなければ(S302:YES)、データ取得モードからランモードに切り替える(S303)。
図18は、データ取得モードからランモードに切り替わるコントローラが実行する概略処理を示すフローチャートである。図18は、ビーコンの応答のみで切り替えを判断する第2の態様を示す。
図18に示すように、コントローラ12は、ビーコンを生成して、情報通信用ネットワーク60を介してコントローラ11に送信する(S301)。コントローラ12は、ビーコンに対する応答信号があれば(S302:NO)、上述の動作確認用の周期でビーコンの送信を繰り返す。
コントローラ12は、ビーコンに対する応答信号がなければ(S302:YES)、ビーコンの送信に対して応答の無い回数をカウントアップする(S311)。コントローラ12は、カウント値が切替閾値に達していなければ(S312:NO)、上述の動作確認用の周期でビーコンの送信を繰り返す。
コントローラ12は、カウント値が切替閾値に達すれば(S312:YES)、データ取得モードからランモードに切り替える(S303)。
図18の処理を用いることによって、情報通信用ネットワーク60を介するビーコンの通信エラー等による誤ったモードの切り替えは抑制される。
図19は、データ取得モードからランモードに切り替わるコントローラが実行する概略処理を示すフローチャートである。図19は、制御用フレームの観測結果とビーコンの応答で切り替えを判断する態様を示す。
コントローラ12は、制御用フレームを観測する(S401)。コントローラ12は、制御用フレームを受信できていれば(S402:NO)、制御用フレームの観測を繰り返す。
コントローラ12は、所定時間、制御用フレームが受信できなければ(S402:YES)、ビーコンを生成して、情報通信用ネットワーク60を介してコントローラ11に送信する(S301)。ここで、所定時間は、例えば、制御周期の定数倍である。コントローラ12は、ビーコンに対する応答信号があれば(S302:NO)、上述の動作確認用の周期でビーコンの送信を繰り返す。
コントローラ12は、ビーコンに対する応答信号がなければ(S302:YES)、データ取得モードからランモードに切り替える(S303)。
図19の処理を用いることによって、制御用ネットワークにおける制御用フレームの通信状態と、情報通信用ネットワーク60を介したビーコンとによって、コントローラ11の故障等を検知できる。これにより、コントローラ11に対する検知精度は向上する。
このように、データ取得モードからランモードに切り替わると、コントローラ12は、図20に示すような処理を実行する。図20は、ランモードに切り替わった後のコントローラにおけるデータ伝送の状態を示す図である。この図20に示す処理は、図6に示した処理に対して、処理の主体がコントローラ11からコントローラ12に代わったものである。したがって、詳細な処理については説明を省略する。すなわち、コントローラ12は、ランモードへ切り替わると、制御用ネットワークにおいてコントローラ11が実行していた処理と同様の処理を実行する。
以上のように、上述の構成および処理を用いることによって、コントローラ11が故障等によって制御用フレームの生成、スケジュール管理を行えなくなっても、コントローラ12によって制御用ネットワークを用いた制御を継続できる。すなわち、制御用ネットワークに対する制御の停止期間は殆ど発生しない。
この際、コントローラ12は、上述のように、データ取得モード時にPDOデータを共有メモリ104に記憶している。したがって、コントローラ12は、ランモードへの切り替え時に、それまでのPDOデータを既に保持している。これにより、コントローラ12は、制御用フレームの生成を早急且つ確実に行うことができる。
さらに、上述のように、コントローラ12は、ランモードへの切り替えの前に、複数のスレーブ装置21、22、23の情報をコントローラ11から取得して共有メモリ104に記憶している。これにより、コントローラ12は、複数のスレーブ装置21、22、23の情報を、切り替え後に改めて、複数のスレーブ装置21、22、23から取得する必要はない。したがって、制御用フレームの生成をさらに早急且つ確実に行うことができる。
また、コントローラ11において、CPU101が故障、または暴走し、送受信部102が正常であれば、コントローラ11では送受信部102にて制御用フレームが複写される。そして、複写された制御用フレームは、送受信部102、および上位通信部103を介して、情報通信用ネットワーク60のデータベース装置40に転送される。これにより、異常検知用の制御用フレームの転送は継続される。
(コントローラ11とコントローラ12とのモード切り替えの具体的な処理)
図21は、制御用ネットワークに接続される2個のコントローラのモード切り替えにおけるデータ伝送の状態を示す図である。図21において黒色の太矢印は、切り替え命令信号の伝送状態を示し、ハッチングの太矢印は、切り替え確認信号の伝送状態を示す。
UI装置50は、ランモードで動作中のコントローラ11と、データ取得モードで動作中のコントローラ12とに、情報通信用ネットワーク60を介して、切り替え命令信号を送信する。コントローラ11とコントローラ12とは、切り替え命令信号を受信すると、情報通信用ネットワーク60を介して、切り替え確認信号を相互に送受信する。
この後、コントローラ11は、ランモードを停止し、データ取得モードを開始する。また、これに同期して、コントローラ12は、ランモードを開始し、データ取得モードを停止する。
図22は、2個のコントローラが実行するモード切り替えの概略処理を示すフローチャートである。
コントローラ11は、切り替え命令信号を受信すると(S411)、コントローラ12に対して、切り替え確認信号である制御停止予告信号を、コントローラ12に送信する(S412)。制御停止予告信号には、例えば、制御を停止する時刻等を含んでいてもよい。
コントローラ12は、切り替え命令信号を受信すると(S421)、制御停止予告信号の受信待ちになり、制御停止予告信号を受信する(S422)。コントローラ12は、制御停止予告信号を解析し、制御開始予告信号を、コントローラ11に送信する(S423)。
コントローラ11は、制御開始予告信号を受信すると(S413)、制御を停止する。これにより、コントローラ11は、ランモードからデータ取得モードに切り替える。この後、コントローラ11は、制御用フレームを観測し、制御用フレームの受信が実行できているかを確認する(S415)。
コントローラ12は、制御開始予告信号の送信後、制御用フレームを観測し、制御用フレームの受信が無くなったことを確認する(S424)。この後、コントローラ12は、データ取得モードからランモードに切り替え、制御用フレームの生成、制御用ネットワークへの送受信を開始する(S425)。
このように、制御システム1では、ランモードのコントローラとデータ取得モードのコントローラとを、UI装置50からの制御によって、相互に切り替えることができる。これにより、例えば、ファームウェアの書き替え、アップデートを、複数のスレーブ装置21、22、23の制御を継続しながら、実現できる。例えば、データ取得モードのコントローラ12に対して、ファームウェアの書き替えを行い、コントローラ11とコントローラ12に対するランモードとデータ取得モードとの切り替えを実行する。そして、データ取得モードになったコントローラ11に対して、ファームウェアの書き換えを行う。
この場合、データ取得モードのコントローラは、複数のスレーブ装置への制御に対するCPU101の負荷が殆ど無い。したがって、ファームウェアのダウンロードと書き替え処理を、高速且つ確実に行うことができる。
(ケーブルの冗長化)
上述の構成からなる制御システム1は、ケーブルの冗長化に対応可能である。ケーブルの冗長化とは、概略的には、複数のスレーブ装置21、22、23を有する制御用ネットワークの両端に接続された2個のコントローラを、2個の経路で接続する構成(図1と同様の構成)である。
図23は、ケーブルの冗長化によって対処可能な事例の一例を示す図である。図23では、スレーブ装置22とスレーブ装置23とを接続する通信ケーブル33が断線した場合を示している。図15において白色の太矢印は、制御用フレームの伝送状態を示す。
図23に示すように、制御システム1は、コントローラ11とコントローラ12との間に、複数の通信ケーブル31、32、33、34を用いて、複数のスレーブ装置21、22、23が順に繋がる第1ルートと、コントローラ11とコントローラ12とが通信ケーブル35によって直接接続される第2ルートとを有する。通常、コントローラ11は、第1ルートを介して、制御用フレームを送信する。
ここで、通信ケーブル33が断線した場合、コントローラ11から送信された制御用フレームは、スレーブ装置22で折り返される。コントローラ11は、制御用フレームのPDOまたはタイムスタンプを確認する。コントローラ11は、制御用フレームがスレーブ装置23を通過していないことを検出すると、第2ルートに制御用フレームを折り返す。制御用フレームは、第2ルート、コントローラ12を介して、スレーブ装置23に到達する。スレーブ装置23からスレーブ装置22側を見ると、スレーブ装置22は繋がっていないので、スレーブ装置23は、制御用フレームをコントローラ12側に折り返す。コントローラ12は、この制御用フレームを、第2ルートを介して、コントローラ11に折り返す。
(ランモードのコントローラの具体的な処理)
ランモードのコントローラ11は、具体的に次の処理を実行する。図24は、ケーブルの冗長化に対応したランモードのコントローラの処理のフローチャートである。
ランモードのコントローラ11は、第1ルート(コントローラ11とコントローラ12との間に複数のスレーブ装置21、22、23が繋がるルート)で、制御用フレームを送信する(S501)。コントローラ11は、制御用フレームを受信する(S502)。
コントローラ11は、制御フレームを解析して、通過していないスレーブ装置があるかを検出する。例えば、コントローラ11は、各スレーブ装置のタイムスタンプの有無、整合性に基づいて、通過していないスレーブ装置があるかを検出する。
コントローラ11は、通過していないスレーブ装置がなければ(S503:NO)、通常の制御、すなわち、第1ルートから制御用フレームを送信する制御を継続する。
コントローラ11は、通過していないスレーブ装置があれば(S503:YES)、第2ルートに、制御用フレームを折り返して転送する(S504)。
(データ取得モードのコントローラの具体的な処理)
データ取得モードのコントローラ12は、具体的に次の処理を実行する。図25は、ケーブルの冗長化に対応したデータ取得モードのコントローラの処理のフローチャートである。
データ取得モードのコントローラ12は、第1ルートからの制御用フレームを受信できず、第2ルートからの制御用フレームを受信する(S511)。コントローラ12は、第1ルートに、制御用フレームを折り返して転送する(S512)。コントローラ12は、第1ルートからの制御用フレームを受信する(S513)。
コントローラ12は、第2ルートに、制御用フレームを折り返して転送する(S514)。
また、コントローラ12は、制御用フレームを、情報通信用ネットワーク60のデータベース装置40に転送する(S511)。コントローラ12は、制御用フレームからPDOデータを抽出し(S531)、共有メモリ104’に記憶する(S532)。
以上のような構成および処理によって、第1ルートの途中で断線等があっても、コントローラ11は、複数のスレーブ装置21、22、23の全てに対して制御用フレームを送信でき、複数のスレーブ装置21、22、23の全てにおいて更新された制御用フレームを受信できる。すなわち、第1ルートの途中に断線があっても、コントローラ11による複数のスレーブ装置21、22、23に対する制御は継続される。これは、断線の箇所によらず、もちろん、第2ルート、すなわち、通信ケーブル35に断線があっても、コントローラ11による複数のスレーブ装置21、22、23に対する制御は継続される。
(データ取得モードのコントローラによる異常検知)
上述の構成では、異常検知の処理を、情報通信用ネットワーク60に接続されたデータベース装置40で実行する態様を示した。しかしながら、データ取得モードのコントローラによって、異常検知の処理を行ってもよい。
図26は、データ取得モードのコントローラによって異常検知を実行する場合の制御システムにおける装置の構成を示す図である。図27は、データ取得モードのコントローラにおけるデータ通信に関する構成を示すブロック図である。
図26に示す制御システム1Bは、図1に示した制御システム1に対して、コントローラ11に換えてコントローラ11Bを用い、コントローラ12に換えてコントローラ12Bを用いる点、データベース装置40を必須としない点において異なる。制御システム1Bの他の構成は、制御システム1と同様であり、同様の箇所の説明は省略する。
コントローラ11Bおよびコントローラ12Bは、同じ構成からなり、コントローラ11およびコントローラ12に対して、図27に示すようなパケットアナライザ106を追加した点において異なる。コントローラ11Bとコントローラ12Bとは、異なるモードで動作している。例えば、コントローラ11Bが上述のランモードで動作している時には、コントローラ12Bは、上述のデータ取得モードで動作している。
さらに、コントローラ12Bは、パケットアナライザ106によって、上述のデータベース装置40で実行した異常検知に関する処理を実行する。コントローラ12Bは、データ取得モードで動作しているので、異常検知を行っても、制御用ネットワークの制御に影響を与えない。したがって、制御システム1Bは、複数のスレーブ装置21、22、23への制御を確実に実行しながら、制御用ネットワークに接続される装置だけで、異常検知を実行できる。なお、この際、コントローラ12Bは、情報通信用ネットワーク60に対して異常検知の結果を出力すればよい。例えば、コントローラ12Bは、情報通信用ネットワーク60を介して、UI装置50に異常検知の結果を出力する。UI装置50またはUI装置50を操作するオペレータは、異常検知の結果に基づいて、コントローラ11Bに対する命令等を決定する。
また、パケットアナライザ106は、CPU101’と異なる専用のIC、例えばASICによって実現されていることが好ましい。これにより、データ取得モードのコントローラ12BのCPU101’の処理負荷を軽減できる。
また、この際、送受信部102’は、パケットアナライザ106に対してDMA転送で制御用フレームを転送することが好ましい。これにより、CPU101’の負荷はさらに軽減される。
なお、図26、図27の構成では、コントローラ11Bおよびコントローラ12Bの両方を同じ構成にする態様を示したが、コントローラ12Bのみにパケットアナライザ106を備えさせてもよい。
1、1A:制御システム
10、11、11A、11B、12、12A、12B:コントローラ
13:上位通信部
21、22、23:スレーブ装置
31、32、33、34、35:通信ケーブル
40:データベース装置
50:UI装置
60:情報通信用ネットワーク
101、101’:CPU
102、102’:送受信部
103、103’:上位通信部
104、104’:共有メモリ
105、105’:プログラムメモリ
106:パケットアナライザ
110:システムバス
121:送信部
122:受信部
123、130:IF

Claims (9)

  1. スレーブ装置が通信ケーブルによってライン状に接続されるフィールドバスと、
    前記フィールドバスの一方端に接続される第1のコントローラと、
    前記フィールドバスの他方端に接続される第2のコントローラと、
    前記第1のコントローラと前記第2のコントローラとを、前記スレーブ装置を介さずに接続するデータ通信ネットワークと、を備え、
    前記第1のコントローラと前記第2のコントローラとは、
    前記スレーブ装置に与える制御用フレームを生成する制御用フレーム生成部と、
    前記制御用フレームの前記スレーブ装置に対する送受信を行う送受信部と、を備え、
    前記第1のコントローラと前記第2のコントローラとのいずれか一方は、前記制御用フレーム生成部にて前記制御用フレームを生成して前記送受信部から送信し、他方は、前記送受信部にて前記制御用フレームの折り返し通信を行う、
    制御システムであって、
    前記第1のコントローラが前記制御用フレームの生成、送信を行い、前記第2のコントローラが前記制御用フレームの折り返し通信を行っている時に、
    前記第2のコントローラは、
    前記第1のコントローラに対して前記データ通信ネットワークを介して動作確認用信号を送信し、
    前記動作確認用信号に対する応答信号が受信できなければ、前記制御用フレームの生成、送信を開始する、
    制御システム。
  2. 前記第2のコントローラは、
    前記制御用フレームを観測し、
    所定時間に亘り前記制御用フレームが受信できなければ、前記制御用フレームの生成、送信を開始する、
    請求項に記載の制御システム。
  3. 前記データ通信ネットワークに接続され、前記第1のコントローラと前記第2のコントローラとの制御の切り替えの操作入力を受け付けるユーザインターフェース装置を備え、
    前記第1のコントローラが前記制御用フレームの生成、送信を行い、前記第2のコントローラが前記制御用フレームの折り返し通信を行っている時において、
    前記第1のコントローラは、
    前記ユーザインターフェース装置から前記制御の切り替えの命令を受信すると、前記制御用フレームの生成、送信を停止して、前記制御用フレームの折り返し通信を開始し、
    前記第2のコントローラは、
    前記ユーザインターフェース装置から前記制御の切り替えの命令を受信すると、前記制御用フレームの折り返し通信を停止して、前記制御用フレームの生成、送信を開始する、
    請求項1または請求項2に記載の制御システム。
  4. 前記第1のコントローラと前記第2のコントローラは、
    切り替え確認信号を送受信し、相互に切り替えを確認した後に、
    前記第1のコントローラは、前記制御用フレームの生成、送信を停止して、前記制御用フレームの折り返し通信を開始し、
    前記第2のコントローラは、前記制御用フレームの折り返し通信を停止して、前記制御用フレームの生成、送信を開始する、
    請求項に記載の制御システム。
  5. 前記制御用フレーム生成部と、前記送受信部とは、異なる半導体デバイスで形成されている、
    請求項1乃至請求項のいずれかに記載の制御システム。
  6. 前記制御用フレーム生成部は、前記制御用フレームの生成プログラムを実行する演算素子からなり、
    前記送受信部は、前記制御用フレームの送受信を専任する半導体素子からなる、
    請求項に記載の制御システム。
  7. スレーブ装置が通信ケーブルによってライン状に接続されるフィールドバスと、
    前記フィールドバスの一方端に接続される第1のコントローラと、
    前記フィールドバスの他方端に接続される第2のコントローラと、
    前記第1のコントローラと前記第2のコントローラとを、前記スレーブ装置を介さずに接続するデータ通信ネットワークと、
    前記データ通信ネットワークに接続され、前記第1のコントローラと前記第2のコントローラとの制御の切り替えの操作入力を受け付けるユーザインターフェース装置と、を備え、
    前記第1のコントローラと前記第2のコントローラとは、
    前記スレーブ装置に与える制御用フレームを生成する制御用フレーム生成部と、
    前記制御用フレームの前記スレーブ装置に対する送受信を行う送受信部と、を備え、
    前記第1のコントローラと前記第2のコントローラとのいずれか一方は、前記制御用フレーム生成部にて前記制御用フレームを生成して前記送受信部から送信し、他方は、前記送受信部にて前記制御用フレームの折り返し通信を行う、
    制御システムであって、
    前記第1のコントローラが前記制御用フレームの生成、送信を行い、前記第2のコントローラが前記制御用フレームの折り返し通信を行っている時において、
    前記第1のコントローラは、
    前記ユーザインターフェース装置から前記制御の切り替えの命令を受信すると、前記制御用フレームの生成、送信を停止して、前記制御用フレームの折り返し通信を開始し、
    前記第2のコントローラは、
    前記ユーザインターフェース装置から前記制御の切り替えの命令を受信すると、前記制御用フレームの折り返し通信を停止して、前記制御用フレームの生成、送信を開始する、
    制御システム。
  8. スレーブ装置が通信ケーブルによってライン状に接続されたフィールドバスの一方端に第1のコントローラを接続し、前記フィールドバスの他方端に第2のコントローラを接続し、さらに前記第1のコントローラと前記第2のコントローラとを、前記スレーブ装置を介さずにデータ通信ネットワークで接続し、
    前記第1のコントローラ、および前記第2のコントローラのそれぞれには、前記スレーブ装置に与える制御用フレームを生成する制御用フレーム生成部と、前記制御用フレームの前記スレーブ装置に対する送受信を行う送受信部と、が備えられ、
    前記第1のコントローラと前記第2のコントローラとのいずれか一方が、前記制御用フレーム生成部にて前記制御用フレームを生成して前記送受信部から送信し、他方が、前記送受信部にて前記制御用フレームの折り返し通信を行う、制御方法であって、
    前記第1のコントローラが、前記制御用フレームを生成し、生成した前記制御用フレームを前記スレーブ装置に対して送信しているときに、
    前記第2のコントローラが、
    前記制御用フレームの折り返し通信を行いながら、前記第1のコントローラに対して前記データ通信ネットワークを介して動作確認用信号を送信する処理と、
    前記動作確認用信号に対する応答信号が受信できなければ、前記制御用フレームの生成、送信を開始する処理と、
    を実行する、制御方法。
  9. スレーブ装置が通信ケーブルによってライン状に接続されたフィールドバスの一方端に第1のコントローラを接続し、前記フィールドバスの他方端に第2のコントローラを接続し、さらに前記第1のコントローラと前記第2のコントローラとを、前記スレーブ装置を介さずにデータ通信ネットワークで接続し、
    前記第1のコントローラ、および前記第2のコントローラのそれぞれには、前記スレーブ装置に与える制御用フレームを生成する制御用フレーム生成部と、前記制御用フレームの前記スレーブ装置に対する送受信を行う送受信部と、が備えられ、
    前記第1のコントローラと前記第2のコントローラとのいずれか一方が、前記制御用フレーム生成部にて前記制御用フレームを生成して前記送受信部から送信し、他方が、前記送受信部にて前記制御用フレームの折り返し通信を行う、制御方法であって、
    前記データ通信ネットワークに接続されたユーザインターフェース装置が、前記第1のコントローラと前記第2のコントローラの制御の切り替えの操作入力を受け付けると、前記第1のコントローラおよび前記第2のコントローラそれぞれに対して前記制御の切り替え命令を送信する処理を実行し、
    前記第1のコントローラおよび前記第2のコントローラは、
    前記制御用フレームの生成、送信を行っているときに前記制御の切り替え命令を受信すると、前記制御用フレームの生成、送信を停止して前記制御用フレームの折り返し通信を開始し、
    また、前記制御用フレームの折り返し通信を行っているときに前記制御の切り替え命令を受信すると、前記制御用フレームの折り返し通信を停止して、前記制御用フレームの生成、送信を開始する、処理を実行する、制御方法。
JP2017133765A 2017-07-07 2017-07-07 制御システム、および、制御方法 Active JP6984199B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017133765A JP6984199B2 (ja) 2017-07-07 2017-07-07 制御システム、および、制御方法
PCT/JP2018/025185 WO2019009282A1 (ja) 2017-07-07 2018-07-03 制御システム、および、制御方法
CN201880038687.4A CN110741322B (zh) 2017-07-07 2018-07-03 控制系统以及控制方法
US16/621,689 US11169492B2 (en) 2017-07-07 2018-07-03 Control system, and control method
EP18828549.8A EP3650962B1 (en) 2017-07-07 2018-07-03 Control system, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017133765A JP6984199B2 (ja) 2017-07-07 2017-07-07 制御システム、および、制御方法

Publications (2)

Publication Number Publication Date
JP2019016210A JP2019016210A (ja) 2019-01-31
JP6984199B2 true JP6984199B2 (ja) 2021-12-17

Family

ID=64950942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017133765A Active JP6984199B2 (ja) 2017-07-07 2017-07-07 制御システム、および、制御方法

Country Status (5)

Country Link
US (1) US11169492B2 (ja)
EP (1) EP3650962B1 (ja)
JP (1) JP6984199B2 (ja)
CN (1) CN110741322B (ja)
WO (1) WO2019009282A1 (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10047923C2 (de) * 2000-09-27 2003-04-10 Siemens Ag Verfahren zur Erzeugung einer Verbindungs-Redundanz für ein serielles Kommunikationssystem mit einer Mastereinheit und einer Mehrzahl von Slaveeinheiten, die untereinander als Aneinanderreihung von Punkt-zu-Punkt-Verbindungen in Linientopologie verbunden sind, sowie korrespondierendes serielles Kommunikationssystem
JP5088490B2 (ja) * 2008-03-13 2012-12-05 オムロン株式会社 二重化コントローラ
JP2010050872A (ja) * 2008-08-25 2010-03-04 Fujitsu Telecom Networks Ltd データ伝送システム及びデータ伝送制御方法
EP2224642A1 (de) * 2009-02-27 2010-09-01 Siemens Aktiengesellschaft Kommunikationssystem und Kommunikationsverfahren zur zuverlässigen Kommunikation mit Kommunikationsteilnehmen
JP5169909B2 (ja) * 2009-03-03 2013-03-27 富士電機株式会社 リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法
JP2010278897A (ja) * 2009-05-29 2010-12-09 Renesas Electronics Corp 通信データ処理回路及び通信データ処理方法
JP5348489B2 (ja) 2009-07-31 2013-11-20 オムロン株式会社 コントローラ
JP5394283B2 (ja) * 2010-02-25 2014-01-22 株式会社日立産機システム 情報処理装置及び制御用ネットワークシステム
JP5696308B2 (ja) * 2010-05-27 2015-04-08 パナソニックIpマネジメント株式会社 リング伝送システムにおけるノード装置、集積回路及び制御方法
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
WO2014006448A1 (en) * 2012-07-03 2014-01-09 Freescale Semiconductor, Inc. Cut through packet forwarding device
WO2014108999A1 (ja) * 2013-01-08 2014-07-17 富士電機株式会社 制御システム、マスタープログラマブルコントローラ、スレーブプログラマブルコントローラ、および、制御方法
JP6233021B2 (ja) * 2013-12-27 2017-11-22 株式会社Ihi 通信分配装置
CN104192153B (zh) * 2014-08-01 2017-11-14 深圳通业科技股份有限公司 轨道列车控制器
JP2016099634A (ja) * 2014-11-18 2016-05-30 富士電機株式会社 制御システム、中継装置、および制御装置
JP2017151496A (ja) * 2016-02-22 2017-08-31 ルネサスエレクトロニクス株式会社 安全監視装置、ネットワークシステム、安全監視方法

Also Published As

Publication number Publication date
US11169492B2 (en) 2021-11-09
CN110741322A (zh) 2020-01-31
US20200192302A1 (en) 2020-06-18
CN110741322B (zh) 2022-08-12
EP3650962A4 (en) 2021-03-31
EP3650962A1 (en) 2020-05-13
JP2019016210A (ja) 2019-01-31
EP3650962B1 (en) 2023-01-11
WO2019009282A1 (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
JP6848730B2 (ja) 制御システム、および、制御方法
US8195857B2 (en) Coupling devices, system comprising a coupling device and method for use in a system comprising a coupling device
US10409244B2 (en) Controller and control method
JP6828624B2 (ja) 制御システム、および、制御方法
JP2014119907A (ja) 通信ユニット、通信システム、制御方法、およびプログラム
US11251991B2 (en) Communication system, communication apparatus, communication method, and program
CN114928511A (zh) 数据处理设备及数据处理系统
JP6984199B2 (ja) 制御システム、および、制御方法
JP5894553B2 (ja) 制御システム、回線接続診断方法及びプログラム
JP4935631B2 (ja) ノード局の位置関係検出システム
KR102354089B1 (ko) 리모트 i/o 시스템
JP2001310532A (ja) 印刷装置
JP2015011371A (ja) 代替制御装置、代替制御方法及び代替制御プログラム
JP2008289025A (ja) 伝送制御システム及び監視制御方法
CN117157947A (zh) 控制装置及其控制方法以及控制程序
JP2001086129A (ja) 制御データ伝送装置
JP2000092102A (ja) データ転送方式及びデータ通信システム
JP2004304702A (ja) シリアル通信ネットワークの重複状態検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6984199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150