JPWO2013137023A1 - 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム - Google Patents

制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム Download PDF

Info

Publication number
JPWO2013137023A1
JPWO2013137023A1 JP2014504793A JP2014504793A JPWO2013137023A1 JP WO2013137023 A1 JPWO2013137023 A1 JP WO2013137023A1 JP 2014504793 A JP2014504793 A JP 2014504793A JP 2014504793 A JP2014504793 A JP 2014504793A JP WO2013137023 A1 JPWO2013137023 A1 JP WO2013137023A1
Authority
JP
Japan
Prior art keywords
unit
communication line
data
master
control unit
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
JP2014504793A
Other languages
English (en)
Other versions
JP6358088B2 (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 JP2014504793A priority Critical patent/JP6358088B2/ja
Publication of JPWO2013137023A1 publication Critical patent/JPWO2013137023A1/ja
Application granted granted Critical
Publication of JP6358088B2 publication Critical patent/JP6358088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1101Remote I-O
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25012Two different bus systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25479Synchronize controllers using messages, add transmission time afterwards

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)
  • Computer And Data Communications (AREA)

Abstract

通信システムの少なくとも一部を構成する情報処理装置が提供される。情報処理装置は、第1の通信ラインに接続されるマスター部と、マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含む。マスター部は、第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するための第1の通信部と、第2の通信ラインを介して周期より短い時間内でスレーブ部との間でデータを送受信するための第2の通信部と、第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ部との間でデータを更新するための更新部とを含む。

Description

本発明は、複数の通信ラインを含む構成におけるデータ通信に関する。
単一の情報処理装置が異なる複数の通信ラインを利用可能な構成が採用されることがある。例えば、一般的なコンピュータでは、イーサネット(登録商標)などの通信ネットワーク(すなわち、第1の通信ライン)に接続されるとともに、内部バス(すなわち、第2の通信ライン)などを介して各種のデバイスを利用可能になっている。このような構成は、各種の情報処理装置に適用される。
例えば、多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。このようなPLCにおいても、複数の通信ラインが可能になっていることがある。
制御システムは、機械や設備などの動作を制御するために用いられる。より具体的には、制御システムは、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)装置を含む。このようなIO装置は、生産現場の様々な場所に配置されることが好ましい。一般的な制御システムでは、IO装置を、各種の制御プログラムを実行するためのプロセッサを含むメイン処理装置から離れた位置に配置できるようになっている。このようなメイン処理装置から離れて配置されるという意味で、このようなIO装置は「リモートIO装置」などとも称される。
このようなメイン処理装置とリモートIO装置との間は、各種の通信ラインを介して接続される。このような通信ラインは「フィールドバス」などとも称される。このようなフィールドバスでは、入出力データの更新タイミングと制御プログラムの実行タイミングとの同期を取り易くするために、予め定められた周期で通信可能(すなわち、リアルタイム通信可能)な通信方式が採用される。このようなフィールドバスとして利用される通信方式の一つとして、イーサネット(登録商標)をベースとするEtherCAT(登録商標)が知られている(非特許文献1など参照)。
一般的なリモートIO装置は、複数の入力ユニットおよび出力ユニットで構成されている場合が多い。このような場合、複数の入力ユニットおよび出力ユニットは、リモートIO装置の内部バスを介して通信を行うことになる。このように、リモートIO装置は、フィールドバスに接続されるとともに、内部バスを内蔵する。
Martin Rostan,EtherCAT Technology Group,"EtherCAT:Ethernet Control Automation Technology",[online],2009年4月24日, [平成24年2月29日検索],インターネット〈URL:http://www.ethercat.org/pdf/japanese/EtherCAT_Introduction_0904_JPN.pdf〉
上述のような制御システムにおいては、フィールドバスを介してメイン処理装置ユニットなどとの間でデータが更新される周期と、これらの入力ユニットおよび出力ユニットのデータが内部的に更新される周期とは必ずしも一致しない。そのため、データ更新のタイミングが遅くなる場合があった。
また、上述したような単一の情報処理装置が異なる複数の通信ラインを利用可能になっている構成においても、同様の課題があった。
複数の通信ラインを含む構成において、装置間のデータ更新をより適切に行うことができる構成が望まれる。
本発明のある局面によれば、制御システムの少なくとも一部を構成する制御装置が提供される。制御装置は、第1の通信ラインに接続されるマスター制御部と、マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを含む。マスター制御部は、第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するための第1の通信部と、第2の通信ラインを介して制御周期より短い時間内でスレーブ制御部との間でデータを送受信するための第2の通信部と、第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ制御部との間でデータを更新するための更新部とを含む。
好ましくは、スレーブ制御部は、外部入力される信号の状態値を収集するための入力部を含み、更新部は、更新処理として、入力部に、新たに状態値を収集させるとともに、収集された状態値をマスター制御部へ送信させる。
さらに好ましくは、更新部は、収集された状態値のマスター制御部への送信を複数回指示する。
好ましくは、更新部は、後続のデータが到来するとされている時点を基準とした予め定められた時間だけ前の時点から、入力部についての更新処理を開始する。
好ましくは、スレーブ制御部は、指定された状態値の信号を出力するための出力部を含み、更新部は、更新処理として、第1の通信ラインを介して受信したデータの少なくとも一部に従って、出力部が出力する信号を更新する。
さらに好ましくは、更新部は、出力部が出力する信号を更新するための指令を複数回送信する。
さらに好ましくは、マスター制御部は、第1の通信ラインを伝送するデータを格納するための第1のバッファメモリと、第2の通信ラインを伝送するデータを格納するための第2のバッファメモリと、第1のバッファメモリと第2のバッファメモリとの間のデータ転送を制御するための転送回路とを含む。更新部は、入力部で収集された状態値の第2のバッファメモリへの格納、および引き続く第2のバッファメモリから第1のバッファメモリへのデータ転送が、後続のデータが到来する前に完了するように、入力部についての更新処理を開始する。
さらに好ましくは、更新部は、先行のデータの受信、および引き続く第1のバッファメモリから第2のバッファメモリへの当該データの転送が完了した後に、出力部についての更新処理を開始する。
さらに好ましくは、更新部は、第1のバッファメモリから第2のバッファメモリへの先行のデータの転送と並行して、入力部についての更新処理を行うとともに、第2のバッファメモリから第1のバッファメモリへの入力部で収集された状態値の転送と並行して、出力部についての更新処理を行う。
好ましくは、マスター制御部は、第1の通信ラインを介して接続される他の装置との間で共通のタイマを有しており、更新部は、タイマで計時される値に基づいて、更新処理の開始タイミングを決定する。
本発明の別の局面によれば、通信システムの少なくとも一部を構成する情報処理装置が提供される。情報処理装置は、第1の通信ラインに接続されるマスター部と、マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含む。マスター部は、第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するための第1の通信部と、第2の通信ラインを介して周期より短い時間内でスレーブ部との間でデータを送受信するための第2の通信部と、第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ部との間でデータを更新するための更新部とを含む。
本発明のさらに別の局面によれば、第1の通信ラインに接続されるマスター制御部と、マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを含み、制御システムの少なくとも一部を構成する制御装置、における制御方法が提供される。制御方法は、マスター制御部において、第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するステップと、第2の通信ラインを介して制御周期より短い時間内でスレーブ制御部との間でデータを送受信するステップと、第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ制御部との間でデータを更新するステップとを含む。
本発明のさらに別の局面によれば、コンピュータで上記の制御方法を実現するためのプログラムおよび当該プログラムを格納したコンピュータ読取可能な記録媒体が提供される。
本発明のさらに別の局面によれば、第1の通信ラインに接続されるマスター部と、マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含み、通信システムの少なくとも一部を構成する情報処理装置、における制御方法が提供される。制御方法は、マスター部において、第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するステップと、第2の通信ラインを介して周期より短い時間内でスレーブ部との間でデータを送受信するステップと、第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ部との間でデータを更新するステップとを含む。
本発明のさらに別の局面によれば、コンピュータで上記の制御方法を実現するためのプログラムおよび当該プログラムを格納したコンピュータ読取可能な記録媒体が提供される。
本発明によれば、複数の通信ラインを含む構成において、装置間のデータ更新をより適切に行うことができる。
本実施の形態の概要を説明するための図である。 本実施の形態に係る情報処理装置における処理を説明するためのタイムチャートである。 実施の形態1〜3に係るPLCシステムの全体構成を示す模式図である。 実施の形態1〜3に係るPLCシステムにおけるデータ更新の手順を説明するための図である。 実施の形態1〜3に係るリモートIO装置のハードウェア構成を示す模式図である。 実施の形態1〜3に係るリモートIO装置におけるOUTリフレッシュの動作の一例を示すタイムチャートである。 実施の形態1〜3に係るリモートIO装置におけるINリフレッシュの動作の一例を示すタイムチャートである。 実施の形態1に係るリモートIO装置におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。 実施の形態2に係るリモートIO装置におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。 図9に示すOUTリフレッシュ/INリフレッシュの動作における再送限界を示すタイムチャートである。 実施の形態3に係るリモートIO装置におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。 実施の形態3の変形例に係るリモートIO装置におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。 図12に示すOUTリフレッシュ/INリフレッシュの動作における再送限界を示すタイムチャートである。 実施の形態4に係る通信システムの全体構成を示す模式図である。 実施の形態4の変形例に係る通信システムの全体構成を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.概要>
まず、本発明の実施の形態に係る情報処理装置の概要について説明する。図1は、本実施の形態の概要を説明するための図である。
図1には、3つの情報処理装置(情報処理装置A,B,C)を含む通信システムの構成例を示す。情報処理装置は、任意のコンピュータであってもよい。情報処理装置の間は、第1の通信ラインを介して接続されている。すなわち、情報処理装置A,B,Cの各々は、通信システムの少なくとも一部を構成する。
より具体的には、情報処理装置Aは、第1の通信ラインに接続されるマスター部と、マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含む。マスター部は、第1の通信ラインを介して他の装置との間でデータの遣り取りを行うとともに、スレーブ部との間で第2の通信ラインを介してデータの遣り取りも行う。これらの機能に関して、マスター部は、第1の通信部と、第2の通信部と、更新部とを含む。
第1の通信部は、第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信する。すなわち、第1の通信部は、他の情報処理装置(図1の例では、情報処理装置C)や図示しない各種装置との間で、周期T1毎にデータを遣り取りする。
第2の通信部は、第2の通信ラインを介して周期T1より短い時間(図1の例では、処理時間T2(T2<T1))内でスレーブ部との間でデータを送受信する。更新部は、第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、第2の通信ラインを介してスレーブ部との間でデータを更新する。
すなわち、第2の通信部は、マスター部が他の装置との間でデータを送受信する周期より短い時間内に、スレーブ部との間のデータの送受信を完了する。更新部は、マスター部があるタイミングで他の装置との間でデータを送受信し、次のタイミングが到来する前に、スレーブ部との間でのデータの送受信を完了する。
図2は、本実施の形態に係る情報処理装置における処理を説明するためのタイムチャートである。図2を参照して、情報処理装置の第1の通信部は、他の装置(情報処理装置BまたはC)との間で周期T1毎にデータ送受信を行う。このデータ送受信は、他の装置からのデータ受信および他の装置へのデータ送信の少なくとも一方を含む。すなわち、第1の通信部では、他の装置からのデータ受信のみ、または、他の装置へのデータ送信のみが実行される場合もある。
第1の通信部によってデータが受信される場合には、その受信データは、更新部を介して第2の通信部へ与えられる。第2の通信部は、第1の通信部によるデータ送受信の次のタイミングが到来する前に、スレーブ部との間のデータ送受信を完了する。すなわち、第2の通信部は、周期T1より短い処理時間T2で、スレーブ部との間のデータ送受信を完了させる。
この第2の通信部によるデータ送受信は、スレーブ部からのデータ受信およびスレーブ部へのデータ送信の少なくとも一方を含む。すなわち、第2の通信部では、スレーブ部からのデータ受信のみ、または、スレーブ部へのデータ送信のみが実行される場合もある。更新部を介して受信データが与えられる場合には、第2の通信部は、その受信データを対象のスレーブ部へ送信する。
また、スレーブ部からデータを受信した場合には、その受信したデータは、新データとして更新部を介して第1の通信部へ与えられる。第1の通信部は、第2の通信部を介して与えられたスレーブ部からの新データを次の周期において、他の装置へ送信する。
このような構成を採用することで、他の装置から情報処理装置へ送信されたデータは、周期T1より小さい遅れ時間内にスレーブ部へ与えられる。あるタイミングにおいて第1の通信部から送信されるデータには、その直前のタイミング以降に、スレーブ部にて取得されたデータを反映させることができる。
このような処理によって、第1の通信部が次のタイミングにおいて他の装置との間で遣り取りするデータを最新のものに更新しておくことができる。よって、装置間のデータ更新をより適切に行うことができる。また、スレーブ部に対しても、より少ない遅れ時間でデータを与えることができる。
他の情報処理装置BおよびCについても、同様の処理を行うような構成を採用してもよいし、情報処理装置Aのみが上述したような構成を採用してもよい。このような情報処理装置における機能および処理は、コンピュータである情報処理装置がプログラムを実行することで実現することもできる。このようなプログラムは、任意のコンピュータ読取可能な記録媒体に格納されてコンピュータにインストールされる。コンピュータ読取可能な記録媒体としては、例えば、CD−ROM(Compact Disc Read−Only Memory)やDVD−ROM(Digital Versatile Disc Read−Only Memory)といった光学的な記録媒体、フラッシュメモリなどの半導体の記録媒体、フレキシブルディスクなどの磁気的な記録媒体などを用いることができる。さらに、ネットワークを介してプログラムを配信するような構成を採用してもよい。
本実施の形態に係るプログラムとしては、機能や処理の実現に必要なすべての命令群などが含まれている態様に加えて、OS(Operating System)が提供するモジュールやライブラリを利用する態様も含み得る。この場合、コンピュータ読取可能な記録媒体に格納されるプログラムは、OSが提供するモジュールやライブラリなどを含まないことになるが、このような場合であっても、本発明に係るプログラムに含まれ得る。
以下、より具体的な実装例について説明する。実施の形態1〜3およびそれらの変形例においては、通信システムの一例として、機械や設備などの動作を制御するための制御システムを取り上げる。より具体的には、PLCを中心とする制御システムについて例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術に進展によって、新たな処理装置(演算装置)が開発された場合には、そのような新たな処理装置を採用することもできる。実施の形態4およびその変形例においては、汎用的なコンピュータ(典型的には、パーソナルコンピュータ)を含む通信システムを取り上げる。
実施の形態1〜3において説明する情報処理装置の一例である制御装置は、基本的には、少なくとも1つの出力機能を有する。この出力機能は、他の装置などへ信号を出力する機能である。制御装置の典型例であるPLCは、原則として、入力機能および出力機能の両方を有している。この入力機能は、他の装置などから信号を受取る機能である。但し、制御装置としては、入力機能を有さないものも存在する。
一方、情報処理装置という概念において、入力機能および出力機能の存在は無関係であるので、入力機能および出力機能のいずれも有さない装置であっても、情報処理装置に含まれ得る。但し、情報処理装置のうち、入力機能のみを有しており、出力機能を有していないものは、制御装置には分類されないであろう。
<B.PLCシステムの全体構成>
まず、実施の形態1〜3に係るPLCシステムの全体構成について説明する。図3は、本発明の実施の形態1〜3に係るPLCシステム1の全体構成を示す模式図である。
図3を参照して、PLCシステム1は、メイン処理装置2と、1つ以上のリモートIO装置3とを含む。メイン処理装置2は、第1の通信ラインであるフィールドバス4を介して、リモートIO装置3と接続されている。リモートIO装置3の各々は、フィールドバス4に接続される通信モジュール12を有している。
メイン処理装置2は、制御プログラムを実行し、外部のスイッチやセンサからの入力信号に応答して、外部のリレーやアクチュエータへの出力信号を生成する。
より具体的には、メイン処理装置2は、電源ユニット40と、CPU(Central Processing Unit)ユニット50と、IOユニット60とを含む。CPUユニット50およびIOユニット60は、内部バス70を介して互いにデータ通信可能に接続されている。
電源ユニット40は、CPUユニット50およびIOユニット60へ適切な電圧の電源を供給する。CPUユニット50は、制御プログラムを実行するためのプロセッサおよびメインメモリを含む演算主体である。IOユニット60は、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当する。
CPUユニット50は、フィールドバス4を介して、リモートIO装置3との間でデータを遣り取りするための通信モジュール52を含む。フィールドバス4は、予め定められた制御周期で通信可能(すなわち、リアルタイム通信可能)な通信方式が採用される。すなわち、フィールドバス4では、予め定められた制御周期毎に、フィールドバス4に接続されているすべての装置の間でデータが更新されるとする。言い換えれば、実施の形態1〜3に係るフィールドバス4は、定時性が確保されている。
このようなフィールドバス4としては、典型的には、各種の産業用のイーサネット(登録商標)を用いることができる。産業用のイーサネット(登録商標)としては、例えば、EtherCAT(登録商標)、PROFINET(登録商標)、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用のイーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。以下の説明では、フィールドバス4としてEtherCAT(登録商標)を想定している。
リモートIO装置3は、PLCシステム1の少なくとも一部を構成する制御装置である。リモートIO装置3は、外部のスイッチやセンサからの入力信号を受信し、フィールドバス4を介して、その受信した入力信号をメイン処理装置2へ送信するとともに、メイン処理装置2からフィールドバス4を介して受信した信号を、外部のリレーやアクチュエータへ出力する。
より具体的には、リモートIO装置3は、マスターユニット10と、1つ以上のスレーブユニット20とを含む。マスターユニット10およびスレーブユニット20は、内部バス30を介して互いにデータ通信可能に接続されている。すなわち、マスターユニット10は、第1の通信ラインであるフィールドバス4に接続されている。1つ以上のスレーブユニット20は、マスターユニット10と第2の通信ラインである内部バス30を介して接続される。
マスターユニット10は、主として、スレーブユニット20の動作(IOデータの更新タイミングの制御など)を制御するとともに、メイン処理装置2との間のデータ通信を制御する。マスターユニット10の詳細については、後述する。
スレーブユニット20は、マスターユニット10と内部バス30を介してデータ通信する機能に加えて、一般的な入出力処理の機能を有する。典型的には、スレーブユニット20は、オン/オフといった2値化されたデータを入力/出力する。例えば、スレーブユニット20は、検出センサから、何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、スレーブユニット20は、リレーやアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを与える。
上述の説明では、スレーブユニット20の各々が入出力処理を行う構成について例示したが、入力処理に特化した構成(入力ユニット)または出力処理に特化した構成(出力ユニット)であってもよい。
<C.データ更新の概要>
次に、フィールドバス4およびリモートIO装置3の内部バス30を介したデータ更新について説明する。
図4は、実施の形態1〜3に係るPLCシステム1におけるデータ更新の手順を説明するための図である。PLCシステム1のデータ更新は、リモートIO装置3のスレーブユニット20に入力される外部のスイッチやセンサからの信号(以下「INデータ」とも称す。)をメイン処理装置2へ送信する処理、および、メイン処理装置2での制御プログラムの実行によって算出された値(以下「OUTデータ」とも称す。)をスレーブユニット20から出力させる処理を含む。
INデータおよびOUTデータの更新処理を、以下「IOリフレッシュ処理」とも総称する。
図4を参照して、マスターユニット10は、フィールドバス4上を流れるデータ(以下「フィールドバスフレーム」とも称す。)をそれぞれ受信および送信する受信部112および送信部114、ならびに、受信部112および送信部114を制御するフィールドバス制御部110を含む。さらに、マスターユニット10は、内部バス30でのデータ伝送を制御するための内部バス制御部130を含む。フィールドバス制御部110および内部バス制御部130は、プロセッサ100からの指示に従って動作する。
実施の形態1〜3においては、メイン処理装置2がフィールドバスフレームをフィールドバス4上に周期的に送出する。そして、リモートIO装置3の各々は、メイン処理装置2からのフィールドバスフレームを受信すると、そのフレーム内の自装置宛のデータ(OUTデータ)を読取るとともに、自装置が送信すべきデータ(INデータ)を当該フレーム内の予め割当てられた領域へ書込んで、次段の装置へ再送出(フォワード)する。
すなわち、マスターユニット10において、あるフィールドバスフレームを受信する前に、最新のINデータを取得しておくことが好ましい。これは、INデータのメイン処理装置2への取込遅延の時間を少なくするためである。また、マスターユニット10において、あるフィールドバスフレームに含まれるOUTデータについては、次のフィールドバスフレームが到来する前に、実際に出力しておくことが好ましい。
図4には、このようなIOリフレッシュ処理の好ましい手順を示している。
具体的には、まず、マスターユニット10のフィールドバス制御部110は、フィールドバスフレームを受信してOUTデータを取得するとともに、INデータをフィールドバスフレームに書込みつつ、フォワード動作を行う(手順(1))。続いて、プロセッサ100は、フィールドバス制御部110の受信バッファから取得したOUTデータを読出して、内部バス制御部130の送信バッファ(後述する)に格納する(手順(2))。
続いて、プロセッサ100がフィールドバス制御部110の転送テーブルを起動すると、フィールドバス制御部110は、OUTデータを含むフレーム(以下「OUTフレーム」とも称す。)を内部バス30上に送出して、OUTリフレッシュを実行する(手順(3))。OUTフレームを受信したスレーブユニット20の各々は、OUTデータのうち自ユニットに割当てられたデータに従って、信号出力を更新する。
続いて、プロセッサ100がフィールドバス制御部110の転送テーブルを起動すると、フィールドバス制御部110は、INデータを要求するコマンドを含むフレーム(以下「INフレーム」とも称す。)を内部バス30上に送出して、INリフレッシュを実行する(手順(4))。INフレームを受信したスレーブユニット20の各々は、外部からの入力されている信号を更新し、その更新後のINデータをマスターユニット10へ送出する。各スレーブユニット20から送出されたINデータは、内部バス制御部130の受信バッファ164に格納される。
INリフレッシュの後、プロセッサ100は、内部バス制御部130の受信バッファからINデータを読出して、フィールドバス制御部110の送信バッファに格納する(手順(5))。そして、新たなフィールドバスフレームが到来すると、上述の手順(1)の処理を繰り返し実行する。
実施の形態1〜3に係るリモートIO装置3は、図4に示すIOリフレッシュ処理に含まれる、フィールドバスフレームの制御周期を考慮して、INリフレッシュおよびOUTリフレッシュの実行タイミングを適切化する。これにより、メイン処理装置2における制御プログラムの実行に必要なINデータの更新の遅延量、および制御プログラムの実行により算出されるOUTデータの出力の遅延量を可能な限り低減する。
<D.リモートIO装置3のハードウェア構成>
次に、リモートIO装置3のハードウェア構成について説明する。図5は、実施の形態1〜3に係るリモートIO装置3のハードウェア構成を示す模式図である。リモートIO装置3を構成するマスターユニット10およびスレーブユニット20の各コンポーネントは、処理高速化の観点から、ASIC(Application Specific Integrated Circuit)やFPGA(Field−Programmable Gate Array)などのハードウェアなどを実現することが好ましい。但し、一部または全部のコンポーネントをプロセッサがプログラムを実行することによって実現してもよい。
《d1:マスターユニット10の構成》
図5を参照して、リモートIO装置3のマスターユニット10は、プロセッサ100と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
受信部112は、メイン処理装置2からフィールドバス4を介して送信されるフィールドバスフレームを受信してデータ列へ復号した上で、フィールドバス制御部110へ出力する。送信部114は、フィールドバス制御部110から出力されるデータ列からフィールドバスフレームを構成してフィールドバス4を介して再送出(フォワード)する。
フィールドバス制御部110は、受信部112および送信部114と協働して、フィールドバス4を介して予め定められた制御周期(以下「制御周期T1」とする。)毎に他の装置(この例では、メイン処理装置2および他のリモートIO装置3)との間でデータを送受信する。より具体的には、フィールドバス制御部110は、フィールドバス通信コントローラ120と、メモリコントローラ122と、FIFO(First In First Out)メモリ124と、受信バッファ126と、送信バッファ128とを含む。
フィールドバス通信コントローラ120は、メイン処理装置2からフィールドバス4を介して送信されるコマンドなどを解釈して、フィールドバス4を介した通信を実現するために必要な処理を実行する。また、フィールドバス通信コントローラ120は、FIFOメモリ124に順次格納されるフィールドバスフレームからのデータコピー、およびフィールドバスフレームに対するデータ書込みの処理を行う。
メモリコントローラ122は、DMA(Direct Memory Access)などの機能を実現する制御回路であり、FIFOメモリ124、受信バッファ126および送信バッファ128などへのデータの書込み/読出しを制御する。
FIFOメモリ124は、フィールドバス4を介して受信されたフィールドバスフレームを一時的に格納するとともに、その格納された順序に従ってフィールドバスフレームを順次出力する。受信バッファ126は、FIFOメモリ124に順次格納されるフィールドバスフレームに含まれるデータのうち、必要なINデータを抽出して一時的に格納する。送信バッファ128は、FIFOメモリ124に順次格納されるフィールドバスフレームのうち、自装置に割当てられた領域に書込まれるべきOUTデータを一時的に格納する。すなわち、FIFOメモリ124、受信バッファ126および送信バッファ128は、フィールドバス4を伝送するデータを格納するためのバッファメモリに相当する。
プロセッサ100は、フィールドバス制御部110および内部バス制御部130に対して指示を与えるとともに、フィールドバス制御部110と内部バス制御部130との間のデータ転送などを制御する。すなわち、プロセッサ100は、フィールドバス制御部110のバッファメモリと内部バス制御部130のバッファメモリとの間でデータ転送を制御するための転送回路としても機能する。
マスターユニット10とスレーブユニット20との間の内部バス30は、下りリンク(Down Link)および上りリンク(Up Link)が対になった通信チャネルで構成される。図5に示す構成例においては、この通信チャネルが2回線分(1chおよび2ch)設けられている例を示すが、1回線であってもよいし、さらに多くの回線が用意されていてもよい。
内部バス制御部130は、フィールドバス4における制御周期(制御周期T1)より短い時間内で、内部バス30を介してスレーブユニット20との間でデータを送受信する。例えば、制御周期T1は125μsecに設定され、内部バス30を介したマスターユニット10とスレーブユニット20との間でのデータ送信に要する時間は数〜10数μsecである。
より具体的には、内部バス制御部130は、内部バス通信コントローラ132と、送信回路142,152と、受信回路144,154と、記憶部160とを含む。
内部バス通信コントローラ132は、内部バス30を介したデータ通信を主体的に(すなわち、マスターとして)管理する。例えば、内部バス通信コントローラ132は、プロセッサ100からの指示に従って、INフレームまたはOUTフレームを内部バス30上に送出して、INリフレッシュまたはOUTリフレッシュを実行する。このINフレームまたはOUTフレームは、特定のスレーブユニット20に対して個別に送出してもよいし、内部バス30に接続されているすべてのスレーブユニット20に対して一斉に送出してもよい。
送信回路142は、内部バス通信コントローラ132からの指示に従って、内部バス30の下りリンク(1ch)用のフレームを生成して送出する。受信回路144は、内部バス30の上りリンク(1ch)上を流れるフレームを受信して、内部バス通信コントローラ132へ出力する。送信回路152および受信回路154は、それぞれ内部バス30の下りリンク(2ch)および上りリンク(2ch)について、同様の処理を行う。
記憶部160は、内部バス30を伝送するデータを格納するためのバッファメモリに相当する。より具体的には、記憶部160は、共有メモリ162と、受信バッファ164と、送信バッファ166とを含む。共有メモリ162は、フィールドバス制御部110と内部バス制御部130との間で遣り取りされるデータを一時的に格納する。受信バッファ164は、内部バス30を介してスレーブユニット20から受信したINデータを一時的に格納する。送信バッファ166は、フィールドバス制御部110で受信されたフィールドバスフレームに含まれるOUTデータを一時的に格納する。
《d2:スレーブユニット20の構成》
図5を参照して、リモートIO装置3のスレーブユニット20の各々は、IOモジュール200と、IOメモリ210とを含む。さらに、スレーブユニット20の各々は、内部バス30の1chに関連付けられた、通信コントローラ220と、受信回路222,232と、送信回路224,234とを含む。また、スレーブユニット20の各々は、内部バス30の2chに関連付けられた、通信コントローラ240と、受信回路242,252と、送信回路244,244とを含む。
IOモジュール200は、外部のスイッチやセンサからの入力信号を受信し、その値をIOメモリ210に書込むとともに、IOメモリ210の対応する領域に書込まれた値に従って、その信号を外部のリレーやアクチュエータへ出力する。すなわち、IOモジュール200は、外部入力される信号の状態値(INデータ)を収集するための入力部、および、指定された状態値(OUTデータ)の信号を出力するための出力部の少なくとも一方を含む。
受信回路222は、内部バス30の下りリンク(1ch)上を流れるフレームを受信してデータ列へ復号した上で、送信回路224および通信コントローラ220へ出力する。送信回路224は、通信コントローラ220からの指示に従って、受信回路222からのデータ列から内部バス30の下りリンク(1ch)上を流れるフレームを再生成して再送出(フォワード)する。
受信回路232は、内部バス30の上りリンク(1ch)上を流れるフレームを受信してデータ列へ復号した上で、送信回路234および通信コントローラ220へ出力する。送信回路234は、通信コントローラ220からの指示に従って、受信回路232からのデータ列から内部バス30の上りリンク(1ch)上を流れるフレームを再生成して再送出(フォワード)する。
通信コントローラ220は、受信回路222または受信回路232からのデータ列(フレーム)に含まれるコマンドなどを解釈して対応する処理を実行する。
通信コントローラ240、受信回路242,252、および送信回路244,254については、内部バス30の2chについて、通信コントローラ220、受信回路222,232、および送信回路224,234とそれぞれ同様の処理を実行する。
<E.OUTリフレッシュおよびINリフレッシュ>
次に、リモートIO装置3の内部バス30におけるOUTリフレッシュおよびINリフレッシュについて説明する。
図6は、実施の形態1〜3に係るリモートIO装置3におけるOUTリフレッシュの動作の一例を示すタイムチャートである。図7は、実施の形態1〜3に係るリモートIO装置3におけるINリフレッシュの動作の一例を示すタイムチャートである。
図6を参照して、OUTリフレッシュは、フィールドバスフレームの受信完了のタイミングで開始される。すなわち、フィールドバスフレームの先頭が時刻t11に到来し、時刻t12にフィールドバスフレームのすべての受信が完了したとすると、プロセッサ100は、時刻t12から、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)を開始する。そして、このOUTデータのコピー処理が時刻t12において完了すると、内部バス制御部130は、内部バス30を介して、OUTデータを含むOUTフレームのスレーブユニット20への送出を開始する。実施の形態1〜3においては、内部バス30はフィールドバス4に比較して、搬送周波数がより高いので、このOUTフレームの送出は、フィールドバスフレームやOUTデータのコピー処理に比較して短時間で終了する。
各スレーブユニット20は、OUTフレームを受信すると、その受信したOUTフレームに含まれるOUTデータのうち、自ユニットに割当てられたOUTデータを抽出し、出力する状態値を更新する。すなわち、リモートIO装置3のプロセッサ100および内部バス制御部130は、更新処理として、フィールドバス4を介して受信したOUTデータの少なくとも一部に従って、スレーブユニット20の出力部が出力する信号を更新する。
図7を参照して、後続のフィールドバスフレームに応じた、フィールドバス制御部110の受信バッファ126に格納されているINデータの内部バス制御部130の送信バッファ166へのコピー(転送)の開始タイミングに間に合うように、INリフレッシュが実行される。すなわち、フィールドバス4を介して先行のフィールドバスフレームを受信した後、次の制御周期に対応する後続のフィールドバスフレームが到来する前に、内部バス30を介してスレーブユニット20との間でINデータが更新される。このように、リモートIO装置3のプロセッサ100および内部バス制御部130は、更新処理として、スレーブユニット20の入力部に、新たに状態値を収集させるとともに、収集された状態値(INデータ)をマスターユニット10へ送信させる。
具体的な方法としては、プロセッサ100が、次の制御周期に対応する後続のフィールドバスフレームが到来するタイミングを基準にしてINリフレッシュを開始すべきタイミングを予め決定し、その決定したタイミングで、内部バス制御部130を起動することで、INリフレッシュを開始してもよい。
あるいは、内部バス制御部130のタイマ起動機能を用いて、プロセッサ100が内部バス制御部130に対して起動時刻(すなわち、INリフレッシュの開始タイミング)を事前に通知してもよい。図7には、タイマ起動機能を用いた例を示す。このようなタイマ起動機能を用いることで、起動時刻をより正確に設定することができる。
より具体的には、プロセッサ100は、時刻t21において、INリフレッシュの開始タイミングを管理するタイマを内部バス制御部130に起動させる。タイマの起動タイミングは、INリフレッシュを開始すべき時刻までのいずれかであればよい。図7の例では、時刻t22にINリフレッシュを開始すべきことを指定してタイマが起動されている。INリフレッシュは、内部バス制御部130の受信バッファ164に格納されているINデータのフィールドバス制御部110の送信バッファ128へのコピー(転送)の開始前(時刻t23)までに完了するようにタイミングが指定される。
そして、時刻t24において後続のフィールドバスフレームが到来すると、フィールドバス制御部110の送信バッファ128に格納されている更新後のINデータが当該フィールドバスフレームに書込まれて、次段の装置へ再送出(フォワード)される。
このように、リモートIO装置3のプロセッサ100および内部バス制御部130は、フィールドバス4を介して先行のフィールドバスフレームを受信した後、後続のフィールドバスフレームが到来する前に、内部バス30を介してスレーブユニット20との間でINデータを更新する。
<F.実施の形態1>
実施の形態1として、内部バス30の帯域が相対的に狭く、かつノイズの影響を無視できるような構成に適した形態について例示する。
《f1:概要》
図8は、実施の形態1に係るリモートIO装置3におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。
図8に示すタイムチャートにおいて、マスターユニット10は、フィールドバスフレームの受信完了後に、内部バス30を介したOUTデータの送出を開始して、OUTリフレッシュを実行する。一方、スレーブユニット20からのINデータの収集は、(後続のフィールドバスフレーム受信時にINデータを書込むための)INデータのコピー処理の開始に間に合うように開始される。すなわち、マスターユニット10は、内部バス30上でのINフレームの送出開始をタイマ起動する。
より具体的には、時刻t31において、先行のフィールドバスフレームの先頭が到来したとする。時刻t32において、この先行のフィールドバスフレームの受信が完了したとする。すると、時刻t32において、プロセッサ100は、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)を開始する。そして、時刻t33において、このOUTデータのコピー処理が完了すると、続いて、内部バス制御部130は、OUTデータを含むOUTフレームを内部バス30上に送出して、OUTリフレッシュを実行する。
すなわち、プロセッサ100および内部バス制御部130は、先行のフィールドバスフレームの受信、および引き続くフィールドバス制御部110の受信バッファ126から内部バス制御部130の送信バッファ166へのフィールドバスフレーム(より正確には、その中に含まれるOUTデータ)の転送が完了した後に、スレーブユニット20の出力部についての更新処理(すなわち、OUTリフレッシュ)を開始する。
このOUTリフレッシュは、時刻t34において完了したとする。その後、時刻t35において、プロセッサ100は、内部バス制御部130のタイマ起動機能を用いて、INリフレッシュの開始タイミングを決定するタイマ(INリフレッシュタイマ)を起動する。時刻t36においてINリフレッシュタイマがタイムアップすると、内部バス制御部130は、INフレームを内部バス30上に送出して、INリフレッシュを実行する。各スレーブユニット20は、内部バス30を介してINフレームを受信すると、IOモジュール200をリフレッシュし、それによって更新されるIOメモリ210の状態値(INデータ)を、内部バス30を介してマスターユニット10へ送出する。
時刻t37において、プロセッサ100は、内部バス制御部130の受信バッファ164に格納されているINデータのフィールドバス制御部110の送信バッファ128へのコピー(転送)を開始する。実施の形態1においては、INリフレッシュは時刻t37までに完了するように制御される。そして、時刻t38において、後続のフィールドバスフレームが到来すると、フィールドバス制御部110は、当該到来したフィールドバスフレームにINデータを書込む。
時刻t31から時刻t38の間は、フィールドバス4の制御周期T1に相当する。フィールドバス4の制御周期T1は予め定められている(典型的には、メイン処理装置2から通知されている)ため、時刻t31を特定できれば、時刻t38、すなわち後続のフィールドバスフレームの到来タイミングを特定できる。そのため、プロセッサ100は、これらのタイミング情報に基づいて、INリフレッシュの開始を設定するタイマの起動タイミング(図8では、時刻t35)、およびそのタイマ値を決定できる。すなわち、内部バス制御部130は、次の制御周期に対応する後続のフィールドバスフレームが到来するとされている時点(図8では、時刻t38)を基準とした予め定められた時間だけ前の時点(時刻t36)から、スレーブユニット20の入力部についての更新処理を開始する。
言い換えれば、プロセッサ100は、スレーブユニット20の入力部で収集された状態値(INデータ)の内部バス制御部130の受信バッファ164への格納、および引き続く内部バス制御部130からフィールドバス制御部110の送信バッファ128へのデータ転送が、後続のフィールドバスフレームが到来する前に完了するように、スレーブユニット20の入力部についての更新処理(INリフレッシュ)を開始する。
《f2:タイミング決定》
フィールドバス4において定時性を担保するため、フィールドバス4に接続されている各装置に対して基準タイミングがメイン処理装置2から通知されている場合には、その基準タイミングに基づいて、INリフレッシュタイマを開始する時刻(図8では、時刻t36)を特定することができる。あるいは、先行のフィールドバス4を受信したタイミング(図8では、時刻t31)および制御周期T1に基づいて、時刻t36を決定してもよい。
より具体的には、再度図3を参照して、メイン処理装置2は、フィールドバス4を介して接続されるリモートIO装置3との間で共通のタイマ(通信モジュール52内のタイマ52a)を有している。このタイマは、各リモートIO装置3の通信モジュール12内のタイマ12aと同期されている。なお、タイマとしては、時刻を示すものではなく、予め定められた周期でカウントアップ/カウントダウンするカウンタであってもよい。
そして、リモートIO装置3のプロセッサ100は、この同期されたタイマで計時される値(典型的には、カウント値)に基づいて、INリフレッシュの開始タイミングを決定する。すなわち、プロセッサ100は、タイマに基づいて、図8に示す時刻t35および時刻t36を決定する。
<G.実施の形態2>
実施の形態2として、上述の実施の形態1に比較して、ノイズ耐性を高めた構成に適した形態について例示する。
《g1:基本形》
図9は、実施の形態2に係るリモートIO装置3におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。
図9の(A)を参照して、実施の形態2においては、OUTリフレッシュおよびINリフレッシュの少なくとも一方が複数回実行される。これは、OUTフレームおよびINフレームの少なくとも一方がノイズの影響などによって、正しく伝送されなかった場合を考慮したものである。スレーブユニット20は、複数回送信されるOUTフレームおよびINフレームのうち、それぞれ1つを受信できれば、OUTリフレッシュおよびINリフレッシュを完了できる。
なお、OUTフレームおよびINフレームについて、宛先のユニットが正しく受信したか否かを肯定応答/否定応答(ACK/NACK)などを用いて応答するように構成してもよい。しかしながら、実施の形態2のように、宛先の受信可否にかかわらず、OUTフレームおよびINフレームを所定回数にわたって再送する方法を採用することで、より処理を簡素化できる。
図9の(A)には、OUTリフレッシュ(OUTフレーム)およびINリフレッシュ(INフレーム)を2回ずつ再送する例を示すが、この再送回数については、予めノイズ耐性の性能を評価した上で決定してもよい。あるいは、ユーザが任意に設定してもよい。
このように、実施の形態2においては、プロセッサ100は、INフレームを再送することで、スレーブユニット20において収集された状態値(INデータ)のマスターユニット10への送信を複数回指示する。また、プロセッサ100は、OUTフレームを再送することで、スレーブユニット20の出力部が出力する信号(OUTデータ)を更新するための指令を複数回送信する。
実施の形態2においては、INフレームを複数回送信するため、実施の形態1に比較して、INフレームの送出開始のタイミングをより早くする。すなわち、INリフレッシュの開始タイミングを管理するタイマの値は、再送フレームを考慮して、より早い時間に開始されるように設定される。これにより、最初のINフレームではなく、後続のINフレームでINリフレッシュが実行されるようになった場合であっても、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)の開始に間に合う。すなわち、次の制御サイクルで、INデータをフィールドバスフレームに書込むことができる。
《g2:ノイズの影響》
次に、内部バス30のノイズの影響について説明する。
図9の(B)には、INリフレッシュを複数回実行、すなわちINフレームを再送する場合に、そのINリフレッシュの開始タイミングを上述の実施の形態1と同様に設定したときの例を示す。この場合には、最初のINフレームでINリフレッシュが完了すれば本来の処理が実行できる。すなわち、次の制御サイクルで、INデータをフィールドバスフレームに書込むことができる。しかしながら、実際にノイズが発生して2番目以降のINフレームでINリフレッシュが完了した場合には、さらにその次の制御サイクルで、INデータがフィールドバスフレームに書込まれることになる。すなわち、次の制御サイクルでは、既存のINデータがフィールドバスフレームに書込まれることになる。
そのため、内部バス30の帯域が相対的に広くノイズの影響を受けやすい場合には、図9の(A)に示すように、INリフレッシュを複数回実行するとともに、その実行開始のタイミングを早めることが好ましい。
《g3:再送限界》
図10は、図9に示すOUTリフレッシュ/INリフレッシュの動作における再送限界を示すタイムチャートである。図10に示すタイムチャートにおいては、OUTリフレッシュおよびINリフレッシュの再送回数を最大限まで増加させた例を示す。OUTフレームおよびINフレームの再送回数の限界(すなわち、内部バス30上でのOUTフレームおよびINフレームの伝送に割当てることのできる最大時間)は、以下のような式に従って算出できる。
制御サイクル−(フィールドバスフレームの長さ+OUTデータのコピーに要する時間+INデータのコピーに要する時間)
但し、OUTフレームおよびINフレームの生成に係る時間(バジェット)が生じるので、実際の再送回数の最大値は、これらのオーバヘッドを考慮して決定される。
<H.実施の形態3>
実施の形態3として、マスターユニット10内のINデータおよびOUTデータのコピー処理と、内部バス30上のOUTリフレッシュおよびINリフレッシュを並行して実行する構成について例示する。
《h1:基本形》
図11は、実施の形態3に係るリモートIO装置3におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。図11に示す例では、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)の後、続いて、内部バス制御部130の受信バッファ164に格納されているINデータのフィールドバス制御部110の送信バッファ128へのコピー(転送)が実行される。そのため、このINデータのコピーの開始に間に合うように、INリフレッシュの開始タイミングが決定される。
より具体的には、時刻t41において、先行のフィールドバスフレームの先頭が到来し、時刻t42において、この先行のフィールドバスフレームの受信が完了したとする。すると、時刻t42において、プロセッサ100は、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)を開始する。そして、時刻t43において、このOUTデータのコピー処理が完了すると、続いて、プロセッサ100は、内部バス制御部130の受信バッファ164に格納されているINデータのフィールドバス制御部110の送信バッファ128へのコピー(転送)を開始する。そして、時刻t44において、次のフィールドバスフレームが到来する。
このコピー動作と並行して、内部バス制御部130は、時刻t43において、OUTデータを含むOUTフレームを内部バス30上に送出して、OUTリフレッシュを実行する。
また、プロセッサ100は、OUTデータのコピー開始と同時に(時刻t42)、INリフレッシュの開始タイミングを管理するタイマを内部バス制御部130に起動させる。このとき、INデータのコピー処理の開始(時刻t43)に間に合うように、内部バス30上でのINフレームの送出開始のタイミングが決定される。
このように実施の形態3においては、プロセッサ100は、フィールドバス制御部110の受信バッファ126から内部バス制御部130の送信バッファ166へのデータ(OUTデータ)の転送と並行して、スレーブユニット20の入力部についての更新処理(INリフレッシュ)を行う。これとともに、プロセッサ100は、内部バス制御部130の受信バッファ164からフィールドバス制御部110の送信バッファ128へのスレーブユニット20の入力部で収集された状態値(INデータ)の転送と並行して、スレーブユニット20の出力部についての更新処理(OUTリフレッシュ)を行う。
実施の形態3に示すような方法を採用することで、フィールドバス4における制御周期をより短くできる。すなわち、フィールドバス4における制御周期の最小値は、以下のような式に従って算出できる。
制御周期の最小値=フィールドバスフレームの長さ+OUTデータのコピーに要する時間+INデータのコピーに要する時間
《h2:再送型》
図11に示すOUTリフレッシュ/INリフレッシュの動作に対しても、上述の図9に示すように、OUTリフレッシュおよびINリフレッシュの少なくとも一方を複数回実行してもよい。
図12は、実施の形態3の変形例に係るリモートIO装置3におけるOUTリフレッシュ/INリフレッシュの動作の一例を示すタイムチャートである。図12には、OUTリフレッシュ(OUTフレーム)およびINリフレッシュ(INフレーム)を2回ずつ再送する例を示すが、この再送回数については、予めノイズ耐性の性能を評価した上で決定してもよい。あるいは、ユーザが任意に設定してもよい。
この場合においても、図10の場合と同様に、INフレームの送出開始のタイミングをより早くすることが好ましい。図12に示すINフレームの送出開始のタイミング(時刻t45)は、図11に示すINフレームの送出開始のタイミングより早く設定されている。すなわち、INリフレッシュの開始タイミングを管理するタイマの値は、再送フレームを考慮して、より早い時間に開始されるように設定される。これにより、最初のINフレームではなく、後続のINフレームでINリフレッシュが実行されるようになった場合であっても、フィールドバス制御部110の受信バッファ126に格納されているOUTデータの内部バス制御部130の送信バッファ166へのコピー(転送)の開始に間に合う。すなわち、次の制御サイクルで、INデータをフィールドバスフレームに書込むことができる。
《h3:再送限界》
図13は、図12に示すOUTリフレッシュ/INリフレッシュの動作における再送限界を示すタイムチャートである。図13に示すタイムチャートにおいては、OUTリフレッシュおよびINリフレッシュの再送回数を最大限に増加させた例を示す。OUTフレームおよびINフレームの再送回数の限界(すなわち、内部バス30上でのOUTフレームおよびINフレームの伝送に割当てることのできる最大時間)は、フィールドバス4における制御周期T1と一致する。そのため、制御周期T1内で、OUTフレームおよびINフレームの再送回数の最大値を決定すればよい。但し、OUTフレームおよびINフレームの生成に係る時間(バジェット)が生じるので、実際の再送回数の最大値は、これらのオーバヘッドを考慮して決定される。
<I.実施の形態1〜3の変形例>
上述の実施の形態においては、マスターユニット10のプロセッサ100がINリフレッシュの開始タイミングを都度通知する構成について例示したが、スレーブユニット20の各々が自律的にINデータリフレッシュを行うような構成を採用してもよい。
例えば、メイン処理装置2が有するフィールドバス4の通信に係るタイマをマスターユニット10およびスレーブユニット20の間で共有しているような場合には、フィールドバスフレームの到来タイミング(制御周期T1および位相(オフセット時間))に基づいて、INリフレッシュのタイミングを、マスターユニット10からスレーブユニット20へ予め通知するようにしてもよい。このような方法を採用することで、各スレーブユニット20は、自律的に、適切なタイミングでINリフレッシュを行う。
また、スレーブユニット20のすべてに対してINリフレッシュを行うように指示してもよいし、特定のスレーブユニット20に対してINリフレッシュを行うように指示してもよい。例えば、出力部のみを有するスレーブユニット20に対しては、INリフレッシュの指示を省略することができ、これによって内部バス30内のデータ転送をより高速化できる。
<J.実施の形態4>
実施の形態4として、汎用的なコンピュータ(典型的には、パーソナルコンピュータ)を含む通信システムについて説明する。
図14は、実施の形態4に係る通信システム5の全体構成を示す模式図である。図14を参照して、通信システム5は、LAN(local Area Network)7を介して互いに接続された複数のパーソナルコンピュータ6を含む。
パーソナルコンピュータ6は、汎用的なアーキテクチャを有しており、チップセット300と、メインメモリ308と、CPU310と、ネットワークカード312と、1つ以上の拡張カード320とを含む。チップセット300は、パーソナルコンピュータ6の全体を制御するコンポーネントであり、メモリコントローラ302と、システムコントローラ304と、IOコントローラ306とを含む。
メモリコントローラ302は、メインメモリ308に対するデータ書込および読出を制御する。IOコントローラ306は、ネットワークカード312や拡張カード320といった周辺装置との間のデータの遣り取りを制御する。IOコントローラ306と周辺装置との間は、任意の内部バス322を介して接続される。システムコントローラ304は、メモリコントローラ302およびIOコントローラ306と連係しつつ、CPU310に対する命令コードの発行や結果の取得などを適切な順序およびタイミングで実行する。
メインメモリ308は、不揮発性メモリからなり、CPU310でのプログラム実行に必要な命令やデータを保持する。CPU310は、指定された命令コードを順次実行する演算装置である。
ネットワークカード312は、LAN7を介して他の装置との間でデータを送受信するためのインターフェイスである。ネットワークカード312は、IOコントローラ306からの指令に従って、データの送受信を実行する。
拡張カード320は、チップセット300およびCPU310で提供される機能に加えて、補助的な機能を提供する装置を含む。拡張カード320の一例としては、グラフィックカードやDSP(Digital Signal Processing)のように、CPU310と協働して処理を実行する補助的な演算装置や、AD(Analog to Digital)変換やDA(Digital to Analog)変換などを実行する信号変換装置などが含まれる。
例えば、パーソナルコンピュータ6が他の装置(典型的には、他のパーソナルコンピュータ6)に対してデータを所定周期毎に送信する場合を考える。このような場合には、拡張カード320における処理によって生成されたデータが、内部バス322を介してチップセット300(IOコントローラ306)へ伝送され(図14の経路340)、その伝送されたデータを含むデータパケットが、ネットワークカード312からLAN7を介して他の装置へ送信される(図14の経路330)。
また、パーソナルコンピュータ6が他の装置(典型的には、他のパーソナルコンピュータ6)からデータを所定周期毎に受信する場合には、他の装置から送信されたデータパケットが、LAN7を介してネットワークカード312で受信されてチップセット300(IOコントローラ306)へ伝送され(図14の経路330)、その伝送されたデータパケットに含まれるデータが、内部バス322を介して拡張カード320へ送信される(図14の経路340)。
図1に示す構成と、図14に示す通信システム5との対応関係については、LAN7が第1の通信ラインに相当し、内部バス322が第2の通信ラインに相当する。また、チップセット300およびネットワークカード312がマスター部に相当し、拡張カード320がスレーブ部に相当する。より具体的には、ネットワークカード312が第1の通信部に相当し、IOコントローラ306が第2の通信部に相当し、システムコントローラ304(およびメモリコントローラ302)が更新部に相当する。
このような構成においても、図2に示すような手順でデータ伝送が実行される。より具体的には、あるタイミングにおいて他の装置との間でデータパケットの送受信が完了し、次のデータパケットの送受信のタイミングが到来するまでの間に、拡張カード320との間のデータ送受信が完了するように処理される。すなわち、更新部に相当するシステムコントローラ304は、LAN7を介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、内部バス322を介して拡張カードとの間でデータを更新する。一般的には、内部バス322の伝送レートは、LAN7の伝送レートに比較して十分に高いので、内部バス322を介したデータ送受信の完了に要する時間は、データパケットの周期に比較して十分に小さくできる。
このような処理手順を採用することで、例えば、複数のパーソナルコンピュータ6が協働して処理を実行するような場合において、拡張カード320において生成または取得されたデータをより少ない遅れ時間で他の装置へ伝送できる。また、他の装置から与えられたデータをより少ない遅れ時間で拡張カード320へ与えることもできる。これによって、処理を高速化できるとともに、データの不整合などの問題を回避できる。
なお、内部バス322を介して複数の拡張カード320が接続されている場合において、チップセット300と拡張カード320の各々との間が互いに独立して接続されているときには、図2に示すような処理が拡張カード320の各々についてそれぞれ独立に実行される。これに対して、共通の内部バス322に複数の拡張カード320が並列に接続されている場合には、チップセット300は、データの送受信が必要な拡張カード320を時系列で順次選択するとともに、データの送受信を各選択された時間内に行い、次のデータパケットの送受信のタイミングが到来するまでの間に、必要なデータ送受信を完了する。
<K.実施の形態4の変形例>
実施の形態4においては、内部バス322を介して接続された内蔵の拡張カード320がスレーブ部になる構成を例示したが、このスレーブとしては、パーソナルコンピュータに接続される外部機器であってもよい。以下、実施の形態4の変形例として、パーソナルコンピュータに接続される周辺機器をスレーブ部とする例について説明する。
図15は、実施の形態4の変形例に係る通信システム5#の全体構成を示す模式図である。図15を参照して、通信システム5#を構成するパーソナルコンピュータ6#は、図14に示すパーソナルコンピュータ6に比較して、周辺機器360が接続されている点、および、当該周辺機器360を接続するための機器インターフェイス350が設けられている点が異なっている。
機器インターフェイス350は、任意の通信方式に従って周辺機器360とデータを遣り取りすることができる。通信方式の一例としては、USB(Universal Serial Bus)、IEEE1394、RS−232(Recommended Standard 232)準拠のシリアルバス、IEEE1284準拠のパラレルバスなどがある。
周辺機器360は、パーソナルコンピュータ6#からアクセスされる任意の装置を含む。例えば、周辺機器360の一例として、ハードディスクなどの外部記憶装置や、DVD−ROMなどの記録媒体からデータを読取る光学読取装置などが挙げられる。
例えば、パーソナルコンピュータ6#が他の装置(典型的には、他のパーソナルコンピュータ6#)に対してデータを所定周期毎に送信する場合を考える。このような場合には、周辺機器360からのデータが、通信ライン362を介して、機器インターフェイス350からチップセット300(IOコントローラ306)へ伝送され(図15の経路342)、その伝送されたデータを含むデータパケットが、ネットワークカード312からLAN7を介して他の装置へ送信される(図15の経路330)。
また、パーソナルコンピュータ6#が他の装置(典型的には、他のパーソナルコンピュータ6#)からデータを所定周期毎に受信する場合には、他の装置から送信されたデータパケットが、LAN7を介してネットワークカード312で受信されてチップセット300(IOコントローラ306)へ伝送され(図15の経路330)、その伝送されたデータパケットに含まれるデータが、機器インターフェイス350から通信ライン362を介して周辺機器360へ送信される(図15の経路342)。
図1に示す構成と、図15に示す通信システム5#との対応関係については、LAN7が第1の通信ラインに相当し、通信ライン362(および内部バス322)が第2の通信ラインに相当する。また、チップセット300およびネットワークカード312がマスター部に相当し、周辺機器360がスレーブ部に相当する。より具体的には、ネットワークカード312が第1の通信部に相当し、IOコントローラ306が第2の通信部に相当し、システムコントローラ304(およびメモリコントローラ302)が更新部に相当する。
このような構成においても、図2に示すような手順でデータ伝送が実行される。より具体的には、あるタイミングにおいて他の装置との間でデータパケットの送受信が完了し、次のデータパケットの送受信のタイミングが到来するまでの間に、拡張カード320との間のデータ送受信が完了するように処理される。すなわち、更新部に相当するシステムコントローラ304は、LAN7を介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、通信ライン362を介して周辺機器360との間でデータを更新する。
機器インターフェイス350および通信ライン362を介して複数の周辺機器360が互いに独立に接続されている場合には、図2に示すような処理が周辺機器360の各々についてそれぞれ独立に実行される。
このような処理手順を採用することで、例えば、複数のパーソナルコンピュータが協働して処理を実行するような場合において、周辺機器360からのデータをより少ない遅れ時間で他の装置へ伝送できる。また、他の装置から与えられたデータをより少ない遅れ時間で周辺機器360へ与えることもできる。これによって、処理を高速化できるとともに、データの不整合などの問題を回避できる。
<L.利点>
上述の実施の形態1〜3によれば、フィールドバス4を介して周期的にフィールドバスフレームを受信するたびに、リモートIO装置3は、その直前にフィールドバスフレームを受信した後のタイミングでリフレッシュしたINデータを書込むことができる。また、受信したフィールドバスフレームに含まれるOUTデータについては、後続のフィールドバスフレームが到来するまでに、スレーブユニット20に対して出力される。
このようなフィールドバス4および内部バス30を介したデータ更新のタイミングを適切化することで、装置間でのデータ更新をより高速に行うことができる。そのため、メイン処理装置2において実行される制御プログラムの精度を高めることができる。例えば、本実施の形態に係る制御システムは、位置精度が重要なモーション制御などに好適である。
また、実施の形態4およびその変形例によれば、パーソナルコンピュータ間の周期的なデータ送受信パーソナルコンピュータ内部または周辺機器からのデータをより小さい遅れ時間で反映できるので、複数のパーソナルコンピュータが連係して処理を行うような構成において、より適切な処理を実現できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLCシステム、2 メイン処理装置、3 リモートIO装置、4 フィールドバス、5,5# 通信システム、6,6# パーソナルコンピュータ、10 マスターユニット、12,52 通信モジュール、12a,52a タイマ、20 スレーブユニット、30,70,322 内部バス、40 電源ユニット、50 CPUユニット、60 IOユニット、100 プロセッサ、110 フィールドバス制御部、112 受信部、114 送信部、120 フィールドバス通信コントローラ、122,302 メモリコントローラ、124 FIFOメモリ、126,164 受信バッファ、128,166 送信バッファ、130 内部バス制御部、132 内部バス通信コントローラ、142,152,224,234,244,254 送信回路、144,154,222,232,242,252 受信回路、160 記憶部、162 共有メモリ、200 IOモジュール、210 IOメモリ、220,240 通信コントローラ、300 チップセット、304 システムコントローラ、306 コントローラ、308 メインメモリ、310 CPU、312 ネットワークカード、320 拡張カード、350 機器インターフェイス、360 周辺機器、362 通信ライン。

