JP7423249B2 - 制御装置及び分散制御システム - Google Patents

制御装置及び分散制御システム Download PDF

Info

Publication number
JP7423249B2
JP7423249B2 JP2019193219A JP2019193219A JP7423249B2 JP 7423249 B2 JP7423249 B2 JP 7423249B2 JP 2019193219 A JP2019193219 A JP 2019193219A JP 2019193219 A JP2019193219 A JP 2019193219A JP 7423249 B2 JP7423249 B2 JP 7423249B2
Authority
JP
Japan
Prior art keywords
control
time
control device
interrupt
control system
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
JP2019193219A
Other languages
English (en)
Other versions
JP2021068200A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019193219A priority Critical patent/JP7423249B2/ja
Priority to PCT/JP2020/031215 priority patent/WO2021079599A1/ja
Priority to EP20878358.9A priority patent/EP4050436A4/en
Priority to US17/770,416 priority patent/US11977362B2/en
Publication of JP2021068200A publication Critical patent/JP2021068200A/ja
Application granted granted Critical
Publication of JP7423249B2 publication Critical patent/JP7423249B2/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/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
    • G05B19/0423Input/output
    • 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
    • G05B19/0428Safety, monitoring
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25213Synchronisation, address and data
    • 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/25232DCS, distributed control system, decentralised control unit
    • 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/33Director till display
    • G05B2219/33144Module clock, synchronised by controller message, to send message in time slice
    • 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/33Director till display
    • G05B2219/33248Time window for each controller or controlled function

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)
  • Small-Scale Networks (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、情報処理装置及び情報処理ハードウェア、情報処理ソフトウェア及び通信技術に関する。その中でも特に、ネットワークを有する制御システム、制御システムを構成する制御装置およびこれらを用いた制御ないし通信方法に関する。
制御システムとして、制御用計算機が、ネットワークを介して単一または複数の制御対象を制御する構成がある。このような制御システムにおいては、制御システムの用途、要件、要求によって、適切な制御ネットワークが選択され、適用される。技術的な観点からは、それら制御システムの要求の高度化によって、制御ネットワークの技術進展がもたらされたとも言える。そのような制御ネットワークへの要求は多岐に渡り、通信遅延、低コスト化、接続台数、時刻同期の精度、接続距離、通信媒体及び通信データモデルの共通化、冗長化通信等である。
TSN(Time Sensitive Network)と呼ばれる一連のIEEE規格群で構成される通信方式は、時分割に基づくタイムスロット通信を導入することにより、通信装置間の通信遅延における時間確定性を向上させたネットワークである。IEEE802.3規格を制御システムに適用可能としている。
また、IEC61784等で規格化される一連のリアルタイムEthernetは、IT分野で広く使われるIEEE802.3方式に対して、制御システム向けの機能を定義し、制御システムへの適用を意図した制御ネットワークの代表例である。
これらIEEE802.3ベースの制御ネットワークは、従来の制御ネットワークに対して、通信帯域の広帯域化等の技術的利点を有する。
一方で、分散制御システム向けのコントローラ間の通信方法として転写メモリ方式がある。転写メモリ方式では、分散制御システムを構成するコントローラそれぞれで割り当てたメモリの集合である転写メモリに対して、自コントローラが割り当てられたデータを他のコントローラに向けて周期的にブロードキャストする。これにより、コントローラ間のデータ共有を図り、コントローラの通信負荷を軽減し、運用への影響を少なくできる。
特開平7-219902号公報 特開2019-062288号公報
特許文献1の発明は、転写メモリ方式に関する発明であり、受信処理負荷を軽減するネットワークアダプタについて開示している。転写メモリ方式においては各通信装置がパケットを受信したタイミングで転写メモリ領域を更新するため、コントローラ間の通信遅延に差がある場合や、通信遅延にジッタを含む場合、制御システム稼働中のある瞬間に着目すると全てのコントローラで転写メモリの内容を一致させることが困難であった。そのため、制御アプリケーションの起動タイミングによっては、コントローラ間で異なるデータに基づいて動作するため、制御性能の向上に限界があった。
特許文献2は、「複数の制御装置の各々は、第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、第2のネットワークを介して1または複数の機器との間で第2のデータを送受信する下位通信手段とを含む。上位通信手段は、複数の制御装置の間で互いに時刻同期された第1のタイマを有している。下位通信手段は、第1のタイマの時刻に基づいて、1または複数の機器に対して第2のデータを伝送する処理を開始すべきタイミングを決定する」構成が開示されている。しかしながら、対象装置のデータの送信に限定されているため、転写メモリ方式の効果を享受することが困難であり、また、通信遅延が異なる場合に生じる課題を避けるためにネットワーク構造及び制御アプリケーションの主従関係が順方向となる単純な構成に限定されるという課題があった。
本発明は、上記課題を解決するために、ネットワーク上のタイムスロットを割り当て、ネットワークの各ノードのおけるデータの書込みや読出し(アクセス)を同期するものである。つまり、各ノードで時刻合わせを行い、データを受信した後、一時格納(バッファリング)し、各ノードでタイミングを合わせて転写メモリのような共通データ領域にそのデータを書込むものである。ここで、同期をTSNの標準化機能を利用してもよい。
より詳細な本発明の一態様は、被制御装置に対する制御を実行するための分散制御システムを構成する制御装置(ノード)において、前記分散制御システムを構成する他の制御装置と時刻同期を実行する手段と、前記他の制御装置に関し、制御指令値を含む受信情報を受信する手段と、前記受信情報を一時格納する手段と、一時格納された前記受信情報を格納する共通データ領域と、前記時刻同期を実行する手段に従って同期した時刻を示す同期時刻を提供し、当該同期時刻での割込みを通知する手段と、前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、前記他の制御装置における共通データ領域への格納と前記同期時刻で時刻同期させて、前記一時格納する手段に格納された前記受信情報から前記制御指令値を抽出して、当該制御装置における前記共通データ領域への格納を制御する手段と、前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、抽出された制御指令値に応じて、前記被制御装置に対する制御に関する処理を実行する手段とを有する制御装置である。
ノードにおけるアクセスの典型的な例として、入出力や転写メモリにデータを反映するタイミング、転写メモリのデータを利用するタイミングを同期する、ことが挙げられる。
また、本発明はネットワークとして、制御システムへ適用することが好適である。この場合、制御指令の出力ないし読出しタイミングの同期することが好適である。
さらに、センサ情報の入力や書込みの同期を行うことも本発明の一態様である。このセンサ情報には、ネットワーク外の装置(アクチュエータ装置など)からのセンサ情報が含まれる。
ネットワークの通信性能や信頼性を向上可能である。また、ネットワーク資源の利用効率の向上が図れる。
本発明の一実施形態を用いたシステム構成図である。 本発明の一実施形態でのハードウェア構成図である。 本発明の一実施形態でのハードウェア構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態の動作手順を示した図である。 本発明の一実施形態におけるデータ割り当てを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態における装置内でのデータ更新のタイミングを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態におけるタイムチャートを示した図である。 本発明の一実施形態を用いたシステム構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態を用いたシステム構成図である。
本発明の一実施例である制御ネットワークを利用した制御システムについて、以下説明する。
(システム例)
本実施例を適用したシステム構成を図1に示す。制御装置120は、制御ネットワーク122、ネットワーク中継装置121を介して、入出力制御装置123と接続し、通信する。
制御装置120は、入出力制御装置123に対して、通信パケットを送受信することにより、被制御装置124を制御するための制御指令(制御指令値とも称する)の伝送、被制御装置124の計測値やセンサ情報の取得や各種設定を実行する。
制御装置120は、DCS(Distributed Control System)の中央制御装置や電力系統の保護制御装置のように、各制御システム内のサンプリングデータや、制御指令、状態信号をやりとりすることが例示される。同一制御システム内のデータをパケット内に格納してもよい。
制御装置120として、専用コントローラ、産業用パソコン、制御用計算機、DCSコントローラ、SCADA(Supervisory Control and Data Acquisition)サーバ、PLC(Programmable Logic Controller)、IED(Intelligent Electronic Device)、保護制御装置、クラウド、サーバ が例示される。
ネットワーク中継装置121は、制御ネットワーク122における中継装置であり、制御装置120、入出力制御装置123やネットワーク中継装置121の通信するパケットを経路制御し、転送する。ネットワーク中継装置121として、TSN対応スイッチ、L2スイッチ、L3スイッチを含むネットワークスイッチ、ブリッジ、ルータ、IEEE 1588のTC(Transparent Clock)、BC(Boundary Clock)、OpenFlowスイッチ、IEC 62439-3で定義されるRedBox、QuadBox、光スイッチ、光合波器、光分派器等の各種ネットワーク中継装置 が例示される。
制御ネットワーク122は、制御装置120、入出力制御装置123、ネットワーク中継装置121を接続するネットワークである。このネットワークには、IEEE 802.3(Ethernet)、IEC61784、IEC61784-2のCommunication Profile Family 12(以下、EtherCAT(登録商標)とする)、IEC61158で定義される制御用ネットワークを含む各種産業用ネットワーク、TSNと関連するIEEE通信規格群、DNP(Distributed Network Protocol)3、IEC 61970、IEC62439-3におけるHSR(High availability Seamless Ring)及びPRP(Parallel Redundancy Protocol)、リングネットワーク、IEEE802.17のRPR方式、CAN(Controller Area Network:登録商標)、DeviceNet、RS-232C、RS-422、RS-485、ZigBee(登録商標)、Bluetooth(登録商標)、IEEE 802.15、IEEE 802.1、モバイル通信、OpenADR、ECHONET Lite(登録商標)、OpenFlow(登録商標)等が例示 される。
また、プロトコルスタックにおける上位プロトコルとして、以下がある。IEC61850、OPC UA(Unified Architecture)、DDS(Data Distribution Service)、IEC 61850-7-420、IEC 60870-5-104が例示される。あるいは、以上のプロトコルは階層化されていてもよい。例えば、TSN上でデータ領域の内容はOPC UA規格を適用すること が例示される。
入出力制御装置123は、被制御装置124に接続され、制御ネットワーク122を介して、制御装置120から受信した制御指令に応じて被制御装置124を制御、設定する。また、被制御装置124の状態や情報を取得して制御ネットワーク122を介して制御装置120へ送信する。
入出力制御装置123として、専用コントローラ、産業用パソコン、制御用計算機、DCSコントローラ、SCADA装置、PLC、IED、MU(Merging Unit)、保護制御装置 が例示される。
被制御装置124は、入出力制御装置123によって制御される機器、装置である。被制御装置124として、移動ロボットやロボットアーム等の産業用ロボット、チップマウンタ、工作機械テーブル、加工装置、工作機械、半導体製造装置が例示される。あるいは製造装置内のモータ、インバータや、遮断器、断路器といった電力機器、センサ各種(エンコーダ、温度センサ、圧力センサ等)が例示される。
ネットワーク管理装置125は、制御装置120、ネットワーク中継装置121、入出力制御装置123の通信にかかわるネットワーク資源を制御する。そのようなネットワーク資源として、通信帯域、時分割通信方式における時間幅、特定通信種別に対する優先度等の設定、利用する通信経路数等が挙げられる。
ネットワーク管理装置125は、制御装置120、ネットワーク中継装置121、入出力制御装置123と通信し、制御装置120、ネットワーク中継装置121、入出力制御装置123の状態を取得することができる。
ネットワーク管理装置125として、SDNにおけるOpenFlowコントローラ等の通信制御装置、専用の通信装置 が例示される。
なお、図1では制御装置120と入出力制御装置123間に2つのネットワーク中継装置121を接続しているが、異なる数でもよいし、通信経路が複数であってもよい。
また、制御装置120と入出力制御装置123は説明上区別して以下説明するが、1つの装置において両方の役割を具えてもよい。
また、制御装置120は制御システム内で複数でも1つでもよい。
図1に示すシステム構成として、FA(Factory Automation)、PA(Process Automation)向けのDCS等の制御システム、電力分野の監視制御・保護制御システムが例示される。さらに、産業用機器、半導体製造装置、車載システム、建設機械や鉄道車両内の制御システム、鉄道地上信号システム、航空機内の制御システムなども例示される。あるいは、制御ネットワーク122を介して収集した情報をもとに、制御装置120あるいは、図示していないクラウドやコンピュータ上で人工知能にて解析し、制御システムの性能向上を図るIoTシステムなどが例示される。
(ハードウェア構成)
図2に制御装置120のハードウェア構成を示す。
CPU101は、不揮発性記憶媒体105からプログラムをメモリ104に転送して実行する。実行処理プログラムとしては、オペレーティングシステム(以下、OSと称す)やOS上で動作するアプリケーションプログラムが例示される。CPU101上で動作するプログラムは、通信制御IC102の動作設定や、状態情報を取得する。
通信制御IC102は、CPU101上で動作するソフトウェアから送信要求、送信データを受け取り、PHY103を用いて制御ネットワーク122に対して送信する。また、制御ネットワーク122から受信したデータを、バス106を介してCPU101、メモリ104、不揮発性記憶媒体105へ転送する。
また、通信制御IC102はネットワークを用いた時刻同期プロトコルを実行するための機能を具える。すなわち、時刻同期パケットの送受信時の計時機能や、同期パケットへの補正値の設定、加算等である。
このような時刻同期プロトコルとして、IEEE1588、IEEE802.1AS、NTP、SNTPが例示される。補正値として、IEEE1588のCorrection Field(CF)が例示される。加えて、同期時刻に基づく時間管理機能を具えることが例示される。そのような時間管理機能として、設定した時刻に割込み信号、アラーム信号の生成、所定周期での割込み信号、アラーム信号の生成、他機能部、他装置への同期時刻情報の提示が例示される。
通信制御IC102の実装例としては、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ等のICが例示される。あるいは、CPU101と一体化して構成されてもよい。通信制御IC102をMAC層、PHY層を含めたIEEE 802.3通信デバイスとしてもよいし、また、PHY機能まで含めて通信制御IC102に包含してもよい。この場合、通信制御IC102の実装例としては、IEEE802.3規格のMAC(Media Access Control)チップ、PHY(物理層)チップ、MACとPHYの複合チップを含む。なお、通信制御IC102は、CPU101や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。また、図2の構成では、通信制御IC102を1つ示しているが、通信制御IC102の数は複数であってもよい。
PHY103は、制御ネットワーク122との通信機能を実装した送受信機ICである。PHY103の提供する通信規格としてIEEE802.3のPHY(物理層)チップが例示される。なお、図2の構成では、PHY103と通信制御IC102が接続しているので、IEEE 802.3のMAC(Media Access Control)層の処理は通信制御IC102に含まれる。ただし、MAC機能を提供するICを通信制御IC102とPHY103間に配置する構成や、MAC機能を提供するICとPHY103を組み合わせた通信用ICと通信制御IC102を接続する構成においても、本実施例の効果は失われるものではない。なお、PHY103は、通信制御IC102に含まれていてもよい。また、図2の構成では、PHY103を1つ示しているが、PHY103の数は複数であってもよい。
メモリ104は、CPU101が動作するための一時的な記憶領域であり、不揮発性記憶媒体105から転送したOS、アプリケーションプログラム等が格納される。
不揮発性記憶媒体105は、情報の記憶媒体で、OS、アプリケーション、デバイスドライバ等や、CPU101を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。不揮発性記憶媒体105として、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、フラッシュメモリが例示される。また、取り外しが容易な外部記憶媒体として、フロッピーディスク(FD)、CD、DVD、ブルーレイ(登録商標)、USBメモリ、CFカード等の利用が例示される。
バス106は、CPU101、通信制御IC102、メモリ104、不揮発性記憶媒体105をそれぞれ接続する。バス106としては、PCIバス、ISAバス、PCI Expressバス、システムバス、メモリバス等が例示される。
(入出力制御装置123のハードウェア構成)
図3に入出力制御装置123のハードウェア構成を示す。
入出力部107は、被制御装置124を制御、あるいは被制御装置124の情報を取得するための入出力インターフェースである。
入出力部107として、各種のデジタル入出力やアナログ入出力ICが例示される。なお、入出力部107からの信号線を1本で示しているが、被制御装置124側の構成により、複数でもよい。
(制御装置120の機能構成)
制御装置120の機能構成を、図5に示す。
時刻同期部130は、時刻同期手順を実行する機能部である。実行する時刻同期プロトコルとしては、IEEE 1588やNTP、SNTP が挙げられる。通信部131で時刻同期パケットの送信時や受信時に計測した時刻等を用いて、他の装置と時刻同期する。
時刻同期部130は、CPU101またはCPU101上で動作するアプリケーションで実現してもよいし、通信制御IC102をFPGAやCPLDで構成した場合のハードウェア論理として実現してもよい。あるいは、CPU101上のソフトウェアと、通信制御IC102の両方で構成してもよい。この場合は、パケットの送信タイミング、受信タイミングの計測機能、あるいはパケットフォーマットの生成を通信制御IC102で処理することが例示される。
通信部131は、制御ネットワーク122に接続し、制御ネットワーク122の通信プロトコルにしたがって通信をするための機能部である。CPU101上で動作するソフトウェア、通信制御IC102、PHY103のいずれか、または複数で構成する。
転写メモリ同期更新部132は、通信部131から受信した通信内容を保持し、時刻管理部136から通知された時刻情報または時刻通知、時刻通知割込み等によって、保持している情報を転写メモリ133に反映する。
この際、通信内容の送信元情報、宛先情報、通信プロトコルのヘッダ情報等から、通信内容の整形(パラメータ除去含む)や修正、破棄をしてもよい。また通信内容にかかわる情報から、転写メモリ133への書き込み先アドレスを決定してもよい。
あるいは、時刻管理部136から通知された時刻情報または時刻通知、時刻通知割込み等によって転写メモリ133の内容を通信部131に転送して制御ネットワーク122に送信する。この際、通信内容の送信元情報、宛先情報等から、通信内容の整形、修正をしてもよい。また、通信部131に送信する転写メモリ133上の範囲を指定、選択してもよいし、複数領域の内容を任意の順番で送信してもよい。これらは一つのパケットに格納して送信してもよいし、複数のパケットに格納して送信してもよい。
転写メモリ同期更新部132は、CPU101上で動作するソフトウェア、通信制御IC102、メモリ104のいずれか、または複数で構成することが例示される。
転写メモリ133は、コントローラ間で共有するメモリ空間である。このメモリ空間上に各コントローラのデータ領域が対応付けられる。例えば、各コントローラが周期的なブロードキャスト通信を実行し、受信したコントローラが、送信元のコントローラを識別して、該当するデータ領域を更新する。
複数の実行主体(ソフトウェア、機能部、デバイス等)から、同じ領域にアクセスされて保持している情報の一貫性が保持できなくなることを防止するため、転写メモリ133は、アクセスに対する排他制御機能を有することが例示される。
転写メモリ133は、CPU101上で動作するソフトウェア、またはメモリ104、不揮発性記憶媒体105のいずれか、または複数で構成することが例示される。
なお、転写メモリ133は、各ノードにおいて、自身の制御データ、他のノードの制御データについて、同様のデータを保持するものである。ここで、転写メモリ133では、
必ずしも、ブロードキャストにより同様のデータを保持する必要はない。なお、このような保持を行うよう転写メモリ同期更新部132が制御を行う。
演算部134は、入出力制御装置123が被制御装置124を制御する上で必要な制御指令値を演算する。被制御装置124を直接制御する制御指令値を算出してもよいし、あるいは入出力制御装置123が具体的に被制御装置124を制御するための目標値を算出してもよい。これらの制御指令値の演算のために、入出力制御装置123から受信した情報を用いてもよい。この受信情報は被制御装置124の状態信号を含む。このように、本実施例では、制御に関する処理の1つとして制御指令値を演算する。
これらの処理は転写メモリ133を介して実行する。センサ装置に相当する入出力制御装置123に割り当てられたデータをセンサ値として転写メモリ133から読み取って演算する。そして、アクチュエータ装置(以下、アクチュエータ)に相当する入出力制御装置123に割り当てられたデータを制御指令値として更新することが例示される。
演算部134として、CPU101や、CPU101上で実行されるソフトウェアが例示される。
演算スケジュール部135は、時刻管理部136から通知された時刻情報または時刻通知、時刻通知割込み等によって演算部134の動作を制御する。
演算スケジュール部135は、CPU101や、CPU101上で実行されるソフトウェア、通信制御IC102のいずれか、または複数で構成することが例示される。
時刻管理部136は、時刻同期部130にしたがって同期した時刻を提供する。同期の基準となる装置は制御ネットワーク122を介して接続する別の装置か、自身である。時刻管理部136は、同期時刻の提供のみならず、指定された時刻での割込み通知またはアラーム通知の機能を具えてもよい。
また、この割込み、アラーム通知を指定開始時刻以降、所定の周期で繰り返し実行してもよい。
また、時刻同期に異常が生じた場合は自身の計時デバイス(オシレータ、水晶振動子等)にしたがって計時してもよい。
また、割込み、アラームの通知先は予め指定した機能部、デバイスでもよいし、宛先を指定せず、単にバス106や、接続している信号線に対して出力してもよい。
時刻管理部136は、通信制御IC102、CPU101に含まれる計時デバイス、割込みコントローラ、専用のICデバイス(図示無し)、CPU101上で動作するソフトウェアやスケジューラのいずれか、または複数で構成することが例示される。
(入出力制御装置123の機能構成)
次に図5に入出力制御装置123の機能構成を示す。
入出力制御部137は、演算スケジュール部135によって起動されて、入出力制御装置123の入出力部107を制御する。この制御は転写メモリ133を介して実行する。例えば、転写メモリ133上で自装置に割り当てられたデータ領域の値を指示値としてアクチュエータを制御することが例示される。あるいは、センサ値を転写メモリ133上で自装置に割り当てられたデータ領域に対して更新することが例示される。
(動作手順)
本発明を適用する本実施例の動作手順を図6、7、8、9、10、11に示す。
図6は全体動作を示しており、図7、8が開始時の設定動作、図9、10、11が制御動作を示している。
(動作手順:全体動作)
図6の全体動作について説明する。
はじめに、制御システムのセットアップを実行する(S001)。次に制御動作を実行する(S002)。次に終了条件を満たしたかを判定する(S003)。終了条件を満たしていれば(S003のY)、そのまま終了し、満たしていなければ(S003のN)、S002の制御動作を繰り返す。
終了条件は、所定の時刻に達したことや、所定の稼働時間に達したこと、所定の制御回数を実行したことが例示される。あるいは、所定の制御性能に達したことが例示される。また、制御システムの運用者、利用者等によって、明示的に終了したと設定してもよい。
(動作手順:セットアップ)
次にセットアップの動作について説明する。
セットアップは、図7に示す転写メモリ133の設定と、図8に示す制御ネットワーク122の設定で構成される。これらの設定は、順番に実行してもよいし、並行に進めてもよい。あるいは図7の転写メモリ133の設定によって、各データの更新周期等を決定してから、図8のネットワーク設定を実行することが例示される。
(転写メモリ133の割り当て)
転写メモリ133の設定について図7に示す。
はじめに、転写メモリ133空間上のアドレス分割を定義する(S010)。次に個々の装置のデータ領域内でのデータの意味付けを定義する(S011)。次に、転写メモリ133の各データ領域の更新周期を決定する(S012)。それから、決定したアドレス分割の定義と通信周期を各制御装置120、入出力制御装置123に設定する(S013)。
なお、S010、S011、S012の手順は順不同で実行してもよいし、同時に実行してもよい。また、S011の手順はS013の手順後に実行してもよい。
アドレス分割は制御装置120、入出力制御装置123の必要なデータサイズを定義し、仮想的な転写メモリ133のアドレス空間上に割り当てていくことが例示される。各装置のデータサイズは等しくともよいし、異なっていてもよい。各装置を順序付け、アドレス空間の先頭から割り当ててもよい。また各データ領域の先頭アドレスを一定間隔であけて配置してもよい。
この場合、制御装置120または入出力制御装置123に割り当てたサイズによって、データが割り当てられない未定義の領域があってもよい(図12の176、177)。なお、この未定義領域へのアクセスがあった場合は、これをCPU101上のソフトウェアやレジスタで未定義領域アクセスがあったことを情報として保持し、CPU101上のソフトウェアからアクセス可能としてもよい。あるいは事前に設定した送信先に電子メール等の電子手段で通知してもよいし、CPU101上でwebサーバを構築して、外部からwebブラウザ等でアクセスして確認できるようにしてもよい。装置上にLED、アラームといった物理的手段で提示してもよい。このように外部に通知することで、運用者は未定義領域へのアクセスがあったことを検知し、アドレス分割や定義等の転写メモリ133の設定を見直すことができ、結果的に制御システムを適切に運用しやすくなる。
また、更新周期については、装置ごと、または割り当てられたデータ領域ごとに異なっていてもよい。
また、図7のS010、S011、S012、S013は、制御システムの稼働前に各装置である制御装置120、入出力制御装置123に設定、定義してもよいし、ネットワーク管理装置125から制御ネットワーク122を介して動的に設定してもよい。
(転写メモリ133の割り当て例)
ここで、転写メモリ133の割り当ての例を図12に示す。
図12では、制御装置120、入出力制御装置123の装置A、B、C3台分の割り当てを示している。各装置の装置データ領域170の先頭アドレスの間隔を一定とし、個々の装置において、実際に割り当てられているデータ領域のサイズが異なると仮定している。そのため、未定義領域176、177が存在する。未定義領域178は、転写メモリのアドレス幅と、各装置のデータ領域の合計の関係から生じる領域である。
例えば、転写メモリ133のアドレス幅として16bitを定義し、1アドレス1byteとすると、転写メモリ133全体で64kbyte(64kB)となる。仮に各装置のデータ領域の先頭アドレスの間隔を20kbyteとすると、3台分で60kbyteとなり、未定義領域178として、差分の4kbyteが存在し得る。
また、個別装置内のデータ割り当てとして、装置A内での例を示す(装置B、Cは省略)。先頭から、センサa171、センサb172、アクチュエータ領域173、ステータスa174、ステータスb175として割り当てている。
センサa171、センサb172は装置Aのセンサ情報とすると、装置Aは自身のセンサ値を反映するとともに、他の装置へ通信する。
アクチュエータ領域173は出力指令となるため、制御機能を持った装置から装置Aへ通信する。
ステータスa174、ステータスb175は、自装置または他装置の状態を表すことが例示される。他の装置からのクリアといった用途など、設定内容によって装置Aと、それ以外の装置間の双方向となることが例示される。
(図8ネットワーク設定)
次に、ネットワーク設定の動作について図8に示す。
はじめに、ネットワークトポロジを計画する(S020)。これは制御システムを構成する被制御装置124の配置に関する物理的制約、各制御装置120、各入出力制御装置123間の通信性能に関する条件等を考慮して、制御ネットワーク122、ネットワーク中継装置121の台数や接続関係を決定する。各入出力制御装置123間の通信性能として、例えば、通信帯域や経路冗長化等が挙げられる。
次に、各ネットワーク中継装置121や制御装置120でのタイムスロットの割り当てを計画する(S021)。これは制御装置120、入出力制御装置123、被制御装置124で構成する制御アプリケーションにおける通信要件を考慮して決定する。
次に、各ネットワーク中継装置121、制御装置120、入出力制御装置123に対して、計画したタイムスロットを割り当てる(S022)。
それから、制御システムに求められる要件を満足したかを判定する(S023)。ここでの要件は、通信遅延や制御周期、通信周期といった時間的制約を満足できるかといったことや通信経路の冗長度や再送を踏まえた信頼性の要件が例示される。
また、制御システム、制御ネットワーク122上に構成される制御アプリケーションは複数構築することが例示される。そして、S023での判定は、それら各アプリケーションの要件(例えば、全て)を満足すること、あるいは優先度に基づいて選択される、一部のアプリケーションの要件を満足することが例示される。
S023で要件を満足すれば(S023のY)、終了する。あるいは要件を満足しなければ(S023のN)、S020から再実行する。
ここでは、S020、S021で要件を考慮しながら、ネットワークトポロジ、タイムスロットを割り当てると説明した。但し、探索的方法や最適化手法を用いて計画し、S023で要件を達成するまで、ネットワーク設定における各パラメータの適正値の探索を繰り返してもよい。
(動作手順:出力)
次に入出力制御装置123における出力制御の動作手順を図9に示す。はじめに、出力指令のパケットの受信を待機する(S030)。次に、出力指令のパケットを受信すれば(S030のY)、該パケットまたは該パケット内に格納される制御指令値、情報を受信バッファに格納する(S031)。なお、この受信バッファはメモリ104、不揮発性記憶媒体105または通信制御IC102の内部メモリのいずれか、または複数で構成し、機能部としては通信部131、転写メモリ同期更新部132のいずれか、または両方で保持することが例示される。
次に時刻t_mem_outで生成される割込みを待機する(S032)。この割込みの生成のタイミングについては、タイムチャートを用いて、後に図13において説明する。この割込みは時刻管理部136から通知される。
割込み発生後(S032のY)、転写メモリ同期更新部132は、受信したパケットの内容を転写メモリ133に反映する(S033)。これは受信したパケットそのものを転写メモリ133に反映してもよいし、受信したパケットに含まれる制御指令値を抽出して反映してもよい。あるいは、所定のルールに応じて整形した情報を反映してもよい。そのようなルールとして受信内容に対するデータフォーマットの変更(生のデータ値からXMLへの変更、整数型から浮動少数点型への変更、文字列から数値への変更等)、統計処理(これまでの受信内容との平均、最小値、最大値等)、フィルタ演算等がある。
その後、時刻t_outで生成される割込みを待機する(S034)。これは時刻管理部136から演算スケジュール部135への割込み通知である。
割込みが生成されれば(S034のY)、演算スケジュール部135は入出力制御部137を起動する。ここでの入出力制御部137は転写メモリ133で更新された制御指令値を読み取り、入出力部107を制御して信号出力する(S035)。
これは具体的には、モータといったアクチュエータへの出力指令や、遮断器への遮断指令等である。
次に終了条件となったかを判定する(S036)。条件を満足した場合(S036のY)は終了し、そうでなければ(S036のN)S030から繰り返す。終了条件として、制御システムが所定の制御目標の満足、制御システム内の異常の発生、所定の稼働時間だけの実行、実行回数だけの実行、所定の時刻の経過、運用者等からの明示的な終了指示の受領が例示される。
なお、S030~S031と、S032~S036は連続して動作すると説明したが、並列に実行してもよい。そのような場合、S036で終了条件が満足しなければ(S036のN)、S030、S032から繰り返す。
(動作手順:入力)
次に、入出力制御装置123における入力の動作手順を図10に示す。
はじめに、時刻t_inで生成される割込みを待機する(S040)。これは時刻管理部136から演算スケジュール部135への割込み通知である。割込みが生成されれば(S040のY)、演算スケジュール部135は入出力制御部137を起動し、起動された入出力制御部137は、入出力部107からセンサ情報を入力する(S041)。
入力されたセンサ値をバッファに格納する(S042)。なお、このバッファは機能部としては入出力制御部137が保持し、ハードウェアとしては、メモリ104、不揮発性記憶媒体105、通信制御IC102の内部メモリのいずれか、または複数を用いて実現することが例示される。
次に、時刻t_send_inで生成される割込みを待機する(S043)。これは時刻管理部136から転写メモリ同期更新部132への割込みの通知である。割込みが生成されれば(S043のY)、転写メモリ同期更新部132はS042でバッファに格納したセンサ情報を読み取る。それから読み取った情報をパケットとして制御ネットワーク122へ送信する(S045)。これはブロードキャストや所定の送信先に送信することが例示される。
次に、時刻t_mem_inで生成される割込みを待機する(S046)。割込みが生成されれば(S046のY)、保存しているセンサ値を転写メモリ133に格納する(S047)。これはセンサ値そのものを転写メモリ133に反映してもよいし、所定のルールに応じて整形した情報を反映してもよい。このルールとして受信内容に対するデータフォーマットの変更(生のデータ値からXMLへの変更、整数型から浮動少数点型への変更、文字列から数値への変更等)、統計処理(これまでの受信内容との平均、最小値、最大値等)、フィルタ演算等が例示される。
次に、終了条件を判定する(S048)。判定条件は図9のS036と同様である。終了条件を満足していれば(S048のY)、終了し、満足していなければ(S048のN)、S040から繰り返す。
なお、S040~S042とS043~S045、S046~S048を連続する手順として説明したが、並列に実行してもよい。この場合、S048で終了条件を満足しなければ(S048のN)、それぞれの一連の手順の冒頭の待機処理(S040、S043、S046)へ戻ることが例示される。
(動作手順:制御手順)
次に、制御の手順について、図11に示す。はじめにセンサ値や状態情報といった制御演算をするための情報を格納したパケットの受信を待機する(S050)。パケットを受信すれば(S050のY)、受信した情報をバッファに格納する。なお、このバッファは機能部としては転写メモリ同期更新部132が保持し、ハードウェアとしては、メモリ104、不揮発性記憶媒体105、通信制御IC102の内部メモリのいずれか、または複数を用いて実現することが例示される。
次に時刻t_mem_cnt_inで生成される割込みを待機する(S052)。割込みが生成されれば(S052のY)、バッファに格納した情報を転写メモリ133の該当領域に格納、反映する(S053)。これは、バッファ内のひとつ、または複数の情報を、転写メモリ133上のひとつ、または複数のデータ領域に格納してもよい。同じデータを複数のデータ領域に格納してもよい。
次に、時刻t_cntで生成される割込みを待機する(S054)。割込みが生成されれば(S054のY)、転写メモリ133の情報を用いて、所定の制御演算アルゴリズムに従い、制御指令値を演算する(S055)。この際用いる制御演算アルゴリズムは、制御システムが実現すべき制御機能に基づき、産業ロボットやベルトコンベア、サーボモータの制御等を対象としていれば、フィードバック制御、フィードフォワード制御といった制御則が例示される。あるいは状態遷移(FSM:Finite State Machine)に基づき、各状態(ステート)に応じた制御指令値でもよい。あるいは電力監視制御分野の保護制御における電流差動保護方式のように、保持される情報を保護リレーで観測した電流値として、キルヒホッフ則にしたがって事故の有無を判定し、結果として遮断器への遮断指令を算出することが例示される。
次に、算出した制御指令値をバッファに格納する(S056)。このバッファは機能部としては転写メモリ同期更新部132が保持し、ハードウェアとしては、メモリ104、不揮発性記憶媒体105、通信制御IC102の内部メモリのいずれか、または複数を用いて実現することが例示される。
次に、時刻t_send_cntで生成される割込みを待機する(S057)。割込みが生成されれば(S057のY)、S056で保存したバッファの情報を所定の通信相手また制御ネットワーク122に送信する(S058)。
次に、時刻t_mem_cnt_outで生成される割込みを待機する(S059)。割込みが生成されれば(S059のY)、S056でバッファに格納した情報を転写メモリ133に反映する(S060)。
そして、終了条件を判定する(S061)。終了条件については、S036、S048と同等である。終了条件を満足していなければ、S050の手順から繰り返す。
なお、S050~S051、S052~S053、S054~S056、S057~S058、S059~S060の各手順は連続して実行すると説明したが、これらの手順の一つ、または複数を並列で実行してもよい。例えば、S050~S051、S052~S061を並列に実行してもよいし、他のステップを含み並列に実行してもよい。あるいはS050~S051、S052~S058、S059~S061を並列で実行してもよい。並列させた各動作はS061の終了条件を満足しなければ、それぞれの手順内の冒頭の待機処理(S050、S052、S054、S057、S059)へ戻ることが例示される。
なお、S050~S051で対象とするセンサ情報は複数でもよい。すなわち、送信元の入出力制御装置123ごとにS050~S051をタスクとして起動し、送信元の入出力制御装置123ごとに転写メモリ133上の、分散した領域上にデータを格納することが例示される。
同様に、S054~S058の制御指令値の算出において、複数の入出力制御装置123への制御指令値の算出を対象とし、送信先の入出力制御装置123ごとにS054~S058をタスクとして起動する。そして、送信先の入出力制御装置123ごとに転写メモリ133上の、分散した領域上に制御指令値を格納することが例示される。
また、S055で制御指令値を算出した後、S059、S057の割込みを待機した後に、S060でパケットを送信しているが、S059、S057の一方または両方を省略して割込みを待たずにパケットを送信してもよい。
なお、図9、10、11はセンサ装置、アクチュエータ、制御装置(コントローラ)を分離した構成として説明したが、一つの装置上で、入力、制御、出力のうちの一つ、または複数の機能を実現してもよい。
(タイムチャート)
図9、10、11に示す動作をタイムチャートで図13に示す。
複数のセンサ、コントローラ、複数のアクチュエータのタイムチャートを示している。なお、2台目以降のセンサは入力タイミング周辺のみ、2台目以降のアクチュエータは出力タイミング周辺のみを図示している。
t_in(図10のS040)で、センサとなる入出力制御装置123が割込みで起動し、センシングする。その後、t_1a、t_1b、t_1cでセンサ値をバッファに蓄える(図10のS042)。すなわち、複数のセンサ間でt_inは同時刻に設定する。なお、センサ1、2、3でセンシング時間が異なりえるため、t_1a、t_1b、t_1cは同じ時間とは限らない。
その後、t_send_inにて、各センサはバッファの情報を他の装置に送信する(図10のS043、S044)。
この場合、センサ情報の送信先はコントローラ(制御装置120)に限らず、転写メモリ133を同期化するため、他のセンサ、他のアクチュエータ(図13の140、141)に送信してもよい(他のセンサへの送信は図示無し)。
なお、送信対象のコントローラ、アクチュエータも複数の場合があり得る。また、各センサ装置となる入出力制御装置123の送信時刻t_send_inは図8のS021で計画され、それぞれ異なる時刻となり得る。
t_2で受信した装置はバッファに情報を格納する(図11のS050、S051、図9、10には説明無し)。その後、t_mem_in、t_mem_cnt_inにて、バッファに格納した情報を各装置内の転写メモリ133に反映する。つまり、t_mem_inとt_mem_cnt_inは同時刻に設定する。アクチュエータにおいても転写メモリ133に反映してもよい(図13の142)。
次に、t_cntにおいて、制御演算(図11のS054、S055)し、バッファに格納する(図11のS056)。
その後、t_send_cntにて、他の装置に送信する(図11のS057、S058)。この場合の送信先はアクチュエータに限らず、他のセンサ(図13の143、144)、他のコントローラ(図示無し)に送信してもよい。送信先のセンサ、コントローラは複数でもよい。t_3で受信した装置は、受信内容をバッファに格納する(図9のS030、S031)。
次にt_mem_cnt_out、t_mem_outで、t_3で保存した内容を、転写メモリ133に反映する(図9のS032、S033、図11のS059、S060)。なお、t_3は受信する装置ごとに異なり得る。つまり、t_mem_cnt_outとt_mem_outは同時刻に設定する。この場合、転写メモリ133を同期化するためにセンサ装置でも転写メモリ133に受信内容を反映してもよい(図13の145)。
次にt_outで、アクチュエータは受信した指令値に基づき、アクチュエータ出力する(図9のS034、S035)。すなわち、複数のアクチュエータ間でt_outは同じ時刻に設定する。
このようにすれば、複数のセンサで、センサ取得タイミングを同期させているため、制御システム全体でネットワークを介して物理的に装置が離れていても、同じ時刻の環境情報を取得できる。これにより、制御理論に基づいた制御系設計において、各センサの取り込みのタイミングがばらばらではなくなるため、設計値との誤差を少なくできる。これにより、従来よりも制御性能を向上できる。また、取得した情報をもとにシミュレーションや、サイバー空間上で制御システムを再現するデジタルツインの実現において、より高精度、高品質なセンサ情報を扱えるため、シミュレーション、デジタルツインの構成の精度を向上できる。結果的に制御システムの制御系設計や運用を高度化、高性能化しやすくなる。
また、複数のアクチュエータの出力タイミングを同期することで、制御理論に基づいた制御系設計において、各アクチュエータの出力のタイミングがばらばらではなくなるため、設計値との誤差を少なくできる。
なお、図13のt_cntでの制御演算、バッファ格納は、その前のt_mem_cnt_inでの転写メモリ133への反映から連続して実行してもよいし、t_send_cntでの送信は、t_cntのバッファ格納から連続して実行してもよい。
また、t_mem_in(t_mem_cnt_in)、t_mem_out(t_mem_cnt_out)のタイミングで転写メモリ133への情報の更新を同期させることで、以下のことが可能になる。つまり、各装置(入出力制御装置123、制御装置120)での転写メモリ133の内容を同一ないし同様とすることができる。これにより、制御システム全体として、共通で同一のセンシング情報、制御演算結果、出力指令に基づいて動作でき、設計どおりに制御システムを動作させることができ、高度化、高精度化、高性能化できる。
また、所定のタイムスロット、時間帯に限定して通信をすることで効率よく通信帯域を活用できる。
なお、図13のt_in、t_mem_in、t_mem_cnt_in、t_mem_out、t_mem_cnt_outを制御システム内で共通化するために以下の処理を行う。各装置において、同期した時刻体系に基づいて制御ループTloopの開始時刻、制御周期Tloopの長さ、各制御周期の開始時刻からのt_in、t_mem_in、t_mem_cnt_in、t_mem_out、t_mem_cnt_outそれぞれの時間オフセットの中の一つまたは複数を共有することが例示される。
この共有方法は、制御システム稼動前に各装置に事前設定してもよいし、ネットワーク管理装置125等によってオンラインでシステム運用者、設計者、利用者が設定してもよい。
(生成時刻と利用時刻の関係)
なお、センサ情報や、算出された制御指令は、生成、算出された時刻を通信パケット上に格納することが例示される。あるいは図13の制御ループの実行回数と、通信パケット上のパラメータと、を関連付けて、該情報が生成されたタイミングを検知できるようにしてもよい。例えば、制御システムを運用開始してからの制御ループの実行回数を通信パケット上に含めること(例えばプロトコルヘッダのシーケンス番号)が例示される。
このように指令の生成タイミングを見ることで該データの利用方法を制御できる。例えば、生成されてからの経過時間が所定しきい値よりも長く、古いデータと判断できる場合には破棄する、あるいは経過時間に基づいて制御システムの状態を推定する、冗長化されたパケットであれば先着や後着の判定に利用する等である。
(冗長化)
また、装置ごとに同じ時刻タイミングであれば、転写メモリ133の内容が同じであるため、以下の構成をとることができる。従来は各装置がパケットを受信したタイミングで転写メモリ133を更新していたため、各制御装置120、入出力制御装置123でのタスクの動作タイミングに制約が生じていた。すなわち、タスク実行タイミングによって、装置間の保持する情報が異なり得るために制御システム全体での性能が低下する(図14のt_a)。あるいは装置間の時刻同期誤差を考慮して、確実に各装置間で情報が同期化されたと考えられるタイミング(図14のt_b)でタスクを実行せざるを得ないという制約があった。後者は、タスクの実行タイミングに制約が生じるため、計算機資源の効率的な利用が制限される課題があった。
本実施例によれば、いつのタイミングであっても転写メモリ133の内容は共通で一貫性がとれているため、図15のようにタスクをスケジュールできる。これはコントローラ(制御装置120)に着目した動作を示す。図13のt_cntにおいて、コントローラaが制御演算150を実行しながら、別のコントローラbでは他のタスク151(例えば、センサ入力値に基づく、AIの推論処理や状態監視、予防保全等)を実行できる。
さらに、異なるコントローラcではt_redにおいて、制御演算150と同じ内容を冗長化するために冗長制御タスク152として実行する。なお、転写メモリ133の内容が同期化されているために、冗長制御タスク152は任意のタイミングで実行でき、例えば、t_cntで実行してもよい。さらに、制御演算150やタスク151の演算結果を受信する予定の入出力制御装置123がt_reqで演算結果を受信していない場合に、対象のコントローラに対して、実行、再送要求できる(153)。
説明の便宜上、制御演算150、タスク151、冗長制御タスク152をコントローラa、b、cとわけて説明したが、複数タスクを実行するコントローラを集約してもよい。例えば、コントローラaで制御演算150、冗長制御タスク152を実行してもよいし、コントローラbでタスク151、冗長制御タスク152を実行してもよい。
また、153の再送要求を送信するタイミングt_reqは最初の制御演算150の指令値を受信するタイミング以降に時刻管理部136によって設定されることが例示される。また、t_mem_outで転写メモリ133を同一にするため、t_red、t_reqをt_mem_out前に設定することが例示される。
これらの時間制約と通信遅延(153、冗長制御タスク152からの出力指令の転送)を踏まえて、図8のS021、S022を計画することが例示される。なお、再送要求時にただちに再送できるように、各タスクである制御演算150、タスク151、冗長制御タスク152は演算結果を保持する構成が例示される。
(図16の入力側冗長化)
次に、入力例の冗長化処理について、図16に示す。
t_inにてセンサがセンサ情報を取り込み、バッファに格納後、他の装置へ送信してから、センサ情報を再送してもよい(160)。これはセンサ情報を受信した他装置から再送してもよい(161)。また、センサ情報を受信すべきコントローラまたは他装置から再送要求を送信してもよい(162)。
また、162の再送要求を送信するタイミングt_reqは最初のセンサ情報を受信するタイミング以降に時刻管理部136によって設定されることが例示される。また、t_mem_inで転写メモリ133を同一にするため、t_red、t_reqをt_mem_in前に設定することが例示される。
これらの時間制約と通信遅延(162、センサ情報の転送)を踏まえて、図8のS021、S022を計画することが例示される。なお、再送要求時にただちに再送できるように、各タスクはセンサ情報を保持する構成が例示される。
(冗長化通信の受信側)
図13のセンサ、コントローラ、アクチュエータの種類によらず、受信側は、受信した複数のパケットの選択において、複数の方法が考えられる。
例えば、最初に受信したパケットを採用する先着優先、あるいは締め切り時間(例えば、センサ情報の受信に対するt_mem_in、t_mem_cnt_in)より前に受信した最後のパケットを採用する後着優先が例示される。
あるいは、送信元装置や送信時間帯等の通信にかかわる状態、属性に基づいて、パケットに優先度を設定し、該優先度に基づいて採用するパケットを選択してもよい。あるいは複数のパケットを受信した場合に、受信した複数の情報に統計処理を適用した結果を採用してもよい。このような場合として、センサ情報の平均を用いる等が例示される。
(冗長化の効果)
以上のように構成することで、センサ情報、制御演算の演算処理、入出力処理を冗長化でき、制御システムを高性能化できる。すなわち、センサやアクチュエータとなる入出力制御装置123を複数もうけることで、出力処理において冗長化でき、高信頼化できる。
このような通信を介して冗長化することで冗長化における選択機能、切り替え機能を実現するハードウェアまたはソフトウェアを省略できる。例えば、ハードウェアにおいては制御指令やセンサ装置の通信の冗長化においては、通信ポートを2つにする必要がない。また、ソフトウェアにおいては転写メモリ同期更新部132において、転写メモリ133を更新するパケットを選択するため、上位の制御アプリケーションは通信の冗長化を意識する必要がない。これにより、従来のアプリケーションを変更や修正の必要なく、そのまま再利用できる。
さらに、タスクの実行タイミングに制約がなくなるため、任意のタイミングで任意の分散制御システム用のアプリケーションを実行することができ、分散制御システムを構成する計算機資源を効率よく利用することができる。これにより、必要な計算機資源(制御装置120)を最低限に抑えることができ、分散制御システムを低コストに構築できる。
(位相シフト制御)
次に、コントローラを複数設け、それぞれで制御演算や指令出力の位相をずらして制御性能を向上させる例を図17に示す。
図17の構成では、センサ(入出力制御装置123)1台、コントローラ(制御装置120)3台、アクチュエータ(入出力制御装置123)1台の構成としている。
この構成では、複数のコントローラを用いて指令出力のタイミングをずらしている。つまり、異なるコントローラで指令出力(指令値の出力)に時間差を設けている。このように、時間差を設けることで、コントローラ単体で制御する場合よりも、見た目上の制御周期を高速化し、制御システム全体の性能を向上できる。このように、制御指令に時間差を設ける際、制御演算を行う(指令値の算出)タイミングを下記のようにずらしてもよい。つまり、少なくともいずれか一方をずらせばよい。さらに、コントローラの台数は3台に限定されない。
センサがt_sense_aで取得した情報をコントローラaへと転送し、コントローラaはt_cnt_aにて制御指令を出力する。同様に、センサがt_sense_bで取得した情報をコントローラbへと転送し、コントローラbがt_cnt_bで制御指令を出力し、t_sense_cで取得した情報をコントローラcへと転送し、コントローラcがt_cnt_cで制御指令を出力する。
なお、センサとコントローラが1対1で対応付いておらず、タイミングをずらして制御演算をする場合は、センサの取得時刻からの経過時間において制御システムの状態や環境モデルを推定してもよい。
これにより、コントローラ単体では、周期Tallでの動作が限界であったとしても、制御システムにおける制御周期は3倍高速化したTcntに短周期できる(図17のコントローラb)。
このように構成することでセンサ、アクチュエータが追従可能な制御周期まで、コントローラの台数を変更することで制御性能を可変、調整、高速化できる。
この構成は、制御ネットワーク122に接続されたコントローラによって調整可能なため、制御システムの要求性能に応じて柔軟にコントローラ構成を変更できる。
したがって、制御システムのコスト要件と要求性能から適切に制御システムを設計できる。また制御システムを運用する中で制御性能が必要になった場合、あるいは不要になった場合にコントローラの台数を調整することで、制御システムの運用開始後に、容易に制御性能を調整できる。
なお、センサやアクチュエータを複数にしてもよい。図17で言えば、センサを3台にして、それぞれ周期Tallで、対応するコントローラにセンサ情報を送信してもよい(例えば、センサaからコントローラa)。あるいは冗長化のため、各コントローラに送信してもよい。
このような構成をとることで計算機資源(例えばCPUリソース)に余剰が生じた場合に、AI処理や監視診断、予防保全、被制御装置124の余寿命診断といった別タスクに計算機資源を割り付けることができる。これにより、制御システム全体の性能を向上でき、信頼性を増すことができる。
(冗長化と位相シフト制御の混在、切り換え)
なお、複数のコントローラを用いた場合に、図15に示す冗長構成と、図17の位相シフトによる高速化を、状況によって動的、静的に使い分けてもよい。
これは、制御システムの運用者が明示的に、どちらのモードで動かすかを指定してもよいし、所定の時刻になった場合や所定の稼働期間経過した場合に切り換えてもよい。
あるいはセンサ情報で求められる制御システムの偏差情報に基づいて切り換えてもよい。例えば、目標値との偏差が大きい場合は制御性能が不足していると考え、位相シフトによるコントローラ数を増加させることが例示される。
なお、冗長構成、位相シフトでは、さらにコントローラの台数を調整でき、また冗長構成と位相シフトの混載も可能である。そのため、上記の制御システムの属性(時刻タイミング、稼働期間、運用者の指示、操作、制御システムの偏差等)に基づいて、以下の制御が例示される。例えば、どのコントローラ(センサ、アクチュエータを含めてもよい)を位相シフト、冗長構成のどちらで動作させるか、位相シフト、冗長構成で同じ動作をさせる場合に、どのコントローラと同じグループを構成するか等を制御することが例示される。
これにより、特定条件下での冗長構成と位相シフト制御で動作するコントローラの数を制御システム要件にあわせて柔軟に制御できる。
なお、これらの調整はネットワーク管理装置125を介し、オンラインでSDN(Software Defined Network)のように設定、制御してもよい。
(ノードごとの処理時間の変動に合わせて同期割込みのタイミング調整)
なお、図13等に示した各装置の割込みのタイミングについて、各装置での処理時間を考慮して装置ごとに割込みのタイミングを調整してもよい。例えば、センサ入力を用いて説明する。
図13では、センサ入力の処理時間がセンサa、b、cで同じとしてセンサ入力処理の開始を同じ時刻t_inとしている。例えば、各センサで処理時間が異なるとしてセンサ処理の終了時を同期させる場合を図18に示す。この例では、センサごとにセンサ処理時間がTsense_a、Tsense_b、Tsense_cと異なっており、t_1を同期させるため、センサごとに割込みタイミングをt_in_a、t_in_b、t_in_cとずらしている。これにより、センサ終了タイミングを同期できる。
このようにタイミングを調整し得る割込みとして、図13のt_in、t_mem_in、t_mem_cnt_in、t_cnt、t_mem_out、t_mem_cnt_out、t_outが例示される。
このような処理時間の差異を生じる要素として、各装置のアプリケーションの処理時間、通信プロトコルスタック、OSの違いや入出力部107の違いが例示される。また、これらの処理時間にゆらぎが生じる場合は、最悪値を用いて割込みタイミングを設定し、最悪値よりも早く処理が終了した場合に該装置で待機する構成が例示される。
(パケット開封時刻)
なお、各装置の動作タイミングは、演算スケジュール部135、時刻管理部136によって周期内における割込みのタイミングで制御する構成とした。但し、制御装置120、入出力制御装置123、ネットワーク管理装置125から、動作開始時刻を格納したパケットを対象装置に送信し、受信した装置は該パケットの動作開始時刻に動作を開始してもよい。
このようなパケットは、制御システム内で同期された時刻に基づく、動作開始時刻を少なくとも有し、また動作の種類(例えば、センサ値の取得、制御演算、アクチュエータ出力、所定タスクの開始)を含めてもよい。
あるいは動作開始時刻ではなく、動作終了時刻でもよい。受信した装置はパケット上の動作終了時刻と、該処理の処理時間をもとに開始時刻を算出し、その開始時刻に処理を開始することが例示される。この構成では、各装置が装置固有の処理時間に基づいて動作開始時刻を決定できるため、パケットを送信する装置は個別装置特有の情報を知る必要がなく、容易に目的処理の同期を図ることができる。
以上の構成により、動作と処理タイミングを外部から制御できることで、制御周期を動的に変更でき、制御システムの状態に合わせて適切に制御できる。例えば、加工装置を例にした場合、以下のことが可能となる。対象加工物に求められる加工精度が高い場合や形状が複雑な場合には制御周期を短くして制御性能を上げることが可能になる。また、逆に対象加工物に求められる加工精度が低い場合や形状が単純な場合には制御周期を長くして制御性能を下げる一方で、制御システム実行に必要なエネルギー(電力消費など)を節約できる。
(時刻同期による影響)
本実施例では、IEEE1588といった通信プロトコルやGPS等を用いた時刻同期に基づいて処理のタイミングを制御する。したがって、例えば、ある入出力制御装置123のアクチュエータの出力タイミングを観測し、その周期を求めることで、その周期が図13のTloopとなる。
ここで、IEEE1588プロトコルの実行において、誤った時刻情報を提供すると入出力制御装置123の出力タイミングは、誤った時間だけずれることとなる。これを図19(a)(b)に示す。
図19(a)は、正常に同期できている状態を示す。外部から観測可能な事象で見ると、コントローラからの制御指令出力がt_send_cntでなされ、t_outとt_send_cntの差をαとする。
ここで、入出力制御装置123と同期プロトコルを実行する装置(図19(a)(b)のコントローラに限定されない)において、誤った時刻情報とすることで、アクチュエータの時刻をdだけ遅らせると、出力のタイミングが遅れることとなる(図19(b))。なお、誤った時刻情報としては、例えば、Syncのタイムスタンプを誤った値にすることや、peer delayメカニズムのPdelay_RespやPdelay_Resp_Follow_Upのタイムスタンプを誤った値にすることが挙げられる。
タイムスタンプの詐称の方法としては、例えば、IEEE1588のSyncメッセージのタイムスタンプで、2×dの値だけ早い時刻に設定すれば、アクチュエータとなる入出力制御装置123の時刻をd遅らせることができる。
(階層化)
次に本実施例の入出力制御装置123を置き換えて制御システムを階層化した例を図20に示す。
インテリジェントエッジ180は図21の構成を持つ。入出力指令通信制御部190は、通信部131を用いて、入出力制御部137の代わりに入出力指令をフィールド装置181と通信する。
入出力指令通信制御部190は、通信制御IC102、CPU101上のソフトウェア、PHY103のいずれか、または複数を用いて構成することが例示される。
フィールド装置181の構成を図22に示す。フィールド装置181は、インテリジェントエッジ180からの入出力指令を受けてセンサ情報のフィールド装置181への送信、あるいは入出力制御部137によってアクチュエータの出力制御をする。なお、センサ情報の送信やアクチュエータの出力制御は、インテリジェントエッジ180からの入出力指令によって起動するのではなく、定期的に実行してもよい。このとき、アクチュエータの出力制御として、インテリジェントエッジ180から受信した指令値に基づくことが例示される。
インテリジェントエッジ180は、図13のt_inにおいて、センサ処理の代わりにフィールド装置181へのセンサ情報取得要求を送信し、同様にt_outにおいて、181へアクチュエータの出力指令を送信する。インテリジェントエッジ180でt_in、t_outは、フィールド装置181の処理時間、フィールド装置181との通信遅延に応じて、図18のようにタイミングを調整してもよい。なお、フィールド装置181はセンサとしての機能のみ、アクチュエータとしての機能のみで構成してもよい。
また、図20の構成ではインテリジェントエッジ180とフィールド装置181という2段構成としたが、インテリジェントエッジ180を多段に構成して3階層以上の階層構造としてもよい。また、図20はインテリジェントエッジ180とフィールド装置181を直結としているが、任意のトポロジによるネットワークを構成してもよい。
(EtherCAT階層構造)
なお、インテリジェントエッジ180とフィールド装置181間は制御ネットワーク122でもよく、EtherCATを適用した場合を図23に示す。
EtherCAT通信は、パケットがリングネットワーク上を順に巡回するため、例えば、図23の構成ではスレーブ装置182a、b、c、d、e、fの順に伝わるとする。ここで、図18の構成で装置毎の通信遅延の違いを踏まえて、t_inを設定することが例示される。
EtherCATでは、最初のスレーブが時刻マスタとなる。そこで、EtherCATの時刻同期プロトコル(DC:Distributed Clock)におけるパケットは経路200を経由するようにVLANタグのPCPを設定、ネットワーク中継装置121のタイムスロットを計画する。そして、各EtherCATサブネットワークにおける制御指令は、個別の制御システム202a、bごとの経路201a、201bを経由するようにVLANタグのPCPを設置、ネットワーク中継装置121のタイムスロットを計画することが例示される。
(ノード追加)
次に、制御装置120や入出力制御装置123を運用開始後に追加、除去する場合を述べる。ノード追加、除去する場合には図8のS020、S021を再実行することが例示される。
制御システムを止めずに、動的なノードの追加または除去を可能とするため、再計画後の制御装置120、ネットワーク中継装置121の設定をネットワーク管理装置125から配布、通信する必要がある。そのため、予め、構成変更後の設定内容を通信するための通信資源の予約(タイムスロット等)を、最初の図8の手順実行時のS021で計画しておくことが例示される。
また、各制御装置120、入出力制御装置123の演算スケジュール部135、時刻管理部136において、ネットワーク管理装置125から通知された内容を更新するタイミングを計画してもよい。例えば、図13のt_inから設定更新時間Tupdateだけ前の時間に割込みを生成して更新処理を開始するようにしてもよいし、該装置において未稼動の時間帯に更新してもよい。
(複数周期の重畳)
なお、図13の構成では一つの周期サイクルTloop内での各装置の処理において示したが、このサイクルを一つの単位として複数サイクルごとに生じる通信が存在してもよい。
例えば、図13の制御ループ10サイクルごとに監視データを送信することや、サイクルごとではなく、各サイクル内での最低通信量の制約はないが、50サイクル内で一定量のデータを送信する(例えば、画像や動画の1フレームなど)場合があり得る。このような場合、図13のt_inからt_endの処理に加えて、追加の通信用の時間帯を付加して1サイクルとしてもよいし、該当通信を実行する装置間で、通信の空きを確認し、図8のS021で追加通信をスケジュールすることが例示される。このような場合、例えば、複数サイクルで一まとめのデータを送る場合に、データを分割して各サイクル内で通信してもよい。
(同期異常)
なお、同期異常時に対応を変えることが例示される。そのような同期異常とは、通信プロトコルを介した時刻同期において、通信相手から所定時間同期パケットが送信されないことが例示される。また、GPS等の時刻同期方式において、該当のデバイスが故障することや環境変化により、衛星からの信号を受信できないことも例示される。
そのような場合には異常であることを外部に通知することや、それまでに同期した際の同期の情報をそのまま活用して同期時刻の指定を続けることが例示される。ここで、同期の情報は、例えば、PID制御を用いてシステム時刻とローカル時刻のフィードバックループを組む場合の比例項、積分項、微分項の各定数が例示される。
あるいはアクチュエータとなる入出力制御装置123であれば、0次ホールド、1次ホールド、フェールセーフ状態のいずれかで出力を制御することが例示される。
あるいは制御ネットワーク122上に非常用の予備のタイムスロットを設けておき、センサや制御指令の通信時にパケット上のPCP(Priority Code Point)を変える等して、該タイムスロットを用いることが例示される。このタイムスロットは予め図8のS021で計画することが例示される。
このようにすることで、ネットワーク中継装置121では同期異常を生じた装置からのパケットを任意のタイミングで受け取っても予備用のタイムスロットまで待機してから転送する。そして、受信装置では本来とは異なるタイムスロットを用いて通信されたことを検知して、受信した情報の扱いを変えて対応できる。例えば、該情報を用いないことや統計処理をする際に重みを下げる、信頼度を下げる等の対応が可能である。なお、タイムスロットを変えずに通信パケットのデータエリア上に同期異常が発生していることを示してもよい。
(転写メモリ以外)
なお、本実施例は転写メモリを対象として発明を述べたが、転写メモリに限定されない。例えば、仮想的なアドレス空間上に、制御システムを構成する装置毎の領域を割り付けてもよい。このような例として、EtherCATの論理アドレス空間が示される。
論理アドレス空間では装置ごとのアドレス空間を任意に配置できる。例えば、所定エリアのビット単位ごとにセンサ(入出力制御装置123)を割り付けることができる。
あるいはアクセスコマンドを多様化することで複数の装置が同一領域にアクセスすること(EtherCATのBRD:Broadcast Readコマンド)が可能になる。また、複数の装置からの論理和書き込み(EtherCATのBWR:Broadcast Writeコマンド)も可能になる。さらに、最後にアクセスしたパケットによる書き込みを有効とする処理(EtherCATのLWR:Logical Writeコマンド)といった操作も可能となる。これにより、少ないパケットで複数装置へのアクセス、複数装置からのアクセスが容易となる。
あるいは装置間でデータ領域を同期させるのではなく、更新されるデータ領域ごとに該データ領域に格納されるデータの生成時刻、演算時刻、出力時刻を対応付けて管理してもよい。例えば、センサ情報であれば、該センサ情報を取得した時刻と該センサ情報の組み合わせをデータ領域として管理してもよい。
あるいは制御指令であれば、その制御指令を演算した時刻や、その制御指令を出力すべき時刻のいずれか、または両方との組み合わせでデータ領域に格納してもよい。
あるいはアクチュエータ出力であれば、その出力時刻と出力指令の組み合わせをデータ領域として管理してもよい。
このように該当情報(センサ情報、制御指令、出力値)と関連時刻情報を対応付けてデータ管理する構成が例示される。このような場合、全ての装置でデータ領域として同期しているとは限らないが、同期された時刻体系に基づいて、各データと、それに関わる同期時刻を用いることで制御システムを高性能化し、理論性能との誤差を低減できる。
(遅延保証)
なお、本実施例ではTSNに準ずるタイムスロット型通信を用いて通信遅延を保証する構成について説明したが、制御ネットワーク122の通信方式はタイムスロット型通信に限定されない。最悪通信遅延を保証できる制御ネットワーク122であれば、そのような通信方式でもよい。
(効果)
以上の構成により、複数のセンサで、センサ取得タイミングを同期させているため、制御システム全体でネットワークを介して物理的に装置が離れていても、同じ時刻の環境情報を取得できる。これにより、設計値との誤差を少なくでき、制御性能を向上できる。また、取得した情報をもとにシミュレーションや、サイバー空間上で制御システムを再現するデジタルツインの実現において、より高精度、高品質なセンサ情報を扱えるため、シミュレーション、デジタルツインの構成の精度を向上できる。結果的に制御システムの制御系設計や運用を高度化、高性能化しやすくなる。
また、複数のアクチュエータの出力タイミングを同期することで、高精度な制御が可能となる。さらにセンサ情報、制御演算の演算処理、入出力処理を冗長化でき、制御システムを高信頼化、高性能化できる。また、制御システムの要求の変化に応じて、柔軟にコントローラ構成を変更できる。したがって、制御システムのコスト要件と要求性能から適切に制御システムを設計できる。さらに、分散制御システムを構築する装置間でデータを同期化することで、任意のタスクを任意のタイミングで実行でき、計算機資源を効率よく利用でき、分散制御システムを低コストに構築できる。
以上のように、本実施例によれば、制御システムの制御性能及び信頼性を向上させ、かつ、制御ネットワークのネットワーク資源の利用効率に優れた制御システムを提供できる。
101…CPU、102…通信制御IC、103…PHY、104…メモリ、105…不揮発性記憶媒体、106…バス、107…入出力部、120…制御装置、121…ネットワーク中継装置、122…制御ネットワーク、123…入出力制御装置、124…被制御装置、125…ネットワーク管理装置、130…時刻同期部、131…通信部、132…転写メモリ同期更新部、133…転写メモリ、134…演算部、135…演算スケジュール部、136…時刻管理部、137…入出力制御部、140、143…通信、141、144…バッファ格納処理、142、145…転写メモリ反映処理、150…制御演算、151…タスク、152…冗長制御タスク、153、162…再送要求、160、161…再送処理、170…装置データ領域、171…センサa領域、172…センサb領域、173…アクチュエータ領域、174…ステータスa領域、175…アクチュエータb領域、176、177、178…未定義領域、180…インテリジェントエッジ、181…フィールド装置、182…スレーブ装置、190…入出力指令通信制御部、200、201…経路、202…制御システム

Claims (9)

  1. 被制御装置に対する制御を実行するための分散制御システムを構成する制御装置において、
    前記分散制御システムを構成する他の制御装置である第二の制御装置と時刻同期を実行する手段と、
    前記第二の制御装置に関し、制御指令値を含む受信情報を受信する手段と、
    前記受信情報を一時格納する手段と、
    一時格納された前記受信情報を格納する共通データ領域と、
    前記時刻同期を実行する手段に従って同期した時刻を示す同期時刻を提供し、当該同期時刻での割込みを通知する手段と、
    前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、前記第二の制御装置における共通データ領域への格納と前記同期時刻で時刻同期させて、前記一時格納する手段に格納された前記受信情報から前記制御指令値を抽出して、当該制御装置における前記共通データ領域への格納を制御する手段と、
    前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、抽出された制御指令値に応じて、前記被制御装置に対する制御に関する処理を実行する手段と
    を有することを特徴とする制御装置。
  2. 請求項1に記載の制御装置において、
    前記制御に関する処理を実行する手段は、前記受信情報の前記分散制御システムを構成する第三の装置への転送を実行することを特徴とする制御装置。
  3. 請求項1または2のいずれかに記載の制御装置において、
    前記制御に関する処理を実行する手段は、前記受信情報の生成時間もしくは算出時間を用いて、前記制御に関する処理を実行するかを判断することを特徴とする制御装置。
  4. 複数の制御装置で構成され、被制御装置に対する制御を実行するための分散制御システムにおいて、
    前記複数の制御装置のいずれかである第一の制御装置は、
    前記分散制御システムを構成する他の制御装置である第二の制御装置と時刻同期を実行する手段と、
    前記第二の制御装置に関し、制御指令値を含む受信情報を受信する手段と、
    前記受信情報を一時格納する手段と、
    一時格納された前記受信情報を格納する共通データ領域と、
    前記時刻同期を実行する手段に従って同期した時刻を示す同期時刻を提供し、当該同期時刻での割込みを通知する手段と、
    前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、前記第二の制御装置における共通データ領域への格納と前記同期時刻で時刻同期させて、前記一時格納する手段に格納された前記受信情報から前記制御指令値を抽出して、前記第一の制御装置における前記共通データ領域への格納を制御する手段と、
    前記割込みを通知する手段からの前記割込みを待機し、当該割込みが通知された場合、抽出された制御指令値に応じて、前記被制御装置に対する制御に関する処理を実行する手段と
    を有することを特徴とする分散制御システム。
  5. 請求項4に記載の分散制御システムにおいて、
    前記複数の制御装置のそれぞれは、TSNに準ずるタイムスロット型通信で互いに通信することを特徴とする分散制御システム。
  6. 請求項4に記載の分散制御システムにおいて、
    前記第一の制御装置は、複数の制御装置であり、
    複数の前記第一の制御装置のそれぞれは、前記制御に関する処理を実行する手段により、前記共通データ領域の内容に基づいて、前記分散制御システムを構成する第三の制御装置に対する制御指令値を算出して、前記第三の制御装置へ送信することを特徴とする前記分散制御システム。
  7. 請求項6に記載の分散制御システムにおいて、
    前記分散制御システムを構成する第四の制御装置が、前記第一の制御装置と時間差を設けて、前記第三の制御装置へ、前記制御指令値を送信することを特徴とする前記分散制御システム。
  8. 請求項7に記載の分散制御システムにおいて、
    前記第四の制御装置は、前記第一の制御装置と、算出タイミングをずらして前記制御指令値を算出することで、前記時間差を設けて、前記第三の制御装置へ、前記制御指令値を送信することを特徴とする分散制御システム。
  9. 請求項8に記載の分散制御システムにおいて、
    前記第四の制御装置の数を、前記被制御装置が追従可能な制御周期まで変更する分散制御システム。
JP2019193219A 2019-10-24 2019-10-24 制御装置及び分散制御システム Active JP7423249B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019193219A JP7423249B2 (ja) 2019-10-24 2019-10-24 制御装置及び分散制御システム
PCT/JP2020/031215 WO2021079599A1 (ja) 2019-10-24 2020-08-19 制御装置及び分散制御システム
EP20878358.9A EP4050436A4 (en) 2019-10-24 2020-08-19 CONTROL DEVICE AND DISTRIBUTED CONTROL SYSTEM
US17/770,416 US11977362B2 (en) 2019-10-24 2020-08-19 Control device and distributed control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019193219A JP7423249B2 (ja) 2019-10-24 2019-10-24 制御装置及び分散制御システム

Publications (2)

Publication Number Publication Date
JP2021068200A JP2021068200A (ja) 2021-04-30
JP7423249B2 true JP7423249B2 (ja) 2024-01-29

Family

ID=75620440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019193219A Active JP7423249B2 (ja) 2019-10-24 2019-10-24 制御装置及び分散制御システム

Country Status (4)

Country Link
US (1) US11977362B2 (ja)
EP (1) EP4050436A4 (ja)
JP (1) JP7423249B2 (ja)
WO (1) WO2021079599A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11876628B2 (en) * 2020-03-12 2024-01-16 Qualcomm Incorporated Fallback retransmission in sidelink
EP4352932A1 (en) * 2021-06-11 2024-04-17 Abb Ag Time sensitive network simulator
JP2023058938A (ja) * 2021-10-14 2023-04-26 株式会社日立製作所 制御装置、制御システム、及び時刻同期方法
KR102406874B1 (ko) * 2022-01-11 2022-06-10 주식회사 대은계전 자가 진단이 가능한 자동제어장치
CN115145210B (zh) * 2022-09-02 2022-12-09 小米汽车科技有限公司 车辆的控制信号的控制方法、装置、车辆、介质及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003311498A (ja) 2002-04-25 2003-11-05 Aida Eng Ltd プレス運転制御方法およびプレス機械
JP2004302626A (ja) 2003-03-28 2004-10-28 Digital Electronics Corp 制御装置、表示装置、制御ユニット、設定装置、プログラムおよび記録媒体
JP2005293569A (ja) 2004-03-11 2005-10-20 Omron Corp 同期コントローラ
JP2019080164A (ja) 2017-10-24 2019-05-23 オムロン株式会社 通信システム、制御装置、設定装置、設定方法およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219902A (ja) * 1994-01-27 1995-08-18 Hitachi Ltd ネットワークアダプタ及びネットワークシステム
US7890194B2 (en) * 2005-12-13 2011-02-15 Brooks Automation, Inc. Robotics programming interface
US7532637B2 (en) 2004-03-11 2009-05-12 Omron Corporation Synchronous controller
JP6477161B2 (ja) * 2015-03-31 2019-03-06 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US10363657B2 (en) * 2016-12-23 2019-07-30 X Development Llc Multi-agent coordination under sparse networking
JP6962099B2 (ja) 2017-09-25 2021-11-05 オムロン株式会社 制御システムおよび制御装置
JP2019153941A (ja) * 2018-03-02 2019-09-12 株式会社日立製作所 通信制御装置及び通信制御システム
JP2019161606A (ja) * 2018-03-16 2019-09-19 オリンパス株式会社 移動撮像システム、学習方法、移動撮像装置、情報取得制御装置、情報取得制御方法及び情報取得制御プログラム
JP2019164857A (ja) * 2018-03-19 2019-09-26 株式会社東芝 ディスク装置
US10647528B1 (en) * 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US11919175B2 (en) * 2020-04-15 2024-03-05 Mujin, Inc. Robotic system with collision avoidance mechanism and method of operation thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003311498A (ja) 2002-04-25 2003-11-05 Aida Eng Ltd プレス運転制御方法およびプレス機械
JP2004302626A (ja) 2003-03-28 2004-10-28 Digital Electronics Corp 制御装置、表示装置、制御ユニット、設定装置、プログラムおよび記録媒体
JP2005293569A (ja) 2004-03-11 2005-10-20 Omron Corp 同期コントローラ
JP2019080164A (ja) 2017-10-24 2019-05-23 オムロン株式会社 通信システム、制御装置、設定装置、設定方法およびプログラム

Also Published As

Publication number Publication date
EP4050436A1 (en) 2022-08-31
US11977362B2 (en) 2024-05-07
US20220382235A1 (en) 2022-12-01
WO2021079599A1 (ja) 2021-04-29
JP2021068200A (ja) 2021-04-30
EP4050436A4 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
JP7423249B2 (ja) 制御装置及び分散制御システム
US20170099158A1 (en) Control system, control apparatus and control method
EP3955520B1 (en) Iot control network planning
JP6376229B2 (ja) 通信システム、通信装置および通信方法
EP3691193B1 (en) Control system and communication method
KR102148943B1 (ko) 프로그래머블 컨트롤러 시스템, 그 컨트롤러
CN102833061A (zh) 基于无缝冗余环网的提高时钟精度的方法及节点
CN111052669B (zh) 通信***、通信装置和通信方法
JP6045950B2 (ja) 通信制御装置及び通信システム
EP2494742B1 (en) Network control architecture and protocol for a distributed control, data acquisition and data distribution system and process
JP6859914B2 (ja) 通信システム、通信装置および通信方法
JP7331078B2 (ja) データパケット管理方法およびコンピュータプログラム
US20220147022A1 (en) Control system
JP6709086B2 (ja) 通信制御装置、および、通信制御方法
WO2020189144A1 (ja) 制御システム、装置および制御方法
WO2019167415A1 (ja) 通信制御装置及び通信制御システム
CN214627023U (zh) 一种兼容可定义确定性通信以太网的交换设备
JP7337627B2 (ja) 通信制御装置およびシステム
US20160366686A1 (en) Method and computer network for transmitting messages
JP7330329B2 (ja) 通信制御装置及び通信制御システム
WO2024134912A1 (ja) 制御用通信システムおよびプラズマ処理装置
JP2019161523A (ja) ネットワークシステム
US20230078505A1 (en) Synchronization for backplane communication
Ethernet IEEE TSN (Time-Sensitive Networking): A Deterministic Ethernet Standard

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231011

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: 20240109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240117

R150 Certificate of patent or registration of utility model

Ref document number: 7423249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150