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

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

Info

Publication number
JP2019140603A
JP2019140603A JP2018024087A JP2018024087A JP2019140603A JP 2019140603 A JP2019140603 A JP 2019140603A JP 2018024087 A JP2018024087 A JP 2018024087A JP 2018024087 A JP2018024087 A JP 2018024087A JP 2019140603 A JP2019140603 A JP 2019140603A
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.)
Granted
Application number
JP2018024087A
Other languages
English (en)
Other versions
JP6911791B2 (ja
Inventor
成憲 澤田
Shigenori Sawada
成憲 澤田
光宏 米田
Mitsuhiro Yoneda
光宏 米田
天兵 李
Tian Bing Li
天兵 李
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018024087A priority Critical patent/JP6911791B2/ja
Priority to EP18205575.6A priority patent/EP3528131A1/en
Priority to US16/188,191 priority patent/US20190253355A1/en
Priority to CN201811352747.8A priority patent/CN110161982B/zh
Publication of JP2019140603A publication Critical patent/JP2019140603A/ja
Application granted granted Critical
Publication of JP6911791B2 publication Critical patent/JP6911791B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • 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/41865Total 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 job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1215Master slave system
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15081Period length ratio between application and communication task is settable

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】制御データの容量が1回のサイクリック周期に基づく送信の最大容量よりも大きくても、受信側で制御データの構成を変化させることなく正確に受信できる。【解決手段】制御装置は、サイクリック通信部と通信管理部とを備える。サイクリック通信部は、第1制御データと第2制御データとの通信を制御する。第1制御データは、予め設定されたサイクリック周期によって第1保証時間での到達が保証される制御データである。第2制御データは、サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められている。通信管理部は、第2制御データのデータ容量が、サイクリック周期に基づく第2制御データ用の通信容量を超えると、第2制御データを複数の通信用データに分割する。通信管理部は、分割して通信することを示す識別子、データ容量、通信順を複数の通信用データのそれぞれに対して添付する。【選択図】図3

Description

この発明は、性能要求が異なる複数種類の制御データを互いに通信する制御装置と各種のスレーブ装置とを備える制御システムに関する。
現在、FA(ファクトリー オートメーション)システムが多く実用化されている。FAシステムは、制御装置と複数のスレーブ装置と備える。複数のスレーブ装置は、計測器、スイッチ、または、制御用ドライバ等であり、制御用ドライバには、制御対象機器が接続されている。
制御装置は、複数のスレーブ装置に対して、制御データを通信する。この際、制御装置は、複数のスレーブ装置に対して、制御データを、予め設定された制御周期(サイクリック周期)で順次通信する。これにより、制御データの送信のリアルタイム性を担保している。以下、この制御データを、サイクリック制御データと称する。
一方で、制御装置と複数のスレーブ装置との間で、サイクリック制御データとは別の情報系データを通信することがある。情報系データは、サイクリック制御データのように、サイクリック周期に必ず通信する必要は無いデータであり、容量も比較的大きい。特許文献1に示すシステムでは、この情報系データを分割して、複数のサイクリック周期に分けて通信している。
特開2004−363782号公報
現在、スレーブ装置として、ロボット装置、または、ロボット装置を制御するロボット制御装置が多く利用されようとしている。
しかしながら、ロボット装置またはロボット制御装置等に対して通信される制御データは、複数のコマンド等が含まれており、上記の従来のサイクリック制御データよりも大容量となることがある。以下、このロボット装置またはロボット制御装置等に対して通信される、従来のサイクリック制御データよりも大容量の制御データを、準制御データと称する。
このため、制御装置は、全ての準制御データを、サイクリック周期内に通信できないことがある。
一方で、準制御データは、含まれるコマンド等の順序が決められている。そして、ロボット装置またはロボット制御装置等のスレーブ装置がこの順序を間違うと、ロボット装置の誤動作等の問題を引き起こしてしまう。
また、ロボット装置またはロボット制御装置等に限らず、制御データの容量が1回のサイクリック周期に基づく通信の最大容量よりも大きく(上述の準制御データに相当し)、且つ、制御データ内のコマンド等の順が重要な他の通信においても同様の問題が生じてしまう。
したがって、本発明の目的は、制御データの容量が1回のサイクリック周期に基づく通信の最大容量よりも大きくても、受信側で制御データの構成を変化させることなく正確に受信できる制御データの通信技術を提供することにある。
本開示の一例によれば、制御装置は、サイクリック通信部と通信管理部とを備える。サイクリック通信部は、第1制御データと第2制御データとの通信を制御する。第1制御データは、予め設定されたサイクリック周期によって第1保証時間での到達が保証される制御データである。第2制御データは、サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められている。通信管理部は、第1制御データと第2制御データの通信のスケジュールを管理する。さらに、通信管理部は、第2制御データのデータ容量が、サイクリック周期と第1制御データのデータ容量に基づく第2制御データ用の通信容量を超えると、該第2制御データ用の通信容量に応じて第2制御データを複数の通信用データに分割する。通信管理部は、分割して通信することを示す識別子と、第2制御データのデータ容量と、分割による通信順と、を複数の通信用データのそれぞれに対して添付する。通信管理部は、複数の通信用データをサイクリック通信部に与える。
この構成では、サイクリック周期と第1制御データのデータ容量に基づく第2制御データ用の通信容量よりも第2制御データのデータ容量が大きくても、当該第2制御データは、該制御装置が接続されるスレーブ装置に確実に送信される。また、スレーブ装置では通信用データの順が把握でき、構成される情報の順を間違えることなく、第2制御データが復元される。
また、本開示の一例によれば、制御装置の通信管理部は、第2制御データが複数あると、複数の第2制御データ毎の第2保証時間、および、第2制御データ用の送信容量を用いて、複数の第2制御データ毎に分割を行い、サイクリック通信部に与える。
この構成では、第2制御データが複数の場合にも、複数の第2制御データのそれぞれが確実に通信され、スレーブ装置側で正確に復元される。
また、本開示の一例によれば、通信管理部は、複数の第2制御データからそれぞれに形成された通信用データを、同じサイクリック周期内で通信するようにサイクリック通信部に与える。
この構成では、データ容量の大きな複数の第2制御データが、時間的に略平行に通信される。
また、本開示の一例によれば、通信管理部は、複数の通信用データのそれぞれに対して、データ容量を添付して、サイクリック通信部に与える。
この構成では、複数の通信用データのそれぞれに対して、情報の欠落等の通信に関するエラーが確実に把握できる。
また、本開示の一例によれば、制御装置は、第1制御データおよび第2制御データとは異なり、時間保証がされていない情報系データの送受信を制御するメッセージ通信部を備える。通信管理部は、情報系データの通信容量も用いて、第2制御データの分割を行う。
この構成では、情報系データを通信しながら、第2制御データが確実に送信される。
また、本開示の一例によれば、制御システムは、上述のいずれかの制御装置と、制御装置に対して通信可能に接続されたロボット装置またはロボット制御装置と、を備える。第2制御データは、ロボット制御用のコマンド群を含む。
この構成では、FAシステムとしてロボット装置が含まれる場合に、当該ロボット装置に対して、複数のコマンドが、コマンドの順番も含めて、到達保証時間内に正確に通信される。これにより、ロボット装置の動作の遅れ、誤動作等の不具合が抑制される。
この発明によれば、制御データの容量が1回のサイクリック周期に基づく通信の最大容量よりも大きくても、受信側で制御データの構成を変化させることなく、制御データを正確に受信できる。
制御システムにおける装置の概略構成を示す図である。 制御装置のハードウェアの構成を示すブロック図である。 制御装置の機能ブロック図である。 (A)は、情報系データを含まない場合での制御装置の初期処理を示すフローチャートであり、(B)は、情報系データを含む場合での制御装置の初期処理を示すフローチャートである。 制御装置による第2制御データの分割、送信処理を示すフローチャートである。 通信データの概略構成を示す図である。 (A)は、第2制御データが分割された時のn1フレームのデータ構成を示す図であり、(B)は、第2制御データが分割された時のn2フレームのデータ構成を示す図であり、(C)は、第2制御データのデータ構成を示す図である。 第1制御データと第2制御データの通信時のデータ構成を示す図である。 第1制御データと第2制御データの通信時のデータ構成を示す図である。 第1制御データと第2制御データの通信時のデータ構成を示す図である。 複数の第2制御データを複数のフレームに割り当て分割する場合の処理の一例を示すフローチャートである。 複数の第2制御データをともに分割送信する場合の処理の一例を示すフローチャートである。 (A)、(B)は、分割送信する第2制御データと分割送信しない第2制御データとがある場合の処理の一例を示すフローチャートである。
以下、本発明の実施形態を、図を参照して説明する。
・適用例
まず、本発明の実施形態に係る制御装置の適用例について、図を用いて説明する。図3は、制御装置の機能ブロック図である。
図3に示すように、制御装置10は、通信管理部110、および、サイクリック通信部121を少なくとも備え、通信ドライバ130を備える。
通信管理部110は、第1制御系通信管理111、および、第2制御系通信管理112を実行する。また、通信管理部110は、第1制御系通信管理111、および、第2制御系通信管理112のスケジューリング、すなわち、後述する各種のデータの送受信のスケジューリングを実行する。
第1制御系通信管理111は、予め設定されたサイクリック周期に準じて、サイクリック周期毎に送受信される第1制御データの通信管理(スケジューリング)を実行する。第1制御データは、データ容量が小さな制御データであり、例えば、サーボ指令値、エンコーダ値、センサのオンオフ制御値等によって構成されている。第1制御データは、サイクリック周期によって規定される第1保証時間で送受信されるように時間保証された制御データである。
第2制御系通信管理112は、第1制御データとは異なる性能要求を有する第2制御データの通信管理(スケジューリング)を実行する。第2制御データは、データ容量が比較的大きな制御データであり、例えば、ロボット装置またはロボット制御装置に与えられるコマンド群等によって構成されている。第2制御データは、サイクリック周期の1周期よりも長い到達保証時間で通信完了するように定義された制御データである。第2制御データには、第1制御データに対して、データ容量が大きなデータがあり、例えば、サイクリック周期の1周期で通信可能なデータ容量よりも大容量のデータがある。
通信管理部110は、第1制御データと第2制御データとを、サイクリック通信部121に与える。
この構成において、通信管理部110は、サイクリック周期と第1制御データのデータ容量と基づいて、サイクリック周期の1周期で送信可能な第2制御データの最大容量(送信容量)を決定する。通信管理部110は、第2制御データのデータ容量が送信容量よりも大きければ、第2制御データを複数の通信用データに分割する。複数の通信用データのそれぞれのデータ容量は、送信容量よりも小さい。
通信管理部110は、分割して送信することを示す識別子(後述のフラグメントID(図7参照))と、第2制御データのデータ容量(後述の総データサイズ(図7参照))と、分割による送信順(後述のフラグメントIDが兼用(図7参照))と、を複数の通信用データのそれぞれに対して添付して、複数の通信用データを生成し、第2制御系通信管理112で管理する。そして、第2制御系通信管理112は、スケジューリングにしたがって、サイクリック周期に応じて、複数の通信用データのそれぞれを順にサイクリック通信部121に出力する。
サイクリック通信部121は、第1制御データと第2制御データ(各通信用データ)とを通信用のデータ形式に変換し、通信ドライバ130に出力する。通信ドライバ130は、後述の制御用ネットワークを介して接続されるスレーブ装置に、第1制御データ、および、第2制御データ(各通信用データ)を、サイクリック周期に準じて送信する。
このような構成および処理を用いることによって、第2制御データの容量が、1回のサイクリック周期に基づく第2制御データ用の送信容量よりも大きくても、第2制御データに対する時間保証を実現しながら、第2制御データを正確にスレーブ装置に送信できる。さらに、スレーブ装置は、第2制御データを、構成される情報の順を間違えることなく復元できる。
・構成例
本発明の実施形態に係る制御装置、制御システム、制御方法、および、制御プログラムについて、図を参照して説明する。本実施形態では、制御システムとして、FA(ファクトリー オートメーション)システムを例に説明する。
図1は、制御システムにおける装置の概略構成を示す図である。図1に示すように、制御システム1は、制御装置10、スレーブ装置211、スレーブ装置212、スレーブ装置221、制御用ネットワーク30、情報通信用ネットワーク60、パーソナルコンピュータ61、産業用パーソナルコンピュータ62、および、データベース装置63を備える。
(データ定義)
まず、各データの定義について説明する。
第1制御データは、制御用ネットワーク30に用いられるサイクリック周期(例えば、10msec以下)の1周期によって到達保証時間(第1保証時間)が決められている。第1制御データは、1ビットから数十バイトの制御データ群によって構成されている。到達保証時間とは、例えば、対象のスレーブ装置が正常に動作するために制御データが到達していなければいけない最も長い(遅い)時間である。
第2制御データは、サイクリック周期の1周期よりも長い到達保証時間(第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は、具体的には、例えば、ロボット装置またはロボット装置に接続されるロボット制御装置によって実現される。なお、スレーブ装置221は、第2制御データで動作する装置であれば、他の装置であってもよい。
制御装置10、スレーブ装置211、スレーブ装置212、および、スレーブ装置221は、第1制御データ、第2制御データ、および、情報系データの送受信をスケジューリングする。制御装置10、スレーブ装置211、スレーブ装置212、および、スレーブ装置221は、このスケジュールに応じて、サイクリック周期に準じて、第1制御データ、および、第2制御データを通信する。
この際、上述のように、制御装置10は、サイクリック周期の1周期で通信可能な第2制御データの最大容量(送信容量)に対して第2制御データのデータ容量が大きければ、第2制御データを複数の通信用データに分割する。そして、制御装置10は、複数の通信用データを、複数のサイクリック周期に割り当てて通信する。なお、制御装置10は、この分割処理を、スレーブ装置毎に実行する。
(制御装置のハードウェア構成)
図2は、制御装置のハードウェアの構成を示すブロック図である。
図2に示すように、ハードウェアの構成として、制御装置10は、CPU101、メモリ102、記憶媒体103、送受信部104、および、上位通信部105を備える。制御装置10は、CPU101、メモリ102、記憶媒体103、送受信部104、および、上位通信部105は、データバス100によって接続されている。
CPU101は、記憶媒体に103に記憶されているシステムプログラム、および、ユーザアプリケーションプログラムをメモリ102に読み出して実行することで、後述の各機能ブロックの各処理を実現する。メモリ102は、例えば、DRAMやSRAM等の揮発性記憶素子によって実現される。また、記憶媒体103は、例えば、磁気記憶媒体、フラッシュメモリ等の不揮発性記憶媒体によって実現される。
送受信部104は、制御装置10における制御用ネットワーク30のインターフェースであり、サイクリック周期に準じた第1制御データ、および、第2制御データの送受信(通信)を実行する。また、送受信部104は、例えば、サイクリック周期の1周期における第1制御データおよび第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周期に対する各スレーブ装置の通信帯域を割り当てる(図6参照)。
上述のように、第1制御系通信管理111は、予め設定されたサイクリック周期に準じて、サイクリック周期毎に通信される第1制御データの通信管理を実行する。
第2制御系通信管理112は、第2制御データの通信管理を実行する。この際、第2制御系通信管理112は、サイクリック周期の1周期で送信可能な第2制御データの最大容量(通信容量)よりも、第2制御データのデータ容量が大きければ、第2制御データを複数の通信用データに分割する。そして、第2制御系通信管理112は、複数の通信用データの単位で通信管理を実行する。
情報系通信管理113は、情報系データの通信管理を実行する。この際、情報系データも、サイクリック周期の1周期で通信可能な情報系データの最大容量(送信容量)よりも、情報系データのデータ容量が大きければ、複数のデータに分割する。そして、情報系通信管理113は、分割された複数のデータの単位で通信管理を実行する。
通信管理部110は、送受信(通信)のスケジュールにしたがって、第1制御データと第2制御データとを、サイクリック通信部121に与える。この際、通信管理部110は、第2制御データが複数の通信用データに分割されていれば、複数の通信用データ毎に、サイクリック通信部121に与える。
通信管理部110は、送受信のスケジュールにしたがって、情報系データを、メッセージ通信部122に与える。この際、通信管理部110は、情報系データが複数のデータに分割されていれば、分割された複数のデータ毎に、メッセージ通信部122に与える。
サイクリック通信部121は、第1制御データおよび第2制御データを、制御用ネットワーク30のデータ形式に変換する。サイクリック通信部121は、変換後の第1制御データおよび第2制御データを通信管理部110から与えられた送受信のスケジュールにしたがって、通信ドライバ130に出力する。
メッセージ通信部122は、情報系データを、通信管理部110から与えられた送受信のスケジュールにしたがって、通信ドライバ130に出力する。
通信ドライバ130は、送受信部104の制御を実行し、サイクリック周期に準じて、第1制御データ、および、第2制御データを、制御用ネットワーク30を介して通信する。この際、第2制御データが複数の通信用データに分割されていれば、複数の通信用データが、サイクリック周期に準じて、順次通信される。同様に、情報系データが複数のデータに分割されていれば、分割された複数のデータが、順次通信される。
なお、ユーザアプリケーション処理部141は、上述のユーザアプリケーションプログラムを実行する。このユーザアプリケーション処理部141によって、産業用パーソナルコンピュータ62からの第2制御データを取得する。その他処理部142は、例えば、制御装置10の起動処理や制御用ネットワーク30を用いた制御の初期処理等を実行する。
(具体的な通信処理)
このような構成において、第1制御データ、および、第2制御データの送信は、制御装置10(通信管理部110)によって図4(A)、図4(B)、および、図5に示す制御フローを実行することによって実現される。図4(A)は、情報系データを含まない場合での制御装置の初期処理を示すフローチャートであり、(B)は、情報系データを含む場合での制御装置の初期処理を示すフローチャートである。図5は、制御装置による第2制御データの分割、送信処理を示すフローチャートである。図6は、通信データの概略構成を示す図である。なお、図6では、第2制御データの通信対象のスレーブ装置の個数が1個の例を示している。また、図6は、図1に示すシステム構成の場合のデータ構成例を示している。
まず、図6を用いて、フレームデータの構成を説明する。図6に示すように、フレームデータは、先頭から、制御データ用のヘッダ、スレーブ装置211に対する第1制御データD01、スレーブ装置212に対する第1制御データD02、スレーブ装置221に対する第1制御データD1、スレーブ装置221に対する第2制御データD21、制御データ用のフッタ、情報系データ用のヘッダ、情報系データDi、情報系データ用のフッタの順に並ぶデータによって構成されている。また、図6では、フレームデータには、制御データ用のフッタと情報系データ用のヘッダとの間、および、情報系データ用のヘッダの後に、データの衝突回避用の待機時間Dtに対応する空データ領域が設定されている。この待機時間Dtは、設定することが好ましいが、省略することも可能である。そして、このような構成からなるフレームデータによって、サイクリック周期の1周期における通信が実行される。
次に、スレーブ装置221に対する第2制御データの分割が必要な場合の具体的な処理を説明する。
(A 情報系データを通信しない場合)
情報系データの通信時間を設定しない場合での第2制御データの分割処理の初期処理について、図4(A)を用いて説明する。
まず、制御装置10は、通信対象のスレーブ装置の個数、種類に基づいて、サイクリック周期の1周期に対する各スレーブ装置の通信帯域を割り当てる。制御装置10は、第1制御データの通信容量を算出する(S11)。具体的には、制御装置10は、制御用ネットワーク30を介して接続されるスレーブ装置211、スレーブ装置212、および、スレーブ装置221に与える全ての第1制御データを抽出する。これらは、パーソナルコンピュータ61からの制御プログラムに基づいて抽出および算出できる。
制御装置10は、サイクリック周期の1周期に含まれる第2制御データを通信する各スレーブ装置に対する第2制御データ用の空き容量を算出する(S12)。空き容量とは、TDMAであれば、サイクリック周期の1周期(図6のTCy)における第2制御データを通信する各スレーブ装置の通信帯域から第1制御データの通信容量(図6のtc1に対応する容量)を除く容量である。したがって、制御装置10は、サイクリック周期の1周期において第2制御データを通信する各スレーブ装置の通信可能な上限の容量から第1制御データの通信容量を減算することによって、空き容量を算出する。
制御装置10は、第2制御データの性能要求を取得する(S13)。第2制御データの性能要求とは、第2制御データの到達保証時間を含んでいる。これの性能要求は、産業用パーソナルコンピュータ62からの制御プログラム(例えば、ロボット用制御プログラム)等に基づいて取得できる。
制御装置10は、空き容量、および、性能要求に基づいて、第2制御データを通信する各スレーブ装置に対する第2制御データの通信上限容量DSfを設定する(S14)。通信上限容量DSfは、サイクリック周期の1周期においてそれぞれのスレーブ装置が第2制御データを通信可能な最大容量に対応する。具体的には、制御装置10は、例えば、性能要求が満たされるのであれば、空き容量を通信上限容量DSfに設定する。
(B 情報系データを通信する場合)
情報系データの通信時間を設定する場合での第2制御データの分割処理の初期処理について、図4(B)を用いて説明する。なお、図4(A)と同じ処理は説明を簡略化する。
まず、制御装置10は、通信対象のスレーブ装置の個数、種類に基づいて、サイクリック周期の1周期に対する各スレーブ装置の制御データ用の通信帯域を割り当てる。この際、制御装置10は、情報系データの通信容量を設定し(S15)、この情報系データの通信容量も加味して、各スレーブ装置の制御データ用の通信帯域を割り当てる。制御装置10は、第1制御データの通信容量を算出する(S11)。制御装置10は、サイクリック周期の1周期(図6のTCy)に含まれる空き容量を算出する(S12)。制御装置10は、第2制御データの性能要求を取得する(S13)。
制御装置10は、情報系データの通信容量を設定する(S15)。情報系データの通信容量は、例えば、パーソナルコンピュータ61やデータベース装置63等からの指示を受けることによって設定可能である。
制御装置10は、空き容量、性能要求、および、情報系データの通信容量に基づいて、サイクリック周期の1周期において第2制御データを送信可能な容量に対応する通信上限容量DSfを設定する(S16)。
なお、上述の(A)、(B)に示す初期処理では、制御装置10は、算出した空き容量では第2制御データの性能要求が満たされないのであれば、警告を発生する。例えば、具体的には、制御装置10は、算出した空き容量から第2制御データの分割数を算出し、当該分割数から、第2制御データの通信完了の予定時間を算出する。制御装置10は、性能要求に基づく到達保証時間よりも通信完了の予定時間が長ければ、性能要求が満たされないと判定し、警告を発生する。
次に、制御システムの稼働中における通信管理処理について、図5、図6を用いて説明する。
制御装置10は、第2制御データD2を取得する(S21)。制御装置10は、第2制御データD2のデータ容量DSuを算出する(S22)。
制御装置10は、データ容量DSuが通信上限容量DSfよりも大きければ(S23:YES)、制御装置10は、第2制御データD2を、通信上限容量DSfに基づいて分割して、複数の通信用データ(本発明の通信用データの一態様に対応する。)を生成する(S24)。この際、例えば、制御装置10は、第2制御データD2を先頭のビットから通信上限容量DSfに対応するビット容量毎に順次分割して、複数の通信用データを生成する。
制御装置10は、複数の通信用データを、サイクリック周期に準じて送信する(S25)。制御装置10は、全ての通信用データが送信されるまで(S26:NO)、通信用データの送信を、サイクリック周期に準じて繰り返し実行する(S25)。この際、制御装置10は、第2制御データD2の先頭ビット側から順に、通信用データを送信する。
制御装置10は、第2制御データD2を構成する全ての通信用データを送信すると(S26:YES)、処理を終了する。
一方、制御装置10は、データ容量DSuが通信上限容量DSf以下であれば(S23:NO)、第2制御データD2をそのまま送信する(S27)。
このような処理を行うことによって、例えば、図6に示すようなデータ構成で、第1制御データと第2制御データとが送信される。なお、図6では、3個のフレームを例にしており、第1フレームFRAME1と第2フレームFRAME2を用いて第2制御データD21を送信し、第3フレームFRAME3を用いて、別の第2制御データD22を送信する例を示している。
図6の例では、第2制御データD21のデータ容量DSu21は、通信上限容量DSfを超えるので、第2制御データD21は、分割される。この際、第2制御データD21は、先頭ビット側の通信上限容量DSfに対応するデータ容量分が第1の通信用データD21−1となり、残りのデータ容量分が第2の通信用データD21−2となる。一方、第2制御データD22のデータ容量DSu22は、通信上限容量DSfを超えないので、第2制御データD22は、分割されない。
制御装置10は、第1フレームFRAME1において、第1制御データD1と、第2制御データD21の通信用データD21−1とを順に、サイクリック周期(Tcy)内で送信する。
次に、制御装置10は、第2フレームFRAME2において、第1制御データD1と、第2制御データD21の通信用データD21−2とを順に、サイクリック周期(Tcy)内で送信する。これにより、第2制御データD21の送信は完了する。
次に、制御装置10は、第3フレームFRAME3において、第1制御データD1と、第2制御データD22とを順に、サイクリック周期(Tcy)内で送信する。
なお、第2制御データD21と第2制御データD22との送信順は、この順に限らなくてもよい。例えば、制御装置10は、第2制御データD21と第2制御データD22との到達保証時間を比較し、到達保証時間が短い第2制御データを先に送信すればよい。
このような処理を行うことによって、サイクリック周期に基づく通信上限容量DSfよりも大きな容量の第2制御データを確実に送信できる。
(第2制御データの通信時のデータ構成)
・第2制御データを分割して送信する場合
図7(A)は、第1制御データと第2制御データの通信時のデータ構成を示す図であり、図7(B)は、図7(A)に示す第2制御データの通信前のデータ構成を示す図である。
まず、図7(B)に示すように、第2制御データD2は、リクエストデータとして、コマンドタイプ、コマンドID、および、アーギュメントAn等を含み、先頭ビットからこの順に並ぶデータである。アーギュメントAnは、実際に制御に用いるコマンド群を含み、コマンドタイプ、および、コマンドIDは、アーギュメントAnに記載されているコマンド群の識別のためのデータである。なお、ここでは、リクエストデータを例に説明しているが、リクエストデータに対するレスポンスデータに対しても適用できる。そして、リクエストデータおよびレスポンスデータは、上述のデータ構成に限るものではなく、任意に定義することができる。
この第2制御データD2のデータ容量が通信上限容量DSfを超えれば、図7(A)に示すように、分割された第2制御データ(通信用データ)D2−1、D2−2が生成される。そして、フレームFRAMEn1、FRAMEn2は、第1制御データD1と、分割された第2制御データ(通信用データ)D2−1とによって構成され、フレームFRAMEn2は、第1制御データD1と、分割された第2制御データ(通信用データ)D2−2とによって構成される。
フレームFRAMEn1の第2制御データ(通信用データ)D2−1は、フォーマットID、トランザクションID、総データサイズ、フラグメントID、フラグメントデータサイズ、および、リクエストデータを含み、先頭ビットからこの順で並ぶデータである。
フレームFRAMEn2の第2制御データ(通信用データ)D2−2も、フォーマットID、トランザクションID、総データサイズ、フラグメントID、フラグメントデータサイズ、および、リクエストデータを含み、先頭ビットからこの順で並ぶデータである。
フォーマットIDは、第2制御データのデータフォーマットの識別データである。フォーマットIDによって、以下に示す第2制御データのデータフォーマットを識別できる。
トランザクションIDは、第2制御データを示す識別データである。複数のフレームの第2制御データのトランザクションIDを比較することによって、これら複数のフレームの第2制御データが同じ第2制御データに基づくものであるか否かを判定できる。すなわち、複数のフレームの第2制御データ(通信用データ)のトランザクションIDが同じであれば、これらの第2制御データ(通信用データ)が、1つの第2制御データに基づくものであることを判定できる。
総データサイズは、1つの第2制御データの総データ容量を示している。すなわち、総データサイズは、第2制御データが複数の通信用データに分割されている場合に、複数の通信用データのデータ容量の総和によって表されている。例えば、図6(A)の場合であれば、第2制御データの総データ容量がVnであることが分かる。一方、第2制御データが分割されていなければ、当該フレームに含まれる第2制御データのデータ容量によって表されている。これにより、第2制御データの総データ容量を検出できる。
そして、このような総データサイズを添付することによって、スレーブ装置221は、復元時に、第2制御データの受信エラーを検出できる。すなわち、スレーブ装置221は、フレームFRAMEn1のリクエストデータを復元して、データ容量Vn1を算出し、フレームFRAMEn2のリクエストデータを復元して、データ容量Vn2を算出する。スレーブ装置221は、データ容量Vn1とデータ容量Vn2とを加算して、総データ容量Vnに一致すればデータの受信が成功したことを検出でき、一致しなければデータの受信エラーを検出できる。
フラグメントIDは、分割された第2制御データD2における順番を示す識別データである。すなわち、フラグメントIDによって、そのフレームの第2制御データ(通信用データ)が、通信前の第2制御データを分割した後の何番目のデータであることを識別できる。例えば、図6(A)の例であれば、FRAMEn1では、フラグメントID=0であり、分割された最初の通信用データであることを識別できる。FRAMEn2では、フラグメントID=1であり、分割された2番目の通信用データであることを識別できる。
ここで、フレームFRAMEn1のリクエストデータは、コマンドタイプ、コマンドID、および、アーギュメントAn1からなり、この順に並ぶデータである。フレームFRAMEn2のリクエストデータは、アーギュメントAn2からなり、この順に並ぶデータである。図7(B)に示すように、アーギュメントAn1は、アーギュメントAnにおけるコマンドIDに続く部分のデータであり、アーギュメントAn2は、アーギュメントAn1に続く部分のでーたである。すなわち、通信時のリクエストデータは、先頭ビットからのデータの並びを変えることなく、通信上限容量DSfに基づいて分割することによって生成されている。
したがって、スレーブ装置221は、これらのフレームFRAMEn1、FRAMEn2の通信データを受けて解析し、フラグメントIDの順にリクエストデータを並べることで、通信前、すなわち、分割前の第2制御データを、確実且つ正確に復元できる。これにより、スレーブ装置221は、第2制御データに含まれるコマンド群の順を間違えることなく復元でき、ロボット装置の誤動作等を確実に抑制できる。また、スレーブ装置221は、フラグメントIDの部分的な欠落を検出することによって、データの欠落を検出でき、制御装置10に対して、再送信要求を行うことができる。
フラグメントサイズは、そのフレーム内の第2制御データ(通信用データ)のデータ容量を示している。例えば、図6(A)の例であれば、FRAMEn1では、フラグメントサイズ=Vn1であり、分割された最初の通信用データのデータ容量がVn1であることを識別できる。FRAMEn2では、フラグメントサイズ=Vn2であり、分割された2番目の通信用データのデータ容量がVn2であることを識別できる。このようなフラグメントサイズを添付した場合、スレーブ装置221は、受信したリクエストデータのデータ容量を算出し、フラグメントサイズを比較するで、受信エラーを検出できる。
・第2制御データを分割せずに送信する場合
(1)1フレームに1個の第2制御データを送信する場合
図8は、第1制御データと第2制御データの通信時のデータ構成を示す図である。図8に示す例では、第2制御データのデータ容量が通信上限容量DSfよりも小さく、1フレームで1個の第2制御データを送信する場合を示している。なお、図7(A)、図7(B)に示す例と同じ箇所の説明は、簡略化する。
第2制御データのデータ容量が通信上限容量DSfよりも少なければ、図8に示すように、第2制御データがそのまま送信される。
第2制御データ(通信用データ)は、フォーマットID、トランザクションID、総データサイズ、および、リクエストデータを含み、先頭ビットからこの順で並ぶデータである。
(2)1フレームに複数の第2制御データを送信する場合
図9は、第1制御データと第2制御データの通信時のデータ構成を示す図である。図9に示す例では、第2制御データのデータ容量が通信上限容量DSfよりも小さく、1フレームで2個の第2制御データを送信する場合を示している。なお、図8に示す例と同じ箇所の説明は、簡略化する。
複数の第2制御データのデータ容量がそれぞれに通信上限容量DSfよりも少なく、且つ、複数の第2制御データのデータ容量の総和が通信上限容量DSfよりも少なくければ、図9に示すように、複数の第2制御データが1フレームで送信される。
この際、複数の第2制御データには、異なるトランザクションIDが割り付けられる。これにより、データが連続していても、複数の第2制御データをそれぞれに識別できる。
そして、これらのように、第2制御データD22が分割されない場合、フラグメントIDおよびフラグメントサイズは、省略される。これにより、通信時の第2制御データD22の省データ化が可能になる。また、一方で、フラグメントIDおよびフラグメントサイズがないことによって、スレーブ装置221は、第2制御データD22が分割されていないことを検出できる。
・複数の第2制御データを分割して送信する場合
図10は、第1制御データと第2制御データの通信時のデータ構成を示す図である。図10に示す例では、2個の第2制御データのデータ容量が通信上限容量DSfよりも小さく、1個の第2制御データのデータ容量が通信上限容量DSfを超える例を示している。また、図10では、1フレームで2個の第2制御データを送信する場合を示している。なお、上述の例と同じ箇所の説明は、簡略化する。
図10に示す例では、トランザクションIDにM、Kを割り当てた第2制御データのデータ容量が通信上限容量DSfよりも小さく、トランザクションIDにNを割り当てた第2制御データのデータ容量が通信上限容量DSfを超える場合を示している。
図10に示す例では、フレームFRAMEn1にて、トランザクションID=Mの第2制御データと、トランザクションID=Nの第2制御データに基づく第1の通信用データとが送信される。フレームFRAMEn1に続くフレームFRAMEn2にて、トランザクションID=Kの第2制御データと、トランザクションID=Nの第2制御データに基づく第1の通信用データに続く第2の通信用データとが送信される。
このような場合でも、トランザクションIDによって第2制御データを個別に識別でき、且つ、フラグメントIDによって、1個の第2制御データを構成する複数の通信用データを個別に識別できる。また、フラグメントIDによって、分割された複数の通信用データから、元の第2制御データを容易に復元できる。
なお、図10に示す第2制御データの組合せは一例であり、例えば、通信上限容量DSfに基づいて、空き時間が少なくなるように、複数の第2制御データの組合せを決定してもよい。
また、次の方法を用いてもよい。分割の必要が無い第2制御データを各フレームに割り当て、割り当て後に、再度空き時間を算出する。そして、分割の必要がある第2の制御データを、再度算出した空き時間に応じて分割する。
また、さらに次に示すように、分割の有無を判別し、各フレームの第2制御データの割り当てを動的に決定してもよい。
図11は、複数の第2制御データを複数のフレームに割り当て分割する場合の処理の一例を示すフローチャートである。なお、図11では、2個の第2制御データに対する処理を示すが、この概念を用いることによって、3個以上の場合も、適宜割り当てが可能になる。
まず、制御装置10は、2個の第2制御データD21、D22を取得する(S31)。制御装置10は、第2制御データD21のデータ容量DSu1および第2制御データD21のデータ容量DSu2を算出する(S32)。
制御装置10は、データ容量DSu1とデータ容量DSu2との加算値が通信上限容量DSf以下であれば(S33:NO)、1フレームにて、第2制御データD21と第2制御データD22とを送信する(S41)。
制御装置10は、データ容量DSu1とデータ容量DSu2との加算値が通信上限容量DSfを超えていれば(S33:YES)、データ容量DSu1またはデータ容量DSu2と通信上限容量DSfとを比較する。
制御装置10は、データ容量DSu1およびデータ容量DSu2が通信上限容量DSfをともに超えていれば(S34:YES、S35:YES)、第2制御データD21と、第2制御データD22とをともに分割して送信する(S36)。
制御装置10は、データ容量DSu1が通信上限容量DSfを超えており(S34:YES)、データ容量DSu2が通信上限容量DSfを超えていなければ(S35:NO)、先に、分割の必要が無い第2制御データD22を送信する(S42)。その後、制御装置10は、第2制御データD21を分割して送信する(S42)。
制御装置10は、データ容量DSu1が通信上限容量DSfを超えておらず(S34:NO)、データ容量DSu2が通信上限容量DSfを超えていれば、先に、分割の必要が無い第2制御データD21を送信する(S44)。その後、制御装置10は、第2制御データD22を分割して送信する(S44)。
なお、上述の処理では、分割の必要が無い第2制御データを先に送信し、これに続いて、分割の必要がある第2制御データを分割送信している。これにより、分割の必要が無い第2制御データを、より簡素な処理で複数の第2制御データの送信を完了できるのでよい。すなわち、送信完了の必要がある複数の第2制御データがある時に、分割の必要がない第2制御データを先に送信完了させておくことで、その後に、分割の必要がある第2制御データを単純に分割して送信するだけでよい。
しかしながら、複数の第2制御データのそれぞれの性能要求等を比較して、例えば、分割の必要がある第2制御データを先に送信することが好ましければ、分割の必要がある第2制御データを先に送信して、その後に、分割の必要が無い第2制御データを送信してもよい。また、分割の必要がある第2制御データの途中に、分割の必要が無い第2制御データの送信を行ってもよい。
・複数の第2制御データの分割送信
図12は、複数の第2制御データをともに分割送信する場合の処理の一例を示すフローチャートである。
制御装置10は、第2制御データD21と第2制御データD22との性能要求を比較する(S361)。具体的には、制御装置10は、第2制御データD21の到達保証時間と第2制御データD22との到達保証時間を比較する。
制御装置10は、第2制御データD21と第2制御データD22との性能要求が同等であれば(S362:YES)、1サイクリック周期に対して第2制御データD21と第2制御データD22とに対して、データ容量に応じた同等の通信帯域(通信上限容量)を割り当て、第2制御データD21と第2制御データD22とをそれぞれに分割して送信する(S363)。なお、ここでいう同等とは、第2制御データD21が全て送信される時間と第2制御データD22が全て送信される時間とが同じになることを意味する。制御装置10は、第2制御データD21と第2制御データD22との全データが送信されるまで、分割送信を繰り返し(S364:NO)、全データが送信されると(S364:YES)、処理を終了する。
制御装置10は、第2制御データD21が優先であれば(S362:NO、S365:YES)、1サイクリック周期に対して第2制御データD21に対して、通信帯域(通信上限容量)を優先的に割り当て、第2制御データD21と第2制御データD22とをそれぞれに分割して送信する(S366)。制御装置10は、第2制御データD21と第2制御データD22との全データが送信されるまで、分割送信を繰り返し(S367:NO)、全データが送信されると(S367:YES)、処理を終了する。この際、制御装置10は、第2制御データD21の全てのデータの送信が終了したことを検出すると、残りにフレームに対しては、第2制御データD22の通信帯域に対して、第2制御データD21に割り当てた通信帯域を加算して送信するとよい。これにより、第2制御データD22の送信終了を早くできる。
制御装置10は、第2制御データD22が優先であれば(S362:NO、S365:NO)、1サイクリック周期に対して第2制御データD22に対して、通信帯域(通信上限容量)を優先的に割り当て、第2制御データD21と第2制御データD22とをそれぞれに分割して送信する(S368)。制御装置10は、第2制御データD21と第2制御データD22との全データが送信されるまで、分割送信を繰り返し(S369:NO)、全データが送信されると(S369:YES)、処理を終了する。この際、制御装置10は、第2制御データD22の全てのデータの送信が終了したことを検出すると、残りにフレームに対しては、第2制御データD21の通信帯域に対して、第2制御データD22に割り当てた通信帯域を加算して送信するとよい。これにより、第2制御データD21の送信終了を早くできる。
・分割送信する第2制御データと分割送信しない第2制御データとの送信
図13(A)、図13(B)は、分割送信する第2制御データと分割送信しない第2制御データとがある場合の処理の一例を示すフローチャートである。図13(A)は、第2制御データD22を分割せず、第2制御データD21を分割する場合(図11のステップS42の場合)を示し、図13(B)は、第2制御データD21を分割せず、第2制御データD22を分割する場合(図11のステップS44の場合)を示す。
図13(A)に示すように、第2制御データD22を分割せず、第2制御データD21を分割する場合、制御装置10は、第2制御データD22に1サイクリック周期内の通信帯域を割り当てる(S421)。制御装置10は、通信上限容量DSfと第2制御データD22のデータ容量とから、当該サイクリック周期における第2制御データD21の通信上限容量DSf’を算出する。具体的には、制御装置10は、通信上限容量DSfから第2制御データD22のデータ容量(時間単位)を減算することによって、通信上限容量DSF’を算出する。制御装置10は、再算出した通信上限容量DSf’に基づいて、第2制御データD21を分割する(S422)。制御装置10は、分割した第2制御データD21の最初の通信用データを、第2制御データD22と同じサイクリック周期で送信する(S423)。
制御装置10は、以降のサイクリック周期では、通信上限容量DSfに基づいて、第2制御データD21を順次分割し(S424)、サイクリック周期の準じて送信する(S425)。制御装置10は、第2制御データD21の全データが送信されるまで、分割送信を繰り返し(S426:NO)、全データが送信されると(S426:YES)、処理を終了する。
図13(B)に示すように、第2制御データD21を分割せず、第2制御データD22を分割する場合、制御装置10は、第2制御データD21に1サイクリック周期内の通信帯域を割り当てる(S441)。制御装置10は、通信上限容量DSfと第2制御データD21のデータ容量とから、当該サイクリック周期における第2制御データD22の通信上限容量DSf”を算出する。具体的には、制御装置10は、通信上限容量DSfから第2制御データD21のデータ容量(時間単位)を減算することによって、通信上限容量DSF”を算出する。制御装置10は、再算出した通信上限容量DSf”に基づいて、第2制御データD22を分割する(S442)。制御装置10は、分割した第2制御データD22の最初の通信用データを、第2制御データD21と同じサイクリック周期で送信する(S443)。
制御装置10は、以降のサイクリック周期では、通信上限容量DSfに基づいて、第2制御データD22を順次分割し(S444)、サイクリック周期の準じて送信する(S445)。制御装置10は、第2制御データD22の全データが送信されるまで、分割送信を繰り返し(S446:NO)、全データが送信されると(S446:YES)、処理を終了する。
なお、上述の説明では、FAシステムを例に説明したが、サイクリック周期を用いて時間保証のデータと、サイクリック周期よりも長い時間保証を有し、サイクリック周期に基づくデータ容量よりも大きなデータ容量からなるデータとを送信する他のシステムであっても、上述の構成および処理を適用し、上述の作用効果を得ることができる。
また、上述の説明では、説明を容易にするために、制御用ネットワーク30を介して、制御装置10から、スレーブ装置211、スレーブ装置212、および、スレーブ装置221にデータを送信することを主として記載した。しかしながら、各データには、スレーブ装置211、スレーブ装置212、および、スレーブ装置221から制御装置10に送信、返信するデータもあり、これらのデータについても、上述の処理を適用でき、上述の作用効果を奏することができる。すなわち、制御用ネットワーク30で通信される第2制御データについては、上述の処理を適用でき、上述の作用効果を奏することができる。例えば、ロボット装置に対する第2制御データとしては、制御装置10からスレーブ装置221に送信するデータとしては、ログデータの取得コマンドを含み、スレーブ装置221から制御装置10に送信(返信)するデータとしては、この取得コマンドに対応したロギングデータ(例えば、数十秒間分のモータの角度データ等)を含む。
また、上述の説明では、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:スレーブ装置

Claims (8)

  1. 予め設定されたサイクリック周期によって第1保証時間での到達が保証される第1制御データと、前記サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められた第2制御データと、の通信を制御するサイクリック通信部と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理部と、
    を備え、
    前記通信管理部は、
    前記第2制御データのデータ容量が、前記サイクリック周期と前記第1制御データのデータ容量に基づく第2制御データ用の送信容量を超えると、該第2制御データ用の送信容量に応じて前記第2制御データを複数の通信用データに分割し、
    分割して通信することを示す識別子と、前記第2制御データのデータ容量と、分割による通信順とを前記複数の通信用データのそれぞれに対して添付し、該複数の通信用データを前記サイクリック通信部に与える、
    制御装置。
  2. 前記通信管理部は、
    前記第2制御データが複数あると、
    前記複数の第2制御データ毎の前記第2保証時間、および、前記第2制御データ用の通信容量を用いて、前記複数の第2制御データ毎に分割を行い、前記サイクリック通信部に与える、
    請求項1に記載の制御装置。
  3. 前記通信管理部は、
    前記複数の第2制御データからそれぞれに形成された前記通信用データを、同じサイクリック周期内で通信するように前記サイクリック通信部に与える、
    請求項2に記載の制御装置。
  4. 前記通信管理部は、
    前記複数の通信用データのそれぞれに対して、データ容量を添付して、前記サイクリック通信部に与える、
    請求項1乃至請求項3のいずれかに記載の制御装置。
  5. 前記第1制御データおよび前記第2制御データとは異なり、時間保証がされていない情報系データの送受信を制御するメッセージ通信部を備え、
    前記通信管理部は、
    前記情報系データの通信容量も用いて、前記第2制御データの分割を行う、
    請求項1乃至請求項4のいずれかに記載の制御装置。
  6. 請求項1乃至請求項5のいずれかに記載の制御装置と、
    前記制御装置に対して通信可能に接続されたロボット装置またはロボット制御装置と、を備え、
    前記第2制御データは、ロボット制御用のコマンド群を含む、
    制御システム。
  7. 予め設定されたサイクリック周期によって第1保証時間での到達が保証される第1制御データと、前記サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められた第2制御データと、の通信を制御するサイクリック通信処理と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理処理と、
    を有し、
    前記通信管理処理は、
    前記サイクリック周期と前記第1制御データのデータ容量とを用いて、第2制御データ用の送信容量を決定する処理と、
    前記第2制御データのデータ容量が前記第2制御データ用の通信容量を超えると、該第2制御データ用の通信容量に応じて前記第2制御データを複数の通信用データに分割する処理と、
    分割して通信することを示す識別子と、前記第2制御データのデータ容量と、分割による送信順と、を前記複数の通信用データのそれぞれに対して添付する処理と、
    該複数の通信用データを前記サイクリック通信処理に渡す処理と、
    を有する、
    制御方法。
  8. 予め設定されたサイクリック周期によって第1保証時間での到達が保証される第1制御データと、前記サイクリック周期よりも長い第2保証時間での到達が保証され、構成する情報の順序が決められた第2制御データと、の通信を制御するサイクリック通信処理と、
    前記第1制御データと前記第2制御データの通信のスケジュールを管理する通信管理処理と、
    を含み、
    前記通信管理処理では、
    前記サイクリック周期と前記第1制御データのデータ容量とを用いて、第2制御データ用の通信容量を決定する処理と、
    前記第2制御データのデータ容量が前記第2制御データ用の通信容量を超えると、該第2制御データ用の通信容量に応じて前記第2制御データを複数の通信用データに分割する処理と、
    分割して通信することを示す識別子と、前記第2制御データのデータ容量と、分割による送信順と、を前記複数の通信用データのそれぞれに対して添付する処理と、
    該複数の通信用データを前記サイクリック通信処理に渡す処理と、
    を情報処理装置に実行させる制御プログラム。
JP2018024087A 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム Active JP6911791B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018024087A JP6911791B2 (ja) 2018-02-14 2018-02-14 制御装置、制御システム、制御方法、および、制御プログラム
EP18205575.6A EP3528131A1 (en) 2018-02-14 2018-11-12 Control device, control system, control method, and control program
US16/188,191 US20190253355A1 (en) 2018-02-14 2018-11-12 Control device, control system, control method, and non-transitory computer-readable storage medium
CN201811352747.8A CN110161982B (zh) 2018-02-14 2018-11-14 控制装置、控制系统、控制方法以及存储介质

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2019140603A true JP2019140603A (ja) 2019-08-22
JP6911791B2 JP6911791B2 (ja) 2021-07-28

Family

ID=64308532

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US20190253355A1 (ja)
EP (1) EP3528131A1 (ja)
JP (1) JP6911791B2 (ja)
CN (1) CN110161982B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021132280A (ja) * 2020-02-19 2021-09-09 株式会社安川電機 生産システム、通信方法、及びプログラム
JP2021132279A (ja) * 2020-02-19 2021-09-09 株式会社安川電機 生産システム、通信方法、及びプログラム
WO2021181799A1 (ja) * 2020-03-13 2021-09-16 オムロン株式会社 ロボット制御システムおよび制御方法
WO2021192027A1 (ja) * 2020-03-24 2021-09-30 日本電信電話株式会社 制御システム及び制御方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6977600B2 (ja) * 2018-02-14 2021-12-08 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP7059673B2 (ja) * 2018-02-14 2022-04-26 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
DE112020007116T5 (de) * 2020-04-24 2023-03-09 Mitsubishi Electric Corporation Kommunikationsgerät, Kommunikationssystem, Kommunikationsverfahren und Programm
US11969890B2 (en) * 2021-03-26 2024-04-30 Ubtech Robotics Corp Ltd Control method and control system using the same
CN113452748B (zh) * 2021-05-14 2022-07-15 浙江工业大学 面向无人推耙机的通信系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07505509A (ja) * 1992-03-23 1995-06-15 モトローラ・インコーポレイテッド パケット再組立方法および装置
JPH11110282A (ja) * 1997-10-08 1999-04-23 Toshiba Corp データ送受信システム、バッファ制御装置、バッファ制御方法、データ送受信用プログラムが記憶された媒体
JP2012080171A (ja) * 2010-09-30 2012-04-19 Fujitsu Frontech Ltd 通信プログラム、通信装置および通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489456B2 (ja) * 1998-09-03 2004-01-19 株式会社日立製作所 リアルタイム通信装置及びシステム
JP2004363782A (ja) 2003-06-03 2004-12-24 Hitachi High-Technologies Corp 通信制御装置および通信制御方法
DE102007004044B4 (de) * 2007-01-22 2009-09-10 Phoenix Contact Gmbh & Co. Kg Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
JP4876138B2 (ja) * 2009-03-24 2012-02-15 株式会社日立産機システム 制御用計算機および制御システム
CN103597416A (zh) * 2011-06-09 2014-02-19 三菱电机株式会社 可编程控制器系统
WO2014077748A1 (en) * 2012-11-15 2014-05-22 Telefonaktiebolaget L M Ericsson (Publ) Method for providing a law enforcement agency with sampled content of communications
JP2015207170A (ja) * 2014-04-21 2015-11-19 株式会社東芝 監視制御システム、監視制御装置、およびコントローラ装置
JP6488830B2 (ja) * 2015-03-31 2019-03-27 オムロン株式会社 制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07505509A (ja) * 1992-03-23 1995-06-15 モトローラ・インコーポレイテッド パケット再組立方法および装置
JPH11110282A (ja) * 1997-10-08 1999-04-23 Toshiba Corp データ送受信システム、バッファ制御装置、バッファ制御方法、データ送受信用プログラムが記憶された媒体
JP2012080171A (ja) * 2010-09-30 2012-04-19 Fujitsu Frontech Ltd 通信プログラム、通信装置および通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
元吉伸一: "産業用Ethernet・PROFINETの概要", 計装, vol. 第48巻, 第12号, JPN6021003762, 2005, pages 34 - 37, ISSN: 0004442018 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021132280A (ja) * 2020-02-19 2021-09-09 株式会社安川電機 生産システム、通信方法、及びプログラム
JP2021132279A (ja) * 2020-02-19 2021-09-09 株式会社安川電機 生産システム、通信方法、及びプログラム
JP7167072B2 (ja) 2020-02-19 2022-11-08 株式会社安川電機 生産システム、通信方法、及びプログラム
JP7229957B2 (ja) 2020-02-19 2023-02-28 株式会社安川電機 生産システム、通信方法、及びプログラム
WO2021181799A1 (ja) * 2020-03-13 2021-09-16 オムロン株式会社 ロボット制御システムおよび制御方法
JP2021144587A (ja) * 2020-03-13 2021-09-24 オムロン株式会社 ロボット制御システムおよび制御方法
JP7327225B2 (ja) 2020-03-13 2023-08-16 オムロン株式会社 ロボット制御システムおよび制御方法
US11855907B2 (en) 2020-03-13 2023-12-26 Omron Corporation Robot control system and control method
WO2021192027A1 (ja) * 2020-03-24 2021-09-30 日本電信電話株式会社 制御システム及び制御方法
JPWO2021192027A1 (ja) * 2020-03-24 2021-09-30
JP7401815B2 (ja) 2020-03-24 2023-12-20 日本電信電話株式会社 制御システム及び制御方法

Also Published As

Publication number Publication date
US20190253355A1 (en) 2019-08-15
CN110161982A (zh) 2019-08-23
CN110161982B (zh) 2022-07-15
EP3528131A1 (en) 2019-08-21
JP6911791B2 (ja) 2021-07-28

Similar Documents

Publication Publication Date Title
JP2019140603A (ja) 制御装置、制御システム、制御方法、および、制御プログラム
JP6977600B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
EP3543854A1 (en) Resource control stack based system for multiple domain presentation of cloud computing resource control
JP7249720B2 (ja) 階層ベースrplネットワークのためのネットワークアドレスの割り当て及び再利用
US9356887B2 (en) Controlling shared memory
JP7059673B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
EP3457646B1 (en) Notification control device, notification control method, and computer-readable medium
EP3557345B1 (en) Control apparatus, system program, and control method
JP6981290B2 (ja) スレーブ装置、制御システム、レスポンスデータの通信方法、および、レスポンスデータの通信プログラム
US20170177509A1 (en) Host controller and program executed by host controller
CN115242752B (zh) 电池管理系统的地址分配方法、装置、设备及介质
KR102068676B1 (ko) 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법 및 그 시스템
KR102016629B1 (ko) Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법
US20220374259A1 (en) Application-centric design for 5g and edge computing applications
CN112769966B (zh) 一种地址信息分配方法、装置以及电子设备
KR101892920B1 (ko) 플로우 기반 병렬 처리 방법 및 장치
WO2022007682A1 (zh) 发送数据的方法及装置
KR20190121012A (ko) 모션 컨트롤 시스템 및 그 제어 방법
KR101593218B1 (ko) 가변 데이터그램 기반 제어 프레임 전송 방법, 이를 위한 노드 및 제어 프레임 전송 시스템
US20240356855A1 (en) System, method and program for collecting data
KR20240082474A (ko) 인공 지능 서비스를 제공하는 전자 장치 및 그 제어 방법
KR20170055964A (ko) 태스크의 배분 경로를 결정하는 방법, 디바이스 및 시스템
JP6174519B2 (ja) 資源割当装置およびその動作方法
CN111181755A (zh) 远程工作系统及其工作方法

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6911791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250