JP2021033437A - 制御システム、制御装置およびプログラム - Google Patents
制御システム、制御装置およびプログラム Download PDFInfo
- Publication number
- JP2021033437A JP2021033437A JP2019150137A JP2019150137A JP2021033437A JP 2021033437 A JP2021033437 A JP 2021033437A JP 2019150137 A JP2019150137 A JP 2019150137A JP 2019150137 A JP2019150137 A JP 2019150137A JP 2021033437 A JP2021033437 A JP 2021033437A
- Authority
- JP
- Japan
- Prior art keywords
- timer
- control device
- time
- control
- network configuration
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 claims abstract description 47
- 230000008859 change Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 67
- 238000003860 storage Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 description 55
- 238000004519 manufacturing process Methods 0.000 description 42
- 230000005540 biological transmission Effects 0.000 description 21
- 230000033001 locomotion Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000036461 convulsion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13063—Synchronization between modules
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25482—Synchronize several sequential processes, adjust
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Selective Calling Equipment (AREA)
Abstract
【課題】ネットワーク構成の変更があるときは、変更後のネットワーク構成のタイマを、それらのうちの精度が高いタイマに同期させる。【解決手段】制御システムは、それぞれが対象を制御する1つ以上の制御装置がネットワークに通信可能に接続されるネットワーク構成を備え、各1つ以上の制御装置は、精度を有した時間を管理するタイマと、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、ネットワーク構成が変更される場合に、変更後のネットワーク構成が有する各制御装置のタイマのうち、他のタイマよりも時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段を有する。【選択図】図1
Description
本発明は、複数の制御装置がネットワーク接続される制御システム、制御装置およびプログラムに関する。
様々な生産現場において、PLC(プログラマブルロジックコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。このような制御装置は、1または複数の機器との間でネットワークを介してデータを送受信することにより、当該1または複数の機器の動作を制御する。
制御システムの高機能化に伴って、互いに独立した制御処理を実行する複数の制御装置がネットワークを介して接続されるような構成も実現しつつある。例えば、特開2015−118505号公報(特許文献1)には、コントローラレベルネットワークに複数の制御装置が接続された制御システムが開示される。各制御装置はデバイスレベルネットワークを介して複数の入出力装置が接続されている。各制御装置は、複数の入出力装置から取得した入力値を、コントローラレベルネットワークを介してサーバに送信する。また、各制御装置は、一定のタクト周期の計時を繰り返すタイマを有し、タイマは制御装置間で同期化されている。
製造現場では、生産品種の変更、生産数の増量などの様々な理由により、生産ラインの組み替えが実施される。この場合、ネットワークに接続される制御装置が追加されるなどしてネットワーク構成が変更されるが、変更後のネットワーク構成においても、タクトタイムなどを精度よく維持できるように、既存の制御装置と追加された制御装置が連携するよう各制御装置間でタイマを精度が高いタイマに同期させることが望まれる。特許文献1は、ネットワーク構成が変更された場合に制御装置間でタイマを精度が高いタイマに同期させる技術は提案しない。
本開示は、ネットワーク構成の変更があるときは、変更後のネットワーク構成のタイマを、それらのうちの精度が高いタイマに同期させることが可能な制御システム、制御装置およびプログラムを提供することである。
この開示にかかる制御システムは、それぞれが対象を制御する1つ以上の制御装置がネットワークに通信可能に接続されるネットワーク構成を備え、各1つ以上の制御装置は、精度を有した時間を管理するタイマと、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、ネットワーク構成が変更される場合に、変更後のネットワーク構成が有する各制御装置のタイマのうち、他のタイマよりも時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段を有する。
この開示によれば、ネットワークの構成が変更される場合は、変更後のネットワーク構成において時間の精度が高いタイマに、他のタイマを時刻同期させることができる。これにより、制御システムでは、ネットワーク構成が変更される都度、自動的に、当該ネットワーク構成が有するタイマを、高い精度を有した時間を管理するタイマに時刻同期させることができる。
上述の開示において、ネットワーク構成に接続可能な制御装置は、稼働中の第1の制御装置と、第1の制御装置とは異なる第2の制御装置と、を有し、ネットワーク構成の変更は、稼働中の第1の制御装置が接続されるネットワーク構成に、第2の制御装置が追加されることを含む。
上述の開示によれば、稼働中の制御装置が接続されるネットワーク構成が変更される場合であっても、変更後のネットワーク構成が有するタイマを、高い精度を有した時間を管理するタイマに自動的に時刻同期させることができる。
上述の開示において、各制御装置は、自装置が有するタイマの精度を有するメッセージを互いに通信するメッセージ通信手段を、さらに有し、タイマ同期手段は、他の制御装置から受信するメッセージが有する精度と、自装置のタイマが有する精度とを比較し、比較の結果に基づき時間の精度が高いタイマを選択する。
上述の開示によれば、制御装置どうしが通信するメッセージから時間の精度が高いタイマを選択することができる。
上述の開示において、タイマ同期手段は、時間の精度が高いタイマが第2の制御装置に備えられる場合、第2の制御装置のタイマを第1の制御装置のタイマに時刻同期させ、その後、第1の制御装置のタイマを第2の制御装置のタイマに時刻同期させる。
上述の開示によれば、稼働中の第1の制御装置のタイマを、第2の制御装置が有する時間の精度が高いタイマに時刻同期させる場合は、一旦、第2の制御装置のタイマを第1の制御装置のタイマに時刻同期させて、その後に、稼働中の第1の制御装置のタイマを時間の精度が高い第2の制御装置のタイマに時刻同期させる、という多段階の時刻同期が実施される。これにより、稼働中の制御装置のタイマを、いきなり時間の精度が高いタイマに時刻同期させる場合に比較して、第1の制御装置の通信手段が、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する場合に、基準となる時間が大きく変動することが防止されて、安定して対象を制御することができる。
上述の開示において、制御装置は、さらに、ネットワーク構成に接続されている制御装置の識別子を含むネットワーク構成情報を記憶する記憶手段を有し、第1の制御装置は、第2の制御装置の識別子をネットワーク構成情報と照合し、照合結果に基づきネットワーク構成に第2の制御装置が追加されることを検出する。
この開示によれば、制御装置は、上記の照合によって、自律的にネットワーク構成が変更されることを検出できる。
上述の開示において、第2の制御装置は、ネットワーク構成に追加されると、稼働中の第1の制御装置と連携して稼働する制御装置を含み、各制御装置は、自装置が第1の制御装置および第2の制御装置のいずれであるかを検出する。
この開示によれば、制御装置は、自装置が第1の制御装置および第2の制御装置のいずれであるかを自律的に検出するとともに、自装置は第1の制御装置であると検出した制御装置は、上記のネットワーク構成の変更を自律的に検出する。
上述の開示において、タイマ同期手段は、他のタイマの時間を所定の調整量で更新する処理をN回(ただし、N≧2)繰り返し、所定の調整量は、他のタイマと時間の精度が高いタイマとの間の時間のずれの大きさをN個に分割した各調整量を含む。
上述の開示によれば、他のタイマを時間の精度が高いタイマに時刻同期させる場合、時間のずれの大きさに基づくN回の調整を繰り返すことで、徐々に、他のタイマの時間を、時間の精度が高いタイマの時間に合わせることができる。これにより、稼働中の制御装置のタイマを、いきなり時間の精度が高いタイマに時刻同期させる場合に比較して、第1の制御装置の通信手段が、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する場合に、基準となる時間が大きく変動することが防止されて、安定して対象を制御することができる。
この開示において、対象を制御する制御装置は、複数の制御装置を通信可能に接続するネットワークと通信する手段と、精度を有した時間を管理するタイマと、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、ネットワークに通信可能に接続される制御装置が変更される場合に、変更後のネットワークに接続される各複数の制御装置のタイマのうち、他のタイマよりも時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段を有する。
上述の開示によれば、ネットワークの構成が変更される場合は、変更後のネットワーク構成において時間の精度が高いタイマに、他のタイマを時刻同期させることができる。これにより、制御システムでは、ネットワーク構成が変更される都度、自動的に、当該ネットワーク構成が有するタイマを、高い精度を有した時間を管理するタイマに時刻同期させることができる。
この開示において、対象を制御する制御装置に時刻同期させる方法をコンピュータに実行させるためのプログラムが提供される。制御装置は、複数の制御装置を通信可能に接続するネットワークと通信する手段と、精度を有した時間を管理するタイマと、タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、を備え、方法は、ネットワークに通信可能に接続される御装置が変更される場合に、変更後のネットワークに接続される各複数の制御装置のタイマのうち、他のタイマよりも時間の精度が高いタイマを検出するステップと、時間の精度が高いタイマに他のタイマを時刻同期させるステップと、を備える。
上位の開示によれば、ネットワークの構成が変更される場合は、変更後のネットワーク構成において時間の精度が高いタイマに、他のタイマを時刻同期させることができる。これにより、制御システムでは、ネットワーク構成が変更される都度、自動的に、当該ネットワーク構成が有するタイマを、高い精度を有した時間を管理するタイマに時刻同期させることができる。
本開示によれば、ネットワーク構成の変更があるときは、変更後のネットワーク構成のタイマを、それらのうちの精度が高いタイマに同期させることができる。
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に従う制御システム1の概要を模式的に示す図である。制御システム1のネットワークは、製造装置または生産設備などを制御する1または複数の制御装置を備えて、いわゆる産業用ネットワークまたは産業用ネットワークに準拠する要件を充足するように構成される。そのような要件の一つとして、送信元から送出したデータ(制御系データ)が宛先に到着する時刻が保証される。
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に従う制御システム1の概要を模式的に示す図である。制御システム1のネットワークは、製造装置または生産設備などを制御する1または複数の制御装置を備えて、いわゆる産業用ネットワークまたは産業用ネットワークに準拠する要件を充足するように構成される。そのような要件の一つとして、送信元から送出したデータ(制御系データ)が宛先に到着する時刻が保証される。
本実施の形態では、このような要件を満たすために、装置間の時刻同期を、例えばTSN(Time-Sensitive Networking)のIEEE(Institute of Electrical and Electronics Engineers)1588、IEEE802.1AS、IEEE802.1AS−Revなどの高精度時間同期プロトコルを採用することで実現している。
図1の(A)を参照して、本実施の形態の制御システム1の一例である生産ライン2Aは、制御装置200Aと200Bを備える。制御装置200Aと200Bは、制御対象機器であるフィールド機器を制御する。具体的には、制御装置200Aと200Bはそれぞれ、フィールドネットワーク22Aと22Bを介してフィールド機器500Aと500Bに接続され、フィールド機器500Aと500Bを制御する。なお、制御装置200Aと200Bの各々に接続されるフィールド機器の個数は、1に限定されず、複数であってもよい。フィールド機器500A,500Bは、例えばセンサ、アクチュエータなどを含む。
制御装置200Aと200Bの各々は、制御周期ごとに、IO(Input/Output)リフレッシュ処理、制御演算処理、モーション処理、および他の処理などを実行する。
IOリフレッシュ処理とは、フィールドネットワークを介して制御装置とフィールド機器との間でデータを送受信する処理である。具体的には、フィールドネットワークを介してフィールド機器から機器の状態を示す状態値を含むフィールド値を受信するとともに、フィールド機器を制御する制御指令(指令値、制御量など)を、フィールドネットワークを介して送信する。
制御演算処理とは、制御対象に応じて任意に作成された制御演算などを含む。具体的には、制御演算処理では、IOリフレッシュ処理によって受信されたフィールド値を用いて演算命令が実行されて、実行結果である制御指令が出力される。
モーション処理とは、上記のフィールド値に基づき、フィールド機器が備えるサーボモータなどのアクチュエータに対して、位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度などの数値を制御指令として演算する処理である。
制御装置200Aと200Bは、接続されるフィールド機器との間で時刻同期されたタイマ201Aと201Bをそれぞれ有する。制御装置200Aと200Bは、それぞれタイマ201Aと201Bの時刻に従って、上記のIOリフレッシュ処理、ユーザプログラム実行処理、モーション処理などを実行する。これにより、制御装置200A,200Bは、それぞれ、互いに時刻同期されたタイマが管理する時間を基準として、当該制御装置に接続されたフィールド機器に制御指令を送信して、制御システム1のフィールド機器を同期させながら制御することができる。
制御装置200Aによって制御されるフィールド機器500Aと制御装置200Bによって制御されるフィールド機器500Bとは、生産ライン2Aに固定設置され、生産ライン2Aにおいて搬送されるワークに対する処理を行なう。
制御装置200Aと制御装置200Bとは、コントローラレベルのネットワーク23Aに接続される。ネットワーク23Aには管理装置190Aが接続される。ネットワーク23Aは、制御装置200A,200Bと管理装置190Aとの間でデータリンクを構築する。当該データリンクにより、管理装置190Aは、制御装置200Aによって制御されるフィールド機器500Aと制御装置200Bによって制御されるフィールド機器500Bとの連係動作を管理できる。連係動作を実現するために、制御装置200Aが有するタイマ201Aとフィールド機器500Aが有するタイマ501Aは互いに時刻同期し、また、制御装置200Bが有するタイマ201Bとフィールド機器500Bが有するタイマ501Bが互いに時刻同期する。さらに、制御装置200Aと200Bのタイマ201Aと201Bも互いに時刻同期する。これにより、制御システム1では、全てのフィールド機器を互いに同期させながら制御することが可能となる。
制御システム1では、生産ライン2Aの生産数の増加または段取り替えなどに伴い移動システム10Aが生産ライン2Aに加わることで、制御システム1のネットワーク構成が変更され得る(図1の(B))。1または複数の制御装置がネットワーク23Aに通信可能に接続されるネットワーク構成が変更され得る。すなわち、ネットワーク23Aに接続される制御装置の変更が行なわれる。このような変更は、限定されないが、ネットワーク23Aに接続される制御装置の機種または台数の変更などを含む。
制御システム1のネットワーク構成が、例えば図1の(A)から図1の(B)に変更されるシーンを説明する。図1の(B)では、生産ライン2Aに追加される移動システム10Aは、他の生産ライン2Bから移動してきたものである。なお、移動システム10Aは生産ライン2Bに備えられていたものに限定されない。
生産ライン2Bは、制御装置200Cと200D、および移動システム10Aを備える。制御装置200Cと200Dはそれぞれ、フィールドネットワーク22Cと22Dを介してフィールド機器500Cと500Dに接続され、フィールド機器500Cと500Dを制御する。制御装置200Cと制御装置200Dとは、コントローラレベルのネットワーク23Bに接続される。ネットワーク23Bには管理装置190Bが接続される。ネットワーク23Bに接続される管理装置190Bは、上記の管理装置190Aと同様の機能を備えるので、説明は繰り返さない。
移動システム10Aは、制御装置100A、制御装置100Aにフィールドネットワーク21Aを介して接続されたフィールド機器400Aおよび移動機構300Aを含む。機器400Aは、例えば、センサ、アクチュエータなどを含むロボットアームであり、生産ライン2A,2Bにおいてワークに何等かの処理を行なう。例えば、生産ラインの段取り替えなどに応じて、移動システム10Aが生産ラインのネットワークに通信可能に接続されることでネットワーク構成に追加され、または生産ラインのネットワークから切り離されることでネットワーク構成から削除される。
移動システム10Aは、生産ライン2A,2Bを含む複数の生産ライン間で移動可能なシステムである。具体的には、移動機構300Aは、例えば自律走行ロボットによって構成されて、移動機構300Aが目標軌道に従って移動することにより、移動システム10Aが生産ライン2Bから生産ライン2Aに移動して、生産ライン2Aのネットワーク23Aに通信可能に接続する。これにより、生産ライン2Aのネットワーク構成には、移動システム10Aが備える制御装置100Aおよびフィールド機器400Aが追加されて、生産ライン2Aのネットワーク構成は変更される。
このようなネットワーク構成の変更があった場合、制御装置は、変更後のネットワーク構成における複数の制御装置が備えるタイマのうちから、時間の精度が他のタイマよりも高いタイマ(以下、グランドマスタと称する)を検出(または選択)し、他のタイマを検出されたグランドマスタに時刻同期させるタイマ同期処理を実施する。
本実施の形態では、タイマが有する時間の精度とは、主に、タイマが管理(計測)する時間の精度(例えば、ミリ秒、マイクロ秒など)である。時間の精度は、例えばミリ秒はマイクロ秒よりも低い。また、時間の精度は、当該タイマが安定して時間を計測できることを示す安定性の程度を含んでもよい。
これにより、制御システム1では、ネットワーク構成が変更される毎に、変更後のネットワーク構成におけるグランドマスタの選択と当該グランドマスタに基づくタイマ同期処理とが実施されて、制御システム1の互いに時刻同期するタイマの精度を高く維持することができる。
<B.制御装置100およびフィールド機器400のハードウェア構成例>
図2は、本実施の形態に係る移動システムを構成する制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。図2を参照して、本実施の形態にかかる移動システム10に備えられる制御装置100Aおよびフィールド機器400Aのハードウェア構成について説明する。図2では、移動システム10Aに備えられる制御装置100Aは、制御装置100として示され、移動システム10Aに備えられるフィールド機器400Aは、フィールド機器400として示され、フィールドネットワーク21Aはフィールドネットワーク21として示されている。
図2は、本実施の形態に係る移動システムを構成する制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。図2を参照して、本実施の形態にかかる移動システム10に備えられる制御装置100Aおよびフィールド機器400Aのハードウェア構成について説明する。図2では、移動システム10Aに備えられる制御装置100Aは、制御装置100として示され、移動システム10Aに備えられるフィールド機器400Aは、フィールド機器400として示され、フィールドネットワーク21Aはフィールドネットワーク21として示されている。
制御装置100は、典型的には、PLCをベースとして構成されてもよい。図2を参照して、制御装置100は、主たるコンポーネントとして、プロセッサ103と、メモリ104と、ストレージ105と、無線通信インターフェイス120と、メモリカードインターフェイス128と、有線通信インターフェイス130と、フィールドネットワークコントローラ140とを含む。制御装置100が備えるこれらのコンポーネントは、内部バス102を介して互いに通信可能に接続されている。
プロセッサ103は、ストレージ105に格納されているプログラムを読出して、読出されたプログラムをメモリ104に展開し、展開されたプログラムを実行することにより、各種処理を実現する。メモリ104は、主に揮発性記憶装置を含む。例えば、メモリ104は、DRAM(Dynamic Random Access Memory)およびSRAM(Static Random Access Memory)などを含む。
ストレージ105は、OS(Operating System)を含むシステムプログラム106と、制御システム1または制御対象などに応じて設計されるアプリケーションプログラムを格納する。プロセッサ103は、システムプログラム106の制御のもとで、アプリケーションプログラムを実行する。ストレージ105は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの不揮発性記憶装置を含む。
アプリケーションプログラムは、スケジューラ107、ユーザプログラム108、タイマ同期プログラム109およびシステム同期プログラム112などを含む。ストレージ105は、さらに、プライオリティ113、マスタ識別子114およびコンフィグ情報115を格納する。プライオリティ113は、制御装置100が有するタイマ101の時間の精度を示す情報である。マスタ識別子114は、制御装置100が接続されるネットワーク構成におけるグランドマスタであるタイマを有した制御装置を識別する情報である。コンフィグ情報115は、制御装置100が接続されるネットワーク構成を示す情報であって、例えば、当該ネットワーク構成に接続される制御装置の識別子を含む制御装置に関する情報、フィールド機器の情報などを含む。
ユーザプログラム108は、上述したIOリフレッシュ処理のためのIOリフレッシュプログラム421、制御演算処理のための制御演算プログラム402およびモーション処理のためのモーションプログラム403および他の処理のための他のプログラム404を含む。制御演算プログラム402は、例えばラダープログラムなどを含む。モーションプログラム403は、制御対象であるロボットの挙動を演算するためのロボットプログラムなどを含む。
他のプログラム404は、リフレッシュ処理、制御演算処理およびモーション処理とは異なりフィールド機器の制御とは独立した処理を実施するためのプログラムである。例えば、他のプログラム404は、システムサービスに関するプログラムを含む。システムサービスに関するプログラムは、管理装置190A,190Bが備えるデータベースに生産ラインで検出されたデータを格納するためにデータを転送するためのプログラムなどを含む。さらに、管理装置190A,190Bが備えるロギングファイルへのデータ書き込みなどの命令を生成して、ロギングファイルに送信するプログラムを含む。他のプログラムは、このように、制御周期とは独立して実行される(すなわち、周期的には実行されない)プログラムを含み得る。
タイマ同期プログラム109は、上記に述べたタイマ同期処理を実現するための命令コードを含む。具体的には、タイマ同期プログラム109は、制御装置100が接続されるネットワーク構成からグランドマスタのタイマを選択する際にアナウンスメッセージを通信するメッセージプログラム110およびプライオリティ113を一時的に変更(書換)するプライオリティ変更プログラム111を含む。
無線通信インターフェイス120は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態にかかる無線通信インターフェイス120は、制御装置200との間でデータの遣り取りを制御する。なお、制御装置100は、ネットワーク23Aのような有線を介して制御装置200とデータを遣り取りすることもできる。
メモリカードインターフェイス128は、メモリカード129を着脱可能に構成されており、メモリカード129に対してデータを書込み、メモリカード129から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。メモリカード129は、小型の記憶媒体であって、例えばフラッシュメモリなどを含み、具体的にはSDカードなどを含む。
有線通信インターフェイス130は、有線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の有線通信インターフェイス130は、移動機構300との間でデータの遣り取りを制御する。
フィールドネットワークコントローラ140は、制御装置100がフィールドネットワーク21を介してフィールド機器400との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワーク21のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。
フィールドネットワークコントローラ140は、主たるコンポーネントとして、送受信コントローラ141(図中はTx/Rx CTRL141と略す)と、送受信バッファ142(図中はTx/Rxバッファ142と略す)と、タイマ101とを含む。タイマ101は、図1に示すタイマ101Aに相当する。
送受信コントローラ141は、フィールドネットワーク21上を制御周期毎に伝送されるパケットの生成および受信に関する処理を行なう。具体的には、送受信コントローラ141は、フィールドネットワーク21から受信したパケットに格納されているデータを送受信バッファ142に書込む。送受信コントローラ141は、送受信バッファ142に書込まれた受信パケットを順次読出すとともに、当該読出したデータのうち制御装置100での処理に必要なデータのみをプロセッサ103へ出力する。送受信コントローラ141は、プロセッサ103からの指令に従って、フィールド機器400へ送信すべきデータあるいはパケットを送受信バッファ142へ順次書込む。送受信バッファ142に格納されているデータは、フィールドネットワークコントローラ140上をパケットが転送される周期に応じて順次送出される。
タイマ101は、ある精度を有した時間を管理する。具体的には、タイマ101は、送受信コントローラ141からデータの送信などを指示するタイミングの基準となるパルスを発生する。タイマ101としては、リアルタイムクロック、または、所定周期でカウントアップ(インクリメントまたはデクリメント)するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして動作させることができる。
したがって、送受コントローラ141は、このようなタイマ101が管理する時間を基準として、当該制御装置100に対応する制御対象のフィールド機器400に制御指令を送信する「通信手段」の一実施例に相当する。
フィールド機器400は、制御装置100による制御に従って、機械や設備などの制御対象に対する処理を行なう。典型的には、フィールド機器400は、制御対象からのフィールド情報の収集処理や、制御対象への指令信号の出力処理などを行なう。フィールド機器400は、主たるコンポーネントとして、フィールドネットワークコントローラ410と、フィールドネットワーク21上でのデータ転送を管理するための制御ロジック414と、処理部416とを含む。
フィールドネットワークコントローラ410は、フィールド機器400がフィールドネットワーク21を介して制御装置100との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ410は、主たるコンポーネントとして、送受信コントローラ412(図中は、Tx/Rx CTRL412と略す)と、タイマ401とを含む。
送受信コントローラ412は、フィールドネットワーク21上を転送される通信フレームに対するデータ書込みおよびデータ読出しを行なう。
タイマ401は、送受信コントローラ412に対する指令出力やフィールド機器400での処理実行などのタイミングの基準となるクロックを発生する。タイマ401としては、リアルタイムクロックまたはフリーランカウンタが用いられる。タイマ401は、タイマ101をマスタとして、タイマ101と時刻同期される。
処理部416は、制御対象に対する処理を行なう。例えば、制御対象がサーボモータである場合、処理部416は、制御装置100からの指令に基づいてサーボモータに対するコマンドを生成し、生成したコマンドに従ってサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部416は、当該エンコーダから、サーボモータの位置(回転角度)、回転速度、累積回転数などのフィールド情報を収集する。
<C.移動機構300のハードウェア構成例>
次に、本実施の形態にかかる移動システム10が備える移動機構300のハードウェア構成について説明する。
次に、本実施の形態にかかる移動システム10が備える移動機構300のハードウェア構成について説明する。
図3は、本実施の形態にかかる移動システムが備える移動機構のハードウェア構成例を示すブロック図である。図3を参照して、移動機構300は、主たるコンポーネントとして、プロセッサ303と、メモリ304と、ストレージ306と、無線通信インターフェイス320と、有線通信インターフェイス330と、センサ群340と、駆動装置350とを含む。移動機構300が備えるこれらのコンポーネントは、内部バス404を介して互いに通信可能に接続されている。
プロセッサ303は、ストレージ306に格納されている各種のプログラムを読み出して実行することにより、各種処理を実現する。メモリ304は、DRAMやSRAMなどの揮発性記憶装置からなる。ストレージ306には、自律走行を行なうための自律走行プログラム307が格納されている。
無線通信インターフェイス320は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の無線通信インターフェイス320は、制御装置200との間でデータの遣り取りを制御する。
有線通信インターフェイス330は、有線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の有線通信インターフェイス330は、制御装置100との間でデータの遣り取りを制御する。
センサ群340は、移動機構300の現在位置を特定するためのセンサ(例えば、レーザスキャナ、GPS(Global Positioning System)センサなど)、移動機構300の周囲の障害物を検出するためのレーザセンサ、物体との接触を検出する接触センサなどの各種のセンサを含む。
駆動装置350は、車輪360を駆動するための装置であり、モータなどのアクチュエータを含む。
<D.制御装置200およびフィールド機器500のハードウェア構成例>
次に、生産ラインに固定設置された制御装置200およびフィールド機器500のハードウェア構成について説明する。
次に、生産ラインに固定設置された制御装置200およびフィールド機器500のハードウェア構成について説明する。
図4は、本実施の形態にかかる生産ラインに固定設置された制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。制御装置200は、典型的には、PLCをベースとして構成されてもよい。制御装置200は、フィールドネットワーク22のデータ伝送を管理するマスタとして動作し得る。フィールド機器500は、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして動作し得る。
図4を参照して、制御装置200は、主たるコンポーネントとして、プロセッサ203と、メモリ204と、ストレージ205と、無線通信インターフェイス220と、メモリカードインターフェイス228と、上位ネットワークコントローラ230と、フィールドネットワークコントローラ240とを含む。制御装置200が備えるこれらのコンポーネントは、内部バス202を介して互いに通信可能に接続されている。
メモリ204とストレージ205は、それぞれ、図2のメモリ104およびストレージ105と同様の記憶媒体を備えるので、説明は繰り返さない。
ストレージ205は、図2に示したストレージ105と同様のプログラムおよびデータを格納する。具体的には、ストレージ205は、OSを含むシステムプログラム206と、制御システム1または制御対象などに応じて設計されるアプリケーションプログラムを格納する。プロセッサ203は、システムプログラム206の制御のもとで、アプリケーションプログラムを実行する。
アプリケーションプログラムは、スケジューラ207、ユーザプログラム208、タイマ同期プログラム209、システム同期プログラム212などを含む。ストレージ205は、さらに、プライオリティ213、マスタ識別子214およびコンフィグ情報215を格納する。プライオリティ213は、制御装置200が有するタイマ201の時間の精度を示す情報である。マスタ識別子214は、制御装置200が接続されるネットワーク構成におけるグランドマスタであるタイマを有した制御装置を識別する情報である。コンフィグ情報215は、制御装置100が接続されるネットワーク構成を示す情報であって、例えば、当該ネットワーク構成に接続される制御装置の識別子を含む制御装置に関する情報、フィールド機器の情報などを含む。
ユーザプログラム208は、上述したIOリフレッシュ処理のためのIOリフレッシュプログラム411、制御演算処理のための制御演算プログラム412およびモーションプログラム413および他の処理のための他のプログラム414を含む。
制御演算プログラム412は、例えばワークを搬送するコンベアまたはステージの動きを制御する制御指令を出力する例えばラダープログラムなどを含む。
モーションプログラム413は、制御対象であるロボットの挙動を演算するためのロボットプログラムなどを含む。ロボットが備えるアームは、仮想的な軸が対応付けられ、各軸の位置からロボットの位置および姿勢などの挙動が決まる。具体的には、モーションプログラム413は、ロボットの挙動が目標となる挙動(以下、目標挙動ともいう)を示すように、時系列に変化する目標位置に従い、各アームの移動の速度および軌道を指示する制御指令を出力する。
他のプログラム414は、他のプログラム404と同様の処理を実施するので、説明は繰り返さない。
タイマ同期プログラム209は、上記に述べたタイマ同期処理を実現するための命令コードを含む。具体的には、タイマ同期プログラム209は、制御装置100が接続されるネットワーク構成からグランドマスタのタイマを選択する際にアナウンスメッセージを通信するためのメッセージプログラム210、プライオリティ213を一時的に変更(書換)するプライオリティ変更プログラム211および制御システム1の装置間で時刻同期の処理を実施するためのシステム同期プログラム212を含む。
無線通信インターフェイス220は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の無線通信インターフェイス220は、移動システム10に含まれる制御装置100または移動機構300との間でデータの遣り取りを制御する。
メモリカードインターフェイス228は、メモリカード229を着脱可能に構成されており、メモリカード229に対してデータを書込み、メモリカード229から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。メモリカード229は小型の記憶媒体であって、例えばフラッシュメモリなどを含み、具体的には、SDカードなどを含む。
上位ネットワークコントローラ230は、制御装置200がネットワーク22を介して他の制御装置との間でデータを遣り取りするためのインターフェイスを提供する。ネットワーク23のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。
フィールドネットワークコントローラ240は、制御装置200がフィールドネットワーク22を介してフィールド機器500との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワーク22のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。
フィールドネットワークコントローラ240は、図2に示すフィールドネットワークコントローラ140と同様に、主たるコンポーネントとして、送受信コントローラ241(図中は、Tx/Rx CTRL241と略す)と、送受信バッファ242(図中は、Tx/Rxバッファ242と略す)と、ある精度を有した時間を管理するタイマ201とを含む。これらのコンポーネントの機能は、図2に示すフィールドネットワークコントローラ140の対応するコンポーネントの機能と同様であるので、詳細な説明は繰返さない。
したがって、送受コントローラ241は、このようなタイマ201が管理する時間を基準として、当該制御装置200に対応する制御対象のフィールド機器500に制御指令を送信する「通信手段」の一実施例に相当する。
フィールド機器500は、制御装置200による制御に従って、機械や設備などの制御対象に対する処理を行なう。典型的には、フィールド機器500は、制御対象からのフィールド情報の収集処理や、制御対象への指令信号の出力処理などを行なう。
フィールド機器500は、主たるコンポーネントとして、フィールドネットワークコントローラ510と、フィールドネットワーク22上でのデータ転送を管理するための制御ロジック514と、処理部516とを含む。フィールドネットワークコントローラ510は、主たるコンポーネントとして、送受信コントローラ512(図中は、Tx/Rx CTRL512と略す)と、タイマ501とを含む。タイマ501は、タイマ201をマスタとして、タイマ201と時刻同期される。これらのコンポーネントの機能は、図2に示すフィールド機器400の対応するコンポーネントの機能と同様であるので、詳細な説明は繰返さない。
<E.処理モジュール構成>
図5は、本発明の実施の形態にかかる処理モジュールの構成の一例を模式的に示す図である。図5では、主に、タイマ同期処理に関するモジュールと、それに関連するモジュールとデータが示されている。図示されるモジュールは、図2の制御装置100および図4の制御装置200が有するプロセッサ103またはプロセッサ203がプログラムが実行されることにより提供されるモジュールを含む。
図5は、本発明の実施の形態にかかる処理モジュールの構成の一例を模式的に示す図である。図5では、主に、タイマ同期処理に関するモジュールと、それに関連するモジュールとデータが示されている。図示されるモジュールは、図2の制御装置100および図4の制御装置200が有するプロセッサ103またはプロセッサ203がプログラムが実行されることにより提供されるモジュールを含む。
図5を参照して、移動システム10の制御装置100は、タイマ同期プログラム109に対応のタイマ同期部151、システム同期プログラム112に対応のシステム同期部154を含む。タイマ同期部151は、「タイマ同期手段」の一実施例であって、メッセージプログラム110に対応するメッセージ通信部152およびプライオリティ変更プログラム111に対応するプライオリティ変更部153を含む。メッセージ通信部152は、後述するアナウンスメッセージ370を通信する。また、プライオリティ変更部153は、プライオリティ113を一時的に変更する。アナウンスメッセージ370は、アナウンスメッセージ370の送信元の制御装置のプライオリティ113と、コンフィグ情報115中の送信元の制御装置の識別子を含む。
制御装置200は、タイマ同期プログラム209に対応のタイマ同期部251、システム同期プログラム212に対応のシステム同期部254を含む。タイマ同期部251は、「タイマ同期手段」の一実施例であって、メッセージプログラム210に対応するメッセージ通信部252およびプライオリティ変更プログラム211に対応するプライオリティ変更部253を含む。メッセージ通信部252は、後述するアナウンスメッセージ380を通信する。また、プライオリティ変更部253は、プライオリティ213を一時的に変更する。
アナウンスメッセージ380は、アナウンスメッセージ380の送信元の制御装置のプライオリティ213と、コンフィグ情報215中の送信元の制御装置の識別子を含む。
<F.タイマ同期処理を適用するシーン>
本実施の形態では、生産ラインのネットワーク構成に接続される1つ以上の制御装置は、作業支援系と作業継続系に分類され得る。作業継続系は、自装置が接続されるネットワーク構成が変更される場合でも作業を止めないために稼働し続ける系(制御装置)を示す。ここで、「稼働」とは、制御装置がタイマの時刻に同期した制御周期で、リフレッシュ処理、制御演算処理およびモーション処理を実施して、対象のフィールド機器を制御する状態を意味する。また、作業支援系は、作業を実施可能なように稼働中の作業継続系を支援するために作業継続系と連携して稼働する系(制御装置)を示す。
本実施の形態では、生産ラインのネットワーク構成に接続される1つ以上の制御装置は、作業支援系と作業継続系に分類され得る。作業継続系は、自装置が接続されるネットワーク構成が変更される場合でも作業を止めないために稼働し続ける系(制御装置)を示す。ここで、「稼働」とは、制御装置がタイマの時刻に同期した制御周期で、リフレッシュ処理、制御演算処理およびモーション処理を実施して、対象のフィールド機器を制御する状態を意味する。また、作業支援系は、作業を実施可能なように稼働中の作業継続系を支援するために作業継続系と連携して稼働する系(制御装置)を示す。
制御装置において、自装置が作業支援系か作業継続系かを識別するための方法として、例えば、制御装置は、自装置が作業支援系および作業継続系のいずれであるかを定義する変数を有し、制御装置は当該変数を参照することによって、自装置が作業支援系および作業継続系のいずれであるかを自律的に検出する。ユーザは、ユーザプログラム108(208)の設計時に当該変数を定義することができる。
または、制御装置の状態としてProgramモード(ユーザプログラム108(208)を実行していない状態)とRunモード(ユーザプログラム108(208)を実行している状態)を有し、時刻同期を実施する際に、制御装置は、自装置がProgramモードであるときは自装置は作業支援系であると検出し、Runモードであるときは自装置は作業継続系であると検出する。
このように作業継続系のネットワーク構成に作業支援系が接続される場合に、作業継続系のタイマを、いきなり作業支援系のより精度の高いタイマに同期させると、例えば作業継続系のモーションプログラム413によって実施されるロボットの挙動に影響を与える可能性がある。すなわち、タイマの時刻に同期した制御周期で、上記に述べた時系列に変化する目標位置に従い目標挙動を算出するので、タイマ時刻が大きく変動すると、本来の制御周期で算出されるロボットの挙動が目標挙動から大きくずれる可能性がある。そこで、本実施の形態では、ネットワーク構成が変更される場合に、このような支障を回避できるようにタイマ同期処理が実施される。
図6は、本発明の実施の形態にかかるタイマ同期処理が適用されるシーンを模式的に示す図である。図6の(A)のシーンでは、移動システム10Aが作業継続系に移動して、作業継続系のネットワーク構成に、制御装置100Aが作業支援系として接続されることで、当該ネットワーク構成が変更される。作業支援系の制御装置は、作業継続系のネットワーク構成に接続されるときに、すなわち当該ネットワーク構成が変更されるときに、作業(稼働)を一旦停止(中断)する。このようにネットワーク構成が変更される場合、まず、変更後のネットワーク構成において、タイマ同期処理を実施するべきか否かが判定される。具体的には、変更後のネットワーク構成において、ベストの精度を有したタイマが作業継続系に備えられていないと判定されると、タイマ同期処理が実施される。
図6の(A)では、例えば制御装置100Aのタイマ101Aのプライオリティ113と、作業継続系の制御装置200A,200Bのタイマ201A,201Bのプライオリティ213との関係は、(プライオリティ113>プライオリティ213)であり、プライオリティ113の優先度の方が高い。したがって、以下のタイマ同期処理が実施される。
図6の(A)の変更後のネットワーク構成において、ベストの精度を有したベストタイマとして作業支援系のタイマ101Aが選択される。
その後、図6の(B)に示されるように、作業継続系のタイマのうちベストの精度を有したタイマ(図6の(B)ではタイマ201A)が一時的にグランドマスタとしての機能を担い、作業支援系のベストなタイマ101Aは、作業継続系の一時的なグランドマスタ(タイマ201A)に時刻同期する。
図6の(B)で時刻同期が完了すると、その後、図6の(C)に示されるように、グランドマスタを作業支援系のタイマ101Aに切り換える。すなわち、作業継続系のベストのタイマ201Aは、作業支援系のタイマ101Aの時刻に同期する。
図6のタイマ同期処理によれば、ネットワーク構成が変更された場合に、上記に述べたタイマ同期処理が実施されることで、作業継続系のタイマを作業支援系のより精度の高いタイマの時刻に段階的に同期させることができる。これにより、上記のモーション制御に支障を生じることなく作業を継続させながら、作業継続系のタイマを作業支援系のグランドマスタ(タイマ101A)に時刻同期させることができる。
<G.フローチャート>
図7は、本発明の実施の形態にかかるタイマ同期処理のフローチャートの一例を示す図である。図6のネットワーク構成が変更されるケースにおける処理の一例を示す。図7では、作業支援系がベストのタイマを備えるかの判断処理(ステップS1(ステップS10〜S13))、ベストのタイマを作業継続系側に設定して時刻同期する処理(ステップS2(ステップS21〜S25))およびベストのタイマを作業支援系側に設定して時刻同期する処理(ステップS3(ステップS31〜S34))が実施される。なお、図7の処理は繰り返し実行される。
図7は、本発明の実施の形態にかかるタイマ同期処理のフローチャートの一例を示す図である。図6のネットワーク構成が変更されるケースにおける処理の一例を示す。図7では、作業支援系がベストのタイマを備えるかの判断処理(ステップS1(ステップS10〜S13))、ベストのタイマを作業継続系側に設定して時刻同期する処理(ステップS2(ステップS21〜S25))およびベストのタイマを作業支援系側に設定して時刻同期する処理(ステップS3(ステップS31〜S34))が実施される。なお、図7の処理は繰り返し実行される。
まず、ステップS1では、作業支援系が作業継続系のネットワーク構成に接続される場合、作業支援系の移動システム10Aは、メッセージ通信部152がアナウンスメッセージ370を送信しながら、作業継続系に移動する。アナウンスメッセージ370は、送信元の制御装置100を識別する識別情報とプライオリティ113を含む。タイマ同期部151は、制御装置100の識別情報を、コンフィグ情報115から抽出する。作業継続系の制御装置200のメッセージ通信部215は、アナウンスメッセージ370を受信すると、制御装置100と制御装置200の間で通信リンクを確立する通信手順を実行する。
また、制御装置200のタイマ同期部251は、受信するアナウンスメッセージ370の制御装置100の識別情報をコンフィグ情報215と照合し、照合の結果に基づき、制御装置100は生産ライン2Aのネットワーク構成に未登録であると判断する。これにより、タイマ同期部215は、ネットワーク構成の変更があること、すなわちネットワーク構成に制御装置100が追加されることを検出できる。なお、ネットワーク構成が変更されるか否かの検出方法は、これに限定されない。
ネットワーク構成の変更が検出される場合、作業支援系の制御装置100のメッセージ通信部152はアナウンスメッセージ370を送信し(ステップS10)、また、作業継続系の制御装置200(例えば、制御装置200A)のメッセージ通信部252は、アナウンスメッセージ380を送信する(ステップS11)。アナウンスメッセージ380は、送信元の制御装置200を識別する識別情報とプライオリティ213を含む。タイマ同期部251は、制御装置200の識別情報を、コンフィグ情報215から抽出する。
タイマ同期部151は、受信するアナウンスメッセージ380のプライオリティ213を自装置のプライオリティ113と比較し、比較の結果に基づき、変更後のネットワーク構成において、自装置のタイマ(図7では自タイマと略す)であるタイマ101Aの他にベストのタイマがあるか否かを判定する(ステップS12)。具体的には、タイマ同期部151は、(プライオリティ113<プライオリティ213)の条件が満たされると判定すると、すなわちプライオリティ213の優先度の方が高いと判定すると、タイマ101Aの他にベストのタイマ(作業継続系のタイマ201A)があることを検出し(ステップS12でYES)、ステップS24に移行する。
一方、タイマ同期部151は、(プライオリティ113<プライオリティ213)の条件を満たされないと判定すると、すなわち(プライオリティ113≧プライオリティ213)であってプライオリティ113の優先度の方が高いと判定すると、タイマ101Aの他にベストのタイマがないことを検出し(ステップS12でNO)、ステップS21に移行する。
また、タイマ同期部251は、受信するアナウンスメッセージ370のプライオリティ113を自装置のプライオリティ213と比較し、比較の結果に基づき、変更後のネットワーク構成において、タイマ201Aの他にベストのタイマがあるか否かを判定する(ステップS13)。具体的には、タイマ同期部251は、(プライオリティ213>プライオリティ113)の条件が満たされると判定すると、すなわちプライオリティ213の優先度の方が高いと判定すると、タイマ201Aの他にベストのタイマがないことを検出し(ステップS13でNO)、ステップS25に移行する。
一方、タイマ同期部251は、(プライオリティ213>プライオリティ113)の条件が満たされると判定すると、すなわちプライオリティ213の優先度の方が高いと判定すると、タイマ201Aの他にベストのタイマがないことを検出し(ステップS13でYES)、ステップS23に移行する。
ステップS2の時刻同期処理を説明する。具体的には、ステップS24とステップS25では、タイマ同期部151はタイマ101Aをスレーブに設定するとともに、タイマ同期部251はタイマ201Aをマスタに設定し、スレーブのタイマ101Aはマスタのタイマ201Aに時刻同期する(ステップS24、S25)。時刻同期は、タイマ101Aの時間を、タイマ201Aの時間に整合させることを意味する。
また、ステップS21では、作業支援系の制御装置100のタイマ同期部151は、タイマ101Aの時間をタイマ同期部251から受信するタイマ201Aの時間と比較し、比較の結果に基づき両者の差が閾値T以上であるか否かを判定する(ステップS21)。両者の差が閾値T未満と判定されると(ステップS21でNO)、ステップS3に移行する。一方、両者の差が閾値T以上と判定されると(ステップS21でYES)、プライオリティ変更部153は、一時的にプライオリティ113を、作業支援系のベストのタイマ201Aのプライオリティ213よりも低い値となるように変更し(ステップS22)、処理を終了する。その後、ステップS10では、低い値が設定されたプライオリティ113を有するアナウンスメッセージ370を送信することができる。
また、ステップS23では、作業継続系の制御装置200のタイマ同期部251は、タイマ201Aの時間をタイマ同期部151から受信するタイマ101Aの時間と比較し、比較の結果に基づき両者の差が閾値T以上であるか否かを判定する(ステップS23)。両者の差が閾値T以上と判定されると(ステップS23でYES)、処理は終了するが、両者の差が閾値T未満と判定されると(ステップS23でNO)、ステップS3に移行する。
ステップS3の時刻同期処理を説明する。タイマ同期部151は、ステップS2での時刻同期処理(ステップS24、S25)が終了したか否かを判定する(ステップS31)。具体的には、タイマ同期部151は、タイマ101Aの時間とタイマ201Aの時間との差が閾値T以下であるかを判定し(ステップS31)、当該差が閾値Tよりも大きいと判定したとき(ステップS31でNO)、処理は終了する。
タイマ同期部151は、タイマ101Aの時間とタイマ201Aの時間との差が閾値T以下であると判定すると(ステップS31でYES)、すなわち時刻同期が終了したことが検出されると、プライオリティ変更部153は、プライオリティ113の値が変更されていた場合は、プライオリティ113に元の値を設定し(ステップS32)、その後、処理は終了する。これにより、時刻早期が終了すると、ステップS22で一時的に値が変更されていたプライオリティ113は、元の値に戻される。
ベストのタイマ101Aと他のタイマ201Aの時間の差が閾値T未満であると判定された場合(ステップS21でNO、ステップS23でNO)、タイマ101Aをタイマ201Aに時刻同期させる処理(ステップS24、S25)はスキップされて(実施されず)、タイマ201Aをベストのタイマ101Aに時刻同期させる(ステップS33、S34)。具体的には、タイマ同期部151はタイマ101Aをマスタに設定するとともに、タイマ同期部251はタイマ201Aをスレーブに設定し、スレーブのタイマ201Aはマスタのタイマ101Aに時刻同期する(ステップS33、S34)。その後、処理は終了する。
図7では、作業継続系と作業支援系との間でアナウンスメッセージ370,380を遣り取りすることによって、両者の間で通信のリンクが確立したときに、制御装置100,200はネットワーク構成の変更が検出されたことを自律的に検出する。なお、ネットワーク構成の変更の検出方法は、自律的に検出する方法に限定されず、他の装置からの命令に基づきネットワーク構成の変更が検出されてもよい。
(g1.フローチャートの変形例)
図8は、図7のフローチャートの変形例を示す図である。図8では、図7のステップS21とS22の処理が省略されているが、他の処理は図7と同様でありので説明は繰り返さない。
図8は、図7のフローチャートの変形例を示す図である。図8では、図7のステップS21とS22の処理が省略されているが、他の処理は図7と同様でありので説明は繰り返さない。
図7ではアナウンスメッセージ370,380を通信して通信リンクを確立することで、制御装置100と制御装置200は、それぞれ、ネットワーク構成が変更されたことを検出した。これに対して、図8では、作業支援系の制御装置100および作業継続系の制御装置200は、それぞれ、例えば管理装置190などの外部からネットワーク構成の変更命令を受信する。この変更命令は、タイマ101Aのプライオリティ113を下げる命令を含む。
移動システム10Aの制御装置100が上記の変更命令を受信すると、受信した変更命令に従い移動システム10Aが作業継続系に移動し、移動する過程において、プライオリティ変更部153は、プライオリティ113を所定値に下げる。所定値は、プライオリティ213よりも低い値を示す。その後は、ステップS1の処理が実施される。
このように、移動システム10Aが作業継続系に移動する過程において、プライオリティ変更部153は、プライオリティ113を所定値に下げる場合には、図7のステップS21とS22の処理を省略することができる。
図7または図8のタイマ同期処理によれば、作業継続系のタイマ201Aの時刻を、ネネットワーク構成が変更された場合の最も高い精度のタイマ101A(グランドマスタ)の時刻に同期させる場合に、多段階で時刻同期を実施することができる。具体的には、ステップS24とS25で、作業継続系のタイマ201Aをグランドマスタに一時的に設定して制御システム1全体の時刻を当該一時的グランドマスタの時刻に同期させる(第1段階の時刻同期)。その後に、ステップS33とS34で、最も高い精度を有した作業支援系のタイマ101Aをグランドマスタとして、制御システム1のタイマを、当該高精度のグランドマスタに時刻同期させている(第2段階の時刻同期)。
したがって、ネットワーク構成が変更される前のタイマの時刻と、ネットワーク構成が変更後に選択された新たなグランドマスタの時刻との差が大きいとしても、このような多段階の時刻同期を経ることで、作業継続系におけるフィールド機器に対する制御に上記に述べた支障を及ぼすこと無く、制御システム1のタイマを、新たなグランドマスタに時刻同期させることができる。
(g2.タイマ時刻同期の方法)
ステップS24とS25の時刻同期の処理では、時刻同期は徐々に実施されてもよい。具体的には、タイマ同期部151は、一時的にグランドマスタに設定されたタイマ201Aからの時間情報とタイマ101Aの時間情報とから、同期のずれ量、すなわちグランドマスタとタイマ101Aとの時差を算出し、算出された差をN(N≧2)個の値に分割し、分割された値Di(i=1,2,3,…N)の各値Diを周期的にタイマ101Aの値に累積的に加算または減算(インクリメントまたはデクリメント)してもよい。これにより、加算がN回繰返されて、タイマ101Aの値を、徐々に(滑らかに)変化させることができる。なお、Nの値または値Diは可変であってよい。例えば、Nの値または値Diは、差の大きさに基づき可変であってよい。
ステップS24とS25の時刻同期の処理では、時刻同期は徐々に実施されてもよい。具体的には、タイマ同期部151は、一時的にグランドマスタに設定されたタイマ201Aからの時間情報とタイマ101Aの時間情報とから、同期のずれ量、すなわちグランドマスタとタイマ101Aとの時差を算出し、算出された差をN(N≧2)個の値に分割し、分割された値Di(i=1,2,3,…N)の各値Diを周期的にタイマ101Aの値に累積的に加算または減算(インクリメントまたはデクリメント)してもよい。これにより、加算がN回繰返されて、タイマ101Aの値を、徐々に(滑らかに)変化させることができる。なお、Nの値または値Diは可変であってよい。例えば、Nの値または値Diは、差の大きさに基づき可変であってよい。
同様に、ステップS33とS34の時刻同期の処理でも、時刻同期は徐々に実施されてもよい。具体的には、タイマ同期部251は、グランドマスタに設定されたタイマ101Aからの時間情報とタイマ201Aの時間情報とから、グランドマスタとタイマ201Aとの時差を算出し、算出された差をN(N≧2)個の値に分割し、分割された値Di(i=1,2,3,…N)を時刻合わせにタイマ201Aの時間を更新するための調整量として用いる。すなわち、各値Diを周期的にタイマ201Aの値に累積的に加算または減算(インクリメントまたはデクリメント)して、徐々に時刻同期させてもよい。これにより、加算がN回繰返されて、タイマ201Aの値を、徐々に(滑らかに)変化させることができる。
この時刻同期のための周期は、制御周期に同期してもよい。この場合には、N回の制御周期をかけて作業継続系のタイマ201Aをグランドマスタに徐々に時刻同期させることができる。
このようなN回の制御周期にわたる時刻同期は、上記に述べた多段階の時刻同期と組み合わせて実施してもよい。
<H.システム同期処理>
上記のようにタイマ同期処理が実施されると、制御システム1の各装置が備えるタイマを、グランドマスタに時刻同期させるためにシステム同期処理が実施される。
上記のようにタイマ同期処理が実施されると、制御システム1の各装置が備えるタイマを、グランドマスタに時刻同期させるためにシステム同期処理が実施される。
具体的には、制御装置100のシステム同期部154は、マスタ識別子114に基づき自身の制御装置のタイマ101がグランドマスタに設定されたか否かを判定する。また、制御システム1の制御装置200のシステム同期部254は、マスタ識別子214に基づき自身の制御装置のタイマ201がグランドマスタに設定されたか否かを判定する。例えば制御装置100のタイマ101Aがグランドマスタに設定されたと判定される場合、システム同期部154は、他の制御装置200およびフィールド機器401Aとの間で時刻同期をとるために、タイマ101Aを基準として、他の制御装置200およびフィールド機器401Aのタイマを調整する処理などを実施する。あるいは、他の制御装置200のタイマ201Aがグランドマスタに設定された場合、システム同期部254は、タイマ201Aを基準として他の制御装置100のタイマ101Aおよびフィールド機器500Aのタイマ501Aを調整する処理を実施する。
さらに、制御装置200は、作業継続系の他の制御装置(例えば、制御装置200B)のタイマと、そのフィールド機器(例えば、フィールド機器500B)のタイマとを、タイマ201Aに時刻同期させる。
<I.ネットワーク構成の変更の他の例>
図9と図10は、それぞれ、本実施の形態にかかるネットワーク構成の変更の他の例を模式的に示す図である。図1では、移動システム10Aの移動に伴い、制御装置100Aも移動したが、図9の(B)では、制御装置100Aは作業継続システムのネットワーク23Aに予め接続されている。ただし、作業継続系において制御装置100Aは稼働していない。図9の(A)の作業支援系の移動システム10Aが作業継続システムに移動する場合には、フィールド機器401Aのみが移動機構300Aにより移動する。
図9と図10は、それぞれ、本実施の形態にかかるネットワーク構成の変更の他の例を模式的に示す図である。図1では、移動システム10Aの移動に伴い、制御装置100Aも移動したが、図9の(B)では、制御装置100Aは作業継続システムのネットワーク23Aに予め接続されている。ただし、作業継続系において制御装置100Aは稼働していない。図9の(A)の作業支援系の移動システム10Aが作業継続システムに移動する場合には、フィールド機器401Aのみが移動機構300Aにより移動する。
移動システム10Aが作業継続系に移動して制御装置100Aに通信可能に接続すると、作業支援系の制御装置100Aが起動する。その後、ステップS1(図7)の処理が実行される。制御装置100Aと制御装置200Aは、それぞれ、ネットワーク構成が変更されたことを検出する。
図10には、搬送ベルト603によって搬送されるワーク232に対して加工を行なう生産ラインに制御システム1を適用した例が示されている。
図10の(A)を参照して、生産ラインでは、制御装置200Aに接続されるフィールド機器200aがワーク232に対する加工を行なった後に、制御装置200Bに接続されるフィールド機器200bがワーク232に対して別の加工を行なう。
製造品の種別変更のため、ワーク232に対して追加の加工が必要になったとする。この場合、当該追加の加工を行なうためのフィールド機器200Dと、当該フィールド機器200Dにフィールドネットワーク22Cを介して接続された制御装置100Aとが生産ラインに導入される(図10の(B))。制御装置100Aが作業継続系のネットワーク23Aに接続されると、その後、ステップS1(図7)の処理が実行される。制御装置100Aと制御装置200Aは、それぞれ、ネットワーク構成が変更されたことを検出する。
上記の実施の形態では、ネットワーク構成の変更の一例として、ネットワーク23Aに制御装置が追加して接続されるケースを説明したが、ネットワーク23Aから制御装置が切り離されるようなネットワーク構成の変更の場合であっても、本実施の形態を適用することができる。具体的には、制御装置が切り離されることにより変更された後のネットワーク23Aに接続された複数の制御装置200は、タイマ同期処理(グランドマスタの検出(選択)と、他のタイマをグランドマスタに時刻同期させる処理)を実施する。これにより、切り離された制御装置のタイマがグランドマスタであったとしても、変更後のネットワーク構成において新たなグランドマスタを用いたタイマ時刻同期処理を実施することができる。
<J.プログラム>
制御装置100のプロセッサ103は、タイマ同期処理のプログラムを実行することにより制御装置100内の各構成要素の制御を行う。ストレージ105は、このようなタイマ同期処理に関するプログラムおよびデータなどを記憶し得る。
制御装置100のプロセッサ103は、タイマ同期処理のプログラムを実行することにより制御装置100内の各構成要素の制御を行う。ストレージ105は、このようなタイマ同期処理に関するプログラムおよびデータなどを記憶し得る。
制御装置200のプロセッサ203は、タイマ同期処理のプログラムを実行することにより制御装置200内の各構成要素の制御を行う。ストレージ205は、このようなタイマ同期処理に関するプログラムおよびデータなどを記憶し得る。
ストレージ105および205は、HDDまたはSSDに限定されない。具体的には、ストレージ105および205は、プロセッサなどのコンピュータを含むその他装置、機械などにより、そこに記録されたプログラムなどの情報を読み取り可能なように、当該プログラムなどの情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
なお、タイマ同期処理に関するプログラムまたはデータは、ネットワーク23A,23Bを含む各種通信回線を介して、または、メモリカード129,229を介してストレージ105,205にダウンロードされるとしてもよい。
<K.利点>
本実施の形態によれば、制御システム1のネットワーク構成が変更される場合、変更後のネットワーク構成が備えるタイマのうちからグランドマスタが検出(選択)されて、ネットワーク構成に備えられる全てのタイマは当該グランドマスタに時刻同期する。これにより、ネットワーク構成が変更されるとしても、常に、当該ネットワーク構成のタイマを時間精度の最も高いタイマ(グランドマスタ)に時刻同期させることができる。
本実施の形態によれば、制御システム1のネットワーク構成が変更される場合、変更後のネットワーク構成が備えるタイマのうちからグランドマスタが検出(選択)されて、ネットワーク構成に備えられる全てのタイマは当該グランドマスタに時刻同期する。これにより、ネットワーク構成が変更されるとしても、常に、当該ネットワーク構成のタイマを時間精度の最も高いタイマ(グランドマスタ)に時刻同期させることができる。
また、本実施の形態では、制御システム1が適用される生産ラインが稼働中に、上記のネットワーク構成の変更があるとしても、稼働を継続しながら、すなわち生産ラインにおいて動的に上記のグランドマスタの検出と時刻同期とを実施することができる。この場合に、上記の多段階の時刻同期が実施されることで、稼働中の生産ラインの制御に支障を与えることなく、生産ラインの動的(稼働を継続しながら)な段取り替え(組み替え)を実施することができる。
<L.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
それぞれが対象を制御する1つ以上の制御装置(100,200)がネットワーク(23A)に通信可能に接続されるネットワーク構成を備え、
各前記1つ以上の制御装置は、
精度(113,213)を有した時間を管理するタイマ(101、201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する前記対象に制御指令を送信する通信手段(141,241)と、
前記ネットワーク構成が変更される場合に、変更後の前記ネットワーク構成が有する前記各制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段(151,251)を有する、制御システム(1)。
[構成2]
前記ネットワーク構成に接続可能な制御装置は、稼働中の第1の制御装置(200)と、前記第1の制御装置とは異なる第2の制御装置(100)と、を有し、
前記ネットワーク構成の変更は、
稼働中の前記第1の制御装置が接続される前記ネットワーク構成に、前記第2の制御装置が追加されることを含む、構成1に記載の制御システム。
[構成3]
前記各制御装置は、
自装置が有する前記タイマの精度を有するメッセージ(370,380)を互いに通信するメッセージ通信手段(152,252)を、さらに有し、
前記タイマ同期手段は、
他の制御装置から受信する前記メッセージが有する前記精度と、自装置の前記タイマが有する精度とを比較し、比較の結果に基づき前記時間の精度が高いタイマを選択する、構成2に記載の制御システム。
[構成4]
前記タイマ同期手段は、
前記時間の精度が高いタイマが前記第2の制御装置に備えられる場合、前記第2の制御装置のタイマを前記第1の制御装置のタイマに時刻同期させ、その後、前記第1の制御装置のタイマを前記第2の制御装置のタイマに時刻同期させる(S22,S35)、構成3に記載の制御システム。
[構成5]
前記制御装置は、さらに、
前記ネットワーク構成に接続されている制御装置の識別子を含むネットワーク構成情報(115,215)を記憶する記憶手段を有し、
前記第1の制御装置は、
前記第2の制御装置の識別子を前記ネットワーク構成情報と照合し、照合結果に基づき前記ネットワーク構成に前記第2の制御装置が追加されることを検出する、構成2から4のいずれか1に記載の制御システム。
[構成6]
前記第2の制御装置は、前記ネットワーク構成に追加されると、稼働中の前記第1の制御装置と連携して稼働する制御装置を含み、
各前記制御装置は、自装置が前記第1の制御装置および前記第2の制御装置のいずれであるかを検出する、構成2から5のいずれか1に記載の制御システム。
[構成7]
前記タイマ同期手段は、
前記他のタイマの時間を所定の調整量で更新する処理をN回(ただし、N≧2)繰り返し、
前記所定の調整量は、前記他のタイマと前記時間の精度が高いタイマとの間の時間のずれの大きさをN個に分割した各調整量を含む、構成1から6のいずれか1に記載の制御システム。
[構成8]
対象を制御する制御装置(100、200)であって、
複数の前記制御装置を通信可能に接続するネットワーク(23a)と通信する手段と、
精度(113,213)を有した時間を管理するタイマ(101,201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段(141,241)と、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段(151,251)を有する、制御装置(100,200)。
[構成9]
対象を制御する制御装置(100,200)に時刻同期させる方法をコンピュータに実行させるためのプログラムであって、
前記制御装置は、
複数の前記制御装置を通信可能に接続するネットワークと通信する手段(230)と、
精度(113,213)を有した時間を管理するタイマ(101,201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段(141,241)と、を備え、
前記方法は、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマを検出するステップと(S12,S13)、
前記時間の精度が高いタイマに前記他のタイマを時刻同期させるステップ(S22,S23,S35,S36)と、を備える。
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
それぞれが対象を制御する1つ以上の制御装置(100,200)がネットワーク(23A)に通信可能に接続されるネットワーク構成を備え、
各前記1つ以上の制御装置は、
精度(113,213)を有した時間を管理するタイマ(101、201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する前記対象に制御指令を送信する通信手段(141,241)と、
前記ネットワーク構成が変更される場合に、変更後の前記ネットワーク構成が有する前記各制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段(151,251)を有する、制御システム(1)。
[構成2]
前記ネットワーク構成に接続可能な制御装置は、稼働中の第1の制御装置(200)と、前記第1の制御装置とは異なる第2の制御装置(100)と、を有し、
前記ネットワーク構成の変更は、
稼働中の前記第1の制御装置が接続される前記ネットワーク構成に、前記第2の制御装置が追加されることを含む、構成1に記載の制御システム。
[構成3]
前記各制御装置は、
自装置が有する前記タイマの精度を有するメッセージ(370,380)を互いに通信するメッセージ通信手段(152,252)を、さらに有し、
前記タイマ同期手段は、
他の制御装置から受信する前記メッセージが有する前記精度と、自装置の前記タイマが有する精度とを比較し、比較の結果に基づき前記時間の精度が高いタイマを選択する、構成2に記載の制御システム。
[構成4]
前記タイマ同期手段は、
前記時間の精度が高いタイマが前記第2の制御装置に備えられる場合、前記第2の制御装置のタイマを前記第1の制御装置のタイマに時刻同期させ、その後、前記第1の制御装置のタイマを前記第2の制御装置のタイマに時刻同期させる(S22,S35)、構成3に記載の制御システム。
[構成5]
前記制御装置は、さらに、
前記ネットワーク構成に接続されている制御装置の識別子を含むネットワーク構成情報(115,215)を記憶する記憶手段を有し、
前記第1の制御装置は、
前記第2の制御装置の識別子を前記ネットワーク構成情報と照合し、照合結果に基づき前記ネットワーク構成に前記第2の制御装置が追加されることを検出する、構成2から4のいずれか1に記載の制御システム。
[構成6]
前記第2の制御装置は、前記ネットワーク構成に追加されると、稼働中の前記第1の制御装置と連携して稼働する制御装置を含み、
各前記制御装置は、自装置が前記第1の制御装置および前記第2の制御装置のいずれであるかを検出する、構成2から5のいずれか1に記載の制御システム。
[構成7]
前記タイマ同期手段は、
前記他のタイマの時間を所定の調整量で更新する処理をN回(ただし、N≧2)繰り返し、
前記所定の調整量は、前記他のタイマと前記時間の精度が高いタイマとの間の時間のずれの大きさをN個に分割した各調整量を含む、構成1から6のいずれか1に記載の制御システム。
[構成8]
対象を制御する制御装置(100、200)であって、
複数の前記制御装置を通信可能に接続するネットワーク(23a)と通信する手段と、
精度(113,213)を有した時間を管理するタイマ(101,201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段(141,241)と、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段(151,251)を有する、制御装置(100,200)。
[構成9]
対象を制御する制御装置(100,200)に時刻同期させる方法をコンピュータに実行させるためのプログラムであって、
前記制御装置は、
複数の前記制御装置を通信可能に接続するネットワークと通信する手段(230)と、
精度(113,213)を有した時間を管理するタイマ(101,201)と、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段(141,241)と、を備え、
前記方法は、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマを検出するステップと(S12,S13)、
前記時間の精度が高いタイマに前記他のタイマを時刻同期させるステップ(S22,S23,S35,S36)と、を備える。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2A,2B 生産ライン、10,10A 移動システム、21,21A,22,22A,22C フィールドネットワーク、23,23A,23B ネットワーク、100,100A,200,200A,200B,200C,200D 制御装置、101,101A,201,201A,201B,401,501,501A,501B タイマ、103,203,303 プロセッサ、104,204,304 メモリ、105,205,306 ストレージ、109,209 タイマ同期プログラム、110,210 メッセージプログラム、111,211 プライオリティ変更プログラム、112,212 システム同期プログラム、113,213 プライオリティ、114,214 マスタ識別子、115,215 コンフィグ情報、151,251 タイマ同期部、152,252 メッセージ通信部、153,253 プライオリティ変更部、154,254 システム同期部、190,190A,190B 管理装置、200a,200b,200d,400,400A,401A,500,500A,500B,500C フィールド機器、230 上位ネットワークコントローラ、300,300A 移動機構、370,380 アナウンスメッセージ、421,411 IOリフレッシュプログラム、402,412 制御演算プログラム、403,413 モーションプログラム、404,414 他のプログラム。
Claims (9)
- それぞれが対象を制御する1つ以上の制御装置がネットワークに通信可能に接続されるネットワーク構成を備え、
各前記1つ以上の制御装置は、
精度を有した時間を管理するタイマと、
前記タイマが管理する時間を基準として、当該制御装置に対応する前記対象に制御指令を送信する通信手段と、
前記ネットワーク構成が変更される場合に、変更後の前記ネットワーク構成が有する前記各制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段を有する、制御システム。 - 前記ネットワーク構成に接続可能な制御装置は、稼働中の第1の制御装置と、前記第1の制御装置とは異なる第2の制御装置と、を有し、
前記ネットワーク構成の変更は、
稼働中の前記第1の制御装置が接続される前記ネットワーク構成に、前記第2の制御装置が追加されることを含む、請求項1に記載の制御システム。 - 前記各制御装置は、
自装置が有する前記タイマの精度を有するメッセージを互いに通信するメッセージ通信手段を、さらに有し、
前記タイマ同期手段は、
他の制御装置から受信する前記メッセージが有する前記精度と、自装置の前記タイマが有する精度とを比較し、比較の結果に基づき前記時間の精度が高いタイマを選択する、請求項2に記載の制御システム。 - 前記タイマ同期手段は、
前記時間の精度が高いタイマが前記第2の制御装置に備えられる場合、前記第2の制御装置のタイマを前記第1の制御装置のタイマに時刻同期させ、その後、前記第1の制御装置のタイマを前記第2の制御装置のタイマに時刻同期させる、請求項3に記載の制御システム。 - 前記制御装置は、さらに、
前記ネットワーク構成に接続されている制御装置の識別子を含むネットワーク構成情報を記憶する記憶手段を有し、
前記第1の制御装置は、
前記第2の制御装置の識別子を前記ネットワーク構成情報と照合し、照合結果に基づき前記ネットワーク構成に前記第2の制御装置が追加されることを検出する、請求項2から4のいずれか1項に記載の制御システム。 - 前記第2の制御装置は、前記ネットワーク構成に追加されると、稼働中の前記第1の制御装置と連携して稼働する制御装置を含み、
各前記制御装置は、自装置が前記第1の制御装置および前記第2の制御装置のいずれであるかを検出する、請求項2から5のいずれか1項に記載の制御システム。 - 前記タイマ同期手段は、
前記他のタイマの時間を所定の調整量で更新する処理を、N回(ただし、N≧2)繰り返し、
前記所定の調整量は、前記他のタイマと前記時間の精度が高いタイマとの間の時間のずれの大きさをN個に分割した各調整量を含む、請求項1から6のいずれか1項に記載の制御システム。 - 対象を制御する制御装置であって、
複数の前記制御装置を通信可能に接続するネットワークと通信する手段と、
精度を有した時間を管理するタイマと、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマに当該他のタイマを時刻同期させるタイマ同期手段を有する、制御装置。 - 対象を制御する制御装置に時刻同期させる方法をコンピュータに実行させるためのプログラムであって、
前記制御装置は、
複数の前記制御装置を通信可能に接続するネットワークと通信する手段と、
精度を有した時間を管理するタイマと、
前記タイマが管理する時間を基準として、当該制御装置に対応する対象に制御指令を送信する通信手段と、を備え、
前記方法は、
前記ネットワークに通信可能に接続される前記制御装置が変更される場合に、変更後の前記ネットワークに接続される各前記複数の制御装置のタイマのうち、他のタイマよりも前記時間の精度が高いタイマを検出するステップと、
前記時間の精度が高いタイマに前記他のタイマを時刻同期させるステップと、を備える、プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019150137A JP7251402B2 (ja) | 2019-08-20 | 2019-08-20 | 制御システム、制御装置およびプログラム |
PCT/JP2020/010384 WO2021033358A1 (ja) | 2019-08-20 | 2020-03-10 | 制御システム、制御装置およびプログラム |
US17/627,688 US20220247632A1 (en) | 2019-08-20 | 2020-03-10 | Control system, control device, and non-transitory computer-readable recording medium recording program |
CN202080049591.5A CN114072741A (zh) | 2019-08-20 | 2020-03-10 | 控制系统、控制装置以及程序 |
EP20853794.4A EP4020104A4 (en) | 2019-08-20 | 2020-03-10 | CONTROL SYSTEM, CONTROL DEVICE AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019150137A JP7251402B2 (ja) | 2019-08-20 | 2019-08-20 | 制御システム、制御装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021033437A true JP2021033437A (ja) | 2021-03-01 |
JP7251402B2 JP7251402B2 (ja) | 2023-04-04 |
Family
ID=74660793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019150137A Active JP7251402B2 (ja) | 2019-08-20 | 2019-08-20 | 制御システム、制御装置およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220247632A1 (ja) |
EP (1) | EP4020104A4 (ja) |
JP (1) | JP7251402B2 (ja) |
CN (1) | CN114072741A (ja) |
WO (1) | WO2021033358A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022148071A (ja) * | 2021-03-24 | 2022-10-06 | 株式会社タムラ製作所 | 情報通信システム及び情報通信装置 |
JP7305078B1 (ja) | 2022-09-28 | 2023-07-07 | 三菱電機株式会社 | 時刻同期システム、時刻同期装置、時刻同期方法及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005014150A (ja) * | 2003-06-26 | 2005-01-20 | Yaskawa Electric Corp | ロボットシステム |
JP2013108895A (ja) * | 2011-11-22 | 2013-06-06 | Hitachi Ltd | 制御システム及び時刻同期方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887029A (en) * | 1994-05-31 | 1999-03-23 | Allen-Bradley Company, Llc | Method of scheduling spatially separated control events with an industrial controller |
US7103646B1 (en) * | 1998-08-07 | 2006-09-05 | Hitachi, Ltd. | Distributed control system and information processing system |
US7818457B1 (en) * | 2001-05-22 | 2010-10-19 | Rockwell Automation Technologies, Inc. | Apparatus for multi-chassis configurable time synchronization |
JP2004192256A (ja) * | 2002-12-10 | 2004-07-08 | Seiko Epson Corp | ネットワークコントローラ |
US8930579B2 (en) * | 2004-09-13 | 2015-01-06 | Keysight Technologies, Inc. | System and method for synchronizing operations of a plurality of devices via messages over a communication network |
JP2006310964A (ja) * | 2005-04-26 | 2006-11-09 | Canon Inc | 通信端末装置及びその制御方法、並びにプログラム |
KR101618537B1 (ko) * | 2012-08-01 | 2016-05-18 | 미쓰비시덴키 가부시키가이샤 | 통신 장치, 통신 시스템 및 동기 제어 방법 |
US9628384B2 (en) * | 2013-09-19 | 2017-04-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Adaptive industrial network |
JP2015118505A (ja) | 2013-12-18 | 2015-06-25 | 富士電機株式会社 | コントローラシステム |
US9806900B2 (en) * | 2015-10-05 | 2017-10-31 | Savant Systems, Llc | Wireless provisioning and configuring of hardware elements of a home automation system |
JP6428805B2 (ja) * | 2017-02-07 | 2018-11-28 | オムロン株式会社 | 演算装置、制御装置および制御方法 |
JP6962099B2 (ja) * | 2017-09-25 | 2021-11-05 | オムロン株式会社 | 制御システムおよび制御装置 |
EP3461038B1 (en) * | 2017-09-26 | 2020-04-15 | ABB Schweiz AG | Clock synchronization in a device |
JP6859914B2 (ja) * | 2017-10-05 | 2021-04-14 | オムロン株式会社 | 通信システム、通信装置および通信方法 |
JP6969283B2 (ja) * | 2017-10-25 | 2021-11-24 | オムロン株式会社 | 制御システム |
US10575345B2 (en) * | 2018-03-29 | 2020-02-25 | Blackberry Limited | Apparatus and method for establishing a connection between nodes of a wireless network |
CN112715019B (zh) * | 2018-09-21 | 2022-07-08 | 三菱电机株式会社 | 通信装置、通信系统、通信方法及计算机可读取的记录介质 |
CN111211852B (zh) * | 2018-11-21 | 2021-08-27 | 华为技术有限公司 | 同步的方法和装置 |
CN114080574A (zh) * | 2019-07-04 | 2022-02-22 | 欧姆龙株式会社 | 控制系统 |
-
2019
- 2019-08-20 JP JP2019150137A patent/JP7251402B2/ja active Active
-
2020
- 2020-03-10 WO PCT/JP2020/010384 patent/WO2021033358A1/ja unknown
- 2020-03-10 CN CN202080049591.5A patent/CN114072741A/zh active Pending
- 2020-03-10 EP EP20853794.4A patent/EP4020104A4/en active Pending
- 2020-03-10 US US17/627,688 patent/US20220247632A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005014150A (ja) * | 2003-06-26 | 2005-01-20 | Yaskawa Electric Corp | ロボットシステム |
JP2013108895A (ja) * | 2011-11-22 | 2013-06-06 | Hitachi Ltd | 制御システム及び時刻同期方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022148071A (ja) * | 2021-03-24 | 2022-10-06 | 株式会社タムラ製作所 | 情報通信システム及び情報通信装置 |
JP7312779B2 (ja) | 2021-03-24 | 2023-07-21 | 株式会社タムラ製作所 | 情報通信システム及び情報通信装置 |
JP7305078B1 (ja) | 2022-09-28 | 2023-07-07 | 三菱電機株式会社 | 時刻同期システム、時刻同期装置、時刻同期方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN114072741A (zh) | 2022-02-18 |
EP4020104A4 (en) | 2023-09-13 |
WO2021033358A1 (ja) | 2021-02-25 |
JP7251402B2 (ja) | 2023-04-04 |
US20220247632A1 (en) | 2022-08-04 |
EP4020104A1 (en) | 2022-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111034128B (zh) | 控制系统以及控制装置 | |
CN101196731A (zh) | 运动控制定时模型 | |
WO2021033358A1 (ja) | 制御システム、制御装置およびプログラム | |
WO2021002059A1 (ja) | 制御システム、設定装置およびコンピュータプログラム | |
JP7396393B2 (ja) | 制御システム、装置および制御方法 | |
WO2020054477A1 (ja) | 制御システムおよび制御装置 | |
US20220286267A1 (en) | Control system, information processing device, and non-transitory computer readable medium | |
US11269313B2 (en) | Controller and control system that stores data in current control cycle for output in next control cycle | |
WO2022030402A1 (ja) | 制御装置およびプログラム | |
JP2012227564A (ja) | 通信装置、通信システム、通信装置の制御方法およびプログラム | |
CN112639650A (zh) | 控制系统以及控制方法 | |
US20220331951A1 (en) | Robot control system, lower-level control apparatus, and control method for robot | |
US20230308514A1 (en) | Input unit, control system, communication method, and recording medium | |
WO2022180851A1 (ja) | 時刻同期方法、時刻同期プログラムおよび時刻同期システム | |
JP2023165443A (ja) | 制御装置及び分散制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220607 |
|
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: 20230221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230306 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7251402 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |