[go: up one dir, main page]

JP6977600B2 - 制御装置、制御システム、制御方法、および、制御プログラム - Google Patents

制御装置、制御システム、制御方法、および、制御プログラム Download PDF

Info

Publication number
JP6977600B2
JP6977600B2 JP2018024088A JP2018024088A JP6977600B2 JP 6977600 B2 JP6977600 B2 JP 6977600B2 JP 2018024088 A JP2018024088 A JP 2018024088A JP 2018024088 A JP2018024088 A JP 2018024088A JP 6977600 B2 JP6977600 B2 JP 6977600B2
Authority
JP
Japan
Prior art keywords
data
communication
control data
control
capacity
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
JP2018024088A
Other languages
English (en)
Other versions
JP2019139630A (ja
Inventor
光宏 米田
成憲 澤田
寛仁 水本
自強 許
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018024088A priority Critical patent/JP6977600B2/ja
Priority to US16/188,206 priority patent/US10924406B2/en
Priority to CN201811352762.2A priority patent/CN110161983B/zh
Priority to EP18206163.0A priority patent/EP3528471B1/en
Publication of JP2019139630A publication Critical patent/JP2019139630A/ja
Application granted granted Critical
Publication of JP6977600B2 publication Critical patent/JP6977600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • 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/32Operator till task planning
    • G05B2219/32015Optimize, process management, optimize production line

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Manipulator (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、性能要求が異なる複数種類の制御データを互いに通信する制御装置と各種のスレーブ装置とを備える制御システムに関する。
現在、FA(ファクトリー オートメーション)システムが多く実用化されている。FAシステムは、制御装置と複数のスレーブ装置と備える。複数のスレーブ装置は、計測器、スイッチ、または、制御用ドライバ等であり、制御用ドライバには、制御対象機器が接続されている。
制御装置は、複数のスレーブ装置に対して、制御データを通信する。この際、制御装置は、複数のスレーブ装置に対して、制御データを、予め設定された制御周期(サイクリック周期)で順次通信する。これにより、制御データの送信のリアルタイム性を担保している。以下、この制御データを、サイクリック制御データと称する。
一方で、制御装置と複数のスレーブ装置との間で、サイクリック制御データとは別の情報系データを通信することがある。情報系データは、サイクリック制御データのように、サイクリック周期に必ず通信する必要は無いデータであり、容量も比較的大きい。特許文献1に示すシステムでは、この情報系データを分割して、複数のサイクリック周期に分けて通信している。
特開2004−363782号公報
現在、スレーブ装置として、ロボット装置、または、ロボット装置を制御するロボット制御装置が多く利用されようとしている。
ロボット装置またはロボット制御装置等に対して通信される制御データは、複数のコマンド等が含まれており、上記の従来のサイクリック制御データよりも大容量となることがある。以下、このロボット装置またはロボット制御装置等に対して通信される、従来のサイクリック制御データよりも大容量の制御データを、準制御データと称する。
この場合、例えば、制御装置は、準制御データを複数のサイクリック周期に分けて通信することが考えられる。
しかしながら、このような大容量の準制御データが、複数のサイクリック周期の通信帯域を占有していると、この準制御データの通信中に、優先度の高い制御データを取得しても、準制御データの通信完了後にしか通信できない。このため、新たに取得した制御データを、到達保証時間内に通信できない可能性が生じてしまう。
したがって、本発明の目的は、複数のサイクリック周期を必要とする大容量の制御データの通信中に、優先度の高い制御データを取得しても、当該優先度の高い制御データを確実に通信できる通信技術を提供することにある。
本開示の一例によれば、制御装置は、サイクリック通信部と通信管理部とを備える。サイクリック通信部は、予め設定されたサイクリック周期によって第1保証時間での到達が保証される第1制御データと、前記サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められた第2制御データと、の通信を制御する。通信管理部は、第1制御データと第2制御データの通信のスケジュールを管理する。通信管理部は、サイクリック周期に応じて第2制御データを複数の通信用データに分割して通信中に、新たな第2制御データを取得すると、これら複数の第2制御データの優先度に応じて、複数の第2制御データの通信の順序を決定する。
この構成では、分割送信中の第2制御データと新たな第2制御データの優先度に基づいて、分割送信中の第2制御データの通信の一時停止等が可能になり、それぞれの第2制御データの性能要求に応じた通信が行われる。
本開示の一例によれば、通信管理部は、新たな第2制御データの優先度が、通信中の第2制御データの優先度よりも高いと、通信中の第2制御データの通信を一時停止して、新たな第2制御データの通信を実行させる。そして、通信管理部は、新たな第2制御データの通信の完了後に、一時停止した第2制御データの通信を再開させる。
この構成では、新たな第2制御データの優先度が高いときに、当該新たな第2制御データが優先して通信される。また、これに引き続き、一時停止した第2制御データも通信される。
本開示の一例によれば、通信管理部は、複数の第2制御データの残容量と、複数の第2制御データの到達保証時間までの残時間とを用いて、優先度を決定する。
この構成では、それぞれの第2制御データに対して、残容量を残時間内に通信完了できるように、通信順が制御される。
本開示の一例によれば、通信管理部は、新たな第2制御データの容量が、サイクリック周期の1周期に確保された第2制御データ用の上限容量に達しなければ、一時停止した第2制御データの通信用データを、新たな第2制御データと同じサイクリック周期にて通信させる。
この構成では、新たな第2制御データを通信する次のサイクリック周期まで待つことなく、一時停止した第2制御データの通信が再開される。
本開示の一例によれば、通信管理部は、第2制御データにおいて、複数の通信用データのそれぞれには、通信順を添付する。
この構成では、複数の通信用データのそれぞれに対して、情報の欠落等の通信に関するエラーが把握可能になる。
また、本開示の一例によれば、制御システムは、上述のいずれかの制御装置と、制御装置に対して通信可能に接続されたロボット装置またはロボット制御装置と、を備える。第2制御データは、ロボット制御用のコマンド群を含む。
この構成では、FAシステムとしてロボット装置が含まれる場合に、当該ロボット装置に対して、複数のコマンドが、コマンドの順番も含めて、到達保証時間内に正確に通信される。これにより、ロボット装置の動作の遅れ、誤動作等の不具合が抑制される。
この発明によれば、複数のサイクリック周期を必要とする大容量の制御データの通信中に、優先度の高い制御データを取得しても、当該優先度の高い制御データを性能要求に対応して確実に通信できる。
制御システムにおける装置の概略構成を示す図である。 制御装置のハードウェアの構成を示すブロック図である。 制御装置の機能ブロック図である。 本発明の通信概念を示す図である。 フレームデータのデータ構成の一例を示す図である。 フレームデータの具体的なデータ構成の一例を示す図である。 (A)は、情報系データを含まない場合での制御装置の初期処理を示すフローチャートであり、(B)は、情報系データを含む場合での制御装置の初期処理を示すフローチャートである。 第2制御データの分割送信処理のメイン処理を示すフローチャートである。 基本の分割送信の処理を示すフローチャートである。 優先度に応じた分割送信の処理を示すフローチャートである。 優先度の算出方法を示すフローチャートである。 優先度の算出概念および優先度によるデータの送信概念を説明する図である。
以下、本発明の実施形態を、図を参照して説明する。
・適用例
まず、本発明の実施形態に係る制御装置の適用例について、図を参照して説明する。図4は、本発明の通信概念を示す図である。
制御装置は、第1制御データと第2制御データとを、サイクリック周期に準じて通信する。
第1制御データとは、データ容量が小さな制御データである。具体的には、第1制御データは、例えば、サーボ指令値、エンコーダ値、センサのオンオフ制御値等によって構成されている。第1制御データは、サイクリック周期によって規定される到達保証時間で通信完了するように定義された制御データである。
第2制御データは、サイクリック周期の1周期よりも長い到達保証時間で通信完了するように定義された制御データである。第2制御データには、第1制御データに対して、データ容量が大きなデータがあり、例えば、サイクリック周期の1周期で通信可能なデータ容量よりも大容量のデータがある。
第2制御データのデータ容量が、サイクリック周期の1周期に割り当てられた第2制御データ用の通信上限容量を超える場合、制御装置は、当該第2制御データを、複数の通信用データに分割して通信する。
ここで、制御装置は、1個のスレーブ装置に対して、優先度が異なる複数の第2制御データを通信する場合、次に示すような制御を実行する。
図4に示すように、制御装置は、第2制御データD21を分割通信している。この分割通信中に、制御装置は、第2制御データD21の通信対象と同じスレーブ装置に対する新たな第2制御データD22を取得すると、第2制御データD21と第2制御データD22の優先度を比較する。制御装置は、第2制御データD22の優先度が第2制御データD21の優先度よりも高ければ、第2制御データD21の通信を一時停止し、第2制御データD22の通信を割り込ませる。なお、ここで、第2制御データD21の通信の一時停止とは、厳密には通信を中止すること意味するのではなく、元のスケジューリングにおいて、第2制御データD21に割り当てるパケットを、第2制御データD22に割り当て、第2制御データD21の割り当てを後に回すことを意味する。
これにより、優先度が低い第2制御データD21の通信中であっても、優先度が高い第2制御データD22の通信が先に完了する。したがって、優先度が高い第2制御データD22の性能要求を満足できる。
この際、制御装置は、第2制御データD22のデータ容量が、サイクリック周期の1周期に割り当てられた第2制御データ用の通信上限容量に達しなければ、図4に示すように、第2制御データD22を通信するサイクリック周期における残りの容量を、一時停止させた第2制御データD21に割り当てる。これにより、第2制御データD21の通信の再開を早くできる。
・構成例
本発明の実施形態に係る制御装置、制御システム、制御方法、および、制御プログラムについて、図を参照して説明する。本実施形態では、制御システムとして、FA(ファクトリー オートメーション)システムを例に説明する。
図1は、制御システムにおける装置の概略構成を示す図である。図1に示すように、制御システム1は、制御装置10、スレーブ装置211、スレーブ装置212、スレーブ装置221、制御用ネットワーク30、情報通信用ネットワーク60、パーソナルコンピュータ61、産業用パーソナルコンピュータ62、および、データベース装置63を備える。
(データ定義)
まず、各データの定義について説明する。
第1制御データは、制御用ネットワーク30に用いられるサイクリック周期(例えば、10msec以下)の1周期によって到達保証時間(第1保証時間)が決められている。第1制御データは、1ビットから数十バイトの制御データ群によって構成されている。到達保証時間とは、例えば、対象のスレーブ装置が正常に動作するために制御データが到達していなければいけない最も長い(遅い)時間である。
第2制御データは、到達保証時間(第2保証時間)がサイクリック周期の1周期よりも長く設定されたデータである。第2制御データには、第1制御データに対して、データ容量が大きなデータがあり、例えば、サイクリック周期の1周期で通信可能なデータ容量よりも大容量のデータがある。第2制御データは、構成される複数の情報の順序が決められた制御データである。第2制御データは、例えば、ロボット装置のシーケンス動作を実現する複数のコマンド群によって構成されている。
情報系データは、第1制御データおよび第2制御データとは異なり、到達保証時間が設定されていないデータである。例えば、情報系データは、制御用ネットワーク30に接続される各装置のログの取得要求データ、ログ、監視画像等の各種のデータによって構成されている。
第1制御データと第2制御データとは、サイクリック周期に準じて通信されるデータであり、情報系データは、サイクリック周期に準じる必要が無い仕様で通信されるデータである。
(制御システム)
制御用ネットワーク30は、例えば、ネットワーク規格として、EtherCAT(イーサキャット)(登録商標)、または、PROFINET(プロフィネット)等に準じたネットワークである。なお、制御用ネットワーク30は、これらに限るものではなく、サイクリック周期に同期してデータの送受信を実行するネットワークであればよい。制御装置10、スレーブ装置211、スレーブ装置212、および、スレーブ装置221は、制御用ネットワーク30によって接続されている。
情報通信用ネットワーク60は、例えば、ネットワーク規格として、Ethernet(登録商標)に準じたネットワークである。制御装置10、パーソナルコンピュータ61、産業用パーソナルコンピュータ62、および、データベース装置63は、情報通信用ネットワーク60によって接続されている。
パーソナルコンピュータ61には、制御プログラムの編集ツール等がインストールされている。パーソナルコンピュータ61は、制御装置10、スレーブ装置211、および、スレーブ装置212の制御プログラムの作成、編集、出力を行う。パーソナルコンピュータ61は、制御プログラムを制御装置10に出力する。
産業用パーソナルコンピュータ62には、例えば、ロボット用制御プログラムの編集ツール等がインストールされている。産業用パーソナルコンピュータ62は、スレーブ装置221の制御プログラムの作成、編集、出力を行う。産業用パーソナルコンピュータ62は、例えば、ロボット用制御プログラムを制御装置10に出力する。
データベース装置63は、制御装置10から各装置のログ等を取得する。なお、情報系データの元となるデータの生成、取得を実行する装置は、データベース装置63に限るものでなく、他の装置であってもよい。また、パーソナルコンピュータ61、産業用パーソナルコンピュータ62、および、データベース装置63は、上位システムを構成する装置であり、上位システムを構成する装置は、これらに限るものではない。
制御装置10は、具体的には、例えば、PLC(Programmable Logic Contoroller)によって実現される。制御装置10は、制御用ネットワーク30を介して制御データを通信し、情報通信用ネットワーク60を介して各種のデータを通信する装置であれば、他の装置であってもよい。
制御装置10は、例えば、パーソナルコンピュータ61からの制御プログラムを用いて、第1制御データを生成する。制御装置10は、例えば、産業用パーソナルコンピュータ62からのロボット用制御プログラムを用いて、第2制御データを生成する。なお、制御装置10は、パーソナルコンピュータ61からの制御プログラムを用いて、第2制御データを生成することも可能である。
また、制御装置10は、情報系データを生成する。情報系データは、パーソナルコンピュータ61が制御用ネットワーク30に接続されるスレーブ装置211、スレーブ装置212、および、スレーブ装置221から取得したい情報、および、当該情報の取得要求等によって構成される。このため、例えば、情報系データは、パーソナルコンピュータ61からの指示に応じて、制御装置10で生成される。
スレーブ装置211、スレーブ装置212は、具体的には、例えば、サーボドライバ、センサ等の計測器等によって実現される。なお、スレーブ装置211、スレーブ装置212は、第1制御データで動作する装置であれば、他の装置であってもよい。
スレーブ装置221、スレーブ装置222は、具体的には、例えば、ロボット装置またはロボット装置に接続されるロボット制御装置によって実現される。なお、スレーブ装置221、スレーブ装置222は、第2制御データで動作する装置であれば、他の装置であってもよい。
制御装置10、スレーブ装置211、スレーブ装置212、スレーブ装置221、および、スレーブ装置222は、第1制御データ、第2制御データ、および、情報系データの送受信をスケジューリングする。制御装置10、スレーブ装置211、スレーブ装置212、スレーブ装置221、および、スレーブ装置222は、このスケジュールに応じて、サイクリック周期に準じて、第1制御データ、および、第2制御データを通信する。また、必要に応じて、制御装置10、スレーブ装置211、スレーブ装置212、スレーブ装置221、および、スレーブ装置222は、このスケジュールに応じて、第1制御データおよび第2制御データの帯域とは異なる帯域を用いて、情報系データを通信する。
この際、制御装置10は、サイクリック周期の1周期に確保された第2制御データ用の上限容量に対して第2制御データのデータ容量が大きければ、第2制御データを複数の通信用データに分割する。そして、制御装置10は、複数の通信用データを、複数のサイクリック周期に割り当てて通信する。
さらに、制御装置10は、複数のサイクリック周期に分割して第2制御データを通信している期間に、他の新しい第2制御データを取得すると、それぞれの第2制御データの優先度に応じて通信制御を実行する。この際、制御装置10は、スレーブ装置毎に優先度に応じた通信制御を実行する。この具体的な通信制御については、後述する。
(制御装置のハードウェア構成)
図2は、制御装置のハードウェアの構成を示すブロック図である。
図2に示すように、ハードウェアの構成として、制御装置10は、CPU101、メモリ102、記憶媒体103、送受信部104、および、上位通信部105を備える。PU101、メモリ102、記憶媒体103、送受信部104、および、上位通信部105は、データバス100によって接続されている。
CPU101は、記憶媒体に103に記憶されているシステムプログラム、および、ユーザアプリケーションプログラムをメモリ102に読み出して実行することで、後述の各機能ブロックの各処理を実現する。メモリ102は、例えば、DRAMやSRAM等の揮発性記憶素子によって実現される。また、記憶媒体103は、例えば、磁気記憶媒体、フラッシュメモリ等の不揮発性記憶媒体によって実現される。
送受信部104は、制御装置10における制御用ネットワーク30のインターフェースであり、第制御データ、および、第2制御データのサイクリック周期に準じた送受信(通信)を実行する。また、送受信部104は、例えば、サイクリック周期において、第制御データおよび第2制御データの通信帯域と異なる通信帯域を用いて、情報系データの送受信(通信)を実行する。
上位通信部105は、制御装置10における情報通信用ネットワーク60のインターフェースであり、上述の上位システムの各装置との間の通信を実行する。
(制御装置の機能ブロック)
図3は、制御装置の機能ブロック図である。
図3に示すように、制御装置10は、通信管理部110、サイクリック通信部121、メッセージ通信部122、通信ドライバ130、ユーザアプリケーション処理部141、その他処理部142を備える。
通信管理部110は、第1制御系通信管理111、第2制御系通信管理112、および、情報系通信管理113を実行する。また、通信管理部110は、第1制御系通信管理111、第2制御系通信管理112、および、情報系通信管理113のスケジューリング、すなわち、後述する各種のデータの通信のスケジューリングを実行する。この際、通信管理部110は、通信対象のスレーブ装置の個数、種類に基づいて、サイクリック周期の1周期に対する各スレーブ装置の通信帯域を割り当てる(図5参照)。
上述のように、第1制御系通信管理111は、予め設定されたサイクリック周期に準じて、サイクリック周期毎に通信される第1制御データの通信管理を実行する。
第2制御系通信管理112は、第2制御データの通信管理を実行する。この際、第2制御系通信管理112は、サイクリック周期の1周期で通信可能な第2制御データの最大容量(通信容量)よりも、第2制御データのデータ容量が大きければ、第2制御データを複数の通信用データに分割する。この際、第2制御系通信管理112は、スレーブ装置毎に、分割の有無を決定する。第2制御系通信管理112は、複数の通信用データの単位で通信管理を実行する。
情報系通信管理113は、情報系データの通信管理を実行する。この際、情報系データも、サイクリック周期の1周期で通信可能な情報系データの最大容量(送信容量)よりも、情報系データのデータ容量が大きければ、複数のデータに分割する。そして、情報系通信管理113は、分割された複数のデータの単位で通信管理を実行する。
通信管理部110は、送受信(通信)のスケジュールにしたがって、第1制御データと第2制御データとを、サイクリック通信部121に与える。この際、通信管理部110は、第2制御データが複数の通信用データに分割されていれば、複数の通信用データ毎に、サイクリック通信部121に与える。
また、通信管理部110は、第2制御データを複数の通信用データに分割して、サイクリック周期単位で通信している期間に、他の新しい第2制御データを取得すると、それぞれの第2制御データの優先度に応じて通信制御を実行する。この具体的な通信制御については、後述する。
通信管理部110は、送受信のスケジュールにしたがって、情報系データを、メッセージ通信部122に与える。この際、通信管理部110は、情報系データが複数のデータに分割されていれば、分割された複数のデータ毎に、メッセージ通信部122に与える。
サイクリック通信部121は、第制御データおよび第2制御データを、制御用ネットワーク30のデータ形式に変換する。サイクリック通信部121は、変換後の第1制御データおよび第2制御データを通信管理部110から与えられた送受信のスケジュールにしたがって、通信ドライバ130に出力する。
メッセージ通信部122は、情報系データを、通信管理部110から与えられた送受信のスケジュールにしたがって、通信ドライバ130に出力する。
通信ドライバ130は、送受信部104の制御を実行し、サイクリック周期に準じて、第1制御データ、および、第2制御データを、制御用ネットワーク30を介して通信する。この際、第2制御データが複数の通信用データに分割されていれば、複数の通信用データが、サイクリック周期に準じて、順次通信される。同様に、情報系データが複数のデータに分割されていれば、分割された複数のデータが、順次通信される。
なお、ユーザアプリケーション処理部141は、上述のユーザアプリケーションプログラムを実行する。このユーザアプリケーション処理部141によって、産業用パーソナルコンピュータ62からの第2制御データを取得する。その他処理部142は、例えば、制御装置10の起動処理や制御用ネットワーク30を用いた制御の初期処理等を実行する。
(具体的な通信処理)
図4、図5を用いて、制御装置10が実行する通信処理を、概略的に説明する。上述のように、図4は、本発明の通信概念を示す図である。図5は、フレームデータのデータ構成の一例を示す図である。なお、図5は、図1に示すシステム構成の場合のデータ構成例を示している。
まず、図5を用いて、フレームデータの構成を説明する。図5に示すように、フレームデータは、先頭から、制御データ用のヘッダ、スレーブ装置211に対する第1制御データD01、スレーブ装置212に対する第1制御データD02、スレーブ装置221に対する第1制御データD1、スレーブ装置221に対する第2制御データD21、スレーブ装置222に対する第1制御データDx1、スレーブ装置222に対する第2制御データDx2、制御データ用のフッタ、情報系データ用のヘッダ、情報系データDi、情報系データ用のフッタの順に並ぶデータによって構成されている。また、図5では、フレームデータには、制御データ用のフッタと情報系データ用のヘッダとの間、および、情報系データ用のヘッダの後に、データの衝突回避用の待機時間Dtに対応する空データ領域が設定されている。この待機時間Dtは、設定することが好ましいが、省略することも可能である。そして、このような構成からなるフレームデータによって、サイクリック周期の1周期における通信が実行される。
次に、スレーブ装置221に対する第2制御データの分割が必要な場合の具体的な処理を説明する。
制御装置10の通信管理部110は、第2制御データD21を取得すると、通信管理部110等に備えられたバッファメモリに格納する。バッファメモリは、物理的には、例えば、上述の送受信部104に備えられた揮発性の記憶素子、メモリ102によって実現される。
この時、バッファメモリの状態BF0は、第2制御データD21の全てが格納された状態である。
通信管理部110は、サイクリック周期に準じた通信タイミングt1になるまでに、状態BF0の第2制御データD21における通信用データD211をバッファメモリから取り出し、サイクリック通信部121に出力する。通信用データD211は、サイクリック周期の1周期で通信できる第2制御データの通信上限容量DSf分のデータである。
通信上限容量DSfは、例えば、サイクリック周期の1周期(図5におけるTcy)における対象のスレーブ装置(ここでは、スレーブ装置221)に対する通信容量から、第1制御データD1の通信容量(図5における通信時間tc1に対応する容量)を減算することで算出される。
サイクリック通信部121は、第1制御データD1と第2制御データD21の通信用データD211とを含むフレームデータFRM1を、通信タイミングt1で通信する。
この通信タイミングt1の通信によって、バッファメモリの状態BF1は、状態BF0の第2制御データD21に対して通信用データD211を除いたデータが格納された状態である。
次に、通信管理部110は、通信タイミングt2になるまでに、状態BF1の第2制御データD21における通信用データD212をバッファメモリから取り出し、サイクリック通信部121に出力する。通信用データD212は、通信上限容量DSf分のデータである。
サイクリック通信部121は、第1制御データD1と第2制御データD21の通信用データD212とを含むフレームデータFRM2を、通信タイミングt2で通信する。
この後、通信タイミングt3までの間に、通信管理部110は、新たな第2制御データD22を取得すると、第2制御データD22をバッファメモリに格納する。この新たな第2制御データD22の通信対象のスレーブ装置は、第2制御データD21と同じである。
この状態では、バッファメモリの状態BF2は、状態BF1の第2制御データD21に対して通信用データD212を除いたデータと、第2制御データD22とが格納された状態である。
通信管理部110は、第2制御データD21の優先度と、第2制御データD22の優先度とを比較する。通信管理部110は、第2制御データD22の優先度が第2制御データD21の優先度よりも高いことを検出すると、通信タイミングt3になるまでに、状態BF2の第2制御データD22をバッファメモリから取り出し、サイクリック通信部121に出力する。なお、図4の例では図示していないが、通信管理部110は、第2制御データD21の優先度が第2制御データD22の優先度よりも高い場合は、第2制御データD21の分割通信の制御を継続する。
さらに、通信管理部110は、通信上限容量DSfに対して、第2制御データD22の容量が小さいことを検出する。通信管理部110は、第2制御データD21におけるフレームデータFRM3で通信可能な容量分となる通信用データD213をバッファメモリから取り出し、サイクリック通信部121に出力する。なお、図4では図示していないが、通信管理部110は、通信上限容量DSfに対して、第2制御データD22の容量が大きければ、第2制御データD21と同様に通信用データによる分割通信の制御を実行する。
サイクリック通信部121は、第1制御データD1、第2制御データD22、および、第2制御データD21の通信用データD213とを含むフレームデータFRM3を、通信タイミングt3で通信する。
この通信タイミングt3の通信によって、バッファメモリの状態BF3は、状態BF2の第2制御データD21に対して通信用データD213を除き、第2制御データD22を除いたデータが格納された状態である。
次に、通信管理部110は、通信タイミングt4になるまでに、状態BF3の第2制御データD21における通信用データD214をバッファメモリから取り出し、サイクリック通信部121に出力する。通信用データD214は、通信上限容量DSf分のデータである。
サイクリック通信部121は、第1制御データD1と第2制御データD21の通信用データD214とを含むフレームデータFRM4を、通信タイミングt4で通信する。
この通信タイミングt4の通信によって、バッファメモリの状態BF4は、状態BF3の第2制御データD21に対して通信用データD214を除いたデータが格納された状態である。
次に、通信管理部110は、通信タイミングt5になるまでに、状態BF4の第2制御データD21における通信用データD215をバッファメモリから取り出し、サイクリック通信部121に出力する。通信用データD215は、通信上限容量DSfよりも小さな容量のデータである。
サイクリック通信部121は、第1制御データD1と第2制御データD21の通信用データD215とを含むフレームデータFRM5を、通信タイミングt5で通信する。
この処理により、制御装置10は、優先度の異なる第2制御データD21、および第2制御データD22を、それぞれの優先度に応じて、通信制御する。これにより、第2制御データD21の性能要求(到達保証時間等)および第2制御データD22の性能要求(到達保証時間等)を満足する通信が可能になる。
特に、上述の処理では、分割通信中の第2制御データD21が存在する状態において、より優先度の高い第2制御データD22を取得しても、優先度の高い第2制御データD22を優先的に通信でき、且つ、分割通信が一時停止した第2制御データD21も確実に通信できる。
このような処理を行う場合、複数の第2制御データを含む各フレームデータは、例えば、図6に示すようなデータ構成を有する。図6は、フレームデータの具体的なデータ構成の一例を示す図である。なお、図6では、上述の図4、図5におけるフレームデータFRM2およびフレームデータFRM3を例に示している。しかしながら、他のフレームデータも同様のデータ構成であり、これら他のフレームデータの図示、説明は省略する。また、これらの図では、情報系データが含まれていない態様を示している。また、図6では、第2制御データは、1個のスレーブ装置に対するものを示しており、第2制御データの通信対象となるスレーブ装置が複数存在する場合には、図6に示すような第1制御データおよび第2制御データが1個のフレームデータ内に、通信を行っているスレーブ装置の個数分存在する。
図6に示すように、サイクリック周期の1周期の通信データに当たるフレームデータにおける、対象のスレーブ装置に対するデータには、第1制御データおよび第2制御データが含まれている。
基本的には、各フレームデータの第2制御データおよび通信用データには、フォーマットID、トランザクションID、総データサイズ、フラグメントID、フラグメントデータサイズ、および、リクエストデータを含み、先頭ビットからこの順で並ぶデータである。なお、分割通信を行わない第2制御データには、フラグメントIDおよびフラグメントデータサイズは含まなくてもよい。
フォーマットIDは、第2制御データのデータフォーマットの識別データである。フォーマットIDによって、第2制御データのデータフォーマットを識別できる。
トランザクションIDは、第2制御データを示す識別データである。複数のフレームの通信用データのトランザクションIDを比較することによって、これら複数のフレームの通信用データが同じ第2制御データに基づくものであるか否かを判定できる。すなわち、複数のフレームの通信用データのトランザクションIDが同じであれば、これらの通信用データが、1つの第2制御データに基づくものであることを判定できる。
総データサイズは、1つの第2制御データの総データ容量を示している。すなわち、総データサイズは、第2制御データが複数の通信用データに分割されている場合に、複数の通信用データのデータ容量の総和によって表されている。このような総データサイズを添付することによって、スレーブ装置221およびスレーブ装置222は、復元時に、第2制御データの受信エラーを検出できる。
フラグメントIDは、分割された第2制御データにおける各通信用データの順番を示す識別データである。すなわち、フラグメントIDによって、そのフレームの通信用データが、通信前の第2制御データを分割した後の何番目のデータであることを識別できる。
フラグメントサイズは、そのフレーム内のリクエストデータのデータ容量を示している。このようなフラグメントサイズを添付した場合、スレーブ装置221およびスレーブ装置222は、受信したリクエストのデータ容量を算出し、フラグメントサイズを比較するで、受信エラーを検出できる。
リクエストデータは、コマンドタイプ、コマンドID、および、アーギュメントAn等を含み、先頭ビットからこの順に並ぶデータである。アーギュメントAnは、実際に制御に用いるコマンド群を含み、コマンドタイプ、および、コマンドIDは、アーギュメントAnに記載されているコマンド群の識別のためのデータである。なお、ここでは、リクエストデータを例に説明しているが、リクエストデータに対するレスポンスデータに対しても適用できる。そして、リクエストデータおよびレスポンスデータは、上述のデータ構成に限るものではなく、任意に定義することができる。
このようなデータ構成に準じて、フレームデータFRM2およびフレームデータFRM3は、図6に示すデータ構成を有する。
フレームデータFRM2は、第1制御データD1と第2制御データD21の通信用データD212とがこの順に並ぶデータ構成が含まれる。
通信用データD212は、フォーマットID、トランザクションID(=N)、総データサイズ(=Vn)、フラグメントID(=p)、フラグメントデータサイズ(=Vnp)、および、リクエストデータを含み、これらがこの順に並ぶデータ構成からなる。リクエストデータは、コマンドタイプ、コマンドID、および、アーギュメントAnpを含み、これらがこの順に並ぶデータ構成からなる。
フレームデータFRM3は、第1制御データD1、第2制御データD22、および、第2制御データD21の通信用データD213とがこの順に並ぶデータ構成が含まれる。
第2制御データD22は、フォーマットID、トランザクションID(=K)、総データサイズ(=Vk)、および、リクエストデータを含み、これらがこの順に並ぶデータ構成からなる。リクエストデータは、コマンドタイプ、コマンドID、および、アーギュメントAkを含み、これらがこの順に並ぶデータ構成からなる。
通信用データD213は、フォーマットID、トランザクションID(=N)、総データサイズ(=Vn)、フラグメントID(=q)、フラグメントデータサイズ(=Vnq)、および、リクエストデータを含み、これらがこの順に並ぶデータ構成からなる。リクエストデータは、コマンドタイプ、コマンドID、および、アーギュメントAnqを含み、これらがこの順に並ぶデータ構成からなる。
このようなデータ構成によって、通信用データD212と通信用データD213のトランザクションIDが同じNであることから、ともに第2制御データD21を構成するデータであることを容易且つ確実に検出できる。
また、通信用データD212のフラグメントIDがpであり、通信用データD213のフラグメントIDがqであることから、第2制御データD21において、通信用データD212のアーギュメントAnpと通信用データD213のアーギュメントAnqはこの順に並んでいることを容易且つ確実に検出できる。
また、フラグメントデータサイズVnpによって、通信用データD212の欠損等の通信エラーを検出でき、フラグメントデータサイズVnqによって、通信用データD213の欠損等の通信エラーを検出できる。
また、総データサイズVnによって、通信用データD212および通信用データD213を含む第2制御データD21の欠損等の通信エラーを検出でき、総データサイズVkによって、第2制御データD22の欠損等の通信エラーを検出できる。
(具体的な通信処理フロー)
以上のような制御は、次に示す処理を実行することによって実現される。
図7(A)は、情報系データを含まない場合での制御装置の初期処理を示すフローチャートであり、図7(B)は、情報系データを含む場合での制御装置の初期処理を示すフローチャートである。
(A 情報系データを通信しない場合)
情報系データの通信時間を設定しない場合での第2制御データの分割処理の初期処理について、図7(A)を用いて説明する。
まず、制御装置10は、通信対象のスレーブ装置の個数、種類に基づいて、サイクリック周期の1周期に対する各スレーブ装置の通信帯域を割り当てる。制御装置10(通信管理部110)は、第1制御データの通信容量を算出する(S11)。具体的には、制御装置10は、制御用ネットワーク30を介して接続されるスレーブ装置211、スレーブ装置212、スレーブ装置221、および、スレーブ装置222に与える全ての第1制御データを抽出する。これらは、パーソナルコンピュータ61からの制御プログラムに基づいて抽出および算出できる。
制御装置10は、サイクリック周期の1周期に含まれる、第2制御データを通信する各スレーブ装置に対する第2制御データ用の空き容量を算出する(S12)。空き容量とは、サイクリック周期の1周期(図5のTCy)における第2制御データを通信する各スレーブ装置の通信帯域から第1制御データの通信容量を除く容量である。したがって、制御装置10は、サイクリック周期の1周期において第2制御データを通信する各スレーブ装置の通信可能な上限の容量から第1制御データの通信容量を減算することによって、空き容量を算出する。
制御装置10は、第2制御データの性能要求を取得する(S13)。第2制御データの性能要求とは、第2制御データの到達保証時間を含んでいる。この性能要求は、産業用パーソナルコンピュータ62からの制御プログラム(例えば、ロボット用制御プログラム)等に基づいて取得できる。
制御装置10は、空き容量、および、性能要求に基づいて、第2制御データを通信する各スレーブ装置に対する第2制御データの通信上限容量DSfを設定する(S14)。通信上限容量DSfは、サイクリック周期の1周期においてそれぞれのスレーブ装置が第2制御データを通信可能な最大容量に対応する。具体的には、制御装置10は、例えば、性能要求が満たされるのであれば、空き容量を通信上限容量DSfに設定する。
(B 情報系データを通信する場合)
情報系データの通信時間を設定する場合での第2制御データの分割処理の初期処理について、図7(B)を用いて説明する。なお、図7(A)と同じ処理は説明を簡略化する。
まず、制御装置10は、通信対象のスレーブ装置の個数、種類に基づいて、サイクリック周期の1周期に対する各スレーブ装置の制御データ用の通信帯域を割り当てる。この際、制御装置10は、情報系データの通信容量を設定し(S15)、この情報系データの通信容量も加味して、各スレーブ装置の制御データ用の通信帯域を割り当てる。制御装置10は、第1制御データの通信容量を算出する(S11)。制御装置10は、サイクリック周期の1周期に含まれる空き容量を算出する(S12)。制御装置10は、第2制御データの性能要求を取得する(S13)。
情報系データの通信容量は、例えば、パーソナルコンピュータ61やデータベース装置63等からの指示を受けることによって設定可能である。
制御装置10は、空き容量、性能要求、および、情報系データの通信容量に基づいて、通信上限容量DSfを設定する(S16)。
なお、上述の(A)、(B)に示す初期処理では、制御装置10は、算出した空き容量では第2制御データの性能要求が満たされないと判断すれば、警告を発生する。例えば、具体的には、制御装置10は、算出した空き容量から第2制御データの分割数を算出し、当該分割数から、第2制御データの通信完了の予定時間を算出する。制御装置10は、性能要求に基づく到達保証時間よりも通信完了の予定時間が長ければ、性能要求が満たされないと判定し、警告を発生する。
次に、制御システムの稼働中における通信管理処理について、図8を用いて説明する。図8は、第2制御データの分割送信処理のメイン処理を示すフローチャートである。
制御装置10は、第2制御データを取得すると(S21)、バッファに格納する(S22)。
制御装置10は、既に送信中の第2制御データが有るか否かを検出する。制御装置10は、送信中の第2制御データが無ければ(S23:NO)、基本の分割送信を実行する(S24)。制御装置10は、送信中の第2制御データが有れば(S23:YES)、優先度に応じた分割送信を実行する(S25)。
(基本の分割送信)
図9は、基本の分割送信の処理を示すフローチャートである。
制御装置10は、第2制御データD2のデータ容量(残容量)DSuを算出する(S31)。
制御装置10は、データ容量DSuが通信上限容量DSfよりも大きければ(S32:YES)、バッファに格納された第2制御データD2から通信上限容量DSf分のデータを取得する(S33)。すなわち、制御装置10は、第2制御データD2から通信用データを分割する。制御装置10は、分割した通信用データを送信する(S34)。
制御装置10は、バッファに格納された第2制御データD2の全データが送信されたか否かを検出する。制御装置10は、送信されていないデータが残っていれば(S35:NO)、ステップS33に戻り、通信上限容量DSfに応じた第2制御データの分割処理を繰り返す。制御装置10は、全てのデータ送信されていれば(S35:YES)、処理を終了する。
制御装置10は、データ容量DSuが通信上限容量DSf以下であれば(S32:NO)、上述の分割処理を行うことなく、第2制御データD2を送信する(S36)。
(優先度に応じた分割送信)
図10は、優先度に応じた分割送信の処理を示すフローチャートである。
制御装置10は、新たに取得した第2制御データD2Nの容量DSuNを算出する(S41)。制御装置10は、送信中の第2制御データD2と、新たな第2制御データD2Nとの優先度を算出する(S42)。優先度の具体的な算出方法は後述する。
制御装置10は、第2制御データD2の優先度と、第2制御データD2Nの優先度とを比較する。制御装置10は、第2制御データD2Nの優先度が第2制御データD2の優先度よりも高ければ(S43:YES)、第2制御データD2Nを優先して送信する。一方、制御装置10は、第2制御データD2の優先度が第2制御データD2Nの優先度と同じ、もしくは第2制御データD2Nの優先度よりも高ければ(S43:NO)、第2制御データD2の分割送信を継続し、第2制御データD2の送信完了後に、第2制御データD2Nを送信する。
第2制御データD2Nの優先度が第2制御データD2の優先度よりも高い時、制御装置は、データ容量DSuNが通信上限容量DSfよりも大きければ(S44:YES)、バッファに格納された第2制御データD2Nから通信上限容量DSf分のデータを取得する(S45)。すなわち、制御装置10は、第2制御データD2Nから通信用データを分割する。制御装置10は、分割した通信用データを送信する(S46)。制御装置10は、今回の送信による第2制御データD2Nの残容量を算出し、データ容量DSuNを更新して(S47)、ステップS44に戻る。この処理は、データ容量DSuNの残容量が通信上限容量DSf以下になるまで継続される。
データ容量DSuNが通信上限容量DSf以下である、もしくは、上述の処理によって通信上限容量DSf以下になれば(S44:NO)、制御装置10は、この通信上限容量DSf以下のデータ容量DSuNを取得する(S48)。さらに、制御装置10は、第2制御データD2の送信再開の最初の通信用データを取得する(S49)。この送信再開の最初の通信用データは、第2制御データD2の残容量における通信上限容量DSfから第2制御データD2Nのデータ容量DSuNを減算した分の容量のデータである。制御装置10は、これらの第2制御データD2Nと第2制御データD2の送信再開の最初の通信用データを送信する(S50)。
このように、制御装置10は、第2制御データD2の送信中に、優先度が高い第2制御データD2Nを取得すると、第2制御データD2の送信の一時停止し、優先度が高い第2制御データD2Nを割り込ませて送信する。そして、制御装置10は、第2制御データD2Nの送信に引き続き、一時停止していた第2制御データD2の送信を再開する。これにより、優先度の低い第2制御データD2の送信中に、優先度の高い第2制御データD2Nを取得しても、第2制御データD2Nの性能要求を満足するように送信できる。
(優先度の算出方法)
図11は、優先度の算出方法を示すフローチャートである。図12は、優先度の算出概念および優先度によるデータの送信概念を説明する図である。
図11に示すように、制御装置10は、バッファに格納されている複数の第2制御データD2の残容量DSuを算出する(S61)。この際、制御装置10は、送信中の第2制御データD2に対しては、総データ容量から送信済みのデータ容量を減算した容量を残容量DSuとする。一方、制御装置10は、未送信の第2制御データD2に対しては、総データ容量を残容量DSuとする。
制御装置10は、複数の第2制御データD2の残時間tsuを算出する(S62)。残時間tsuは、性能要求に含まれる到達保証時間から現時間を減算した時間によって算出される。
制御装置10は、残容量DSuと残時間tsuとから優先度Sを算出する(S63)。例えば、制御装置10は、残時間tsuに基づく指標値で、残容量DSuを除算した値を優先度とする。具体的には、図12の例であれば、残時間tsu[msec.]から1[msec.]を減算した指標値で、残容量[byte]を除算した値を優先度Sとする。この場合、優先度Sの値が大きいほど、優先度が高くなる。なお、ここでは、指標値の算出に1[msec.]を用いる態様を示した。これは、サイクリック周期が1[msec.]である場合を示している。すなわち、指標値は、残時間tsuからサイクリック周期を減算した値にすればよい。
このような処理によって、優先度を正確に、且つ、簡素な処理で算出できる。
図12を用いて、処理の一例を説明する。
時間Tc(n)では、バッファには、第2制御データD21と第2制御データD22とが格納されている。この時、図12に示すように、残容量DSuと残時間tsuとから算出した優先度Sは、第2制御データD22よりも第2制御データD21が高い。
したがって、制御装置10は、第2制御データD21における通信上限容量DSf(図12では、256byte)分の通信用データを分割して、送信する。そして、制御装置10は、第2制御データD21の残容量に対して、時間Tc(n)の送信によるデータ容量を減算する更新を行う。
時間Tc(n+1)では、バッファには、新たな第2制御データD23が格納されている。この時、図12に示すように、残容量DSuと残時間tsuとから算出した優先度Sは、第2制御データD21、および、第2制御データD22よりも第2制御データD23が高い。また、第2制御データD23のデータ容量(残容量DSu)は、通信上限容量DSfよりも小さい。
制御装置10は、第2制御データD23を送信する。さらに、制御装置10は、通信上限容量DSfから第2制御データD23の残容量DSuを減算した分のデータ容量(補充データ容量)を算出する。制御装置10は、次に優先度Sが高い第2制御データD21における補充データ容量分のデータを、第2制御データD23に続けて、同じフレームで送信する。そして、制御装置10は、第2制御データD21の残容量および第2制御データD23の残容量に対して、時間Tc(n+1)の送信によるデータ容量を減算する更新を行う。
時間Tc(n+2)では、第2制御データD23の送信が完了しており、バッファには、第2制御データD21と第2制御データD22とが格納されている。この時、図12に示すように、残容量DSuと残時間tsuとから算出した優先度Sは、第2制御データD22よりも第2制御データD21が高い。
したがって、制御装置10は、第2制御データD21における通信上限容量DSf(図12では、256byte)分の通信用データを分割して、送信する。そして、制御装置10は、第2制御データD21の残容量に対して、時間Tc(n+2)の送信によるデータ容量を減算する更新を行う。
時間Tc(n+3)では、バッファには、第2制御データD21と第2制御データD22とが格納されている。この時、図12に示すように、残容量DSuと残時間tsuとから算出した優先度Sは、第2制御データD22よりも第2制御データD21が高い。また、第2制御データD21のデータ容量(残容量DSu)は、通信上限容量DSfよりも小さい。
制御装置10は、第2制御データD21を送信する。さらに、制御装置10は、通信上限容量DSfから第2制御データD21の残容量DSuを減算した分のデータ容量(補充データ容量)を算出する。制御装置10は、次に優先度Sが高い第2制御データD22における補充データ容量分のデータを、第2制御データD21に続けて、同じフレームで送信する。そして、制御装置10は、第2制御データD21の残容量および第2制御データD22の残容量に対して、時間Tc(n+3)の送信によるデータ容量を減算する更新を行う。
以下、制御装置10は、第2制御データD22の分割送信を継続する。
なお、上述の説明では、FAシステムを例に説明したが、サイクリック周期を用いて時間保証するデータと、サイクリック周期よりも長い時間保証を有し、サイクリック周期に基づくデータ容量よりも大きなデータ容量からなるデータとを通信する他のシステムであっても、上述の構成および処理を適用し、上述の作用効果を得ることができる。
また、上述の説明では、説明を容易にするために、制御用ネットワーク30を介して、制御装置10から、スレーブ装置211、スレーブ装置212、および、スレーブ装置221にデータを送信することを主として記載した。しかしながら、各データには、スレーブ装置211、スレーブ装置212、および、スレーブ装置221から制御装置10に送信、返信するデータもあり、これらのデータについても、上述の処理を適用でき、上述の作用効果を奏することができる。すなわち、制御用ネットワーク30で通信される第2制御データについては、上述の処理を適用でき、上述の作用効果を奏することができる。例えば、ロボット装置に対する第2制御データとしては、制御装置10からスレーブ装置221に送信するデータとしては、ログデータの取得コマンドを含み、スレーブ装置221から制御装置10に送信(返信)するデータとしては、この取得コマンドに対応したロギングデータ(例えば、数十秒間分のモータの角度データ等)を含む。
また、上述の説明では、割り込ませる第2制御データのデータ容量が通信上限容量DSf以下の場合の処理を示したが、割り込ませる第2制御データもデータ容量が通信上限容量DSfを超える場合は、分割通信を行う。この際、上述の一時停止した第2制御データと同様のデータ構成を採用すればよい。
また、上述の説明では、優先度の高い第2制御データ用の通信帯域を、第2制御データ用の全通信帯域に対して所定バイト割り当てるようにしてもよい。すなわち、優先度に応じて通信帯域を分割してもよい。この場合、優先度が高い第2制御データがなければ、優先度が高い第2制御データ用の通信帯域は、それ以外の第2制御データの通信に利用するとよい。
また、制御装置は、優先度の高い第2制御データが発生した場合に利用する通信帯域を常時所定バイト確保できるように、基本の分割通信における通信上限容量を設定してもよい。
また、上述の説明では、TDMA方式による通信を行う場合を示したが、CDMA方式等においても、上述の概念を用いて、第2制御データの分割送信を実現できる。
1:制御システム
10:制御装置
30:制御用ネットワーク
60:情報通信用ネットワーク
61:パーソナルコンピュータ
62:産業用パーソナルコンピュータ
63:データベース装置
100:データバス
101:CPU
102:メモリ
103:記憶媒体
104:送受信部
105:上位通信部
110:通信管理部
111:第1制御系通信管理
112:第2制御系通信管理
113:情報系通信管理
121:サイクリック通信部
122:メッセージ通信部
130:通信ドライバ
141:ユーザアプリケーション処理部
142:他処理部
211、212、221、222:スレーブ装置

Claims (8)

  1. 予め設定されたサイクリック周期に準じて、第1制御データ、および第2制御データの通信を制御するサイクリック通信部と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理部と、
    を備え、
    前記第1制御データは、到達保証時間が前記サイクリック周期の1周期によって第1保証時間に決められたデータであり、
    前記第2制御データは、到達保証時間が前記サイクリック周期の1周期よりも長い第2保証時間に決められ、構成する情報の順序が決められたデータであり、
    前記通信管理部は、
    前記第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きい場合、この第2制御データを複数の通信用データに分割して前記通信のスケジュールを管理し、
    通信中の第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きいとき、新たな第2制御データを取得すると、前記通信中の第2制御データ、および前記新たな第2制御データのそれぞれについて優先度を算出し、
    ここで算出した優先度に応じて、前記通信中の第2制御データ、および前記新たな第2制御データの通信の順序を決定し、
    さらに、前記通信中の第2制御データの優先度を、未送信であるデータの残容量と、現時点から到達保証時間までの残時間とを用いて算出し、
    前記新たな第2制御データの優先度を、データ容量と、現時点から到達保証時間までの残時間とを用いて算出する、
    制御装置。
  2. 前記優先度は、前記第2制御データ毎に、その第2制御データの前記残容量を、前記残時間から前記サイクリック周期を減算した指標値で除した値である、
    請求項1に記載の制御装置。
  3. 前記通信管理部は、
    前記新たな第2制御データの優先度が、前記通信中の第2制御データの優先度よりも高いと、前記通信中の第2制御データの通信を一時停止して、前記新たな第2制御データの通信を実行させ、前記新たな第2制御データの通信の完了後に、時停止した前記通信中の第2制御データの通信を再開させる、
    請求項1、または2に記載の制御装置。
  4. 前記通信管理部は、
    前記新たな第2制御データのデータ容量が、前記サイクリック周期の1周期に確保された第2制御データ用の上限容量に達しなければ、前記通信中の第2制御データの前記通信用データを、前記新たな第2制御データと同じサイクリック周期にて通信させる、
    請求項3に記載の制御装置。
  5. 前記通信管理部は、
    前記第2制御データにおいて、前記複数の通信用データのそれぞれには、通信順を添付する、
    請求項乃至請求項4のいずれかに記載の制御装置。
  6. 請求項1乃至請求項5のいずれかに記載の制御装置と、
    前記制御装置に対して通信可能に接続されたロボット装置またはロボット制御装置と、を備え、
    前記第2制御データは、ロボット制御用のコマンド群を含む、
    制御システム。
  7. 予め設定されたサイクリック周期に準じて、第1制御データ、および第2制御データの通信を制御するサイクリック通信処理と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理処理と、
    を有し、
    前記第1制御データは、到達保証時間が前記サイクリック周期の1周期によって第1保証時間に決められたデータであり、
    前記第2制御データは、到達保証時間が前記サイクリック周期の1周期よりも長い第2保証時間に決められ、構成する情報の順序が決められたデータであり、
    前記通信管理処理は、
    前記第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きい場合、この第2制御データを複数の通信用データに分割して前記通信のスケジュールを管理し、
    通信中の第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きいとき、新たな第2制御データを取得すると、前記通信中の第2制御データ、および前記新たな第2制御データのそれぞれについて優先度を算出し、
    ここで算出した優先度に応じて、前記通信中の第2制御データ、および前記新たな第2制御データの通信の順序を決定し、
    さらに、前記通信中の第2制御データの優先度を、未送信であるデータの残容量と、現時点から到達保証時間までの残時間とを用いて算出し、
    前記新たな第2制御データの優先度を、データ容量と、現時点から到達保証時間までの残時間とを用いて算出する、
    制御方法。
  8. 予め設定されたサイクリック周期に準じて、第1制御データ、および第2制御データの通信を制御するサイクリック通信処理と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理処理と、
    情報処理装置に実行させ、
    前記第1制御データは、到達保証時間が前記サイクリック周期の1周期によって第1保証時間に決められたデータであり、
    前記第2制御データは、到達保証時間が前記サイクリック周期の1周期よりも長い第2保証時間に決められ、構成する情報の順序が決められたデータであり、
    前記通信管理処理では、
    前記第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きい場合、この第2制御データを複数の通信用データに分割して前記通信のスケジュールを管理し、
    通信中の第2制御データのデータ容量が前記サイクリック周期の1周期で通信可能なデータ容量よりも大きいとき、新たな第2制御データを取得すると、前記通信中の第2制御データ、および前記新たな第2制御データのそれぞれについて優先度を算出し、
    ここで算出した優先度に応じて、前記通信中の第2制御データ、および前記新たな第2制御データの通信の順序を決定し、
    さらに、前記通信中の第2制御データの優先度を、未送信であるデータの残容量と、現時点から到達保証時間までの残時間とを用いて算出し、
    前記新たな第2制御データの優先度を、データ容量と、現時点から到達保証時間までの残時間とを用いて算出する、
    御プログラム。
JP2018024088A 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム Active JP6977600B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018024088A JP6977600B2 (ja) 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム
US16/188,206 US10924406B2 (en) 2018-02-14 2018-11-12 Control device, control system, control method, and non-transitory computer-readable storage medium
CN201811352762.2A CN110161983B (zh) 2018-02-14 2018-11-14 控制装置、控制系统、控制方法以及存储介质
EP18206163.0A EP3528471B1 (en) 2018-02-14 2018-11-14 Control device, control system, control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018024088A JP6977600B2 (ja) 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム

Publications (2)

Publication Number Publication Date
JP2019139630A JP2019139630A (ja) 2019-08-22
JP6977600B2 true JP6977600B2 (ja) 2021-12-08

Family

ID=64331676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018024088A Active JP6977600B2 (ja) 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム

Country Status (4)

Country Link
US (1) US10924406B2 (ja)
EP (1) EP3528471B1 (ja)
JP (1) JP6977600B2 (ja)
CN (1) CN110161983B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7059673B2 (ja) * 2018-02-14 2022-04-26 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
WO2021131724A1 (ja) * 2019-12-25 2021-07-01 パナソニックIpマネジメント株式会社 通信装置、通信システム、通信制御方法、及びプログラム
JP7327225B2 (ja) * 2020-03-13 2023-08-16 オムロン株式会社 ロボット制御システムおよび制御方法
CN115428405B (zh) * 2020-04-24 2024-07-19 三菱电机株式会社 通信装置、通信系统、通信方法及记录介质
JP7603212B2 (ja) * 2020-07-22 2024-12-20 パナソニックIpマネジメント株式会社 通信装置、通信システム、通信制御方法、及びプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US4280285A (en) * 1977-05-09 1981-07-28 The Singer Company Simulator complex data transmission system having self-testing capabilities
US4484120A (en) * 1983-04-13 1984-11-20 Nordson Corporation Auxiliary function command presequencing for a robot controller
JP2528813B2 (ja) * 1985-05-10 1996-08-28 株式会社日立製作所 制御装置
US4799052A (en) * 1986-01-13 1989-01-17 General Electric Company Method for communicating data on a communication network by token passing
US4772831A (en) * 1986-11-20 1988-09-20 Unimation, Inc. Multiaxis robot control having improved continuous path operation
EP0852346B1 (en) * 1995-09-19 2002-01-16 Kabushiki Kaisha Yaskawa Denki Robot language processor
JP3369445B2 (ja) * 1997-09-22 2003-01-20 富士通株式会社 ネットワークサービスサーバ負荷調整装置、方法および記録媒体
US6496878B1 (en) * 1999-11-03 2002-12-17 International Business Machines Corporation Transfer progress alert module
US20020165643A1 (en) * 2001-05-04 2002-11-07 Bancroft Allen John Retail robot time share system
US7117067B2 (en) * 2002-04-16 2006-10-03 Irobot Corporation System and methods for adaptive control of robotic devices
DE10236392A1 (de) * 2002-08-08 2004-02-19 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
JP2004363782A (ja) * 2003-06-03 2004-12-24 Hitachi High-Technologies Corp 通信制御装置および通信制御方法
CN101088260A (zh) * 2004-12-28 2007-12-12 松下电器产业株式会社 通信装置、存储介质、集成电路以及通信系统
CN102763386B (zh) * 2010-02-18 2015-06-03 株式会社日立制作所 监控系统、装置及方法
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5523630B2 (ja) * 2011-06-09 2014-06-18 三菱電機株式会社 プログラマブルコントローラシステム
US8868234B2 (en) * 2011-07-01 2014-10-21 GM Global Technology Operations LLC Communication system and method
JP5817785B2 (ja) * 2013-05-29 2015-11-18 株式会社安川電機 産業用デバイス、コントローラ、データ転送方法及びデータ送信方法
JP2015207170A (ja) * 2014-04-21 2015-11-19 株式会社東芝 監視制御システム、監視制御装置、およびコントローラ装置
JP6275320B2 (ja) 2015-02-20 2018-02-07 三菱電機株式会社 通信装置、通信方法及びプログラム
JP6005307B1 (ja) * 2015-03-19 2016-10-12 三菱電機株式会社 通信装置およびネットワークシステム
WO2017046916A1 (ja) * 2015-09-17 2017-03-23 株式会社安川電機 産業機器の通信システム、通信方法、及び産業機器
CN106561014A (zh) * 2015-11-18 2017-04-12 天地融科技股份有限公司 数据传输方法和系统、主通讯设备和从通讯设备
US20170259433A1 (en) * 2016-03-11 2017-09-14 Seiko Epson Corporation Robot control device, information processing device, and robot system
JP6570742B2 (ja) * 2016-05-16 2019-09-04 三菱電機株式会社 ロボット動作評価装置、ロボット動作評価方法及びロボットシステム
WO2018003117A1 (ja) * 2016-07-01 2018-01-04 三菱電機株式会社 通信システムおよび通信方法
EP3367706B2 (en) * 2017-02-28 2024-01-10 KONE Corporation A method, a network node and a system for triggering a transmission of sensor data from a wireless device
JP6911791B2 (ja) * 2018-02-14 2021-07-28 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム

Also Published As

Publication number Publication date
EP3528471B1 (en) 2020-02-19
US20190253356A1 (en) 2019-08-15
JP2019139630A (ja) 2019-08-22
CN110161983B (zh) 2022-05-27
CN110161983A (zh) 2019-08-23
EP3528471A1 (en) 2019-08-21
US10924406B2 (en) 2021-02-16

Similar Documents

Publication Publication Date Title
JP6977600B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
JP6911791B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
CN109557890B (zh) 控制装置
JP7059673B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
US10356006B2 (en) Control system, development support apparatus, controller, and control method
CN103403633A (zh) 可编程控制器的中央处理器单元、可编程控制器用系统程序以及存储了可编程控制器用系统程序的记录介质
JP6981290B2 (ja) スレーブ装置、制御システム、レスポンスデータの通信方法、および、レスポンスデータの通信プログラム
CN111095138B (zh) 控制装置、控制装置的控制方法、信息处理程序及记录介质
CN107210942A (zh) 通信控制系统以及通信控制方法
EP3764175B1 (en) Control device and control system
CN105393241A (zh) 控制系统、主控站点以及远程站点
EP4036670A1 (en) Control device
KR102732904B1 (ko) 제어 장치
JP7396063B2 (ja) データ処理方法
JP2021026587A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6977600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150