JP2014138206A - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
JP2014138206A
JP2014138206A JP2013004516A JP2013004516A JP2014138206A JP 2014138206 A JP2014138206 A JP 2014138206A JP 2013004516 A JP2013004516 A JP 2013004516A JP 2013004516 A JP2013004516 A JP 2013004516A JP 2014138206 A JP2014138206 A JP 2014138206A
Authority
JP
Japan
Prior art keywords
frame
unit
data
transmitted
priority
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
JP2013004516A
Other languages
English (en)
Other versions
JP6263836B2 (ja
Inventor
Seiji Mizutani
征爾 水谷
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 JP2013004516A priority Critical patent/JP6263836B2/ja
Priority to EP13198951.9A priority patent/EP2755357B1/en
Priority to US14/136,126 priority patent/US9639077B2/en
Priority to CN201310717203.8A priority patent/CN103929371B/zh
Publication of JP2014138206A publication Critical patent/JP2014138206A/ja
Application granted granted Critical
Publication of JP6263836B2 publication Critical patent/JP6263836B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • 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/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/1208Communication, exchange of control, I-O data between different plc
    • 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/15072Modules in daisy chain, connected by parallel cable
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Programmable Controllers (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】通信ラインを介したデータ伝送を優先度に応じてより効率的に行うことのできる制御装置およびそれに向けられた制御方法を提供する。
【解決手段】制御装置は、通信ラインを介して他のユニットへフレームとしてデータを送信するための送信部と、他のユニットへ送信すべきデータを生成する生成部とを含む。送信部が第1のフレームを送信中に、受信部または制御部においてより優先度の高い送信すべきデータが生じると、送信部は、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信する。
【選択図】図9

Description

本発明は、機械や設備などの動作を制御するために用いられる制御システムにおけるデータ伝送に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。このような制御システムは、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)ユニットを含む。このようなIOユニットは、生産現場の様々な場所に配置されることが予定されている。
このようなIOユニットは、プロセッサなどを含む処理ユニットとの間で所定の通信ラインを介して接続されている。このような通信ラインとしては、内部バスとして構成される場合もある。このような内部バスを用いた場合には、比較的高いクロック周波数(伝送周波数)を採用することで、伝送能力(伝送速度および伝送帯域など)を高めることができる。
特開2011−192068号公報(特許文献1)には、データ通信をする場合にノイズの影響を考慮して、PLCを構成するユニット間の通信を確実かつ高速に行うための構成を開示する。
特開2011−192068号公報
伝送能力が高い通信ラインを採用した場合であっても、多くのデータが伝送される場合には、先行のデータが存在して後続のデータが送信できない状態、すなわち「送信待ち」の状態が生じ得る。一方で、通信ラインを介して送受信されるデータの間では、その内容などに応じた優先度が存在し得る。
本発明の目的は、通信ラインを介したデータ伝送を優先度に応じてより効率的に行うことのできる制御装置およびそれに向けられた制御方法を提供することである。
本発明のある局面によれば、制御システムの少なくとも一部を構成する制御装置が提供される。制御装置は、通信ラインを介して接続される複数のユニットを含む。複数のユニットの各々は、制御部と、通信ラインを介して他のユニットからフレームとして送信されるデータを受信するための受信部と、通信ラインを介して他のユニットへフレームとしてデータを送信するための送信部と、他のユニットへ送信すべきデータを生成する生成部とを含む。各フレームは、1または複数のブロックから構成されるとともに、その中に含まれるデータの優先度を示す情報を含む。送信部が第1のフレームを送信中に、受信部または制御部においてより優先度の高い送信すべきデータが生じると、送信部は、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信する。
好ましくは、送信部は、第2のフレームの送信が完了するまで、第1のフレームのうち未送信の部分の送信を中断する。
好ましくは、送信部は、第1のフレームのうち未送信の部分を破棄する。
好ましくは、送信すべきデータが生じたときに送信待ちの第3のフレームが存在しており、かつ、第3のフレームに含まれるデータの優先度が送信すべきデータの優先度より低ければ、送信部は、第2のフレームを第3のフレームより先に送信する。
好ましくは、送信すべきデータが生じたときに送信待ちの第3のフレームが存在しており、かつ、第3のフレームに含まれるデータの優先度が送信すべきデータの優先度と同等であれば、送信部は、第3のフレームを送信し、その後に第2のフレームを送信する。
好ましくは、複数のユニットの各々は、複数のバッファと、受信部で受信されたフレームに含まれるデータおよび生成部が生成したデータの少なくとも一方について、対象のデータに含まれる優先度を示す情報に基づいて、当該データを格納するバッファを決定する判断部とをさらに含む。
好ましくは、生成部は、データ種別に応じて、生成するデータに優先度を示す情報を付加する。
本発明の別の局面によれば、通信ラインを介して接続される複数のユニットを含む制御装置を少なくとも一部として構成される制御システムにおける制御方法が提供される。制御方法は、複数のユニットのうち第1のユニットが通信ラインを介して他のユニットからフレームとして送信されるデータを受信するステップを含む。各フレームは、1または複数のブロックから構成されるとともに、その中に含まれるデータの優先度を示す情報を含む。制御方法は、さらに、第1のユニットが通信ラインを介して他のユニットへフレームとしてデータを送信するステップと、第1のユニットが他のユニットへ送信すべきデータを生成するステップと、第1のユニットがフレームを他のユニットへ送信中に、より優先度の高い送信すべきデータが生じると、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信するステップとを含む。
本発明によれば、通信ラインを介したデータ伝送を優先度に応じてより効率的に行うことができる。
本発明の実施の形態に係るPLCシステムの全体構成を示す模式図である。 本発明の実施の形態に係るリモートIO装置の接続構成を示す模式図である。 本発明の実施の形態に係るリモートIO装置を構成するマスターユニットのハードウェア構成を示す模式図である。 本発明の実施の形態に係るリモートIO装置のIOユニットのハードウェア構成を示す模式図である。 本発明の実施の形態に係るメイン処理装置の接続構成を示す模式図である。 本発明の実施の形態に係るメイン処理装置を構成するCPUユニットのハードウェア構成を示す模式図である。 本発明の実施の形態に係る内部バス上を伝送されるフレームの構造を示す模式図である。 本発明の実施の形態に係るIOユニットのフォワードコントローラのより具体的な構成を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係るフレームの割り込みが生じた場合のフレームの構造を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。 本発明の実施の形態に係る優先度に応じたデータ伝送の処理手順を示すフローチャートである。 本発明の実施の形態に係る優先度に応じたデータ伝送を用いたリモートIO装置における低消費電力化の実現方法を説明するための図である。 本発明の実施の形態に係る優先度に応じたデータ伝送を用いたリモートIO装置における通信手順を示すタイムチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
本発明の実施の形態においては、制御システムの一例として、PLCを中心とするシステムについて例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術に進展によって、新たな処理装置(演算装置)が開発された場合には、そのような新たな処理装置を採用することもできる。
<A.PLCシステムの全体構成>
まず、本実施の形態に係るPLCシステムの全体構成について説明する。図1は、本発明の実施の形態に係るPLCシステム1の全体構成を示す模式図である。
図1を参照して、PLCシステム1は、メイン処理装置2と、1つ以上のリモートIO装置3とを含む。メイン処理装置2は、フィールドバス4を介して、リモートIO装置3と接続されている。リモートIO装置3の各々は、フィールドバス4と接続するための通信モジュール12を有している。
メイン処理装置2は、PLCシステム1の少なくとも一部を構成する制御装置である。メイン処理装置2は、制御プログラムを実行し、外部のスイッチやセンサからの入力信号に応答して、外部のリレーやアクチュエータへの出力信号を算出する。
より具体的には、メイン処理装置2は、電源ユニット30と、CPUユニット40と、IOユニット20とを含む。CPUユニット40およびIOユニット20は、内部バス5を介して互いにデータ伝送可能に接続されている。
電源ユニット30は、CPUユニット40およびIOユニット20へ適切な電圧の電力を供給する。CPUユニット40は、制御プログラムを実行するためのプロセッサおよびメインメモリを含む演算主体である。IOユニット20は、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当する。
CPUユニット40は、フィールドバス4を介して、リモートIO装置3との間でデータを遣り取りするための通信モジュール42を含む。フィールドバス4は、予め定められた制御周期で通信可能な(リアルタイム通信可能な)通信方式が好ましい。言い換えれば、本実施の形態に係るフィールドバス4は、定時性が確保されていることが好ましい。
このようなフィールドバス4としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、例えば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。
リモートIO装置3は、PLCシステム1の少なくとも一部を構成する制御装置である。リモートIO装置3は、外部のスイッチやセンサからの入力信号を受信し、フィールドバス4を介して、その受信した入力信号をメイン処理装置2へ送信するとともに、メイン処理装置2からフィールドバス4を介して受信した信号を、外部のリレーやアクチュエータへ出力する。
より具体的には、リモートIO装置3は、マスターユニット10と、1つ以上のIOユニット20とを含む。マスターユニット10およびIOユニット20は、内部バス5を介して互いにデータ伝送可能に接続されている。
マスターユニット10は、主として、IOユニット20の動作(IOデータの更新タイミングなど)を制御するとともに、メイン処理装置2との間のデータ伝送を制御する。マスターユニット10の詳細については、後述する。
IOユニット20は、マスターユニット10(または、CPUユニット40)と内部バス5を介してデータ伝送する機能に加えて、一般的な入出力処理の機能を有する。典型的には、IOユニット20は、オン/オフといった2値化されたデータを入力/出力する。例えば、IOユニット20は、検出センサから、何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット20は、リレーやアクチュエータといった出力先に対して、アクティブ化(活性化)するための指令(オン)および非アクティブ化(非活性化)するための指令(オフ)のいずれかを与える。
上述の説明では、IOユニット20の各々が入出力処理を行う構成について例示したが、入力処理に特化した構成(入力ユニット)または出力処理に特化した構成(出力ユニット)であってもよい。
<B.優先度に応じたより効率的なデータ伝送について>
本実施の形態に係るPLCシステム1の内部バス5では、機器同士がデジチェーン接続されている。より具体的には、内部バス5は、マスター/スレーブ構成になっており、マスター側からスレーブ側へデータを送信するダウンリンク(Down Link:以下「DL」とも記す。)と、スレーブ側からマスター側へデータを送信するアップリンク(Up Link:以下「UL」とも記す。)とが対になった通信ラインからなる。なお、この通信ラインは、1チャネル(回線)であってもよいし、さらに多くのチャネルが用意されていてもよい。
このPLCシステム1の内部バス5において、基本的には、各機器の送受信制御はフレーム単位で行われる。後述するように、各フレームは、1つ以上のフレーム境界同期コードと、1つ以上のブロックとからなる。各ブロックは、送受信されるデータの単位であり、予め定められたフォーマットに従って生成される。すなわち、各ブロックに含まれるデータ量は予め定められているので、送受信されるデータは、その量に応じた数のブロックに分割されて伝送されることになる。典型的には、ブロックのデータサイズは、各機器が一度に処理(並列処理)できるデータ量に設定される。そのため、1つのフレームに係る送受信処理を中断/再開するような場合には、その中に含まれるブロック単位で中断/再開を行うことが好ましい。
本実施の形態に係る通信ラインでは、各フレームに含まれるデータの優先度に応じて、その伝送順序が入れ替えられる。すなわち、より優先度の高いデータを含むフレームを送信すべき状態が生じると、IOユニット20は、先に送信中の(より優先度の低いデータを含む)フレームを所定の区切り(後述する「ブロック」の境界)まで送信した上で、それ以降の送信を中断し、当該より優先度の高いデータを含むフレームの送信を開始する。
このように、IOユニット20の送信部が先行のフレームを送信中に、その受信部またはその制御部においてより優先度の高い送信すべきデータが生じると、IOユニット20の送信部は、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信する。
以下、先にハードウェア構成について説明した後、本実施の形態に係る、各種の状況におけるデータ伝送の処理について説明する。
<C.リモートIO装置3のハードウェア構成>
次に、本実施の形態に係るPLCシステム1の一部を構成する制御装置であるリモートIO装置3のハードウェア構成について説明する。
図2は、本発明の実施の形態に係るリモートIO装置3の接続構成を示す模式図である。図3は、本発明の実施の形態に係るリモートIO装置3を構成するマスターユニット10のハードウェア構成を示す模式図である。図4は、本発明の実施の形態に係るリモートIO装置3のIOユニット20のハードウェア構成を示す模式図である。
《c1:接続構成》
図2を参照して、リモートIO装置3では、マスターユニット10および1つ以上のIOユニット20−1,20−2,20−3(以下「IOユニット20」と総称する場合もある。)が通信ラインである内部バス5(ダウンリンク51およびアップリンク52)を介して互いにデータ伝送可能になっている。すなわち、リモートIO装置3は、通信ラインを介して接続される複数のユニット(マスターユニット10およびIOユニット20)を含む。
一例として、ダウンリンク51およびアップリンク52では、シリアル通信が採用されており、対象のデータは、時系列に一列に並べられた形で伝送する。より具体的には、ダウンリンク51では、マスター制御部として機能するマスターユニット10からスレーブ制御部として機能するIOユニット20へ向けて、ダウンリンク51を介して一方向にデータが送信される。一方、アップリンク52では、いずれかのIOユニット20からマスターユニット10へ向けて、アップリンク52を介して一方向にデータが送信される。
本実施の形態においては、データは、ヘッダ情報を含むフレームとして送信される。各フレームは、1または複数のブロックから構成される。ヘッダ情報は、当該フレーム内のデータの優先度を示す情報を含む。また、ヘッダ情報は、当該フレームの長さに関する情報を含む。フレームの構造などの詳細については後述する。
IOユニット20の各々は、ダウンリンク51またはアップリンク52を伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、IOユニット20の各々は、フレームを再生成した上で、次段のIOユニット20へ再送信(フォワード)する。
データを含むフレームのこのような順次転送を実現するために、各IOユニット20は、ダウンリンク51に関して、受信部(以下「RX」とも記す。)210aおよび送信部(以下「TX」とも記す。)210bを含むとともに、アップリンク52に関して、受信部220aおよび送信部220bを含む。受信部210aおよび220aは、通信ラインである内部バス5を介して他のユニットからフレームとして送信されるデータを受信する。送信部210bおよび220bは、通信ラインである内部バス5を介して他のユニットへフレームとしてデータを送信する。
各IOユニット20は、制御部であるプロセッサ200を含み、プロセッサ200がこれらのデータの処理を制御する。
マスターユニット10は、プロセッサ100と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。すなわち、マスターユニット10は、内部バス5(ダウンリンク51およびアップリンク52)と接続されるだけではなく、受信部112および送信部114を介して、上位通信ネットワークであるフィールドバス4とも接続される。フィールドバス制御部110は、フィールドバス4を介したデータ伝送を管理し、内部バス制御部130は、内部バス5を介したデータ伝送を管理する。
《c2:マスターユニット10の構成》
図3を参照して、リモートIO装置3のマスターユニット10は、プロセッサ100と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
受信部112は、メイン処理装置2からフィールドバス4を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部110へ出力する。送信部114は、フィールドバス制御部110から出力されるデータから上位通信フレームを再生成してフィールドバス4を介して再送信(フォワード)する。
フィールドバス制御部110は、受信部112および送信部114と協働して、フィールドバス4を介して予め定められた制御周期毎に他の装置(メイン処理装置2および他のリモートIO装置3)との間でデータを送受信する。より具体的には、フィールドバス制御部110は、上位通信コントローラ120と、メモリコントローラ122と、FIFO(First In First Out)メモリ124と、受信バッファ126と、送信バッファ128とを含む。
上位通信コントローラ120は、メイン処理装置2からフィールドバス4を介して送信されるコマンドなどを解釈して、フィールドバス4を介した通信を実現するために必要な処理を実行する。また、上位通信コントローラ120は、FIFOメモリ124に順次格納される上位通信フレームからのデータコピー、および上位通信フレームに対するデータ書込みの処理を行う。
メモリコントローラ122は、DMA(Dynamic Memory Access)などの機能を実現する制御回路であり、FIFOメモリ124、受信バッファ126および送信バッファ128などへのデータの書込み/読出しを制御する。
FIFOメモリ124は、フィールドバス4を介して受信された上位通信フレームを一時的に格納するとともに、その格納された順序に従って上位通信フレームを順次出力する。受信バッファ126は、FIFOメモリ124に順次格納される上位通信フレームに含まれるデータのうち、自装置に接続されているIOユニット20の出力部から出力すべき状態値を示すデータを抽出して一時的に格納する。送信バッファ128は、IOユニット20の入力部で検出された状態値を示すプロセスデータであって、FIFOメモリ124に順次格納される上位通信フレームの所定領域に書込むべきデータを一時的に格納する。
プロセッサ100は、フィールドバス制御部110および内部バス制御部130に対して指示を与えるとともに、フィールドバス制御部110と内部バス制御部130との間のデータ転送などを制御する。
内部バス制御部130は、内部バス5(ダウンリンク51およびアップリンク52)を介してIOユニット20との間でフレーム(データ)を送受信する。
より具体的には、内部バス制御部130は、内部バス通信コントローラ132と、送信回路142と、受信回路144と、記憶部160とを含む。
内部バス通信コントローラ132は、内部バス5を介したデータ伝送を主体的に(マスターとして)管理する。
送信回路142は、内部バス通信コントローラ132からの指示に従って、内部バス5のダウンリンク上を流れるフレームを生成して送信する。受信回路144は、内部バス5のアップリンク上を流れるフレームを受信して、内部バス通信コントローラ132へ出力する。
記憶部160は、内部バス5を伝送するフレーム(データ)を格納するバッファメモリに相当する。より具体的には、記憶部160は、共有メモリ162と、受信メモリ164と、送信メモリ166とを含む。共有メモリ162は、フィールドバス制御部110と内部バス制御部130との間で遣り取りされるデータを一時的に格納する。受信メモリ164は、内部バス5を介してIOユニット20から受信したデータを一時的に格納する。送信メモリ166は、フィールドバス制御部110で受信された上位通信フレームに含まれるデータを一時的に格納する。
《c3:IOユニット20の構成》
図4を参照して、リモートIO装置3のIOユニット20の各々は、逆シリアル変換器(de-serializer:以下「DES部」とも称す。)212,222と、シリアル変換器(SER:serializer:以下「SER部」とも称す。)216,226と、フォワードコントローラ214,224とを含む。さらに、IOユニット20の各々は、バス250を介して互いに接続された、受信処理部230と、送信処理部240と、プロセッサ200と、共有メモリ202と、IOモジュール206と、不揮発性メモリ208とを含む。
DES部212、フォワードコントローラ214およびSER部216は、図2に示すダウンリンク51についての受信部210aおよび送信部210bに対応する。すなわち、これらの部分は、ダウンリンク51を流れるフレームの送受信に係る処理を実行する。同様に、DES部222、フォワードコントローラ224およびSER部226は、図2に示すアップリンク52についての受信部220aおよび送信部220bに対応する。すなわち、これらの部分は、アップリンク52を流れるフレームの送受信に係る処理を実行する。
受信処理部230は、復号部232と、CRCチェック部234とを含む。復号部232は、受信されたフレームを所定のアルゴリズムに従ってデータへ復号する。CRCチェック部234は、フレームの最後に付加されるフレームチェックシーケンス(Frame Check Sequence:FCS)などに基づいて誤りチェック(例えば、CRC(Cyclic Redundancy Check)符号)を行う。
送信処理部240は、フォワードコントローラ214および224に接続され、プロセッサ200などからの指示に従って、次段のIOユニット20へ再送信(フォワード)するフレームの生成およびタイミング制御などを行う。また、送信処理部240は、プロセッサ200などと協働して、次段のIOユニット20へ送信すべきデータを生成する。すなわち、送信処理部240は、データ生成部の少なくとも一部を構成する。より具体的には、送信処理部240は、CRC生成部242と、符号化部244とを含む。CRC生成部242は、プロセッサ200などからのデータに対して誤り制御符号(CRC)を算出して、当該データを格納するフレームに付加する。符号化部244は、CRC生成部242からのデータを符号化し、対応するフォワードコントローラ214または224へ出力する。
プロセッサ200は、IOユニット20を主体的に制御する演算主体である。より具体的には、プロセッサ200は、予め格納されたプログラムなどを実行することによって、受信処理部230を介して受信されたフレームを共有メモリ202に格納し、あるいは共有メモリ202から所定のデータを読み出して送信処理部240へ出力し、フレームを生成させる。
共有メモリ202は、受信処理部230を介して受信されたフレームを一時的に格納するための受信バッファ203と、送信処理部240へ介して送信するためのフレームを一時的に格納するための送信バッファ204とを含む。また、共有メモリ202は、各種データを格納するための領域を含む。
IOモジュール206は、外部のスイッチやセンサからの入力信号を受信し、その値を共有メモリ202に書込むとともに、共有メモリ202の対応する領域に書込まれた値に従って、その信号を外部のリレーやアクチュエータへ出力する。すなわち、IOモジュール206は、外部入力される信号の状態値(INデータ)を収集する入力部、および、指定された状態値(OUTデータ)の信号を出力する出力部の少なくとも一方を含む。
不揮発性メモリ208は、各種データを不揮発的に格納する。より具体的には、不揮発性メモリ208は、各IOユニット20の設定値を記述する設定情報(configuration)などを保持する。
《c4:その他》
リモートIO装置3を構成するマスターユニット10およびIOユニット20の各コンポーネントは、処理高速化の観点から、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などのハードウェアなどを実現することが好ましい。但し、一部または全部のコンポーネントをソフトウェアとして実装してもよい。例えば、図2に示す受信部210a,220aおよび送信部210b,220bに相当する部分のみをASICなどの物理的な回路を用いて実装し、その他の部分については、プロセッサがプログラムを実行することで実現してもよい。
<D.メイン処理装置2のハードウェア構成>
次に、本実施の形態に係るPLCシステム1の一部を構成する制御装置であるメイン処理装置2のハードウェア構成について説明する。
図5は、本発明の実施の形態に係るメイン処理装置2の接続構成を示す模式図である。図6は、本発明の実施の形態に係るメイン処理装置2を構成するCPUユニット40のハードウェア構成を示す模式図である。
《d1:接続構成》
図5を参照して、メイン処理装置2においても、上述のリモートIO装置3(図2参照)と同様に、CPUユニット40および1つ以上のIOユニット20−1,20−2,20−3が通信ラインである内部バス5(ダウンリンク51およびアップリンク52)を介して互いにデータ伝送可能になっている。すなわち、メイン処理装置2は、通信ラインを介して接続される複数のユニット(CPUユニット40およびIOユニット20)を含む。
IOユニット20の各々は、ダウンリンク51またはアップリンク52を伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、IOユニット20の各々は、フレームを再生成した上で、次段のIOユニット20へ再送信(フォワード)する。各IOユニット20は、ダウンリンク51に関して、受信部(RX)210aおよび送信部(TX)210bを含むとともに、アップリンク52に関して、受信部220aおよび送信部220bを含む。
CPUユニット40は、プロセッサ150と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
《d2:CPUユニット40の構成》
図6を参照して、メイン処理装置2のCPUユニット40は、プロセッサ150と、主メモリ152と、不揮発性メモリ154と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。CPUユニット40のデータ伝送に係る基本的な構成は、上述のマスターユニット10(図2)と同様であるので、対応する部分(同一の参照符号を付している)についての説明は繰り返さない。
CPUユニット40のプロセッサ150は、対象の制御に係るユーザプログラムを実行する。より具体的には、CPUユニット40は、不揮発性メモリ154などからユーザプログラム156を読み出すとともに、主メモリ152に展開して実行する。このユーザプログラムの実行によって、IOユニット20の入力部によって検出された状態値に基づいて、IOユニット20の出力部から出力すべき状態値が順次算出される。
《d3:IOユニット20の構成》
メイン処理装置2のIOユニット20の構成については、上述したリモートIO装置3のIOユニット20の構成(図4参照)と同様であるので、詳細な説明は繰り返さない。
《d4:その他》
メイン処理装置2を構成するCPUユニット40およびIOユニット20の各コンポーネントについても、処理高速化の観点から、ASICやFPGAなどのハードウェアなどを実現することが好ましい。但し、一部または全部のコンポーネントをソフトウェアとして実装してもよい。
<E.フレーム構造>
次に、本実施の形態に係るPLCシステム1の内部バス5上を伝送されるフレームの構造について説明する。図7は、本発明の実施の形態に係る内部バス5上を伝送されるフレーム300の構造を示す模式図である。
図7を参照して、フレーム300は、1つ以上のフレーム境界同期コード302と、1つ以上のブロックとから構成される。図7に示すフレーム300は、連続配置された4つのフレーム境界同期コード302(フレーム同期)を含む例を示す。フレーム境界同期コード302は、フレームの先頭を意味するコードであり、互いに異なる4つのコードからなる。この互いに異なる4つのコードが配置される順序は予め定められており、このコードの配置順序に基づいて、フレームの開始位置が特定される。すなわち、予め定められた配置順序で4つのフレーム境界同期コード302が受信された場合に限って、後続のフレームの受信処理が開始される。
また、後述するように、先行のフレームの送信中に別のフレームを割り込ませて送信する場合には、先行のフレーム(通常フレーム)と、割込フレームとの間で、フレーム境界同期コード302の値および/または配置順序を異ならせることが好ましい。このような割込処理を行うことで、先行のフレームが時間的に分断された送信されることになるが、このような変則的な送信であっても、受信側で検知することができる。
フレーム300の1番目のブロックは、ヘッダ情報が格納されるヘッダ部304であり、ヘッダ部304に引き続く1つ以上のブロック(2番目以降のブロック)は、送信対象のデータが格納される本体部310である。各ブロックは、データ部と訂正符号部とからなる。ヘッダ部304についてみれば、データ部306は、後続の本体部310に格納されるデータを示す情報を格納し、訂正符号部308は、データ部306に格納されるデータについての訂正符号を格納する。同様に、本体部310についてみれば、データ部312は、送信対象のデータを所定量毎に分割した一部を格納し、訂正符号部314は、データ部312に格納されるデータについての訂正符号を格納する。
例えば、リードソロモン符号を採用した場合には、情報シンボルがデータ部306に割り当てられ、冗長シンボルが訂正符号部308に割り当てられる。典型的には、冗長シンボルは、情報シンボルから生成される。この訂正符号部308に格納される情報量(シンボルの数)は、必要な冗長度(訂正可能距離)などに応じて決定される。
なお、フレームの最終ブロック(図7に示す例では、ブロックN)に、送信対象の全データから算出されるCRCなどをフレームチェックシーケンスとして格納してもよい。これにより、受信側では、フレームが正しく受信されたか否かを判断できる。
ヘッダ部304には、送信対象のデータに関する属性情報が格納される。属性情報は、後述するように、当該送信対象のデータについての優先度を示す情報を含む。本実施の形態においては、典型例として、3段階に優先度が設定されるものとする。以下の説明では、優先度が高い順に、「高優先」、「中優先」、「低優先」とも称する。例えば、2ビットを用いて、それぞれ「0」、「1」、「2」の値を用いることで、優先度を示すようにしてもよい。
<F.優先度に応じたデータ伝送に係る構成>
次に、本実施の形態に係る優先度に応じたデータ伝送に係る構成について説明する。図8は、本発明の実施の形態に係るIOユニット20のフォワードコントローラのより具体的な構成を示す模式図である。
図8を参照して、フォワードコントローラ214および224の各々は、アービトレータ260と、優先度判断部262と、フォワードQue270と、送信Que280とを含む。フォワードQue270および送信Que280は、基本的には、FIFO形式のバッファメモリで構成される。
前段のIOユニット20から受信したフレームは、DES部212からフォワードコントローラ214へ入力され、あるいは、DES部222からフォワードコントローラ224へ入力される。DES部212またはDES部222から出力されるフレームは、時系列に並んだ状態(シリアルデータ)からパラレルデータへ変換されており、ブロック単位で同時に入力される。
優先度判断部262は、この入力されたフレームのヘッダ部304に含まれるヘッダ情報に基づいて、入力されたフレームに含まれるデータの優先度を判断する。フォワードQue270は、通常Que272および高優先Que274とを含む。優先度判断部262は、「高優先」に設定されたフレームについては高優先Que274へ格納し、「中優先」または「低優先」に設定されたフレームについては通常Que272へ格納する。
また、IOユニット20の内部で生成したデータを送信する場合には、当該対象のデータが送信Que280へ一旦格納される。送信Que280は、通常Que282および高優先Que284とを含む。プロセッサ200および送信処理部240が協働して、他のユニットへ送信すべきデータを生成した場合には、そのデータ種別に応じて、生成したデータに優先度を示す情報が付加される。このデータ種別としては、後述するような、各種トリガーとなるフレームであるか、あるいは、通常のデータを搬送するフレームであるかといった属性が想定される。
その上で、送信処理部240は、生成したデータからフレームを生成するとともに、それに含まれるデータの優先度に応じて、各フレームを通常Que282または高優先Que284へ格納する。
アービトレータ260は、フォワードQue270(通常Que272および高優先Que274)および送信Que280(通常Que282および高優先Que284)に格納されているフレームの送信順序を裁定する。より具体的には、各Queに格納されているフレームの優先度を互いに比較し、基本的には、より優先度の高いフレームを先に送信する。
このように、IOユニット20の各々は、複数のバッファ(フォワードQue270および送信Que280)を含む。そして、優先度判断部262は、受信部で受信されたフレームに含まれるデータおよびデータ生成部(送信処理部240およびプロセッサ200)が生成したデータの少なくとも一方について、対象のデータに含まれる優先度を示す情報に基づいて、当該データを格納するバッファを決定する。
以下、いくつかの状況について、フレームの送信順序がどのように決定されるのかについて例示する。
<G.優先度に応じたデータ伝送>
基本的には、「低優先」フレームまたは「中優先」フレームの送信中に、「高優先」フレームの受信または生成が生じると、あるいは、「低優先」フレームの送信中に、「中優先」フレームまたは「高優先」フレームの受信または生成が生じると、当該送信中のフレームを予め定められたブロックまで送信した上でその送信が中断され、続いてより優先の高いフレームの送信が開始される。
《g1:中断されたフレームの送信を再開する処理例》
図9〜図11は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。図9〜図11は、いずれも「低優先」のフレームを送信中に、「高優先」のフレームが受信または生成された例を示す。これらの処理例においては、「高優先」のフレームが優先的に送信され、先に送信中であった「低優先」のフレームは、「高優先」のフレームの送信完了後に、その送信が再開される。
より具体的には、図9(a)には、自ユニット内で「低優先」のフレーム350を生成し、そのフレーム350が通常Que282に一次的に格納された上で、順次送信されている状態を示す。図9(a)に示す状態において、他のユニットから「高優先」のフレーム352を受信した場合に実行される処理例を図9(b)に示す。この例では、フレーム350についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム350の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム352が挿入される。すなわち、「高優先」のフレーム352が「低優先」のフレーム350を追い越して、先に、次段のIOユニット20へ送信される。
次段のIOユニット20へのフレーム352の送信が完了すると、送信が中断されていたフレーム350の送信が再開される。図9に示す例では、途中の中断を挟んでも、フレーム350の送信は正常に完了する。
同様に、図10(a)には、前段のIOユニット20から「低優先」のフレーム360を受信し、そのフレーム360が通常Que272に一次的に格納された上で、順次送信されている状態を示す。図10(a)に示す状態において、自ユニット内で「高優先」のフレーム362を生成した場合に実行される処理例を図10(b)に示す。この例では、フレーム360についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム360の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム362が挿入される。すなわち、「高優先」のフレーム362が「低優先」のフレーム360を追い越して、先に、次段のIOユニット20へ送信される。
次段のIOユニット20へのフレーム352の送信が完了すると、送信が中断されていたフレーム360の送信が再開される。図10に示す例では、途中の中断を挟んでも、フレーム360の送信は正常に完了する。
一方、図11(a)には、自ユニット内で「低優先」のフレーム350を生成し、そのフレーム350が通常Que282に一次的に格納された上で、順次送信されている状態を示す。図11(a)に示す状態において、自ユニット内で「高優先」のフレーム354を生成した場合に実行される処理例を図11(b)に示す。この例では、フレーム350についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム350の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム354が挿入される。すなわち、「高優先」のフレーム354が「低優先」のフレーム350を追い越して、先に、次段のIOユニット20へ送信される。
次段のIOユニット20へのフレーム354の送信が完了すると、送信が中断されていたフレーム350の送信が再開される。図11に示す例では、途中の中断を挟んでも、フレーム350の送信は正常に完了する。
このように、同種類のフレームの間においても、優先度に応じて、送信の順序が変更される。なお、前段のIOユニット20から「低優先」のフレームを受信し、そのフレームが通常Que272に一次的に格納された上で、順次送信されている状態において、さらに他のユニットから「高優先」のフレームを受信した場合の処理例についても、図11と同様である。すなわち、この例においても、「高優先」のフレームが「低優先」のフレームを追い越して、先に、次段のIOユニット20へ送信される。
上述のように、IOユニット20の送信部が「低優先」のフレームを送信中に、受信部または制御部においてより優先度の高い送信すべきデータが生じると、IOユニット20の送信部は、送信中の「低優先」のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む「高優先」のフレームを送信する。そして、IOユニット20の送信部は、割り込んだ「高優先」のフレームの送信が完了するまで、「低優先」のフレームのうち、未送信部分の送信を中断する。
なお、上述の図9〜図11においては、先に送信中のフレームの優先度が「低優先」であり、後から生じたフレームが「高優先」である場合の処理例を示したが、(1)先のフレームが「低優先」であって、後のフレームが「中優先」である場合、および、(2)先のフレームが「中優先」であって、後のフレームが「高優先」である場合、のいずれにおいても同様の処理を行うことができる。
《g2:割込時のフレーム構造》
次に、上述の図9〜図11に示すようなフレームの割り込みが生じた場合のフレームの構造について説明する。
図12は、本発明の実施の形態に係るフレームの割り込みが生じた場合のフレームの構造を示す模式図である。図12には、先行のフレーム300の送信中に後続のフレーム320が割り込んだ場合に内部バス5を伝送するフレームの構造を示す。
図12(a)に示すように、先行のフレーム300は、通常フレームの開始を示すフレーム境界同期コード302と、それに引き続く複数のブロック303−1〜303−5とからなる。なお、フレーム300の最終ブロック303−5には、誤りチェックを行うためのフレームチェックシーケンス(FCS)が付加されている。このフレーム300に対してフレーム320が割り込んだ場合には、フレーム320は、割込フレームの開始を示すフレーム境界同期コード322と、それに引き続くブロック323とからなる。説明の便宜上、フレーム320が1個のブロック323を含む例を示すが、複数のブロック323を含むようにしてもよい。また、フレーム320の最終部分にも、誤りチェックを行うためのフレームチェックシーケンス(FCS)が付加されている。
図12(a)に示すように、フレーム300の途中にフレーム320が割り込んだことは、割込フレームを示すフレーム境界同期コード322によって検知できる。その上で、フレーム320は、ヘッダ情報として、フレーム320に含まれるデータ量を含んでいるので、受信側ではフレーム320の終了位置を特定できる。そのため、フレーム320の後に、フレーム300の3番目のブロック303−3が引き続いて送信されたとしても、フレーム300およびフレーム320をそれぞれ正しく識別した上で受信できる。
さらに、図12(b)に示すように、送信が再開されたフレームであることを示すフレーム境界同期コード302Aをフレーム320の後に付加してもよい。これにより、送信が再開されたフレーム300をより正しく受信できる。すなわち、受信側では、フレーム境界同期コード322によって、フレーム320の開始位置を特定することができ、その後、フレーム境界同期コード302Aによって、送信再開されたフレーム300の開始位置を特定することができる。
《g3:中断されたフレームを破棄する処理例》
上述の図9〜図11においては、送信が中断された先行のフレームについて、割込フレームの送信が完了した後に、その送信を再開する処理例について例示した。一方で、これらのフレームを用いて通信するアプリケーションには、データを正しく受信できなかった場合に、そのデータを再送するための処理が組み込まれている。そのため、内部バス5上のデータ伝送処理において、送信が中断された先行のフレームの未送信部分を破棄しても、最終的なアプリケーションでの処理への影響度は少ない場合がある。以下、このような送信中断されたフレームの未送信部分を破棄する場合の処理例について説明する。
図13〜図15は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。図13〜図15は、いずれも「低優先」のフレームを送信中に、「中優先」のフレームが受信または生成された例を示す。これらの処理例においては、「中優先」のフレームが優先的に送信され、先に送信中であった「低優先」のフレームの未送信部分は破棄される。これは、「中優先」のフレームを構成するブロックが相対的に多い場合などに有効である。すなわち、「低優先」のフレームの送信中断時間が長くなるほど、受信側での復号の成功確率が低くなることを考慮したものである。
より具体的には、図13(a)には、自ユニット内で「低優先」のフレーム350を生成し、そのフレーム350が通常Que282に一次的に格納された上で、順次送信されている状態を示す。図13(a)に示す状態において、他のユニットから「中優先」のフレーム354を受信した場合に実行される処理例を図13(b)に示す。この例では、フレーム350についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム350の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム354が挿入される。すなわち、「中優先」のフレーム354が「低優先」のフレーム350を追い越して、先に、次段のIOユニット20へ送信される。このとき、送信が中断されていたフレーム350のうち、未送信部分である3番目および4番目のブロックについては破棄される。
同様に、図14(a)には、前段のIOユニット20から「低優先」のフレーム360を受信し、そのフレーム360が通常Que272に一次的に格納された上で、順次送信されている状態を示す。図14(a)に示す状態において、自ユニット内で「中優先」のフレーム364を生成した場合に実行される処理例を図14(b)に示す。この例では、フレーム364についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム360の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム364が挿入される。すなわち、「中優先」のフレーム364が「低優先」のフレーム360を追い越して、先に、次段のIOユニット20へ送信される。このとき、送信が中断されていたフレーム360のうち、未送信部分である3番目および4番目のブロックについては破棄される。
一方、図15(a)には、自ユニット内で「低優先」のフレーム350を生成し、そのフレーム350が通常Que282に一次的に格納された上で、順次送信されている状態を示す。図15(a)に示す状態において、自ユニット内で「中優先」のフレーム356を生成した場合に実行される処理例を図15(b)に示す。この例では、フレーム350についてみれば、その3番目のブロックと4番目のブロックとの境界において送信が中断され、フレーム350の4番目のブロックが送信される予定だった位置(あるいは順序)に、フレーム356が挿入される。すなわち、「中優先」のフレーム356が「低優先」のフレーム350を追い越して、先に、次段のIOユニット20へ送信される。このとき、送信が中断されていたフレーム350のうち、未送信部分である3番目および4番目のブロックについては破棄される。
このように、同種類のフレームの間においても、優先度に応じて、送信の順序が変更されるとともに、送信が中断されていたフレームの未送信部分は破棄される。なお、前段のIOユニット20から「低優先」のフレームを受信し、そのフレームが通常Que272に一次的に格納された上で、順次送信されている状態において、さらに他のユニットから「中優先」のフレームを受信した場合の処理例についても、図11と同様である。すなわち、この例においても、「中優先」のフレームが「低優先」のフレームを追い越して、先に、次段のIOユニット20へ送信される。
上述のように、IOユニット20の送信部が「低優先」のフレームを送信中に、受信部または制御部においてより優先度の高い送信すべきデータが生じると、IOユニット20の送信部は、送信中の「低優先」のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む「中優先」のフレームを送信する。そして、IOユニット20の送信部は、「低優先」のフレームのうち未送信部分を破棄する。
なお、上述の図13〜図14においては、先に送信中のフレームの優先度が「低優先」であり、後から生じたフレームが「中優先」である場合の処理例を示したが、(1)先のフレームが「低優先」であって、後のフレームが「高優先」である場合、および、(2)先のフレームが「中優先」であって、後のフレームが「高優先」である場合、のいずれにおいても同様の処理を行うことができる。
《g4:フレームの追い越しの処理例》
図8を参照して説明したように、「低優先」および「中優先」のフレームは、通常Que272または282へ格納され、「高優先」のフレームは、高優先Que274または284へ格納される。そのため、先に、「低優先」または「中優先」のフレームが通常Que272または282へ格納されていたとしても、後続の「高優先」のフレームを、先に、次段のIOユニット20へ送信することもできる。すなわち、相対的に優先度の低いフレームを追い越して、後続のフレームを送信することもできる。以下、このような相対的に優先度の高いフレームの追い越し処理の処理例について説明する。
図16は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。図16(a)には、自ユニット内で「中優先」のフレーム370を生成し、そのフレーム370が通常Que282に一次的に格納された上で、順次送信されている状態を示す。併せて、前段のIOユニット20から「中優先」のフレーム372を受信し、通常Que282に格納した上で、フレーム370の送信完了を待っている状態を示す。
そして、図16(a)に示す状態において、他のユニットから「高優先」のフレーム374を受信した場合を考える。この例では、後から入力された「高優先」のフレーム374は、先に格納されているフレーム372を追い越した上で、フレーム350の4番目のブロックが送信される予定だった位置(あるいは順序)に挿入される。また、フレーム370は、その3番目のブロックと4番目のブロックとの境界において送信が中断される。このように、「高優先」のフレーム374は、送信中の「中優先」のフレーム370および先に格納されている「中優先」のフレーム372を追い越して、先に、次段のIOユニット20へ送信される。
上述のように、送信すべきデータが生じたときに送信待ちの「中優先」のフレームが存在しており、かつ、当該送信待ちのフレームに含まれるデータの優先度が送信すべきデータの優先度より低ければ、IOユニット20の送信部は、「高優先」のフレームを「中優先」のフレームより先に送信する。なお、上述の図16においては、通常Queに先に格納されているフレームが「中優先」である場合の処理例を示したが「低優先」であっても、同様の手順で処理を行うことができる。
また、図16には、通常Que282に1つの「中優先」のフレーム372が格納されている場合の処理例を示すが、「低優先」または「中優先」のフレームが通常Que282に複数格納されている場合であっても、同様の処理が実行される。さらに、IOユニット20の内部で生成したフレームが通常Que272に格納されている場合に、新たなフレームが生成されたときにも同様の処理が実行される。
《g5:同じ優先度のフレームが競合した場合の処理例》
上述の処理例においては、優先度が異なるフレーム間の送信順序について説明したが、以下では、同じ優先度のフレームが競合した場合の処理について説明する。優先度が同じであれば、原則として、先入れ先出し(FIFO)のルールに従う。すなわち、いずれかのQueにより早く格納されたフレームほど先に送信される。
図17は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。図17(a)において、前段のIOユニット20から受信した「高優先」のフレーム382が先に高優先Que274に格納され、その後に、自ユニット内で生成した「高優先」のフレーム384が高優先Que284に格納されているとする。さらにその後、前段のIOユニット20から受信した「高優先」のフレーム386が高優先Que274に格納され、その後に、自ユニット内で生成した「高優先」のフレーム388が高優先Que284に格納されているとする。
このような状況においては、図17(a)に示すように、高優先Que274または284へ格納された時間的な順序に従って、「高優先」のフレーム382,384,386,388が順次送信される。
上述のように、送信すべきデータが生じたときに送信待ちの「高優先」のフレームが存在しており、かつ、「高優先」のフレームに含まれるデータの優先度が当該送信すべきデータの優先度と同等であれば、IOユニット20の送信部は、「高優先」のフレームを送信し、その後に、送信すべきデータを含むフレームを送信する。
《g6:マスター制御部での処理》
上述の説明においては、IOユニット20の内部でデータを生成する場合の処理について言及したが、マスターユニット10またはCPUユニット40の内部でデータを生成する場合についても、同様の処理が実行される。
図18は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理例を示す模式図である。図18(a)を参照して、マスターユニット10またはCPUユニット40からダウンリンク51を介して、「低優先」のフレーム390を送信している場合を想定する。この状態において、プロセッサ150および内部バス制御部130が協働して、IOユニット20へ送信すべきデータを生成した場合には、その生成したデータを含むフレームを、IOユニット20へ送信されるフレーム間に割り込ませる。
図18(b)に示すように、当該送信すべきデータの優先度が高い場合には、「高優先」のフレーム392を生成するとともに、送信中のフレーム390の送信を中断させ、フレーム392が挿入される。このフレーム392は、フレーム390の2番目のブロックが送信される予定だった位置(あるいは順序)に挿入される。すなわち、「高優先」のフレーム392が「低優先」のフレーム390を追い越して、先に、IOユニット20へ送信される。
IOユニット20の内部でデータを生成する場合と同様に、そのデータ種別に応じて、優先度を示す情報が生成したデータ(フレーム)に付加される。
<H.処理手順>
次に、上述したような優先度に応じたデータ伝送に係る処理手順について説明する。図19は、本発明の実施の形態に係る優先度に応じたデータ伝送の処理手順を示すフローチャートである。図19に示す各ステップは、基本的には、フォワードコントローラ214または224のアービトレータ260(図8)によって実行される。
図19を参照して、他のユニットからフレームを受信、または、IOユニット20の内部でフレームが生成される(ステップS100においてYESの場合)と、当該フレームに含まれるデータの優先度に応じて、受信したフレームを通常Queまたは高優先Queに格納される(ステップS102)。
アービトレータ260は、新たなフレームの格納先が高優先Queであるか否かを判断する(ステップS104)。新たなフレームの格納先が高優先Queではない場合(ステップS104においてNOの場合)、アービトレータ260は、現在送信中のフレームがあるか否かを判断する(ステップS106)。現在送信中のフレームがない場合(ステップS106においてNOの場合)には、アービトレータ260は、最も早くQueに格納されたフレームを選択し転送する(ステップS108)。そして、ステップS100以下の処理が実行される。
これに対して、現在送信中のフレームがある場合(ステップS106においてYESの場合)には、アービトレータ260は、新たなフレームに含まれるデータの優先度を判断する(ステップS112)。新たなフレームに含まれるデータの優先度が「低優先」である場合(ステップS112において「低優先」)には、現在送信中のフレームの送信を継続する(ステップS114)。そして、ステップS100以下の処理が実行される。
一方、新たなフレームに含まれるデータの優先度が「中優先」である場合(ステップS112において「中優先」)には、アービトレータ260は、現在送信中のフレームに含まれるデータの優先度を判断する(ステップS118)。現在送信中のフレームに含まれる優先度が「低優先」である場合(ステップS118において「低優先」)には、アービトレータ260は、現在送信中のフレームの送信を中断し、新たなフレームを割り込ませる(ステップS120)。そして、アービトレータ260は、先に送信中のフレームの未送信部分を破棄する(ステップS122)。そして、ステップS100以下の処理が実行される。
現在送信中のフレームに含まれる優先度が「中優先」である場合(ステップS118において「中優先」)には、ステップS114の処理が実行される。
これに対して、新たなフレームの格納先が高優先Queである場合(ステップS104においてYESの場合)、アービトレータ260は、現在送信中のフレームがあるか否かを判断する(ステップS124)。現在送信中のフレームがない場合(ステップS124においてNOの場合)には、アービトレータ260は、新たなに高優先Queに格納されたフレームを選択し転送する(ステップS126)。そして、ステップS100以下の処理が実行される。
現在送信中のフレームがある場合(ステップS124においてYESの場合)には、アービトレータ260は、現在送信中のフレームに含まれるデータの優先度を判断する(ステップS128)。現在送信中のフレームに含まれる優先度が「中優先」または「低優先」である場合(ステップS128において「中優先」または「低優先」)には、アービトレータ260は、現在送信中のフレームの送信を中断し、新たなフレームを割り込ませる(ステップS130)。そして、ステップS100以下の処理が実行される。
現在送信中のフレームに含まれる優先度が「高優先」である場合(ステップS128において「高優先」)には、現在送信中のフレームの送信を継続する(ステップS132)。そして、ステップS100以下の処理が実行される。
<I.適用例>
次に、上述したような優先度に応じたデータ伝送の適用例について説明する。
《i1:内部バスにおける転送方式》
本実施の形態に係る内部バス5においては、典型的には、以下のような転送方式が可能である。
(1)マスター制御部(マスターユニット10またはCPUユニット40)に接続されているすべてのスレーブ制御部(IOユニット20)に対して、一斉にデータを転送する方式(マルチキャストまたはブロードキャスト)。この転送方式では、マスター制御部がダウンリンク51を介して送信したデータフレームは、すべてのスレーブ制御部の間で転送される。
(2)マスター制御部に接続されている特定のスレーブ制御部に対して、データを転送する方式(宛先指定転送)。この転送方式では、マスター制御部がダウンリンク51を介して送信したデータフレームは、宛先のスレーブ制御部に到達するまで転送され続けるが、宛先のスレーブ制御部に到達した時点で、次段のスレーブ制御部へは転送されない。
(3)マスター制御部からの要求に応答して、スレーブ制御部がマスター制御部に対して、データを転送する方式(通常転送)。この転送方式では、いずれかのスレーブ制御部がアップリンク52を介して送信したデータフレームは、マスター制御部まで転送される。
(4)マスター制御部から送信権を与えられたことを条件として、スレーブ制御部がマスター制御部に対して、データを転送する方式(メッセージ転送)。なお、マスター制御部からスレーブ制御部に対して送信権を与えるコマンド(トリガー)を含むデータフレーム(以下「TRG_frame(MSG)」とも称す。)が送信される。この転送方式では、先にマスター制御部がいずれかのスレーブ制御部に対してアップリンク52についての送信権を付与する。送信権を付与されたスレーブ制御部がアップリンク52を介して送信したデータフレームは、マスター制御部まで転送される。
このような転送方式を採用する内部バス5において、本実施の形態に従う優先度に応じたデータ伝送方式を採用することで、内部バスを低消費電力化できる。以下、その低消費電力化を実現するための処理について説明する。
《i2:低消費電力化に係る基本的思想》
基本的な思想として、マスター制御部は、アップリンクを介したスレーブ制御部からのデータ送信が完了すると、アップリンクを非アクティブ化するための指令を、ダウンリンクを介してスレーブ制御部へ送信する。スレーブ制御部は、この指令に従ってアップリンクを非アクティブ化することで、データ伝送に係る消費電力を低減できる。また、マスター制御部は、スレーブ制御部からデータを取得したい場合には、アップリンクをアクティブ化するための指令を、ダウンリンクを介してスレーブ制御部へ送信する。スレーブ制御部は、この指令に従ってアップリンクをアクティブ化することで、データをマスター制御部へ送信できる。このように、スレーブ制御部は、マスター制御部からの指令に従って、データ伝送に必要な期間のみアクティブ化されるので、不要な電力消費を回避できる。
このアクティブ化するための指令および非アクティブ化するための指令については、マスター制御部から可能な限り迅速にスレーブ制御部へ送信することが好ましい。アクティブ化するための指令を迅速に送信することで、マスター制御部がデータを受信するまでの時間を短縮でき、非アクティブ化するための指令を迅速に送信することで、電力消費をより多く削減できる。
《i3:低消費電力化に係る処理手順》
以下の説明では、上述の基本的思想をリモートIO装置3の内部バス5に適用した例について説明する。すなわち、ダウンリンク51については、常にアクティブに維持する一方で、アップリンク52(図2に示す受信部220aおよび送信部220b)については、通信n必要な期間に限ってアクティブにする。
図20は、本発明の実施の形態に係る優先度に応じたデータ伝送を用いたリモートIO装置3における低消費電力化の実現方法を説明するための図である。図20(a)には、ダウンリンク51およびアップリンク52のいずれもがアクティブである状態を示し、図20(b)には、ダウンリンク51がアクティブに維持される一方で、アップリンク52が休止している状態を示す。
このとき、マスター制御部として機能するマスターユニット10は、アップリンク52を伝送する信号を受信する受信回路(内部バス制御部130内の受信回路144)を含み、アップリンク52が非アクティブ化されている期間、当該受信回路144の電源も遮断される。これによって、IOユニット20だけでなく、CPUユニット40においても消費電力を低減できる。
本適用例においては、可能な限り図20(b)に示すような状態を維持することで、消費電力を低減する。一方で、ダウンリンク51については、アクティブな状態に維持することで、アップリンク52のアクティブ化/休止の制御を容易化する。
リモートIO装置3は、上位通信ネットワークであるフィールドバス4を通じて、メイン処理装置2からOUTデータを受信するとともに、自装置の入力部で収集した状態値(INデータ)をメイン処理装置2へ送信する。また、フィールドバス4上では、上位通信フレームが周期的に伝送される。本適用例においては、この上位通信フレームが到達するタイミングを基準として、データ更新が実行される。
より具体的には、到達した上位通信フレームに含まれるOUTデータに基づいて、IOモジュール206(図4)の出力値が更新される(以下「OUTデータリフレッシュ」とも称す。)。また、次の上位通信フレームが到達する前に、IOモジュール206(図4)において検出されている最新の状態値(INデータ)がマスターユニット10へ転送される(以下「INデータリフレッシュ」とも称す。)。これによって、上位通信フレームが到達したときに、最新の状態値(INデータ)をその上位通信フレームに書込むことができる。
上述のようなアップリンク52のアクティブ/非アクティブについては、マスター制御部がダウンリンク51を介して制御する。より具体的には、マスター制御部として機能するマスターユニット10は、ダウンリンク51を介して、休止状態の受信部220aおよび送信部220bをアクティブ化するための指令を含むデータフレーム(以下「WakeUP_frame」とも称す。)、および、アクティブ状態の受信部220aおよび送信部220bを休止するための指令を含むデータフレーム(以下「PowerDown_frame」とも称す。)をスケジュールに従って送信する。いずれかのデータフレームを受信したIOユニット20は、指定された処理(受信部220aおよび送信部220bのアクティブ化/休止)を実行する。
以下、タイムチャートを参照しつつ、本適用例における内部バス5における通信スケジュールについて説明する。
図21は、本発明の実施の形態に係る優先度に応じたデータ伝送を用いたリモートIO装置3における通信手順を示すタイムチャートである。図21には、上位通信フレーム400の到着ごとに、OUTデータリフレッシュおよびINデータリフレッシュが実行される場合の通信手順を示す。そのため、図8に示す通信手順は、フィールドバス4の制御周期であるT1ごとに繰り返される。上位通信フレーム400の到着直前においては、アップリンク52は休止状態であるとする。
図21(a)は、上位通信ネットワークであるフィールドバス4を伝送されるデータフレームを示す。図21(b)は、マスターユニット10と1番目のIOユニット20−1との間のダウンリンク51を伝送されるデータフレームを示す。図21(c)は、1番目のIOユニット20−1とマスターユニット10との間のアップリンク52を伝送されるデータフレームを示す。図21(d)は、1番目のIOユニット20−1と2番目のIOユニット20−2との間のダウンリンク51を伝送されるデータフレームを示す。図21(e)は、2番目のIOユニット20−2と1番目のIOユニット20−1との間のアップリンク52を伝送されるデータフレームを示す。
まず、上位通信フレーム400が到着し、その受信が完了すると、マスターユニット10は、ダウンリンク51を介してWakeUP_frame402を送信し、休止状態のアップリンク52(受信部220aおよび送信部220b)をアクティブ化する。このWakeUP_frame402は、マルチキャストまたはブロードキャストで送信される。そのため、WakeUP_frame402は、図8(b)および(d)に示すように、マスターユニット10からIOユニット20−1へ転送された後、IOユニット20−1からIOユニット20−2へさらに転送される。
このとき、WakeUP_frame402は「高優先」に設定されるため、「低優先」または「中優先」の他のフレームが内部バス5上を伝送されていても、それらを追い越して送信され、アクティブ化が完了するまでの時間を短縮できる。
図21(c)および(e)に示すように、WakeUP_frame402を受信したIOユニット20は、その受信部220aおよび送信部220b(図4に示すDES部222、フォワードコントローラ224およびSER部226)をアクティブ化するとともに、近接するマスターユニット10またはIOユニット20の受信部220aまたは送信部220bに対して自ユニットの存在を通知するために、トレーニング信号502を送信する。このトレーニング信号502は、基本的には意味の無い雑音信号であり、自ユニットがアクティブ化していることを他のユニットに知らせるためのものである。すなわち、IOユニット20は、アップリンク52をアクティブ化するための指令(WakeUP_frame402)に応答して、予め定められた期間に亘ってアップリンク52上にダミー信号を送信する。
続いて、図21(b)に示すように、IOユニット20から必要なデータを受信すると、マスターユニット10は、ダウンリンク51を介してOUT_frame404を送信する。このOUT_frame404は、上位通信フレームから取り出されたOUTデータを含む。OUT_frame404を受信したIOユニット20は、それに含まれるOUTデータに基づいて、IOモジュール206の出力値を更新する。さらに、マスターユニット10は、特定のIOユニット20に対して、メッセージ406を送信する。このメッセージ406がIOユニット20−1に向けられたものである場合には、IOユニット20−1はこのメッセージ406を次段へは転送しない(図21(d)参照)。
このように、マスターユニット10は、アップリンク52をアクティブ化するための指令(WakeUP_frame402)に引き続いて、IOユニット20へ渡すデータを、ダウンリンク51を介してIOユニット20へ送信する。
一方、IOユニット20の各々は、トレーニング信号の送信が完了(トレーニング期間が終了)すると、マスターユニット10へのデータ転送を開始する。例えば、IOユニット20−1に対して送信権が与えられていれば、図21(b)に示すように、IOユニット20−1は、メッセージ504をマスターユニット10へ送信する。
続いて、IOユニット20の各々は、INデータリフレッシュを実行する。すなわち、IOユニット20の各々は、IOモジュール206に入力されている最新の状態値を取得し、その最新の状態値を含むIN_frame506をマスターユニット10へ送信する。このIN_frame506は、それぞれのIOユニット20から順次マスターユニット10へ順次送信される。
IN_frame506を受信したマスターユニット10は、OUTデータリフレッシュおよびINデータリフレッシュの実行が完了したと判断し、ダウンリンク51を介してPowerDown_frame408を送信し、アクティブ状態のアップリンク52(受信部220aおよび送信部220b)を休止させる。すなわち、マスター制御部として機能するマスターユニット10は、アップリンク52を介したスレーブ制御部として機能するIOユニット20からのデータ送信が完了すると、アップリンク52を非アクティブ化するための指令(PowerDown_frame408)を、ダウンリンク51を介してIOユニット20へ送信する。このとき、PowerDown_frame408は「高優先」に設定されるため、「低優先」または「中優先」の他のフレームが内部バス5上を伝送されていても、それらを追い越して送信され、アクティブ化が完了するまでの時間を短縮できる。
このアップリンク52の休止状態は、後続の上位通信フレームが到着するまで継続される。
上述のように、本適用例においては、マスターユニット10は、アップリンク52を介したIOユニット20からのデータ受信(INデータリフレッシュ)が完了すると、アップリンク52を非アクティブ化するための指令(PowerDown_frame)を、ダウンリンク51を介してIOユニット20へ送信する。
また、IOユニット20は、ダウンリンク51をアクティブに維持するとともに、ダウンリンク51を介して送信されるマスターユニット10からの指令(WakeUP_frame402/PowerDown_frame408)に従って、アップリンク52をアクティブ化/非アクティブ化する。
本適用例によれば、内部バス5を介してデジチェーン接続されたマスター制御部(マスターユニット10/CPUユニット40)と1つ以上のIOユニット20とからなるPLCシステムにおいて、消費電力を低減することができる。
<J.利点>
本実施の形態によれば、通信ラインを介したデータ伝送を優先度に応じてより効率的に行うことができる。すなわち、機器同士がデジチェーン接続されている構成において、優先度の高い(レイテンシをより小さくすることが要求される)フレームを送信したとしても、先行のフレームが転送中であれば、優先度の高いフレームの送信速度は、先行のフレームの転送処理によって律速されてしまう。これに対して、本実施の形態によれば、優先度の高いフレームは、先行の優先度の低いフレームの送信完了を待つことなく、そのフレームを追い越して転送されるので、レイテンシを小さくすることができる。
このようなデータ伝送の処理を採用することで、通常のデータと、より即時性の要求されるシステムコマンドとを同一の通信ラインを介して送信をすることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLCシステム、2 メイン処理装置、3 リモートIO装置、4 フィールドバス、5 内部バス、10 マスターユニット、12,42 通信モジュール、20 IOユニット、30 電源ユニット、40 CPUユニット、51 ダウンリンク、52 アップリンク、100,150,200 プロセッサ、110 フィールドバス制御部、112,210a,220a 受信部、114,210b,220b 送信部、120 上位通信コントローラ、122 メモリコントローラ、124 メモリ、126,203 受信バッファ、128,204 送信バッファ、130 内部バス制御部、132 内部バス通信コントローラ、142 送信回路、144 受信回路、152 主メモリ、154,208 不揮発性メモリ、156 ユーザプログラム、160 記憶部、162,202 共有メモリ、164 受信メモリ、166 送信メモリ、206 IOモジュール、212,222 DES部、214,224 フォワードコントローラ、216,226 SER部、230 受信処理部、232 復号部、234 チェック部、240 送信処理部、242 CRC生成部、244 符号化部、250 バス、260 アービトレータ、262 優先度判断部、270 フォワードQue、272,282 通常Que、274,284 高優先Que、280 送信Que。

Claims (8)

  1. 制御システムの少なくとも一部を構成する制御装置であって、
    通信ラインを介して接続される複数のユニットを備え、
    前記複数のユニットの各々は、
    制御部と、
    前記通信ラインを介して他のユニットからフレームとして送信されるデータを受信するための受信部と、
    前記通信ラインを介して他のユニットへフレームとしてデータを送信するための送信部と、
    他のユニットへ送信すべきデータを生成する生成部とを含み、
    各フレームは、1または複数のブロックから構成されるとともに、その中に含まれるデータの優先度を示す情報を含み、
    前記送信部が第1のフレームを送信中に、前記受信部または前記制御部においてより優先度の高い送信すべきデータが生じると、前記送信部は、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信する、制御装置。
  2. 前記送信部は、前記第2のフレームの送信が完了するまで、前記第1のフレームのうち未送信の部分の送信を中断する、請求項1に記載の制御装置。
  3. 前記送信部は、前記第1のフレームのうち未送信の部分を破棄する、請求項1に記載の制御装置。
  4. 前記送信すべきデータが生じたときに送信待ちの第3のフレームが存在しており、かつ、前記第3のフレームに含まれるデータの優先度が前記送信すべきデータの優先度より低ければ、前記送信部は、前記第2のフレームを前記第3のフレームより先に送信する、請求項1〜3のいずれか1項に記載の制御装置。
  5. 前記送信すべきデータが生じたときに送信待ちの第3のフレームが存在しており、かつ、前記第3のフレームに含まれるデータの優先度が前記送信すべきデータの優先度と同等であれば、前記送信部は、前記第3のフレームを送信し、その後に前記第2のフレームを送信する、請求項1〜4のいずれか1項に記載の制御装置。
  6. 前記複数のユニットの各々は、
    複数のバッファと、
    前記受信部で受信されたフレームに含まれるデータおよび前記生成部が生成したデータの少なくとも一方について、対象のデータに含まれる優先度を示す情報に基づいて、当該データを格納するバッファを決定する判断部とをさらに含む、請求項1〜5のいずれか1項に記載の制御装置。
  7. 前記生成部は、データ種別に応じて、生成するデータに優先度を示す情報を付加する、請求項1〜6のいずれか1項に記載の制御装置。
  8. 通信ラインを介して接続される複数のユニットを含む制御装置を少なくとも一部として構成される制御システムにおける制御方法であって、
    前記複数のユニットのうち第1のユニットが前記通信ラインを介して他のユニットからフレームとして送信されるデータを受信するステップを含み、各フレームは、1または複数のブロックから構成されるとともに、その中に含まれるデータの優先度を示す情報を含み、
    前記第1のユニットが前記通信ラインを介して他のユニットへフレームとしてデータを送信するステップと、
    前記第1のユニットが他のユニットへ送信すべきデータを生成するステップと、
    前記第1のユニットがフレームを他のユニットへ送信中に、より優先度の高い送信すべきデータが生じると、送信中の第1のフレームを予め定められたブロックまで送信した後に、当該送信すべきデータを含む第2のフレームを送信するステップとを含む、制御方法。
JP2013004516A 2013-01-15 2013-01-15 制御装置および制御方法 Active JP6263836B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013004516A JP6263836B2 (ja) 2013-01-15 2013-01-15 制御装置および制御方法
EP13198951.9A EP2755357B1 (en) 2013-01-15 2013-12-20 Control device and control method
US14/136,126 US9639077B2 (en) 2013-01-15 2013-12-20 Control device and control method to control operations and transmitting data in multi-processor control system
CN201310717203.8A CN103929371B (zh) 2013-01-15 2013-12-23 控制装置及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013004516A JP6263836B2 (ja) 2013-01-15 2013-01-15 制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2014138206A true JP2014138206A (ja) 2014-07-28
JP6263836B2 JP6263836B2 (ja) 2018-01-24

Family

ID=49999672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013004516A Active JP6263836B2 (ja) 2013-01-15 2013-01-15 制御装置および制御方法

Country Status (4)

Country Link
US (1) US9639077B2 (ja)
EP (1) EP2755357B1 (ja)
JP (1) JP6263836B2 (ja)
CN (1) CN103929371B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3306483A1 (en) 2016-10-07 2018-04-11 Omron Corporation Arithmetic operation device and control apparatus
JP2018125828A (ja) * 2017-01-30 2018-08-09 東芝Itコントロールシステム株式会社 送受信装置
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法
JP2019134491A (ja) * 2019-05-07 2019-08-08 株式会社東芝 テレメータ伝送システム
JP2021129270A (ja) * 2020-02-17 2021-09-02 株式会社デンソー 通信装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10231259B2 (en) 2015-03-14 2019-03-12 Qualcomm Incorporated Control signaling supporting multi-priority scheduling
US10595302B2 (en) 2015-03-15 2020-03-17 Qualcomm Incorporated Subframe structure with embedded control signaling
CN105162786B (zh) * 2015-09-11 2018-05-22 华中科技大学 一种基于fpga的powerlink从站帧缓存管理系统
JP6165286B1 (ja) * 2016-02-29 2017-07-19 株式会社安川電機 モータ制御システム、ロボットシステム、及びモータ制御システムの通信方法
DE112016007532T5 (de) * 2016-12-21 2019-09-26 Vacon Oy Priorisierte serielle kommunikation
US11256641B2 (en) * 2017-01-27 2022-02-22 National Instruments Corporation Asynchronous start for timed functions
WO2018180582A1 (ja) * 2017-03-30 2018-10-04 日本電気株式会社 情報処理装置、情報処理方法、及び、記録媒体
KR20180124340A (ko) * 2017-05-11 2018-11-21 엘에스산전 주식회사 프로그래머블 논리 제어 장치
CN108092745A (zh) * 2017-12-22 2018-05-29 北京东土军悦科技有限公司 点对点设备的数据传输方法、装置、设备及存储介质
JP7087378B2 (ja) * 2017-12-25 2022-06-21 オムロン株式会社 制御システムおよび制御装置
JP6918849B2 (ja) * 2019-01-22 2021-08-11 ファナック株式会社 システム
JP7003952B2 (ja) 2019-03-14 2022-01-21 オムロン株式会社 制御システム、サポート装置およびサポート装置用のプログラム
JP7275940B2 (ja) * 2019-07-08 2023-05-18 オムロン株式会社 制御プログラムおよび方法
CN114866185B (zh) * 2022-03-25 2023-08-29 天津瑞发科半导体技术有限公司 一种传输多优先级数据帧的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358795A (ja) * 2000-06-15 2001-12-26 Toyo Electric Mfg Co Ltd 割込み通信装置
WO2003001307A1 (fr) * 2001-06-22 2003-01-03 Omron Corporation Systeme de reseau de securite, esclave de securite, et procede de communication
JP2003069603A (ja) * 2001-08-27 2003-03-07 Fujikura Ltd パケット通信制御装置
JP2005278215A (ja) * 2005-04-28 2005-10-06 Hitachi Ltd 通信システムおよび通信方法
WO2010032533A1 (ja) * 2008-09-19 2010-03-25 日本電気株式会社 ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法
JP2011192068A (ja) * 2010-03-15 2011-09-29 Omron Corp プログラマブルコントローラ

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US5317501A (en) * 1987-10-13 1994-05-31 Bernhard Hilpert Control system for a numerically controlled machine
US5170340A (en) * 1990-09-28 1992-12-08 Xerox Corporation System state controller for electronic image processing systems
US5862048A (en) * 1994-10-05 1999-01-19 New York Air Brake Corporation Microprocessor based electro-pneumatic locomotive brake control and train monitoring system
US5886894A (en) * 1995-03-28 1999-03-23 Chubb Security Canada, Inc. Control system for automated security and control systems
US5831848A (en) * 1995-11-17 1998-11-03 Phoenix Controls Corporation Distributed environmental process control system
EP0923465B1 (de) * 1996-09-07 2001-05-09 Bayerische Motoren Werke Aktiengesellschaft, Patentabteilung AJ-3 Datenbus für mehrere teilnehmer
US5980078A (en) * 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
US7003593B2 (en) * 1997-12-17 2006-02-21 Src Computers, Inc. Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
US6359970B1 (en) * 1998-08-14 2002-03-19 Maverick Consulting Services, Inc. Communications control method and apparatus
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
EP1137225B1 (en) 2000-02-28 2008-04-09 Alcatel Lucent A switch and a switching method
US6823219B2 (en) * 2001-05-16 2004-11-23 Dowslake Microsystems Corporation Universal optical control and management platform
US8612647B2 (en) 2005-04-12 2013-12-17 Hewlett—Packard Development Company, L.P. Priority aware queue
US20080071924A1 (en) 2005-04-21 2008-03-20 Chilukoor Murali S Interrupting Transmission Of Low Priority Ethernet Packets
US20080056192A1 (en) 2006-08-31 2008-03-06 Piping Hot Networks Limited Latency reduction by adaptive packet fragmentation
JP5479672B2 (ja) * 2007-09-27 2014-04-23 シスメックス株式会社 血液または尿の分析装置およびデータ処理装置
JP2010170536A (ja) * 2008-12-26 2010-08-05 Omron Corp プログラマブル・コントローラ
US8676390B2 (en) * 2009-02-25 2014-03-18 Robert Joseph Berry, JR. Universal remote machinery controller and monitor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358795A (ja) * 2000-06-15 2001-12-26 Toyo Electric Mfg Co Ltd 割込み通信装置
WO2003001307A1 (fr) * 2001-06-22 2003-01-03 Omron Corporation Systeme de reseau de securite, esclave de securite, et procede de communication
JP2003069603A (ja) * 2001-08-27 2003-03-07 Fujikura Ltd パケット通信制御装置
JP2005278215A (ja) * 2005-04-28 2005-10-06 Hitachi Ltd 通信システムおよび通信方法
WO2010032533A1 (ja) * 2008-09-19 2010-03-25 日本電気株式会社 ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法
JP2011192068A (ja) * 2010-03-15 2011-09-29 Omron Corp プログラマブルコントローラ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
那須野 洋一,岡田 孝博: "基礎からしっかり スイッチ・ネットワーク フィルタリングとQoS 不要なパケットは止めて重要なパケッ", 日経NETWORK, vol. 第64号(2005年8月号), JPN6016048650, 22 July 2005 (2005-07-22), JP, pages 168 - 173, ISSN: 0003463440 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3306483A1 (en) 2016-10-07 2018-04-11 Omron Corporation Arithmetic operation device and control apparatus
JP2018060484A (ja) * 2016-10-07 2018-04-12 オムロン株式会社 演算装置および制御装置
US10606610B2 (en) 2016-10-07 2020-03-31 Omron Corporation Arithmetic operation device and control apparatus
JP2018125828A (ja) * 2017-01-30 2018-08-09 東芝Itコントロールシステム株式会社 送受信装置
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法
US10785014B2 (en) 2017-02-07 2020-09-22 Omron Corporation Computation device, control device and control method
JP2019134491A (ja) * 2019-05-07 2019-08-08 株式会社東芝 テレメータ伝送システム
JP2021129270A (ja) * 2020-02-17 2021-09-02 株式会社デンソー 通信装置
JP7247916B2 (ja) 2020-02-17 2023-03-29 株式会社デンソー 通信装置

Also Published As

Publication number Publication date
CN103929371A (zh) 2014-07-16
EP2755357B1 (en) 2017-03-29
EP2755357A1 (en) 2014-07-16
CN103929371B (zh) 2018-04-03
JP6263836B2 (ja) 2018-01-24
US20140200684A1 (en) 2014-07-17
US9639077B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
JP6263836B2 (ja) 制御装置および制御方法
JP6051547B2 (ja) 制御装置
JP4376862B2 (ja) 通信メッセージ変換装置及び通信メッセージ変換方法
JP6037042B2 (ja) 制御装置および制御方法
JP6358088B2 (ja) 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
JP2013534103A (ja) 少なくとも部分的なフレーム送信の割り込み
JP5475790B2 (ja) 無線通信装置および通信プログラム
JP7396393B2 (ja) 制御システム、装置および制御方法
US10447527B2 (en) Communication system
US20150110126A1 (en) Cut through packet forwarding device
JP6273841B2 (ja) 通信システム及び通信制御方法
CN100479450C (zh) 用于减少对存储器的访问的方法和系统
JP6291516B2 (ja) リング型ネットワークを用いた通信システム
JP4693576B2 (ja) データ転送制御装置、およびデータ転送制御方法
US8824333B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission
CN114928511A (zh) 数据处理设备及数据处理系统
JP7075043B2 (ja) 並列計算システム
US20060140122A1 (en) Link retry per virtual channel
JP2009105604A (ja) ネットワークシステム
CN110995613A (zh) 一种消除EtherCAT通讯周期抖动的系统及方法
JP2006345171A (ja) データ伝送方法およびデータ伝送システム
JP2007174118A (ja) 通信メッセージ変換装置
JP2005250849A (ja) 無線lanシステム
JP2005280885A (ja) 昇降機制御情報伝送制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171020

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171204

R150 Certificate of patent or registration of utility model

Ref document number: 6263836

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150