Claims (17)

  1. 制御システムの少なくとも一部を構成する制御装置であって、
    第1の通信ラインに接続されるマスター制御部と、
    前記マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを備え、
    前記マスター制御部は、
    前記第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するための第1の通信部と、
    前記第2の通信ラインを介して前記制御周期より短い時間内で前記スレーブ制御部との間でデータを送受信するための第2の通信部と、
    前記第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ制御部との間でデータを更新するための更新部とを含む、制御装置。
  2. 前記スレーブ制御部は、外部入力される信号の状態値を収集するための入力部を含み、
    前記更新部は、更新処理として、前記入力部に、新たに状態値を収集させるとともに、収集された状態値を前記マスター制御部へ送信させる、請求項1に記載の制御装置。
  3. 前記更新部は、前記収集された状態値の前記マスター制御部への送信を複数回指示する、請求項2に記載の制御装置。
  4. 前記更新部は、前記後続のデータが到来するとされている時点を基準とした予め定められた時間だけ前の時点から、前記入力部についての更新処理を開始する、請求項2に記載の制御装置。
  5. 前記スレーブ制御部は、指定された状態値の信号を出力するための出力部を含み、
    前記更新部は、更新処理として、前記第1の通信ラインを介して受信したデータの少なくとも一部に従って、前記出力部が出力する信号を更新する、請求項2〜4のいずれか1項に記載の制御装置。
  6. 前記更新部は、前記出力部が出力する信号を更新するための指令を複数回送信する、請求項5に記載の制御装置。
  7. 前記マスター制御部は、
    前記第1の通信ラインを伝送するデータを格納するための第1のバッファメモリと、
    前記第2の通信ラインを伝送するデータを格納するための第2のバッファメモリと、
    前記第1のバッファメモリと前記第2のバッファメモリとの間のデータ転送を制御するための転送回路とを含み、
    前記更新部は、前記入力部で収集された状態値の前記第2のバッファメモリへの格納、および引き続く前記第2のバッファメモリから前記第1のバッファメモリへのデータ転送が、前記後続のデータが到来する前に完了するように、前記入力部についての更新処理を開始する、請求項5または6に記載の制御装置。
  8. 前記更新部は、前記先行のデータの受信、および引き続く前記第1のバッファメモリから前記第2のバッファメモリへの当該データの転送が完了した後に、前記出力部についての更新処理を開始する、請求項7に記載の制御装置。
  9. 前記更新部は、
    前記第1のバッファメモリから前記第2のバッファメモリへの前記先行のデータの転送と並行して、前記入力部についての更新処理を行うとともに、
    前記第2のバッファメモリから前記第1のバッファメモリへの前記入力部で収集された状態値の転送と並行して、前記出力部についての更新処理を行う、請求項7または8に記載の制御装置。
  10. 前記マスター制御部は、前記第1の通信ラインを介して接続される他の装置との間で共通のタイマを有しており、
    前記更新部は、前記タイマで計時される値に基づいて、更新処理の開始タイミングを決定する、請求項1〜9のいずれか1項に記載の制御装置。
  11. 通信システムの少なくとも一部を構成する情報処理装置であって、
    第1の通信ラインに接続されるマスター部と、
    前記マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを備え、
    前記マスター部は、
    前記第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するための第1の通信部と、
    前記第2の通信ラインを介して前記周期より短い時間内で前記スレーブ部との間でデータを送受信するための第2の通信部と、
    前記第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ部との間でデータを更新するための更新部とを含む、情報処理装置。
  12. 第1の通信ラインに接続されるマスター制御部と、前記マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを含み、制御システムの少なくとも一部を構成する制御装置、における制御方法であって、
    前記マスター制御部において、前記第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター制御部において、前記第2の通信ラインを介して前記制御周期より短い時間内で前記スレーブ制御部との間でデータを送受信するステップと、
    前記マスター制御部において、前記第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ制御部との間でデータを更新するステップとを含む、制御方法。
  13. 第1の通信ラインに接続されるマスター部と、前記マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含み、通信システムの少なくとも一部を構成する情報処理装置、における制御方法であって、
    前記マスター部において、前記第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター部において、前記第2の通信ラインを介して前記周期より短い時間内で前記スレーブ部との間でデータを送受信するステップと、
    前記マスター部において、前記第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ部との間でデータを更新するステップとを含む、制御方法。
  14. 第1の通信ラインに接続されるマスター制御部と、前記マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを含み、制御システムの少なくとも一部を構成するコンピュータで実行されるプログラムを格納したコンピュータ読取可能な記録媒体であって、前記プログラムは前記コンピュータに
    前記マスター制御部が前記第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター制御部が前記第2の通信ラインを介して前記制御周期より短い時間内で前記スレーブ制御部との間でデータを送受信するステップと、
    前記マスター制御部が前記第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ制御部との間でデータを更新するステップとを実行させる、コンピュータ読取可能な記録媒体。
  15. 第1の通信ラインに接続されるマスター部と、前記マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含み、通信システムの少なくとも一部を構成するコンピュータで実行されるプログラムを格納したコンピュータ読取可能な記録媒体であって、前記プログラムは前記コンピュータに
    前記マスター部が前記第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター部が前記第2の通信ラインを介して前記周期より短い時間内で前記スレーブ部との間でデータを送受信するステップと、
    前記マスター部が前記第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ部との間でデータを更新するステップとを実行させる、コンピュータ読取可能な記録媒体。
  16. 第1の通信ラインに接続されるマスター制御部と、前記マスター制御部と第2の通信ラインを介して接続される少なくとも1つのスレーブ制御部とを含み、制御システムの少なくとも一部を構成するコンピュータで実行されるプログラムであって、前記プログラムは前記コンピュータに
    前記マスター制御部が前記第1の通信ラインを介して予め定められた制御周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター制御部が前記第2の通信ラインを介して前記制御周期より短い時間内で前記スレーブ制御部との間でデータを送受信するステップと、
    前記マスター制御部が前記第1の通信ラインを介して先行のデータを受信した後、次の制御周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ制御部との間でデータを更新するステップとを実行させる、プログラム。
  17. 第1の通信ラインに接続されるマスター部と、前記マスター部と第2の通信ラインを介して接続される少なくとも1つのスレーブ部とを含み、通信システムの少なくとも一部を構成するコンピュータで実行されるプログラムであって、前記プログラムは前記コンピュータに
    前記マスター部が前記第1の通信ラインを介して予め定められた周期毎に他の装置との間でデータを送受信するステップと、
    前記マスター部が前記第2の通信ラインを介して前記周期より短い時間内で前記スレーブ部との間でデータを送受信するステップと、
    前記マスター部が前記第1の通信ラインを介して先行のデータを受信した後、次の周期に対応する後続のデータが到来する前に、前記第2の通信ラインを介して前記スレーブ部との間でデータを更新するステップとを実行させる、プログラム。
