JP5389071B2 - 通信制御装置 - Google Patents

通信制御装置 Download PDF

Info

Publication number
JP5389071B2
JP5389071B2 JP2011031629A JP2011031629A JP5389071B2 JP 5389071 B2 JP5389071 B2 JP 5389071B2 JP 2011031629 A JP2011031629 A JP 2011031629A JP 2011031629 A JP2011031629 A JP 2011031629A JP 5389071 B2 JP5389071 B2 JP 5389071B2
Authority
JP
Japan
Prior art keywords
transmission
unit
time
communication
periodic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011031629A
Other languages
English (en)
Other versions
JP2012170036A (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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2011031629A priority Critical patent/JP5389071B2/ja
Priority to EP12155571.8A priority patent/EP2490358B1/en
Publication of JP2012170036A publication Critical patent/JP2012170036A/ja
Application granted granted Critical
Publication of JP5389071B2 publication Critical patent/JP5389071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total 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 by protocol, e.g. MAP, TOP
    • 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)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)

Description

本発明は、ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置に関し、特に定周期で定周期信号を送信しながら、非定周期に発生する非定周期信号を送信し、あるいは送信失敗のときに定周期信号を再送信することに関する。
制御システムとして、単一、または複数の通信制御装置が、ネットワークを介して単一または複数の制御装置を制御する構成がある。通信制御装置は、ネットワークを介して制御指令等を制御装置へ送信する。このような制御システムに用いられるネットワークには、Ethernet(登録商標)、RS−232C、RS−422、RS−485、CAN(登録商標)、DeviceNet、産業用Ethernet等がある。
ネットワークで複数の制御装置が接続されて構成される制御システムでは、適用対象によって各制御装置が同期して動作することが求められる。同期して動作するとは、各制御装置が、制御システムに共通の制御則にのっとり、かつ、制御則の演算に用いられる各制御装置のセンサ入力のタイミング、制御則から導出されたアクチュエータ出力のタイミングが制御装置によって、ずれが生じないことである。このように、ネットワークで複数の制御装置が接続されて構成される制御システムでは、同期精度を確保する必要性がある。
同期精度の必要性を示す事例として、例えば、複数の関節で構成される産業用ロボットアームにおいて、各関節がサーボモータで構成される場合、各サーボモータの動作が同期していなければ、所望のロボットアームの軌跡を得ることはできない。あるいは、複数のサーボモータで構成される工作機械の場合、各サーボモータの同期精度に依存して、加工精度が変化する。制御システムに求められる制御性能が高くなるほど、各制御装置間の高い同期精度が求められる。
制御システムを構成する各制御装置を同期して動作させるために、リアルタイム通信プロトコルや時刻同期プロトコルの技術発展があった。
このうち、時刻同期プロトコルでは、通信制御装置、制御装置間で時刻情報や通信遅延等の情報を送受信することで、それぞれの時刻を同期させる。また、このとき、時刻同期プロトコルを実現するためには、通信遅延が一定であることが望ましく、通信遅延の揺らぎが小さいことが求められる。
そのため、時刻同期プロトコルの実現においては、一般にリアルタイム通信プロトコルが適用される。これらのリアルタイム通信プロトコルや時刻同期プロトコルは、その技術を組み合わせて適用することで、各制御装置の時刻を同期させることができる。
以上の説明は、制御システムを構成する制御装置側での時刻同期の必要性とその対策手法について述べたものであるが、他方において、制御装置と通信する通信制御装置側についても考慮する必要がある。これは、通信制御装置の送信タイミングの精度を確保することである。
時刻同期プロトコルを適用し、同期された時刻に基づいて各制御装置が動作する場合、各制御装置の同期精度に加えて、通信制御装置における制御指令の送信タイミングにおいても、高い周期精度が求められる。例えば、通信制御装置と各制御装置間の通信遅延が異なる場合、制御装置ごとに通信制御装置からの制御指令を同一制御周期内で受信できるか否かが異なる。
このことを図2の具体例で説明する。図2の横軸には時間tを、縦には通信制御装置と、通信制御装置からの信号を受信する制御装置121が記載されている。これらの通信制御装置と制御装置121の間には、先に説明した時刻同期プロトコルを適用し、同期された時刻Ta1、Ta2に基づいて動作し、一定の制御周期T内で所定の処理を実行している。
ここで、通信制御装置は各制御周期T内で制御装置121に対して信号送信するものとし、その送信タイミングがt1、t2であったとする。また、通信制御装置と制御装置121a、121b、121cの間での通信遅延時間は、それぞれΔta、Δtb、Δtcであったとする。
この結果、図示の例では、送信タイミングがt1の信号を、制御装置121bと121cは、時刻Ta1で始まる制御周期内で受信し、制御装置121aは、その前の制御周期内で受信している。各制御装置における受信時の制御周期は、送信タイミングがt2の信号のときには、また違った様相を呈する。このときには、制御装置121cは時刻Ta2で始まる制御周期内で受信し、制御装置121a、121bは、その前の時刻Ta1で始まる制御周期内で受信している。
そのため、時刻Ta1の送信信号に対しては、制御装置121aと制御装置121b、cは、異なる制御指令に基づいて動作している。また時刻Ta2の送信信号に対しては、制御装置121a、121bと、制御装置121cは、異なる制御指令に基づいて動作している。更にその上、この関係は、通信制御装置からの送信タイミングに左右される。これは結果的に、制御システムの性能低下を招く。
また、ネットワークを利用する時間を制御装置ごとに時分割で配分する時分割ネットワーク方式の場合、一般に通信制御装置からの同期指令に基づいて制御周期を規定する方法がとられる。この場合は、通信制御装置における制御指令の送信タイミングの周期精度は、直接、制御周期の精度に影響する。通信制御装置の送信タイミングの周期精度が悪く、通信周期のゆらぎが大きければ、制御システムの制御周期が短くなる場合や長くなる場合が生じるため、制御システムの制御性能が低下する。
通信制御装置と制御装置が、ネットワークを介して接続されて所定の制御を実行する制御システムでは、以上述べた同期精度並びに通信制御装置の送信タイミング精度を確保しておく必要があるが、これが確保されたとしてもさらに以下のような影響要因を考慮する必要がある。
その一つ目は、非制御指令による影響である。通信制御装置と制御装置の間では種々の信号や情報がやり取りされる。その典型的なものが制御指令であり、制御指令に対して同期精度や送信タイミング精度を確保することで、末端のアクチュエータでの動作タイミングが同期化できる。
非制御指令とは、制御指令以外の信号や情報であり、通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等である。これらは、高い周期精度は求められないが、制御システムを実行する上で必要な指令である。この非制御指令は、制御周期内の適宜のタイミングで通信制御装置から送出されるが、通信制御装置において、非制御指令の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。
二つ目は、再送の影響である。再送は、ネットワーク上でのパケットロスを考慮してなされるもので、受信が何らかの理由により不完全であった場合に行われる。再送は、通信制御装置から制御装置へのデータ伝達性を向上させるために有用である。特に、ネットワークの物理メディアにおいては、所定のビットエラーレートが存在し、全てのパケットを確実に送信することは現実的に不可能である。そのため、高い信頼性を求められるシステムなどでは、再送機能は必須である。
この再送処理が実施されると、非制御指令にとどまらず、制御指令自身の再送についても、制御指令の送信タイミングを遅らせる原因となりうる。再送の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。
この非制御指令と再送の影響に対して、時分割ネットワーク方式では、専用のネットワーク利用時間枠を設けて対処する。この場合、非制御指令、再送を該時間枠で通信することで、制御指令の送信タイミングの周期精度への影響を除去することができる。
しかしながら、この方法では、非制御指令、再送が存在しない場合でも、専用の時間枠を割り当てなければならず、無駄なネットワーク帯域を消費することとなる。特に、該時間枠の影響により、通信周期が長くなるため、結果的に制御周期が長くなる可能性がある。制御周期は長くなればなるほど、一般に制御性能は低下するため、望ましくない。
また、非制御指令では、その性質上、データサイズが一意に決まらないため、非制御指令用の時間枠を一意に決定することができない。したがって、最悪値を想定し、該時間枠は長くなる傾向にあり、結果的に制御周期は、より長くなる可能性がある。また、最大値を決め、非制御指令を分割する構成とした場合でも、分割処理、結合処理が必要となり、追加の処理が必要となる。これにより、ハードウェア、ソフトウェア等の計算機資源を消費する課題が生じる。
上記したように、ネットワークで接続された通信制御装置と制御装置において、制御装置に対する管理情報や稼働情報の取得要求等の非制御指令あるいは制御指令の再送の送信タイミングによって、制御指令の送信タイミングが遅れる。
これらの非制御指令あるいは再送指令は、制御指令が一定周期で送信されるのに対して、不定期的に送信要求が発生し、送信周期の余剰時間を利用して送信される。このため、送信を行う上では、制御指令が定周期信号として取り扱われるのに対し、非制御指令あるいは再送指令は、不定期的に送信要求が発生することから不定期的信号と呼ぶべきものである。また、非制御指令については、制御指令を定周期信号として取り扱ったことに対して、非定周期信号と呼称することにする。
この不定期的信号のうち、再送指令の取り扱いについて、特許文献1では送信データのリアルタイムレベルや信頼レベルに応じた再送回数で再送を実施している。また特許文献2では、再送処理の時間が時限値を超えた場合に、再送対象のパケットを廃棄して再送を中止することとしている。
特開2007−158495号公報 特開平11−331261号公報
本発明は、ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置であり、同期精度並びに通信制御装置の送信タイミング精度の確保を大前提としている。然るところ、特許文献1、特許文献2は再送を実施し、あるいは再送を中止してはいるが、ここでの通信は同期精度の向上、周期短縮を意図していない。特許文献2は定周期送信ですらない。
本発明は、制御指令の一定周期での送信に影響させずに、不定期的信号を送信可能とする通信を行える通信制御装置を提供することを目的とする。
本発明の通信制御装置は、上記課題を解決するために、ネットワークを介して、ひとつ
または複数の制御装置と通信する通信制御装置において、
任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、非定周期送信部と定周期送信部の送信データをネットワークと通信する通信部と、定周期送信部の送信内容を通信部に伝送し、送信要求のある非定周期送信部の通信処理に要する通信処理時間を演算し、定周期送信部の定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、非定周期送信部の送信内容を通信部に伝送するスケジュール部とを有する。
制御性能を向上した通信制御装置を提供することができる。
本発明によるスケジュール部の実行手順を示す図。 通信制御装置と制御装置間の信号送受信タイミングを示した図。 本発明を適用し得る制御システムの一例を示す図。 本発明を適用し得る制御システムの他の一例を示す図。 通信制御装置のハードウェア構成の一例を示す図。 通信用LSIの機能構成を示す図。 長期間未送信となるときの動作手順を示した図。 データ処理時間推定部の処理時間の推定方法を示した図。 送信データのスケジューリングを時間軸で示した図。 送信データのスケジューリングを時間軸で示した図。 通信用LSIの機能構成を示す図。 再送を行うときのスケジュール部の実行手順を示す図。 再送優先とするときのスケジュール部の実行手順を示す図。 送信データのスケジューリングを時間軸で示した図。 送信データのスケジューリングを時間軸で示した図。 通信制御装置のハードウェア構成の一例を示す図。 CPU上で動作するソフトウェア構成を示す図。
以下本発明の実施例について図面を用いて詳細に説明する。なお、実施例1は、定周期信号に対する不定期的信号の取り扱いとして、非定周期信号の取り扱いについて説明する。実施例2では、非定周期信号に加えてさらに再送も行う場合の取り扱いについて説明する。実施例3では、汎用的なハードウェアを用いて、ソフトウェアを中心に本発明を実施する構成について説明する。
図3、図4は、本発明を適用した通信制御装置120を用いて構成する制御システムの一例を示している。図3と図4では、ネットワーク122の構成が相違するが、本発明は他の構成のネットワークでも適用可能である。
これらの図において、通信制御装置120は、本発明を適用しており、ネットワーク122を構成する各制御装置121に対して、制御指令、管理情報等を送受信する。
制御装置121は、通信制御装置120の制御指令を受信して制御処理を実行する。また、必要に応じて、通信装置に対して計測情報、管理情報等を通信する。なお、制御装置121として、サーボアンプとサーボモータによる構成が例示されている。
ネットワーク122は、通信制御装置120ならびに制御装置121を接続する。ネットワーク122の具体例として、Ethernet(登録商標)、IEC61784で定義される産業用Ethernet、CAN(Controller Area Network:登録商標)、 DeviceNet、RS−232C、RS−422、RS−485等が挙げられる。本実施例では、ネットワーク122として、EtherCAT(IEC61784パート2のCommunication Profile Family 12: 登録商標)を例に説明する。
図5に、本発明を適用した通信制御装置120のハードウェア構成の一実施形態を示す。通信制御装置120は、ネットワーク122に接続される物理層152と、内部のバス155に接続されたCPU150、メモリ153、不揮発性記録媒体154、通信用LSI151などで構成されている。
このうち、CPU150は、不揮発性記憶媒体154からプログラムをメモリ153に転送して所定の処理を実行する。実行処理プログラムとしては、OSや、OS上で動作するアプリケーションプログラムが例示される。
通信用LSI151は、CPU150上で動作するプログラムから送信要求、送信データを受け取り、物理層152を用いてネットワーク122に対して送信する。また、ネットワーク122から受信したデータを、バス155を介してCPU150、メモリ153、不揮発性記憶媒体154へ転送する。通信用LSI151の詳細については図6を用いて後述する。通信用LSI151の実装例としては、FPGA(Field−Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ等のICが例示される。あるいは、CPU150と一体化して構成されてもよい。
物理層152は、ネットワーク122との通信機能を実装した送受信機ICである。物理層152の提供する通信規格として、EthernetのPHY(物理層)チップが例示される。なお、図5の構成では、物理層152と通信用LSI151が接続しているので、EthernetのMAC(Media Access Control)層の処理は、通信用LSI151に含まれる。ただし、MAC機能を提供するICを通信用LSI151と物理層152間に配置する構成や、MAC機能を提供するICと物理層152を組み合わせた通信用ICと通信用LSI151を接続する構成においても、本発明の効果は失われるものではない。
図5の構成では、物理層152が通信用LSI151外にあるため、MAC層の該当する通信用LSI151の処理部は、後で説明する図6の通信部112に相当する。ただし、通信用LSI151をMAC層、物理層を含めたEthernet通信デバイスとしてもよいし、また、物理層機能まで含めて通信用LSI151に包含してもよい。
メモリ153は、CPU150が動作するための一時的な記憶領域であり、不揮発性記憶媒体154から転送したOS、アプリケーションプログラム等が格納される。
不揮発性記憶媒体154は、情報の記憶媒体で、CPU150を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。
バス155は、CPU150、メモリ153、不揮発性記憶媒体154、通信用LSI151をそれぞれ接続する。バス155としては、PCIバス、ISAバス、PCI Expressバス、システムバス、メモリバス等が例示される。
図6は、通信用LSI151の機能構成の一実施形態である。通信用LSI151は、以下詳細に説明するように定周期送信部115と、非定周期送信部114を備えており、これらを適宜使用して送信を実行する。
図6において、通信部112は、ネットワーク122に接続し、ネットワーク122の通信プロトコルにしたがって通信をするための機能部である。送信部110は、通信部112における送信機能部であり、通信制御装置120からネットワーク122に対してパケットを送信する。受信部111は、通信部112における受信機能部であり、ネットワーク122から送信されたパケットを受信する。
配信部113は、図5のバス155に接続され、CPU150上で動作するプログラムから送信要求や、送信データを受け取る。具体的には、通信用LSI151に入力されたデータを、所定の方法によって識別し、非定周期送信部114、あるいは定周期送信部115、あるいは非定周期送信部114と定周期送信部115の両方に配信する。
配信先の機能部を決定する識別方法は、CPU150からの入力データの所定の位置に識別子を表現する方法や、通信用LSI151に入力する際に識別子を指定する方法が例示される。後者の具体例としては、通信用LSI151をPCI(Peripheral Components Interconnect Bus)デバイスとして構成した場合に、PCIバス空間に提示するアドレス空間によって区別する方法や、通信用LSI151へのバースト転送要求を異なるレジスタにもうけて区別する方法が例示される。
識別手法としては、上記いずれであってもよいが、配信部113は、要するに入力データが非制御指令であれば非定周期送信部114に配信し、入力データが制御指令であれば定周期送信部115に配信する。入力データが非制御指令と、制御指令を含む場合、それぞれを非定周期送信部114、定周期送信部115に配信する。
非定周期送信部114は、通信制御装置120から制御装置121に対する管理情報や稼働情報の取得要求等の、定周期で送信する必要のない非制御指令を格納する機能部である。配信部113から、非定周期送信データを受け取って、スケジュール部117へ送信要求を通知し、スケジュール部117から送信を許可された場合に非定周期送信データをスケジュール部117へ転送する。
非定周期データの送信要求は、任意のタイミングで発生し、また、データサイズについても任意である。
なお、非定周期送信部114内での非定周期送信データの形式は、データのみの形式でもよいし、ネットワーク122の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部112で付与してもよいし、スケジュール部117で付与してもよい。
また、ネットワーク122の通信プロトコルにしたがった形式で管理する場合は、配信部113から該形式で受信してもよいし、配信部113からはデータだけを受信し、非定周期送信部114内でネットワーク122の通信プロトコルにしたがうようにヘッダを付与してもよい。
定周期送信部115は、通信制御装置120から制御装置121に対する動作指令や計測情報の取得要求等の、定周期で送信する制御指令を格納する機能部である。配信部113から、定周期送信データを受け取って、スケジュール部117へ送信要求を通知し、スケジュール部117から送信を許可された場合に定周期送信データをスケジュール部117へ転送する。
定周期データの送信要求は、所定の周期で発生する。データサイズについては周期ごとに変化してもよい。
制御指令を送信する周期は、タイマ116を用いて管理する。
なお、定周期送信部115内での定周期送信データの形式は、データのみの形式でもよいし、ネットワーク122の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部112で付与してもよいし、スケジュール部117で付与してもよい。
また、ネットワーク122の通信プロトコルにしたがった形式で管理する場合は、配信部113から該形式で受信してもよいし、配信部113からはデータだけを受信し、定周期送信部115内でネットワーク122の通信プロトコルにしたがうようにヘッダを付与してもよい。
図6の時刻管理部116は、通信用LSI151内で時間を管理する機能部である。定周期送信部115、スケジュール部117へ時間情報を配信する。このとき、時間情報の配信は、現在時刻を通知してもよいし、あるいは所定の周期が経過したことを通知してもよい。あるいは、スケジュール部117から所定の時刻情報を入力されて、現在時刻との差分をスケジュール部117へ通知してもよい。
また、時刻管理部116の管理する時刻は、定周期を管理するためのタイマとして、相対的な時刻であってもよいし、ネットワーク122で接続された他の制御装置、あるいはバス155に接続された他のハードウェアと同期された時刻でもよいし、あるいはグリニッジ標準時やGPS時刻といった基準となっている時刻でも構わない。また、CPU150上で動作するアプリケーションから設定、取得できるようになっていても構わない。
スケジュール部117は、送信要求のある非定周期送信部114の送信データの処理時間と、定周期送信部115の送信データの処理時間と、定周期送信部115の次の送信周期までの残り時間を比較して、それぞれの送信要求を許可するかどうかを決定する。送信データの処理時間は、データ処理時間推定部118によって算出される。次の送信周期までの残り時間は、時刻管理部116から取得する。
データ処理時間推定部118は、送信要求のある非定周期送信部114の送信データの処理時間や、定周期送信部115の送信データの処理時間を推定し、スケジュール部117へ通知する。いずれの場合にも、送信データの処理時間の推定は、例えば、送信データのデータサイズからリアルタイム処理部における処理時間を算出し、さらに通信部での送信時間を加えて推定する。
リアルタイム処理部119は、非定周期送信部114の送信データ、または定周期送信部115の送信データを、予測可能な処理時間で処理し、通信部112へ転送する機能部である。例えば、単位データサイズあたりの処理時間が固定の場合、入力されたデータサイズから、処理時間が算出可能である。
本発明によるスケジュール部117の実行手順を図1に示す。
はじめに、スケジュール部117は、送信要求があるまで待機する(ステップS001)。そして、送信要求があれば、定周期送信部115からの送信要求かどうかを判定する(ステップS002)。定周期送信部115からの送信要求であれば(ステップS002の判断がY)、これを許可する(ステップS003)。
ステップS002での判断結果が定周期送信部115からの送信要求でない場合(ステップS002の判断がN)、これは非定周期送信部114からの送信要求である。この場合に、この送信要求を受け入れて、実際に送信を行うことができる条件、環境が整っていることを確認する。
条件、環境確認のために、まずステップS004において、非定周期送信部114の送信データの処理時間Taを、データ処理時間推定部118から取得し、定周期送信部115の次の周期までの残り時間Rを時刻管理部116から取得する。
次に、ステップS005において、非定周期送信データ処理時間Taと周期残り時間Rを比較する。非定周期送信データ処理時間Taが周期残り時間R未満であれば、現在の制御周期内での送信が可能であることから、ステップS006において、非定周期送信部114からの送信要求を許可する。
ステップS005の判断において、非定周期送信データ処理時間Taが周期残り時間R以上であれば、現在の制御周期内での送信が不可能である。この場合には、ステップS007に移り、非定周期送信部114からの送信要求を許可せず、継続させる。
なお、この場合には現在の制御周期の残り時間Rの中で、定周期送信部115からの送信要求が生じる可能性がある。このため、ステップS007の処理後は、ステップS008において定周期送信部115からの送信要求の発生まで待機する。定周期送信部115からの送信要求があれば、ステップS003に移り、これを許可する。
ステップS003の処理後は、ステップS001の処理手順に戻るが、この状態では、ステップS007で継続扱いにした非定周期送信部114からの送信要求が未処理のまま残されている。このため、ステップS001、ステップS002、ステップS004、ステップS005と再度処理進行し、非定周期送信データ処理時間Taと周期残り時間Rを比較する。この結果、非定周期送信データ処理時間Taが周期残り時間R未満となれば、非定周期送信部114からの送信要求が許可される。
但し、周期残り時間Rとの比較結果によっては、非定周期送信データが、長期間未送信となる可能性もある。このとき、ステップS005、ステップS007において、非定周期送信部114の送信要求が許可されなかった回数を数え、所定回数以上になった場合に非定周期送信部114へ通知してもよい。
長期間未送信となるときの動作手順を図7に示す。図7でははじめに、非定周期送信部114の送信要求を待機する(ステップS020)。非定周期送信部114から送信要求があると次に、その送信要求が許可されたかを判定する(ステップS021)。
許可されなかった場合、ステップS022において非定周期送信部114の送信要求の失敗回数を1増やす。次に、ステップS023において、この失敗回数を所定のしきい値と比較する。失敗回数がしきい値未満である場合は、ステップS020に戻る。もし、失敗回数がしきい値以上である場合(Y)は、ステップS024に移って非定周期送信部114に通知する。失敗回数がしきい値未満(N)のときは、ステップS020に戻り、引き続き失敗回数を継続監視する。
なお、連続して送信が失敗した回数として、非定周期送信部114の送信要求が成功した場合(ステップS021でY)に失敗回数をクリアしてもよいし、あるいは積算してもよい。この回数は、非定周期送信部114における送信失敗の回数であり、通信用LステップSI151における誤った設定等を示唆するものである。
この通知をもとに、非定周期送信部114は、その送信データを破棄してもよいし、あるいは、バス155に接続するCPU150に対して割り込みを通知してもよい。割り込みを通知されたCPU150上のアプリケーションは、非定周期送信部114のデータを破棄することや、非定周期送信データを再送すること、非定周期送信データを分割して小さくすることや、定周期送信部115の送信周期を長くする等の対策をとることができる。
また、図7の手順は非定周期送信部114内で行ってもよい。また、失敗回数としきい値の比較は、ステップS023において、失敗回数がしきい値以下の場合にステップS020に戻るとしてもよい。
図1、図7の動作処理手順を通じて実行される通信制御装置151による通信制御方法を整理するとこれは、以下のようである。
まず、図9に示すように一定周期ごとに定周期送信信号を送信し、任意の時刻で発生する非定周期送信信号を送信するときには、当該一定周期内において非定周期送信信号の送信要求がある時刻(例えばt2)から、次回の一定周期が開始されるまでの(例えば時刻t3との間の)第1の残余の時間と、非定周期送信信号を送信するに要する時間(図8のTp)を求め、第1の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信する。
また、図9のように非定周期送信信号の送信要求が発生した一定周期内に、非定周期送信信号を送信するに十分な前記第1の残余の時間がない場合(時刻t2−t3の間)には、次回以降の一定周期内において、一定周期から定周期送信信号の送信に要した時間(t3−t4間)を差し引いた第2の残余の時間(t4以降)と、非定周期送信信号を送信するに要する時間を比較して非定周期送信信号の送信を行う。
次に、データ処理時間推定部118の処理時間の推定方法を図8に示す。
データ処理時間推定部118は、はじめにステップS010において、リアルタイム処理部119の処理性能αを取得する。処理性能αの指標としては、例えば単位時間あたりに処理するデータサイズとする。
次に、ステップS011において、データ処理時間推定部118は、送信要求があった際に、スケジュール部117から送信データのデータサイズDを取得する。
ステップS012では、取得した処理性能αとデータサイズDから、処理時間Trを(1)式にしたがって計算する。
[数1]
Tr=D/α・・・(1)
なお、リアルタイム処理部119において、ネットワーク122の通信プロトコルに従ったヘッダ等を送信データに付与する場合、その処理時間を考慮して、処理時間Trは(2)式で計算する。
[数2]
Tr=D/α+B・・・(2)
但し、Bはヘッダ等の付与時間であり、データサイズDに依存しない項である。あるいは、送信データが複数のサブデータで構成され、サブデータごとに処理をする場合は、サブデータ数に依存した項となる。
次に、ステップS013において、通信部112での処理時間Teを計算する。例えば、100MbpsのEthernet(登録商標)を用いる場合、処理時間Teを(3)式にしたがって計算する。
[数3]
Te=D/100Mbps・・・(3)
それから、ステップS014において、送信データの処理時間Tpを(4)にしたがって計算する。
[数4]
Tp=Tr+Te+A・・・(4)
なお、Aは所定の安全係数である。Aには、図6に示すデータ処理時間推定部118自身の推定処理にともなう時間や、Ethernet(登録商標)のフレーム間ギャップ、実時間処理部119、通信部112の送信処理以外のオーバーヘッドを考慮した安全係数が含まれる。
図1、図8に示す動作手順を実行したときの時系列上の取り扱いを図9に示す。図9は、スケジュール部117における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部115の送信周期を100μsとする。
時刻t1で、周期が経過し、定周期送信部115の送信要求を許可し、定周期送信データを送信する。
次に、この送信周期内の時刻t2で、非定周期送信部114から送信要求があったとする。このとき、t2は、t1から80μs経過した時点とし、非定周期送信データサイズを500Bとする。リアルタイム処理部119の処理性能αを200MB/sとし、処理時間Trを(1)式で求めるとする。図8に示す手順でデータ処理時間を計算すると、送信データの処理時間Tpは(5)式に示すとおりとなる。なお、Aを0とする。
[数5]
Tp=Tr+Te+A
=500B/(200MB/s)+500B/100Mbps+0
=2.5μs+40μs
=42.5μs・・・(5)
したがって、図1に示すスケジュール部の判定手順において、非定周期送信データの処理時間Taは、42.5μsであり、一方、周期の残り時間Rは、次の周期の開始である時刻t3と時刻t2の差が20μsとなる。
以上の計算結果を用いて、図1のステップS005の判断では、非定周期送信データの処理時間Taの方が、周期残り時間Rよりも大きいため、判定手順はステップS007に移り、非定周期送信部114の送信要求は許可されない。このようにして、時刻t1を開始時刻とする送信周期内での非定周期送信データの送信は行われない。
続いて、ステップS008において、時刻t3の定周期送信部115の送信要求まで待機する。この後、定周期送信部115の送信要求が許可され、定周期送信データを送信する。定周期送信データは、時刻t4において、送信完了する。
図1の動作手順においては、時刻t3を開始時刻とする送信周期内の時刻t4に至った時点で、前回ステップS007において未送信とした非定周期送信データの送信要求がステップS001で処理される。以下、ステップS002、S004に進み、再度、非定周期送信部114の送信要求をスケジュールする。時刻t4と時刻t3の間隔が20μsとする。
時刻t4では、このときの送信周期の残り時間が80μsであり、ステップS005で、非定周期送信データの処理時間Taの方が、周期残り時間Rよりも小さいため、非定周期送信部114の送信要求が許可され、非定周期送信データを送信する。
なお、図9では、時刻t4と時刻t3の間隔が20μsであったが、定周期送信部115の送信データサイズは固定でなくても構わない。したがって、非定周期送信データのサイズが比較的大きい場合であっても、スケジュール部117が自動的に非定周期送信データを送信可能な帯域のある周期を判定し、非定周期送信データを送信することが可能である。
図10の例では、送信データサイズが、定周期1、定周期2、定周期3の3種類があり、同一ではない。従って送信周期の残り時間Rもそれぞれのケースで相違する例を示している。但し、この例ではこの送信データサイズの順番で繰り返す例をあげている。
このような場合に、比較的大きいサイズの非定周期送信データの送信要求が発生したとする。図10の事例で、時刻t1から時刻t4までの動作については図9と同じであるが、時刻t4での送信周期の残り時間Rからは、非定周期送信データの送信は不可であるとして阻止される。また、次の送信周期でも阻止される。最終的には、送信データサイズが、定周期3の送信周期において送信が実行できた。
定周期の送信データサイズの種類がN(図10では3)であるとき、N+1回の周期のうちに、非定周期送信データは送信可能である。もし、N+1回の周期内に送信できなければ、その後、該非定周期送信データが送信可能な周期は存在しない。なお、Nではなく、N+1回であるのは、最初の送信要求のタイミングが任意であるためである。
なお、本実施例では、スケジュール部117内にデータ処理時間推定部118をもうけたが、非定周期送信部114、定周期送信部115内にそれぞれもうけてもよい。この場合、本実施例では、非定周期送信部114、定周期送信部115からスケジュール部117へ送信要求と同時にデータサイズを通知したが、図1、図8の動作手順を非定周期送信部114、定周期送信部115内で実行し、スケジュール部117へは送信要求と当時に送信データ処理時間を通知してもよい。
また、本実施例では、非定周期送信部114、定周期送信部115がそれぞれひとつであったが、それぞれを複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。
以上の実施例による効果について説明する。
任意のタイミングで非定周期送信の送信要求が発生したとしても、スケジュール部117が、非定周期送信データの処理時間と定周期送信の周期の残り時間を比較して、送信要求の許可を判断する。こうすることで、非定周期送信に影響されることなく、定周期送信の送信を精度よく周期的に送信することができる。
また、送信タイミングをスケジュール部117で自動調整するため、CPU150上で動作するアプリケーションからは、任意のタイミングで、非定周期送信データを通信用LSI151に設定することができる。これにより、定周期送信の精度を維持するために非定周期送信データを設定するアプリケーションの開発効率を犠牲にする必要がない。
また、非定周期送信用の時間帯域をネットワーク122上にもうける必要がないため、送信周期を高速化しやすく、制御性能を向上させることができる。また、仮に、送信周期を過剰に短く設定した場合であっても、図7の手順で非定周期送信が送信できなかったことを検知して、非定周期送信の送信データサイズを変更することや、送信周期を調整するなどの最適化を施すことが可能である。
実施例2は、実施例1と比較して、通信用LSI151内に定周期送信データの再送機能を設け、定周期送信のデータ伝達性を向上させたものである。実施例に使用する符号は、特に断りのない限り、実施例1で説明した機能や要素等と同一であることを意味する。
実施例2を適用した通信制御装置120を用いて構成する制御システム例は図2、図3と同様である。また、通信制御装置120のハードウェア構成は、図5と同様である。
図11は、本発明を適用した通信用LSI151の機能構成の一実施形態である。図11の構成は、図6に示す実施例1の構成(配信部113、非定周期送信部114、定周期送信部115、スケジュール部117、通信部112)に、定周期送信データの再送機能を設けたものである。既存の構成については、図6で説明したとおりであるので、以下においては定周期送信データの再送機能を主として説明する。
定周期送信データの再送機能は、異常判定部132、再送制御部131、再送部130、時刻管理部116を主体に構成される。この概略機能は、異常判定部132が通信異常を検出したときに、制御装置側に正しく信号伝送がされていないと判断して、定周期送信部115並びにスケジュール部117に働きかけて定周期送信データを再送するものである。
概略上記の制御を実行するに当り、まず異常判定部132において通信異常を検知する。このため、異常判定部132では、通信部112内の受信部111から受信した受信データ内容、あるいは、時間経過をもとに定周期送信部115の定周期送信の成功、失敗を判定する機能部である。異常判定部132は、判定結果を再送制御部131へ通知する。なお、通信異常検知の具体手法については、後で詳述する。
再送制御部131は、異常判定部132の判定結果を受けて、再送部130へ再送を要求するか、または再送部130に保存している送信データの消去を要求する機能部である。
再送部130は、定周期送信部115がスケジュール部117へ送信データを転送する際に、該送信データを受信して、内部に保存する。再送制御部131から再送要求があった場合に、スケジュール部117へ再送を要求する。
なお、内部に定周期送信部115の送信データを保存する際、あるいはスケジュール部117から再送を許可されて送信データを出力する際に、再送であることを示すために、送信データを変更してもよい。その具体的な方法として、送信データ、あるいはヘッダに再送を示す領域を定義し、再送であることを示すパラメータを定義することが例示される。
また、再送部130は、時刻管理部116から、定周期送信部115の送信周期の経過を通知されて、内部の送信データを消去してもよい。これは、周期内に再送を送ることが必要なシステムで用いることが例示される。また、再送部130相当の機能を定周期送信部115にもうけてもよい。
以下、各機能の具体例について、異常判定部132から説明する。通信異常の検知機能としては幾つかのものが知られているが、ここでは以下のものを例示している。
まず、タイムアウト判定部133は、定周期送信部115の定周期送信開始からの経過時間を監視し、所定の時間が経過したかどうかを判定する。送信開始から所定の時間内に、定周期送信データを異常判定部132で受信した場合は、経過時間の監視を停止し、時間内に受信したと判定する。逆に、所定の時間内に定周期送信データを異常判定部132で受信できなかった場合には、通信が正常に行われなかったと判断する。
応答確認部134は、通信制御装置120から定周期送信を受け取った制御装置121からの返信をもって、定周期送信が成功したかどうかを判定する。制御装置121は、定周期送信を正しく受信した場合は、ACKと呼ばれる確認応答を通信制御装置120へ送信する。あるいは、通信制御装置120からの定周期送信を正しく受信できなかった場合にNACKと呼ばれる否定応答を通信制御装置120へ送信する。
WKC確認部135は、制御装置121から返信されたフレーム上の所定のカウンタ(Working Counterを略してWKCとして説明する)が期待値と等しいかどうかで、定周期送信が正しく制御装置121で処理されたかどうかを判定する。これは、EtherCATで用いられる方式である。このカウンタは、その送信データを処理すべき制御装置121で正しく処理されるたびに、制御装置121によって所定の数だけカウントアップされるEtherCATパケット上のフィールドである。なお、期待値を事前に設定する必要がある。
次に、異常判定部132の構成と、ネットワーク方式の関係について言及する。図11の異常判定部132は、タイムアウト判定部133、応答確認部134、WKC確認部135のうち、ひとつ、または複数の組み合わせで構成される。しかしながら、定周期通信が正しく制御装置121で処理されたかどうかを判定する方法は、タイムアウト判定部133、応答確認部134、WKC確認部135の判定方法に限らない。例えば、Ethernetであれば、受信フレームのCRCやパケットフォーマットの異常等をもって、定周期通信が正しくなされなかったと判定してもよい。
なお、異常判定部132におけるタイムアウト判定部133、応答確認部134、WKC確認部135の構成は、ネットワーク方式によっても適性が異なる。
例えば、EtherCATでは、通信制御装置120から送信された通信フレームは、各制御装置121を順番に経由し、全ての制御装置121を経由後、通信制御装置120に戻るという特徴がある。このような特徴があるため、WKC確認部135を用いるのがよい。また、パケットがネットワーク上でロスする可能性があるため、タイムアウト判定部133の適用も好ましい。
一方で、ネットワーク122の仕様上、必ずしも制御装置121から通信制御装置120への返信が定義されていない場合は、明示的に通信制御装置120から確認応答、または否定応答を返信する構成とし、応答確認部124、タイムアウト判定部133をもって構成するのがよい。
定周期送信データの再送を実現するために、通信制御装置はハード的には、上記の機能(異常判定部132、再送制御部131、再送部130、時刻管理部116)を備える必要がある。さらにその上で、スケジュール部117において、図12に示した以下の動作手順を実行する。
はじめに、スケジュール部117は、送信要求があるまで待機する(ステップS030)。そして、送信要求があれば、定周期送信部115からの送信要求かどうかを判定する(ステップS031)。定周期送信部115からの送信要求であれば(Y)、ステップS032に移り、これを許可する。これにより、送信部110から制御装置121に向けて定周期データが送信され、異常判定部132において通信が正しく行われたことを監視している。もし、通信異常が発生していれば、再送部130から再送要求が来るはずである。
ステップS031で、定周期送信部115からの送信要求でない(N)と判断した場合、これは非定周期送信部114か、再送部130からの送信要求である。したがって、次にステップS033において、送信要求が再送部130からかどうかを判定する。
ステップS033において、再送部130からの送信要求であることが判明したときには、ステップS034において再送部130の送信データの処理時間Tbをデータ処理時間推定部118から取得し、定周期送信部115の次の周期までの残り時間Rを時刻管理部116から取得する。なお、ステップS034の処理は、前述のステップS004の処理と同じであるが、扱うデータが非定周期送信データから再送データになっている点でのみ相違している。
次に、ステップS035において再送データ処理時間Tbと周期残り時間Rを比較し、再送データ処理時間Tbが周期残り時間R未満(Y)であれば、ステップS036で再送部130からの送信要求を許可する。なお、ステップS035の処理は、前述のステップS005の処理と同じであるが、扱うデータが非定周期送信データから再送データになっている点でのみ相違している。
ステップS035で、再送データ処理時間Tbが周期残り時間R以上であれば、再送部130からの送信要求を許可せず、ステップS030へ処理手順を戻る。
ステップS033において、送信要求が非定周期送信部114からであれば、非定周期送信部114の送信データの処理時間Taをデータ処理時間推定部118から取得し、定周期送信部115の次の周期までの残り時間Rを時刻管理部116から取得する(ステップS004)。
次に、非定周期送信データ処理時間Taと周期残り時間Rを比較(ステップS005)し、非定周期送信データ処理時間Taが周期残り時間R未満であれば、非定周期送信部114からの送信要求を許可する(ステップS006)。
ステップS005で、非定周期送信データ処理時間Taが周期残り時間R以上であれば、非定周期送信部114からの送信要求を許可せず、ステップS030へ処理手順を戻る。
以上、図12の実施例について説明した。この方式によれば定周期送信データをまず送信し、そのあとの時間内で再送データまたは非定周期送信データを送信する流れになっている。このため、同一の送信周期内に再送データと非定周期送信データの送信要求が発生した場合の取り扱いを検討する必要がある。
図13は、再送を非定周期送信よりも高い優先度に設定する場合のスケジュール部117の動作実行手順を示している。
図12との違いは、ステップS040を設けた点であり、ステップS040において、非定周期送信が再送との関係で送信可能状態かどうかを判定することである。この判定基準としては、再送が所定回数実行されているかどうかや、定周期送信が正しく成立していること、定周期送信後に所定の時間(再送を優先する時間帯)が経過しているかどうか等が例示される。
なお、このとき、図12、図13において、非定周期送信部114の送信要求が許可されなかった周期の回数を数え、所定回数以上になった場合に非定周期送信部114に通知してもよい。この手順は図7と同様である。
図12に示す動作手順を実行したときの時系列上の取り扱いを図14に示す。図14は、スケジュール部117における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部115の送信周期を100μsとする。
時刻t10で、送信周期が経過し、新しい送信周期内で定周期送信部115の送信要求を許可し、定周期送信データを送信する。この処理はステップS030からステップS032により実行される。
次に、時刻t11で、再送部130から送信要求があったとする。このとき、t11は、t10から95μs経過した時点とし、非定周期送信データサイズを100Bとする。リアルタイム処理部119の処理性能αを200MB/sとし、図8に示す手順でデータ処理時間を計算すると、送信データの処理時間Tpは(6)式に示すとおりとなる。なお、Aを0とする。
[数6]
Tp=Tr+Te+A
=100B/(200MB/s)+100B/100Mbps+0
=0.5μs+8μs
=8.5μs・・・(6)
したがって、図12に示すスケジュール部の判定手順において、再送データの処理時間Tbは8.5μsとなる。一方、周期の残り時間Rは、次の周期の開始である時刻t12と時刻t11の差が5μsである。
以上の計算結果を用いて、再送データの処理時間Tbの方が、周期残り時間Rよりも大きいため、再送部130の送信要求は許可されない。この一連の処理は、ステップS033からステップS036により実行される。
なお、時刻t12において、再送制御部131は再送部130の送信データを消去するように構成した場合、時刻t12から再送部130の再送要求は取り消される。
図13に示す実施例での動作の具体例を図15に示す。14は、スケジュール部117における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部115の送信周期を100μsとする。
時刻t20で、送信周期が経過し、新しい送信周期内で定周期送信部115の送信要求を許可し、定周期送信データを送信する。この処理はステップS030からステップS032により実行される。
次に、時刻t21で、非定周期送信部114から送信要求があったとする。従ってこのとき図13の処理手順上では、ステップS040に処理が移る。ステップS040では、非定周期送信が可能か否かを判断するが、このときには、再送が成功しておらず、非定周期送信が可能な状態ではないとする。そのため、ステップS040の判断では、時刻t21における非定周期送信部114の送信要求は許可されない。
次に、時刻t22で、再送部130から送信要求があったとする。従ってこのとき図13の処理手順上では、ステップS033からステップS034側に処理が移っている。このとき、時刻t22は、時刻t20から80μs経過した時点とし、再送送信データサイズを100Bとする。リアルタイム処理部119の処理性能αを200MB/sとし、図8に示す手順でデータ処理時間を計算すると、送信データの処理時間Tpは先の(6)式に示すとおりとなる。なお、Aを0とする。
したがって、図11に示すスケジュール部の判定手順において、再送データの処理時間Tbは8.5μsとなる。一方、周期の残り時間Rは、次の周期の開始である時刻t23と時刻t22の差が20μsとなる。したがって、十分な残時間があるため、再送部130から送信要求は許可され、再送がなされる。
次に、時刻t23で、送信周期が経過し、新たな送信周期において、定周期送信部115の送信要求を許可し、定周期送信データを送信する。この処理はステップS030からステップS032により実行される。
その後、時刻t24で、定周期送信が正常になされたとする。このとき、継続して非定周期送信部114からの送信要求があったとする。従ってこのとき図13の処理手順上では、ステップS033からステップS040を経由してステップS004側に処理が移っている。このとき、時刻t24は、時刻t23から30μs経過した時点とし、非定周期送信データサイズを500Bとする。リアルタイム処理部119の処理性能αを200MB/sとすると、送信データの処理時間Tpは(5)式に示すとおり42.5μsとなる。
図13に示すスケジュール部の判定手順において、非定周期送信データの処理時間Taは42.5μsとなる。一方、周期の残り時間Rは、次の周期の開始である時刻t25と時刻t24の差が70μsとなる。
したがって、非定周期送信データの処理時間Taの方が、周期残り時間Rよりも小さいため、非定周期送信部114の送信要求が許可され、非定周期送信データを送信する。
なお、本実施例では、スケジュール部117内にデータ処理時間推定部118をもうけたが、非定周期送信部114、定周期送信部115、再送部130内にそれぞれもうけてもよい。この場合、本実施例では、非定周期送信部114、定周期送信部115、再送部130からスケジュール部117へ送信要求と同時にデータサイズを通知したが、図8の手順を非定周期送信部114、定周期送信部115、再送部内で実行し、スケジュール部117へは送信要求と同時に送信データ処理時間を通知してもよい。
また、本実施例では、非定周期送信部114、定周期送信部115、再送部130がそれぞれひとつであったが、それぞれを複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。また、定周期送信部115、再送部130を複数にする場合は、パケット内に識別子をもうけることが例示される。
図12、図13の動作処理手順を通じて実行される通信制御装置151による通信制御方法を整理するとこれは、以下のようである。
ここでは、図14に示すように一定周期(t10、t12)ごとに定周期送信信号を送信し、当該定周期送信信号の送信に失敗したときには、当該失敗を検知した時刻(t11)から次回の一定周期が開始されるまでの(t12との間の)第3の残余の時間と、定周期送信信号を再送信するに要する時間を求め、第3の残余の時間内に再送信完了できることを確認してから定周期送信信号を再送信する。
また、任意の時刻で発生する非定周期送信信号を送信するときには、図9に示したように当該一定周期内において非定周期送信信号の送信要求がある時刻(t2)から、次回の一定周期が開始されるまでの(t3との間の)第1の残余の時間と、非定周期送信信号を送信するに要する時間を求め、第1の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信する。
さらに、再送信と非定周期送信信号の送信を行う場合に、図15のように同一の一定周期(t20からt23の間)内に前記定周期送信信号の再送信要求と、非定周期送信信号の送信要求があるときには、定周期送信信号の再送信を優先(t22)し、非定周期送信信号の送信は、同一の定周期内に非定周期送信信号を送信するに要する時間が残っていなければ、次回以降の一定周期内に行う(t24)。
さらに、定周期送信信号の送信に失敗し、かつ第3の残余の時間内に送信できない場合には、この内容の定周期送信信号を破棄し、次回の一定周期では新たに求めた内容の定周期送信信号を送信する。
以上の実施例による効果について説明する。
任意のタイミングで非周期送信の送信要求や再送が発生したとしても、スケジュール部117が、非定周期送信データの処理時間、あるいは再送データの処理時間と定周期送信の周期の残り時間を比較して、送信要求の許可を判断する。こうすることで、非定周期送信、再送に影響されることなく、定周期送信の送信を精度よく周期的に送信することができる。
また、送信タイミングをスケジュール部117で自動調整するため、CPU150上で動作するアプリケーションからは、任意のタイミングで、非定周期送信データを通信用LSI151に設定することができる。これにより、定周期送信の精度を維持するために非定周期送信データを設定するアプリケーションの開発効率を犠牲にする必要がない。
また、非定周期送信用、再送用の時間帯域をネットワーク122上にもうける必要がないため、送信周期を高速化しやすく、制御性能を向上させることができる。また、仮に、送信周期を過剰に短く設定した場合であっても、図7の手順で非定周期送信が送信できなかったことを検知して、非定周期送信の送信データサイズを変更することや、送信周期を調整するなどの最適化を施すことが可能である。
さらに、定周期送信の送信精度を維持する範囲内で、再送が可能となるため、通信制御装置120から制御装置121へのデータ伝達性を向上させることができ、制御システムの高信頼化、高性能化が可能である。
さらに、再送を非定周期送信よりも優先度を高く設定することで、非定周期送信に影響されることなく、再送をすることができ、上記の再送による利点を高めることができる。
なお、実施例2の典型的な装置構成を示す図11において、非定周期送信部114は、非制御指令を非定周期送信する部分であり、時刻管理部116、再送部130、再送制御部131、異常判定部132は、送信失敗のときの再送指令を取り扱う送信部分である。本発明の上記の説明では、制御指令の定周期送信に対して、非制御指令あるいは再送指令を不定期的信号として取り扱ってきた。このため、上記の回路部分は、上位概念的には不定期的信号送信部と呼ぶべき機能であり、ここには非制御指令を取り扱う部分と、再送を取り扱う部分がある。
実施例3は、実施例1、実施例2と比較して、汎用的なハードウェアを用いて、ソフトウェアを中心に本発明を実施する構成である。実施例に使用する符号は、特に断りのない限り、実施例1、実施例2で説明した機能や要素等と同一であることを意味する。
通信制御装置120を用いて構成するシステム例は図2、図3と同様である。通信制御装置120のハードウェア構成を図16に示す。図5の通信制御装置120と相違しているのは、通信用LSI151の代わりに、LAN156を設けた点である。
LAN156は、ネットワーク122との通信機能を実装した送受信機ICである。LAN103の提供する通信規格としてEthernet等が例示される。
図16のCPU150上で動作するソフトウェア構成を含む本発明のソフトウェア構成を図17に示す。
図17において、OS160は、プログラム管理やハードウェアへのアクセス等の基本機能を提供する。OS160は、必ずしも必要ではないが、汎用的なアプリケーションや既存のソフトウェア資産の利用、タスク管理等の基本機能を提供することから、利用されるのが望ましい。また、時間的制約にしたがってタスクスケジューリングを実行可能なリアルタイムOSが望ましい。
デバイスドライバ161は、OS160の提供するハードウェアへのアクセス手段を用いて、LAN156へ通信データ領域や動作管理情報、状態情報にアクセスするための機能を提供する。デバイスドライバ161は、OS160の一部であっても構わない。
ライブラリ162は、利用頻度の多い関数をまとめたものであり、OS160の機能を利用してメモリ管理、タスク管理、入出力、ファイル操作等の基本機能を提供する。具体例として、Linuxで利用されるglibcが挙げられる。
API163は、ライブラリ162を介して、デバイスドライバ161やOS160の提供する機能を利用するためのソフトウェアインターフェースである。
アプリケーション164は、制御対象121を制御するための制御指令値を演算し、LAN156を用いて通信パケットの送受信を実行するソフトウェアである。
次に、図6、図11に示す機能部と、図17に示すソフトウェア構成との対応を示す。
通信部112、送信部110、受信部111は、LAN156で構成する。
非定周期送信部114と定周期送信部115はアプリケーション164で構成する。
時刻管理部116は、CPU150内に含まれるタイマデバイスと、それをデバイスドライバ160によって抽象化したOS160の機能で構成する。
スケジュール部117、データ処理時間推定部118、リアルタイム処理部119はライブラリ162、またはOS160で構成する。
再送部130、再送制御部131、異常判定部132、タイムアウト判定部133、応答確認部134、WKC確認部135はアプリケーション164またはライブラリ162、OS160で構成する。
一般に、ソフトウェアで構成する場合は、ハードウェアに比較して、処理時間の予測精度が低下する。この予測精度の低下を低減するため、スケジュール部117、データ処理時間推定部118、リアルタイム処理部119は、高優先度のタスクとして設定し、時刻管理部116のハードウェア資源であるタイマデバイスの割り込み以外の割り込みを禁止するなどの設定が好ましい。
また、リアルタイム処理部119における処理性能を求めるため、事前に実験的に評価することが望ましい。
以上の実施例による効果について説明する。
実施例1、実施例2と同様の効果を得られながら、汎用的なハードウェアで本発明を実施することができ、システム構築の柔軟性を高めることができる。
110:送信部
111:受信部
112:通信部
113:配信部
114:非定周期送信部
115:定周期送信部
116:時刻管理部
117:スケジュール部
118:データ処理時間推定部
119:リアルタイム処理部
120:通信制御装置
121:制御装置
122:ネットワーク
130:再送部
131:再送制御部
132:異常判定部
133:タイムアウト判定部
134:応答確認部
135:WKC確認部
150:CPU
151:通信用LSI
152:物理層
153:メモリ
154:不揮発性記憶媒体
155:バス
156:LAN
160:OS
161:デバイスドライバ
162:ライブラリ
163:API
164:アプリケーション

Claims (19)

  1. ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
    任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記非定周期送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、前記非定周期送信部の送信内容を前記通信部に伝送するスケジュール部とを備え、前記スケジュール部は前記非定周期送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記非定周期送信部からの送信要求の都度求めていることを特徴とする通信制御装置。
  2. 請求項1記載の通信制御装置において、
    前記スケジュール部は、送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
  3. 請求項1または請求項2記載の通信制御装置において、
    前記スケジュール部は、送信要求のある前記非定周期送信部の通信処理時間Tpを、前記リアルタイム処理部での送信データのデータサイズと処理性能から計算した処理時間Trと、前記通信部での処理時間Teの和として求めることを特徴とする通信制御装置。
  4. 請求項3記載の通信制御装置において、
    ネットワークの通信プロトコルに従ったヘッダデータを送信データに付与する場合、その処理時間を考慮して前記処理時間Trを得ることを特徴とする通信制御装置。
  5. 請求項1から請求項4のいずれかに記載の通信制御装置において、
    定周期送信部は、通信制御装置から制御装置に与える制御指令を取り扱い、非定周期送信部は通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等を取り扱うことを特徴とする通信制御装置。
  6. ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
    任意の時刻で送信要求を発生する不定期的信号送信部と、定周期で送信要求を発生する定周期送信部と、前記不定期的信号送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記不定期的信号送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、前記不定期的信号送信部の送信内容を前記通信部に伝送するスケジュール部とを備え、前記スケジュール部は前記不定期的信号送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記不定期的信号送信部からの送信要求の都度求めていることを特徴とする通信制御装置。
  7. 請求項6に記載の通信制御装置において、
    前記定周期送信部は、通信制御装置から制御装置に与える制御指令を取り扱い、前記不定期的信号送信部は、通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等を取り扱う非定周期送信部と、前記定周期送信部による制御指令の送信失敗を検出して、制御指令を再送信する再送部を備えることを特徴とする通信制御装置。
  8. 請求項7に記載の通信制御装置において、
    非定周期送信部からの送信に優先して再送部からの送信を行わせることを特徴とする通信制御装置。
  9. ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
    任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部または前記非定周期送信部の送信内容を前記通信部に伝送するスケジュール部と、前記定周期送信部の送信データが通信制御装置で正常に送信されたかを判定する異常判定部と、該異常判定部が通信異常と判定したときに前記定周期送信部の送信内容を再送する再送部とを備え、
    前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記非定周期送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記非定周期送信部の送信内容を前記通信部に伝送し、
    送信要求のある前記再送部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記再送部の送信内容を前記通信部に伝送し、
    前記スケジュール部は前記非定周期送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記非定周期送信部からの送信要求または前記再送部からの再送要求の都度求めていることを特徴とする通信制御装置。
  10. 請求項9記載の通信制御装置において、
    前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、
    前記再送部からの送信要求があるとき、送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満であれば前記再送部の送信内容を前記通信部に伝送し、
    前記非定周期送信部からのみ送信要求があるとき、前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満であるとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
  11. 請求項9乃至請求項10記載の通信制御装置において、
    前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、
    送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記再送部の送信内容を前記通信部に伝送し、
    送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満で、かつ、所定回数再送されたとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
  12. 請求項9乃至請求項11のいずれか記載の通信制御装置において、
    前記異常判定部は、定周期送信後、所定時間経過する迄に前記制御装置からの確認応答がない場合に異常と判定することを特徴とする通信制御装置。
  13. 請求項9乃至請求項12のいずれかに記載の通信制御装置において、
    所定回数分の定周期内で前記非定周期送信部の送信内容が前記通信部に伝送されないときに、前記非定周期送信部の送信内容を消去することを特徴とする通信制御装置。
  14. ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置のための通信制御方法において、
    前記通信制御装置は、定周期で送信要求を発生し定周期送信信号を与える定周期送信部と、任意の時刻で送信要求を発生し非定周期送信信号を与える非定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを、スケジュール部を介して前記ネットワークと通信する通信部とを備え、
    一定周期ごとに前記定周期送信信号を送信し、任意の時刻で発生する前記非定周期送信信号を送信するときには、当該一定周期内において前記非定周期送信信号の送信要求がある時刻から、次回の一定周期が開始されるまでの第1の残余の時間と、前記非定周期送信信号を送信するに要する時間を求め、第1の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信するとともに、前記非定周期送信信号を送信するに要する時間は、前記通信制御装置の内部において前記非定周期送信信号をスケジュール部を介して前記ネットワークと通信する通信部に転送する処理に要する時間とすることを特徴とする通信制御方法。
  15. 請求項14に記載の通信制御方法において、
    前記非定周期送信信号の送信要求が発生した前記一定周期内に、前記非定周期送信信号を送信するに十分な前記第1の残余の時間がない場合には、次回以降の一定周期内において、前記一定周期から前記定周期送信信号の送信に要した時間を差し引いた第2の残余の時間と、前記非定周期送信信号を送信するに要する時間を確認して前記非定周期送信信号の送信を行うことを特徴とする通信制御方法。
  16. 請求項14または請求項15に記載の通信制御方法において、
    前記定周期送信信号は、前記制御装置に動作指示を与えるための制御信号であり、任意の時刻で発生する非定周期送信信号は前記制御装置の管理に関する信号であることを特徴とする通信制御方法。
  17. ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置のための通信制御方法において、
    前記通信制御装置は、定周期で送信要求を発生し定周期送信信号を与える定周期送信部と、前記定周期送信部の送信データを、スケジュール部を介して前記ネットワークと通信する通信部とを備え、
    一定周期ごとに前記定周期送信信号を送信し、当該定周期送信信号の送信に失敗したときには、当該失敗を検知した時刻から次回の一定周期が開始されるまでの第3の残余の時間と、前記定周期送信信号を再送信するに要する時間を求め、第3の残余の時間内に再送信完了できることを確認してから定周期送信信号を再送信するとともに、前記定周期送信信号を再送信するに要する時間は、前記通信制御装置の内部において前記定周期送信信号をスケジュール部を介して前記ネットワークと通信する通信部に転送する処理に要する時間とすることを特徴とする通信制御方法。
  18. 請求項17に記載の通信制御方法において、
    任意の時刻で発生する非定周期送信信号を送信するときには、当該一定周期内において前記非定周期送信信号の送信要求がある時刻から、次回の一定周期が開始されるまでの第1の残余の時間と、前記非定周期送信信号を送信するに要する時間を求め、第1の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信することを特徴とする通信制御方法。
  19. 請求項18に記載の通信制御方法において、
    同一の一定周期内に前記定周期送信信号の再送信要求と、非定周期送信信号の送信要求があるときには、前記定周期送信信号の再送信を優先し、非定周期送信信号の送信は、次回以降の前記一定周期内に行うことを特徴とする通信制御方法。
JP2011031629A 2011-02-17 2011-02-17 通信制御装置 Active JP5389071B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011031629A JP5389071B2 (ja) 2011-02-17 2011-02-17 通信制御装置
EP12155571.8A EP2490358B1 (en) 2011-02-17 2012-02-15 Communication controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011031629A JP5389071B2 (ja) 2011-02-17 2011-02-17 通信制御装置

Publications (2)

Publication Number Publication Date
JP2012170036A JP2012170036A (ja) 2012-09-06
JP5389071B2 true JP5389071B2 (ja) 2014-01-15

Family

ID=45607073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011031629A Active JP5389071B2 (ja) 2011-02-17 2011-02-17 通信制御装置

Country Status (2)

Country Link
EP (1) EP2490358B1 (ja)
JP (1) JP5389071B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6502114B2 (ja) 2015-02-12 2019-04-17 株式会社神戸製鋼所 通信制御システム及び通信制御方法
JP6734031B2 (ja) * 2015-10-05 2020-08-05 Necプラットフォームズ株式会社 送信装置、送受信システム、送信方法およびプログラム
JP6594813B2 (ja) * 2016-03-24 2019-10-23 株式会社神戸製鋼所 通信制御システム及び通信制御方法
JP7018827B2 (ja) * 2018-06-13 2022-02-14 本田技研工業株式会社 通信システム及び車両
JP7059973B2 (ja) * 2019-03-15 2022-04-26 オムロン株式会社 制御システム、装置および制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331261A (ja) 1998-05-20 1999-11-30 Kokusai Electric Co Ltd パケット通信装置
DE10058524A1 (de) * 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet
JP4506019B2 (ja) * 2001-03-30 2010-07-21 沖電気工業株式会社 通信装置
JP4261447B2 (ja) * 2004-09-10 2009-04-30 株式会社日立製作所 通信システム
JP2007158495A (ja) 2005-12-01 2007-06-21 Matsushita Electric Ind Co Ltd データ通信装置およびデータ通信方法
JP2007251826A (ja) * 2006-03-17 2007-09-27 Auto Network Gijutsu Kenkyusho:Kk 車載データベースシステム

Also Published As

Publication number Publication date
JP2012170036A (ja) 2012-09-06
EP2490358B1 (en) 2020-05-06
EP2490358A2 (en) 2012-08-22
EP2490358A3 (en) 2018-02-14

Similar Documents

Publication Publication Date Title
JP6594667B2 (ja) 通信制御装置
JP5389071B2 (ja) 通信制御装置
CN105960778B (zh) 用于传输数据的方法和设备、网桥及存储介质
US9614937B2 (en) System and method for data transfer, including protocols for use in data transfer
JP6376229B2 (ja) 通信システム、通信装置および通信方法
US11057400B2 (en) Device and method for detecting attack in network
JP6265058B2 (ja) ネットワーク伝送システム、そのマスタノード、スレーブノード
US20120327950A1 (en) Method for Transmitting Data Packets
JP2012104919A (ja) 通信システム、マスタノード、スレーブノード
JP6594567B2 (ja) ロボットとサーバーとの間の同期化方法及びシステム
JP4876138B2 (ja) 制御用計算機および制御システム
CN114450922B (zh) 运行无线通信系统的方法、无线通信系统
KR101135117B1 (ko) 이종 프로토콜 통신에서 프로세스의 우선 순위를 조절하여 지연을 보상하는 방법 및 장치
EP3543815B1 (en) Gateway system for heterogeneous fieldbus
JP2024517128A (ja) クロック同期エッジベースのネットワーク機能
CN108055323B (zh) 一种基于数据链路层的通讯方法
US20210058495A1 (en) Communication device, communication system, and protocol switchover method
CN117177276A (zh) 一种5g定制专网调整方法、装置以及存储介质
CN110727248B (zh) 用于改变配置的方法和工业设施系统
EP2637467B1 (en) Traffic load and transmission retry management
CN108141391B (zh) 通信系统
JP7453061B2 (ja) 通信制御システム及び通信制御方法
JP2007274123A (ja) 通信システム及び通信方法。
JP2008283523A (ja) データ送信装置、データ送信方法及びデータ送信プログラム
CN114244680A (zh) 一种端到端确定性传输控制方法、装置、设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131008

R150 Certificate of patent or registration of utility model

Ref document number: 5389071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150