JP2014504793A 2012-03-15 2013-03-01 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム Active JP6358088B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014504793A JP6358088B2 (ja) 2012-03-15 2013-03-01 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012058300 2012-03-15
JP2012058300 2012-03-15
PCT/JP2013/055674 WO2013137023A1 (ja) 2012-03-15 2013-03-01 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
JP2014504793A JP6358088B2 (ja) 2012-03-15 2013-03-01 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013137023A1 true JPWO2013137023A1 (ja) 2015-08-03
JP6358088B2 JP6358088B2 (ja) 2018-07-18

Family

ID=49160938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014504793A Active JP6358088B2 (ja) 2012-03-15 2013-03-01 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム

Country Status (5)

Country Link
US (1) US9398080B2 (ja)
EP (1) EP2816425B1 (ja)
JP (1) JP6358088B2 (ja)
CN (1) CN104126155B (ja)
WO (1) WO2013137023A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6051547B2 (ja) * 2012-03-15 2016-12-27 オムロン株式会社 制御装置
EP3116166B1 (en) * 2014-03-04 2018-09-05 Omron Corporation Control system, control device, and control method
DE112014001980T5 (de) * 2014-03-07 2016-01-21 Mitsubishi Electric Corporation Analogeinheit, Gerät zur Erstellung einer Umwandlungskennlinientabelle und speicherprogrammierbares Steuerungssystem
JP6465620B2 (ja) * 2014-10-31 2019-02-06 ヤマハ発動機株式会社 制御システムおよび制御方法
EP3056953A1 (de) * 2015-02-11 2016-08-17 Siemens Aktiengesellschaft Autarkes Feldgerät der Automatisierungstechnik zur Fernüberwachung
KR102023534B1 (ko) * 2015-04-17 2019-09-23 엘에스산전 주식회사 슬레이브 디바이스 및 이의 제어 방법
JP6471705B2 (ja) * 2016-01-29 2019-02-20 オムロン株式会社 信号処理装置、信号処理装置の制御方法、情報処理プログラム、および記録媒体
EP3211289B1 (en) * 2016-02-26 2021-12-15 Nel Hydrogen A/S Communication/control system for a hydrogen refuelling system
JP6859675B2 (ja) * 2016-11-21 2021-04-14 セイコーエプソン株式会社 ロボット、及びロボットシステム
FR3069077B1 (fr) * 2017-07-12 2019-07-26 Safran Electronics & Defense Systeme et procede de communication pour la commande et le controle d'au moins un peripherique
JP6897462B2 (ja) 2017-09-27 2021-06-30 オムロン株式会社 制御システムおよび通信方法
JP6919596B2 (ja) * 2018-03-01 2021-08-18 オムロン株式会社 計測システムおよび方法
JP7020198B2 (ja) * 2018-03-09 2022-02-16 オムロン株式会社 制御装置および制御システム
JP7268287B2 (ja) * 2018-03-12 2023-05-08 オムロン株式会社 制御システム、制御方法、および制御プログラム
JP6969454B2 (ja) * 2018-03-13 2021-11-24 オムロン株式会社 制御装置、制御方法、および、制御プログラム
JP7259537B2 (ja) * 2019-05-16 2023-04-18 オムロン株式会社 情報処理装置
CN112051758B (zh) * 2019-06-06 2023-12-15 广东省大金创新电子有限公司 一种io扩展芯片
JP7275940B2 (ja) * 2019-07-08 2023-05-18 オムロン株式会社 制御プログラムおよび方法
JP7404789B2 (ja) * 2019-11-01 2023-12-26 オムロン株式会社 制御システム、制御システムの通信制御方法、および制御装置
DE102020210613A1 (de) 2020-08-20 2022-02-24 Lenze Se Elektrisches Steuergerät
CN114326510B (zh) * 2021-12-29 2024-03-22 上海智殷自动化科技有限公司 工业机器人控制器基于串口的一种io通信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198600A (ja) * 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ
JP2011192068A (ja) * 2010-03-15 2011-09-29 Omron Corp プログラマブルコントローラ
JP2011216085A (ja) * 2010-03-15 2011-10-27 Omron Corp プログラマブルコントローラ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119292A (en) * 1989-07-21 1992-06-02 Clearpoint Research Corporation Bus device which abstains from round robin arbitration
US5131085A (en) * 1989-12-04 1992-07-14 International Business Machines Corporation High performance shared main storage interface
EP1574921B1 (en) * 2004-03-11 2012-12-12 Omron Corporation Synchronous controller
JP4282631B2 (ja) * 2005-04-20 2009-06-24 ファナック株式会社 テーブル形式データで運転を行う数値制御装置
CN101976074B (zh) * 2010-11-03 2012-05-30 浙江工业大学 基于现场总线和控制网络的工业控制系统
WO2012090291A1 (ja) * 2010-12-28 2012-07-05 株式会社日立製作所 モーションコントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198600A (ja) * 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ
JP2011192068A (ja) * 2010-03-15 2011-09-29 Omron Corp プログラマブルコントローラ
JP2011216085A (ja) * 2010-03-15 2011-10-27 Omron Corp プログラマブルコントローラ

Also Published As

Publication number Publication date
EP2816425B1 (en) 2020-06-17
CN104126155B (zh) 2017-06-09
EP2816425A4 (en) 2015-12-23
WO2013137023A1 (ja) 2013-09-19
US9398080B2 (en) 2016-07-19
US20150058432A1 (en) 2015-02-26
CN104126155A (zh) 2014-10-29
EP2816425A1 (en) 2014-12-24
JP6358088B2 (ja) 2018-07-18

Similar Documents

Publication Publication Date Title
JP6358088B2 (ja) 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
JP6477161B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
US10277417B2 (en) Control system, control apparatus and control method with input-only communication frame
JP6094196B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
WO2012111653A1 (ja) データ転送装置
JP5233770B2 (ja) ゲートウェイ装置、その制御方法、システム、制御方法を実行させるためのプログラム及びそれを記録した記録媒体
JP7396393B2 (ja) 制御システム、装置および制御方法
US10735219B2 (en) System and method for packet transmission in a communications network
JP6471368B2 (ja) 時間同期化方法
US20190229885A1 (en) Computing device and control system
JP6419400B1 (ja) Plc、ネットワークユニット、cpuユニット、及びデータ転送方法
JP2017068353A (ja) ユニット間での同期制御機能を有する数値制御システム
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
JP5089225B2 (ja) 中継処理方法及び中継ノード装置
JPH09298578A (ja) デジタル通信におけるデータ保証方法およびデータ保証システム
WO2023238501A1 (ja) データ通信システム、データ通信方法、中継装置、中継方法、及びプログラム
JP5490267B2 (ja) データ転送装置
JPWO2023281805A5 (ja)
JP2021175182A (ja) サーボシステム、データ伝送システムおよびそのデータ伝送の方法
TWM483611U (zh) 網路控制設備、遠端設備的網路控制系統
CN103957146A (zh) 网路控制设备、远端设备的网路控制系统与控制方法
TWM483612U (zh) 遠端匯流排之傳輸系統與裝置
JP2014039183A (ja) 通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180302

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180604

R150 Certificate of patent or registration of utility model

Ref document number: 6358088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250