JP2016225929A - 通信制御装置 - Google Patents

通信制御装置 Download PDF

Info

Publication number
JP2016225929A
JP2016225929A JP2015112763A JP2015112763A JP2016225929A JP 2016225929 A JP2016225929 A JP 2016225929A JP 2015112763 A JP2015112763 A JP 2015112763A JP 2015112763 A JP2015112763 A JP 2015112763A JP 2016225929 A JP2016225929 A JP 2016225929A
Authority
JP
Japan
Prior art keywords
real
communication
time
unit
time data
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
JP2015112763A
Other languages
English (en)
Other versions
JP6594667B2 (ja
Inventor
丸山 龍也
Tatsuya Maruyama
龍也 丸山
山田 勉
Tsutomu Yamada
勉 山田
城戸 三安
Mitsuyasu Kido
三安 城戸
吉田 昌司
Masashi Yoshida
昌司 吉田
和久 高見
Kazuhisa Takami
和久 高見
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2015112763A priority Critical patent/JP6594667B2/ja
Priority to US15/172,315 priority patent/US10136403B2/en
Publication of JP2016225929A publication Critical patent/JP2016225929A/ja
Application granted granted Critical
Publication of JP6594667B2 publication Critical patent/JP6594667B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/628Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • H04N21/45457Input to filtering algorithms, e.g. filtering a region of the image applied to a time segment

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】本発明は、非リアルタイムデータの送信に干渉されることなく、リアルタイムデータを送信することを課題とする。
【解決手段】上記課題を解決するために、リアルタイムデータの通信タイミングを求めるリアルタイム通信ステータス抽出部と、前記リアルタイム通信ステータス抽出部によって求められた通信タイミングになるまでに送信可能な送信データのフラグメントサイズを求める動的フラグメントサイズ決定部と、少なくとも前記動的フラグメントサイズ決定部によって求められたフラグメントサイズ以下になるよう、非リアルタイムデータをフラグメント化するフラグメント処理部と、前記フラグメント処理部によってフラグメント化された前記非リアルタイムデータを前記リアルタイムデータの通信タイミングになる前に送信する通信部と、を備えることを特徴とする。
【選択図】図3

Description

本発明は通信制御装置に関する。
制御システムとして、単一、または複数の通信制御装置が、ネットワークを介して単一または複数の制御装置を制御する構成がある。通信制御装置は、ネットワークを介して制御指令等を制御装置へ送信する。このような制御システムに用いられるネットワークには、IEEE 802.3、RS−232C、RS−422、RS−485、CAN(登録商標)、DeviceNet、産業用Ethernet(登録商標)、IEC61850、IEC62439、Ethernet(登録商標)AVB等がある。
特許文献1では、非リアルタイムパケットとリアルタイムパケットから成る通信がフレームリレーネットワークを介して行なうパケット送受信装置において、リアルタイムパケットの到達間隔の揺らぎ(ジッター)を減少し、品質、及び信頼性を向上させるために、「本発明は、フレームリレーネットワークの送信先を示すDLCI単位に、相手装置の回線速度(帯域情報)を格納する隣接情報テーブルを有すことにより、宛先DLCI単位に非リアルタイムパケットのフラグメントサイズを決定し、リアルタイムパケット送信間隔の間に送信できるパケットサイズを決定し、非リアルタイムパケットをこの大きさ(フラグメントサイズ)に分割して送信する。これにより、受信側でのリアルタイムパケット到達間隔の遅延、輻輳の発生を回避し、また非リアルタイムパケットの通信効率を向上させる。」ことが記載されている(要約参照)。
特開2004−208119
(通信制御装置の送信タイミングの精度)
上記のような単一、または複数の通信制御装置が、ネットワークを介して単一または複数の制御装置を制御するようなシステムの中には時刻同期プロトコルを適用し、同期された時刻に基づいて各制御装置を動作させる構成がある。このような構成では、各制御装置の同期精度に加えて、通信制御装置における制御指令の送信タイミングにおいても、高い周期精度が求められる。例えば、通信制御装置と各制御装置間の通信遅延が異なる場合、制御装置ごとに通信制御装置からの制御指令を同一制御周期内で受信できるか否かが異なる。
(時分割方式の場合、通信制御装置の周期精度は制御周期の精度に直結)
また、ネットワークを利用する時間を制御装置ごとに時分割で配分する時分割ネットワーク方式の場合、一般に通信制御装置からの同期指令に基づいて制御周期を規定する方法がとられる。この場合は、通信制御装置における制御指令の送信タイミングの周期精度は、直接制御周期の精度に影響する。通信制御装置の送信タイミングの周期精度が悪く、通信周期のゆらぎが大きければ、制御システムの制御周期が短くなる場合や長くなる場合が生じるため、制御システムの制御性能が低下する。
加えて、近年ではIEEE 802.3方式の制御システムへの適用拡大により、新たな要求が高まりつつある。すなわち、TCP/IPに代表されるICT通信方式の制御システムへの適用やIEEE 802.3を高信頼化させる通信方式の採用である。例えば、IEC 61784−2に定義される産業通信方式の中にはTCP/IP通信を利用可能とする規格が存在している。また、IEC 61850では、設定・監視等の用途にはTCP/IP通信を用い、遮断指令等の制御用途にはEthernet(登録商標)を直接利用した通信プロトコルを想定している。その他にはIEC 62439は冗長化通信等、IEEE 802.3を高信頼化させる方式を規格化している。
(非制御指令の影響)
しかしながら、通信制御装置において、TCP/IP等の非制御指令の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。非制御指令とは、通信制御装置から制御装置に対する管理情報や稼働情報等の、高い周期精度は求められないが、制御システムを実行する上で必要な指令である。特に、制御システムのTCP/IP通信の実現も含む。
(再送・転送の影響)
また、非制御指令にとどまらず、制御指令自身の再送や転送についても、制御指令の送信タイミングを遅らせる原因となりうる。再送、転送の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。再送は、ネットワーク上でのパケットロスを考慮してなされるもので、通信制御装置から制御装置へのデータ伝達性を向上させるために有用である。特に、ネットワークの物理メディアにおいては、所定のビットエラーレートが存在し、全てのパケットを確実に送信することは現実的に不可能である。そのため、高い信頼性を求められるシステムでは、再送機能は必須である。
さらに、通信装置自身でリングネットワークを構成する場合は隣接する通信装置からの転送パケットが存在する。このような転送パケットが制御指令の送信タイミングを遅らせる原因となり得る。
(時分割方式での解法)
この非制御指令と再送、転送の影響に対して、時分割ネットワーク方式では、専用のネットワーク利用時間枠を設けて対処する。この場合、非制御指令、再送、転送を該時間枠で通信することで、制御指令の送信タイミングの周期精度への影響を除去する。
(時分割方式の解放の課題)
しかしながら、この方法では、非制御指令、再送が存在しない場合でも、専用の時間枠を割り当てなければならず、無駄なネットワーク帯域を消費することとなる。特に、該時間枠の影響により、通信周期が長くなるため、結果的に制御周期が長くなる可能性がある。制御周期は長くなればなるほど、一般に制御性能は低下するため、望ましくない。
また、非制御指令では、その性質上、データサイズが一意に決まらないため、非制御指令用の時間枠を一意に決定することができない。したがって、最悪値を想定し、該時間枠は長くなる傾向にあり、結果的に制御周期は、より長くなる可能性がある。また、最大値を決め、非制御指令を分割する構成とした場合でも、余計な分割処理、結合処理が必要となる可能性があり、ハードウェア、ソフトウェア等の計算機資源を不要に消費する課題が生じる。
また、上記特許文献1に記載の技術のように、通信相手装置の回線速度に応じて、非制御指令をフラグメントすることにより、制御指令の到達間隔の遅延維持、輻輳発生を回避することはできる。しかしながら、制御指令の送信直前に非制御指令が現れた場合や、再送、転送がある場合には制御指令の送信タイミングが遅れることとなる。また、非制御指令に割り当てられた送信可能期間前に非制御指令がなければ送信できないため、通信帯域効率に無駄が生じる。
本発明は上記課題に鑑み、リアルタイム性が要求される制御指令等の通信データの送信に干渉することなく、リアルタイム性が要求されない通信データの通信処理を可能とする通信制御装置を提供することを目的とする。
本発明の通信制御装置は、上記課題を解決するために、リアルタイム性が要求されるリアルタイムデータの通信タイミングを求めるリアルタイム通信ステータス抽出部と、前記リアルタイム通信ステータス抽出部によって求められた通信タイミングになるまでに送信可能な送信データのフラグメントサイズを求める動的フラグメントサイズ決定部と、少なくとも前記動的フラグメントサイズ決定部によって求められたフラグメントサイズ以下になるよう、リアルタイム性が要求されない非リアルタイムデータをフラグメント化するフラグメント処理部と、前記フラグメント処理部によってフラグメント化された前記非リアルタイムデータを前記リアルタイムデータの通信タイミングになる前に送信する通信部と、を備えることを特徴とする。
本発明によれば、リアルタイム性が要求される通信データの送信に干渉することなく、リアルタイム性が要求されない通信データの通信処理が可能となる。
本発明の一実施形態を用いたシステム構成図である。 本発明の一実施形態でのハードウェア構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態におけるパケットの送信処理を示す図である。 本発明の一実施形態における実行手順を示した図である。 本発明の一実施形態における実行手順を示した図である。 本発明の一実施形態におけるパケットの送信処理を示した図である。 本発明の一実施形態でのハードウェア構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態における実行手順を示した図である。 本発明の一実施形態を用いたシステム構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態におけるパケットフォーマットを示した図である。 本発明の一実施形態におけるフラグメントサイズの決定方法を示した図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態における実行手順を示した図である。 本発明の一実施形態におけるタイムスロットの決定方法を示した図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態を示す機能構成図である。 本発明の一実施形態におけるパケットフォーマットを示した図である。
以下に制御性能と利便性の向上を両立した通信制御装置の実施例を説明する。
<実施例1>
(# システム例)
図1は、本発明を適用した通信制御装置120を用いて構成するシステム例である。
通信制御装置120、ネットワーク122を介して、他のネットワーク中継装置121、または通信装置123、124と接続し、制御指令、管理情報等を送受信する。
ネットワーク中継装置121として、ネットワークスイッチ、ルータ、ゲートウェイ、Software Defined Networkにおけるパケット・経路制御を書き換え可能なスイッチ等 が挙げられる。
ネットワーク122として、IEEE 802.3、各種産業用ネットワーク、IEC 61784、IEC 61158、IEC 61850、IEC 62439、Ethernet(登録商標) AVB、CAN(Controller Area Network:登録商標)、DeviceNet、RS−232C、RS−422、RS−485等が例示される。
通信装置123は、通信制御装置120の制御指令を受信して制御処理を実行する。また、必要に応じて、ネットワーク122を構成する通信制御装置、通信装置、ネットワーク中継装置121に対して計測情報、管理情報等を通信する。通信装置123として、産業制御機器、車載ECU(Engine Control Unit)、変電所監視制御システムを構成する保護制御装置、IED(Intelligent Electronic Device)、MU(Merging Unit)、サーボコントローラ、サーボアンプ、サーボモータ等 が例示される。
通信装置124は、制御システムにおける管理、監視機能を担い、通信制御装置120、ネットワーク中継装置121や通信装置123と通信し、設定や状態を監視する。通信装置124として、HMI(Human Machine Interface)機能、SCADA(Supervisory Control and Data Acquisition)、DCS(Distributed Control System)、ストレージサーバ等 が例示される。
なお、各機器は複数台でもよいし、また複数でなくても構わない(例えば、ネットワーク中継装置121を用いないでネットワーク122を構成する場合)。また、通信制御装置120と通信装置123、通信装置124を区別して説明するが、通信装置123、通信装置124、通信制御装置120が、それぞれ他の機能をそなえていても本発明の効果が失われるものではない。
(# ハードウェア構成)
図2は、本発明を適用した通信制御装置120のハードウェア構成である。
CPU101は、不揮発性記憶媒体109からプログラムをメモリ108に転送して実行する。実行処理プログラムとしては、オペレーティングシステム(以下、OSと称す)やOS上で動作するアプリケーションプログラムが例示される。CPU101は、マルチコアCPU、メニーコアCPU を用いてもよい。
PHY102は、ネットワーク122との通信機能を実装した送受信機ICである。PHY102の提供する通信規格としてIEEE 802.3のPHY(物理層)チップが例示される。なお、図2の構成では、PHY102と通信用LSI104が接続しているので、IEEE 802.3のMAC(Media Access Control)層の処理は通信用LSI104に含まれる。ただし、MAC機能を提供するICを通信用LSI104とPHY102間に配置する構成や、MAC機能を提供するICとPHY102を組み合わせた通信用ICと通信用LSI104を接続する構成においても、本発明の効果は失われるものではない。
LAN103は、ネットワーク122との通信機能を実装した送受信機ICである。LAN103は、CPU101上で動作するプログラムから通信要求を受け取り、ネットワーク122に対して通信する。LAN103の実装例としては、IEEE 802.3規格のMAC(Media Access Control)チップ、PHY(物理層)チップ、MACとPHYの複合チップ、FPGA、CPLD、ASIC、ゲートアレイ等のICが例示される。なお、LAN103は、CPU101や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。
通信用LSI104は、CPU101上で動作するプログラムから送信要求、送信データを受け取り、PHY102を用いてネットワーク122に対して送信する。また、ネットワーク122から受信したデータを、バス110を介してCPU102、メモリ108、不揮発性記憶媒体109へ転送する。通信用LSI04の実装例としては、FPGA、CPLD、ASIC、ゲートアレイ等のICが例示される。あるいは、CPU101と一体化して構成されてもよい。通信用LSI104をMAC層、PHY層を含めたIEEE 802.3通信デバイスとしてもよいし、また、PHY機能まで含めて通信用LSI104に包含してもよい。
メモリ108は、CPU101が動作するための一時的な記憶領域であり、不揮発性記憶媒体109から転送したOS、アプリケーションプログラム等が格納される。
不揮発性記憶媒体109は、情報の記憶媒体で、OS、アプリケーション、デバイスドライバ等や、CPU101を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。不揮発性記憶媒体109として、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、フラッシュメモリが例示される。また、取り外しが容易な外部記憶媒体として、フロッピー(登録商標)ディスク(FD)、CD、DVD、ブルーレイ(登録商標)、USBメモリ、コンパクトフラッシュ(登録商標)等 の利用が例示される。
バス110は、CPU101、LAN103、通信用LSI104、メモリ108、不揮発性記憶媒体109をそれぞれ接続する。バス110としては、PCIバス、ISAバス、PCI Expressバス、システムバス、メモリバス、オンチップバス等 が例示される。
なお、ハードウェア構成は、CPU101、PHY102、LAN103、通信用LSI104、メモリ108、不揮発性記憶媒体109のいずれか、または複数を一体化したIC、CPU、SoC(System on Chip) FPGAを用いてもよい。
なお、PHY102、LAN103と通信用LSI104はそれぞれネットワーク122に接続するインターフェースであり、本発明の構成をLAN103に含めれば、通信用LSI104、PHY102をLAN103で構成してもよいし、図2のLAN103を通信用LSI104とPHY102で構成してもよい。図2は、ネットワーク122aを通信装置123へ接続するネットワーク、ネットワーク122bを通信装置124へ接続するネットワークとして説明する。
(各機能部の説明)
図3に本発明を適用した通信制御装置120の機能構成図を示す。
通信部137は、ネットワーク122に接続し、ネットワーク122の通信プロトコルにしたがって通信をするための機能部である。PHY102、LAN103、通信用LSI104のいずれか、または複数で構成する。
送信部138は、通信部137における送信機能部であり、通信制御装置120からネットワーク122に対してパケットを送信する。PHY102、LAN103、通信用LSI104のいずれか、または複数で構成する。
受信部139は、通信部137における受信機能部であり、ネットワーク122から送信されたパケットを受信する。PHY102、LAN103、通信用LSI104のいずれか、または複数で構成する。
配信部140は、通信用LSI104、またはLAN103に入力されたデータを、所定の方法によって識別し、非リアルタイム通信部131、あるいはリアルタイム通信部130、あるいは非リアルタイム通信部131、リアルタイム通信部130の両方に配信する。配信先の機能部を決定する識別方法は、入力データの所定の位置に識別子を表現する方法や、通信用LSI104あるいはLAN103に入力する際に識別子を指定する方法が例示される。後者の具体例としては、通信用LSI104、あるいはLAN103をPCIデバイスとして構成した場合に、PCIバス空間に提示するアドレス空間によって区別する方法や、通信用LSI104、あるいはLAN103へのバースト転送要求を異なるレジスタにもうけて区別する方法が例示される。
タイマ141は、各機能部へ時刻情報や、所定周期の経過を通知する(図示なし)。タイマ141は、専用のタイマデバイスや、ハードウェアクロック、あるいはCPU101上で動作するソフトウェアによるソフトウェアクロックが例示される。
リアルタイム通信部130は、通信制御装置120から通信装置123に対する動作指令や計測情報の取得要求等の、時間制約をもって送信するリアルタイムデータを格納する機能部である。配信部140から、リアルタイムデータを受け取って、フラグメント制御部132へリアルタイムデータを伝送する。
リアルタイムデータの送信要求は、所定の周期で発生するか、任意のタイミング で発生する。データサイズについては周期ごとに変化してもよい。なお、リアルタイムデータが任意のタイミングで発生する場合は、所定の手段において、次の送信までの時間を、該送信の前に既知である構成とする。例えば、次の送信までの時間として、リアルタイムタイムデータ上に該情報を付加、格納したり、該情報を必要とする機能部へリアルタイム通信部130、あるいは配信部140から通知する構成としてもよい。
リアルタイムデータを送信する周期は、タイマ141を用いて管理する。
なお、リアルタイム通信部130内でのリアルタイムデータの形式は、データのみの形式でもよいし、ネットワーク122の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部137で付与してもよいし、通信スケジュール部136、またはフラグメント制御部132で付与してもよい。
また、ネットワーク122の通信プロトコルにしたがった形式で管理する場合は、配信部140から該形式で受信してもよいし、配信部140からはデータだけを受信し、リアルタイム通信部130内でネットワーク122の通信プロトコルにしたがうようにヘッダを付与してもよい。
非リアルタイム通信部131は、CPU110で動作するソフトウェアとして構成してもよいし、通信用LSI104、あるいはLAN103におけるハードウェアとして構成してもよい。
非リアルタイム通信部131は、通信制御装置120から通信装置123に対する管理情報や稼働情報等の、時間制約を持たずに送信する非リアルタイムデータを格納する機能部である。配信部140から、非リアルタイムデータを受け取って、フラグメント処理部135へ非リアルタイムデータを伝送する。
非リアルタイムデータの送信要求は、任意のタイミングで発生し、また、データサイズについても任意である。
なお、非リアルタイム通信部131内での非リアルタイムデータの形式は、データのみの形式でもよいし、ネットワーク122の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部137で付与してもよいし、スケジュール部136、あるいはフラグメント処理部135で付与してもよい。
また、ネットワーク122の通信プロトコルにしたがった形式で管理する場合は、配信部140から該形式で受信してもよいし、配信部140からはデータだけを受信し、非リアルタイム通信部131内でネットワーク122の通信プロトコルにしたがうようにヘッダを付与してもよい。
非リアルタイム通信部131は、CPU101で動作するソフトウェアとして構成してもよいし、通信用LSI104、あるいはLAN103におけるハードウェアとして構成してもよい。
また、リアルタイム通信部130、非リアルタイム通信部131は、マルチコアCPU、あるいはメニーコアCPUの一つのCPUコアを用いて構成してもよい。
フラグメント制御部132は、リアルタイム通信ステータス抽出部133、動的フラグメントサイズ決定部134から構成し、リアルタイム通信部130からのリアルタイムデータを通信スケジュール部136へ伝送するとともに、フラグメント処理部135へフラグメントサイズを通知する。
リアルタイム通信ステータス抽出部133は、リアルタイム通信部130から伝送されたリアルタイムデータに関するリアルタイム通信ステータスを抽出し、動的フラグメントサイズ決定部134へ通知する。リアルタイムデータは通信スケジュール部136へ伝送する。
動的フラグメントサイズ決定部134へ通知するリアルタイム通信ステータスとしては、次の周期までの残り時間、あるいは次の送信までの残り時間や関連する通信周期、通信完了事象の発生、パケットのデータサイズ、パケットの通信処理時間(図3に図示する各機能部における伝送時間、あるいはその合計、通信部137から送信されるにかかる時間)、所定の通信用に割り当てたタイムスロット期間等 が例示される。リアルタイム通信ステータスが時間を含む場合は、あらかじめ、リアルタイム通信ステータス抽出部133、通信スケジュール部136、通信部137によるリアルタイムデータの伝送、送出処理時間を減算してもよい。あるいはリアルタイム通信ステータス抽出部133の通知処理にかかる時間や、動的フラグメントサイズ決定部134の受信処理時間を減算してもよい。同様にネットワーク122の規格で定まるフレーム間ギャップを減算してもよい。また、リアルタイム通信ステータスがパケットのデータサイズを含む場合は、所定のデータ長を加減してもよい。例えば、後段の機能部において所定の通信プロトコルのヘッダを付加することが事前に既知であれば、そのヘッダサイズを加算してもよい。
リアルタイムデータが任意のタイミングで発生する場合は、次の送信までの時間をリアルタイム通信ステータス抽出部133にて抽出する。抽出方法は、リアルタイムデータ上に該情報を付加、あるいは格納し、その情報から抽出することやリアルタイム通信部130からリアルタイム通信ステータス抽出部133に通知してもよい。
動的フラグメントサイズ決定部134は、リアルタイム通信ステータス抽出部133から通知されたリアルタイム通信ステータスをもとに、非リアルタイムデータのフラグメント(断片化)サイズを決定し、フラグメント処理部135へ通知する。
動的フラグメントサイズ決定部134におけるフラグメントサイズを決定する方法の例を図4に示す。
図4では、リアルタイムデータの次の送信時間までの残時間Trと、単位データサイズあたりの非リアルタイムデータ送信処理時間Tpから、次式1で求まる値を残時間Trで送信可能なデータサイズであるフラグメントサイズSfとしている。
Sf = Tr / Tp − α (式1)
ここで、αはマージンである。例えば、Tr=10マイクロ秒、Tp=20ナノ秒/byte、α=10byteとすれば、Sf=10マイクロ秒/(20ナノ秒/byte)−10byte=490byteとなる。なお、マージンαは、残時間Tr、非リアルタイムデータ送信処理時間Tpに対するマージンとしてもよい。
あるいはリアルタイムデータが任意のタイミングで発生する場合は、式1のTrを次の送信までの時間として、同様に計算する。
(フラグメントサイズの決定方法)
フラグメントサイズは、図4のように残時間に対して単調減少としてもよいし、残時間を一定範囲で区切り、その間は一定とする階段状 としてもよい。このように階段状にすることで、フラグメントサイズSfの計算負荷を減らす効果が期待できる。
あるいは、フラグメントの最小値を設定可能とし、図4ですでに説明したフラグメントサイズの計算結果が最小値以下となれば、フラグメント不可あるいはフラグメントサイズ0としてフラグメント処理部135へ通知してもよい。その場合、CPU101上で動作するソフトウェアあるいは動的フラグメントサイズ決定部134を実現する通信用LSI104、LAN103等に、フラグメントサイズの最小値を設定する手段を設ける(レジスタ設定や専用の信号線等)。
なお、動的フラグメントサイズ決定部134がフラグメント処理部135に通知する情報として、フラグメントサイズの値以外に、フラグメント不可であること(どれだけ小さく断片化しても送信できない状況)、フラグメント不要であること(フラグメントせずに送信可能)、フラグメント計算不可であること (フラグメントサイズの計算ができない)のいずれか、または複数が例示される。これらの情報を示す方法として、回路上で専用の信号接続をもうけてもよいし、フラグメントサイズに事前定義した値を用いてもよい。例えば、フラグメントサイズ0をフラグメント不可の意味として用いることが例示される。
また、リアルタイムデータの送信が任意のタイミングで発生する場合、あるリアルタイムデータを送信した時点で、次の送信が明らかになるとは限らない。その場合、次の送信までの時間が明らかになった時点でリアルタイム通信部130は、リアルタイム通信ステータス抽出部133へ該残時間を通知する。リアルタイム通信ステータス抽出部133は残時間が明らかになるまで残時間が未定であることを動的フラグメントサイズ決定部134へ通知し、動的フラグメントサイズ決定部134は、その間、フラグメント不要であることをフラグメント処理部135へ通知する構成が例示される。あるいは、リアルタイム通信部130が所定の時間だけ前もって次のリアルタイムデータ送信までの時間を取得可能であれば、その時間をリアルタイム通信部130からリアルタイム通信ステータス抽出部133へ、リアルタイム通信ステータス抽出部133から動的フラグメントサイズ決定部134へ通知し、動的フラグメントサイズ決定部134はその時間に基づいたフラグメントサイズをフラグメント処理部135へ通知する。
このように動的フラグメントサイズ決定部134によって、逐次リアルタイムデータの送信処理に干渉せずに送信可能なデータサイズを計算して、フラグメント処理部135へ通知することで、後述するフラグメント処理部135は、適切なデータサイズに非リアルタイムデータをフラグメント化できる。
フラグメント処理部135は、フラグメント制御部132、動的フラグメントサイズ決定部134から通知されたフラグメントサイズにしたがって、非リアルタイムデータをフラグメント化する。フラグメント化する際に、元の非リアルタイムデータを復元可能な情報を付加する。該情報としては、非リアルタイムデータの識別子、元の非リアルタイムデータにおけるフラグメントの位置情報(順番、あるいはbyte単位における先頭からのオフセット位置等)やフラグメントのデータサイズが例示される。フラグメントの実装例としてはIP(Internet Protocol)が例示される。IPヘッダは、該情報として、元のデータの識別子、フラグ(分割可否、最後のフラグメントであるかどうか)、byte単位によるフラグメントの位置オフセットを含む。
なお、動的フラグメントサイズ決定部134から通知されたフラグメントサイズから付加情報のサイズを減算した値分を、非リアルタイムデータからフラグメント化してもよいし、あるいは付加情報のサイズ分を予め減算した値を動的フラグメントサイズ決定部134がフラグメント処理部135に通知してもよい。後者の場合、動的フラグメントサイズ決定部134は付加情報のサイズの設定・取得手段を有する。
動的フラグメントサイズ決定部134からの通知がフラグメント不要であれば、フラグメント処理部135は非リアルタイムデータをフラグメント化せずに送信する。あるいは、フラグメント不可であれば、フラグメント化せずに送るか、所定のサイズでフラグメント化するか、あるいは通信スケジュール部136への非リアルタイムデータの転送を停止する。
所定のサイズでフラグメント化する際は、任意の時点でリアルタイムデータを送信可能なように、なるべく小さいサイズでフラグメント化することが例示される。なお、フラグメント計算不可である状態及びフラグメント処理部135の対応処理のそれぞれの情報は、CPU101上で動作するソフトウェアに通知、あるいはCPU101上で動作するソフトウェアから取得可能とすることが例示される。
あるいは、非リアルタイムデータがフラグメント不可であると設定されている場合も、フラグメント処理部135はフラグメント化 しない。また、非リアルタイムデータが所定の条件に一致する場合もフラグメント化しない ことが例示される。例えば、非リアルタイムデータが所定の通信プロトコルである場合や、あるいは通信プロトコル上のパラメータが所定値である場合である。これらの条件一致はフラグメント処理部135が判定してもよいし、非リアルタイム通信部131が判定して、その結果を非リアルタイムデータに付与してもよい。フラグメント不可と設定されたこの場合に非リアルタイムデータが送信可能であるかどうかは通信スケジュール部136の判定による。
フラグメント処理部135のフラグメント化処理においては、動的フラグメントサイズ決定部134からの通知が有効なフラグメントサイズである場合に、必ずしも通知されたフラグメントサイズでフラグメント化しなくてもよい。具体的には、通知されたフラグメントサイズ以下のサイズでフラグメントする。例えば、非リアルタイムデータの中で、動的フラグメントサイズ決定部134から通知されたフラグメントサイズよりも小さいサイズの範囲内にアプリケーション上の重要なデータがある場合は、先に該重要データまでをフラグメント化して通信スケジュール部136へ通知する構成が示される。
(サブパケットで構成するパケットの場合)
フラグメント処理部135におけるフラグメント処理において、非リアルタイムデータが複数の下位要素で構成される場合、下位要素でのフラグメント化が必要 である。例えば、IEC 61784−2のCPF(Communication Profile Family)12におけるパケットは、複数のデータグラムで構成される(図20)。
IEC 61784−2のCPFにおけるパケットは、図20のようにEthernet(登録商標)ヘッダ、データ領域、トレイラからなり、データ領域には、共通ヘッダと、複数のデータグラムから構成される。各データグラムは、データグラム用のヘッダ、及び、トレイラを有し、TCP/IP等の通信プロトコルは、データグラム内のデータとしてカプセル化される。そのため、フラグメント処理部135によるフラグメント化にあたっては図20の構成を維持しつつ、データグラム内のデータ領域においてフラグメント化する必要がある。
その場合、データグラムの個数を増やせば、データグラムのヘッダ等の固定長が付随するため、動的フラグメントサイズ決定部134から通知されたフラグメントサイズを越える場合がある。そのため、フラグメント処理部135におけるフラグメント化にあたっては、データグラム内のフラグメント化だけでなく、データグラム数の個数を減らし、動的フラグメントサイズ決定部134から通知されたフラグメントサイズを超えないようにフラグメント化する。
リアルタイム通信ステータス抽出部133、フラグメント処理部135、通信スケジュール部136、通信部137におけるデータの処理時間は一定か、あるいはデータサイズに応じて、一意に決まり、予測可能な処理時間である ことが望ましい。このような処理方法として、リアルタイム通信ステータス抽出部133を構成するデジタルIC内の単位時間あたりの伝送処理データ量を一定とする構成(例えば、4byte/クロックで100MHz動作であれば、(byteデータサイズの4byte単位切り上げ)/(4byte/クロック)×(1/100MHz)が処理時間となる)か、所定データサイズを処理するソフトウェアのステップ数を一定とする処理で構成(例えば、100MHz動作で4byteを処理するために3ステップ必要とすれば、(byteデータサイズの4byte単位切り上げ)×3ステップ×(1/100MHz)が処理時間となる)することが例示される。
通信スケジュール部136は、送信要求のあるリアルタイム通信部130、非リアルタイム通信部131の送信データの処理時間と、リアルタイム通信ステータス抽出部133が抽出したリアルタイム通信ステータスをもとに、リアルタイムデータと非リアルタイムデータのそれぞれの送信要求を許可するかどうかを決定する。リアルタイムデータ、非リアルタイムデータのそれぞれは送信要求とともにデータサイズを通信スケジュール部136に通知する。これにより、通信スケジュール部136での送信データの処理時間を算出する。非リアルタイムデータの送信がリアルタイムデータに干渉しなければ、非リアルタイムデータの送信要求を許可する。
非リアルタイムデータの送信可能通知と非リアルタイムデータの送信要求の両方が成立した場合に非リアルタイムデータを通信部137へ伝送する。
通信スケジュール部136は、CPU101上で動作するソフトウェア、PHY102、LAN103、通信用LSI104のいずれか、または複数で構成することが例示される。
このように、通信スケジュール部136によって、フラグメント化された非リアルタイムデータが実際に送信可能化どうかを判定することで、より確実に非リアルタイムデータの送信処理によるリアルタイムデータの送信処理への干渉を防ぐことができる。
通信スケジュール部136のスケジュール機能 について説明する。なお、以下のスケジュール機能における非リアルタイムデータは、フラグメント化されたデータを含む。
非リアルタイムデータを通信部137へ伝送していなければ、リアルタイムデータの送信が可能であることを通知する。非リアルタイムデータを伝送していればリアルタイムデータの送信が不可であることを通知する。リアルタイムデータの送信可能通知とリアルタイムデータの送信要求の両方が成立した場合にリアルタイムデータを通信部137へ伝送する。
一方、リアルタイムデータを通信部137へ伝送しておらず、かつ、リアルタイムデータからの送信要求もなく、非リアルタイムデータの送信処理がリアルタイムデータの送信を遅延させない場合に、非リアルタイムデータの送信が可能であることを通知する。リアルタイムデータの次の送信までの時間Trと、非リアルタイムデータの送信処理時間Tnを比較し、次式2が成り立つとき、非リアルタイムデータの送信要求を許可する。
Tr > Tn + α (式2)
ここでαはマージンである。つまり、非リアルタイムデータの送信処理時間がリアルタイムデータの次の送信までの時間Tr未満であれば、非リアルタイムデータの送信要求を許可する。
非リアルタイムデータの送信処理時間Tnは、次式で算出する。
Tn = Ts + Te + α(式3)
ここで、Tsは、通信スケジュール部136の送信データ処理時間であり、Teは通信部137の送信データ処理時間であり、αはマージンである。
通信スケジュール部136の送信データ処理時間Tsは次式で求める。
Ts = Sd / Ps + α (式4)
ここで、Sdは非リアルタイムデータのサイズであり、Psは通信スケジュール部136の処理性能、αはマージンを示す。
なお、通信スケジュール部136において、ネットワーク122の通信プロトコルにしたがったヘッダ等を送信データに付与する場合、その処理時間を考慮して、処理時間Tnは次式で計算する。
Tn = Sd / P + B (式5)
Bは、ヘッダ等の付与時間であり、データサイズSdに依存しない項である。あるいは、送信データが複数のサブデータで構成され、サブデータごとに処理をする場合は、サブデータ数に依存した項となる。また、データ処理時間の算出時間を含めてもよい。
通信部137の送信データ処理時間Teは、例えば、100MbpsのIEEE 802.3を用いる場合、次式にしたがって計算する。
Te = Sd / 100Mbps + C (式6)
Cはマージンであり、IEEE802.3のフレーム間ギャップを含めてもよい。
(送信処理手順)
以上、各機能部の機能、動作を説明したが、制御指令に代表されるリアルタイムデータの送信処理手順を図5に示す。
はじめに、リアルタイム通信部130において、リアルタイムデータの送信要求があるかどうかを判定する(S001)。リアルタイムデータは、通信制御装置120自身から送信する場合と、通信装置124からの通信の場合がある。S001において、送信要求があれば、リアルタイム通信ステータス抽出部133へリアルタイムデータを伝送し(S002)、なければ待機する。次に、リアルタイム通信ステータス抽出部133は、リアルタイムデータからリアルタイム通信ステータスを抽出する(S003)。抽出されたリアルタイム通信ステータスは、動的フラグメントサイズ決定部134においてフラグメントサイズの決定に用いられる。S003に続いて、リアルタイム通信ステータス抽出部133はリアルタイムデータを通信スケジュール部136へ伝送する(S004)。通信スケジュール部136は、受信したリアルタイムデータを通信部137へ伝送する(S005)。通信部137は、リアルタイムデータをネットワーク122の通信プロトコルにしたがったパケット形式に構成し、ネットワーク122へ送信する(S006)。
次に、非リアルタイムデータの送信処理を図6に示す。
はじめに、非リアルタイム通信部131において、非リアルタイムデータの送信処理要求があるかどうかを判定する(S010)。非リアルタイムデータは、通信制御装置120自身から送信する場合と、通信装置124からの通信の場合がある。S010において、送信要求があれば、フラグメント処理部135へ非リアルタイムデータを伝送し(S011)、なければ待機する。次にフラグメント処理部135は、非リアルタイムデータがフラグメント化可能であるかを判定する(S012)。フラグメント化が可能であるかどうかはパケット上の情報(例えば、IPヘッダのフラグフィールド)をもって判定することが例示される。S012において、フラグメント化が可能であれば、動的フラグメントサイズ決定部134から通知されているフラグメントサイズが有効かどうかを判定する(S013)。S012において、フラグメント化が不可であれば、S015へ進む。S013において、フラグメントサイズが有効であれば、非リアルタイムデータを通知されているフラグメントサイズにフラグメント化する(S014)。S013において、フラグメントサイズが有効でなければ、所定の処理を実行する(S016)。S016後は、所定の処理にしたがい、S013(所定処理が待機の場合)、S014(所定処理が、所定サイズにフラグメント化する処理の場合)、S015(所定処理が、フラグメント化せずに送信する場合)のいずれかに進む。S014に続き、非リアルタイムデータが送信可能であるかを判定する(S015)。これは通信スケジュール部136からの送信許可通知の有無によって判定する。送信可能であれば、非リアルタイムデータを通信スケジュール部136へ伝送する(S017)。送信可能でなければ、所定のエラー処理を実行し(S018)、待機する。S017に続き、非リアルタイムデータを通信部137へ伝送する(S019)。S019に続き、通信部137は、非リアルタイムデータをネットワーク122の通信プロトコルにしたがったパケット形式に構成し、ネットワーク122へ送信する(S020)。S021に続き、フラグメント化した場合に全てのフラグメントを送信したかを判定する(S021)。送信していれば処理を終了し、していなければS013へ戻る。S016、S018に示す異常処理は、所定時間の経過(タイムアウト判定)、判定処理の所定回数以上の実行をもって異常とし、非リアルタイムデータの送信処理の停止や、非リアルタイムデータの破棄、CPU101上で動作するソフトウェアや各機能部への通知、通信制御装置120に設けた所定の通知手段(アラーム情報の通信装置124へのネットワーク送信、アラーム音の出力、LED等の視覚的通知等)を実行 することが例示される。
(通信スケジュール部136実行手順)
通信スケジュール部136の実行手順を図16に示す。
はじめに、通信スケジュール部136は、送信要求があるまで待機する(S041)。そして、送信要求があれば、リアルタイムデータの送信要求かどうかを判定する(S042)。リアルタイムデータの送信要求であれば、これを許可する(S043)。
S043で、リアルタイムデータの送信要求でなければ、非リアルタイムデータの送信要求である。したがって、非リアルタイムデータの処理時間Tnを算出し、リアルタイムデータの次の送信までの残り時間Trをリアルタイム通信ステータス抽出部133から取得する(S044)。
次に、非リアルタイムデータ処理時間Tnと残時間Trを比較(S045)し、非リアルタイムデータ処理時間Tnが残時間Tr未満であれば、非リアルタイムデータの送信要求を許可する(S046)。
S045で、非リアルタイムデータ処理時間Tnが残時間Tr以上であれば、非リアルタイムデータの送信要求を許可しない(S047)。S047後は、次のリアルタイムデータの送信を完了するまで、非リアルタイムデータの送信はできないため、S047までの手順を繰り返す。その後、リアルタイムデータを送信(S043)後、S041、S042、S044と手順を進め、再度、手順S045において、非リアルタイムデータ処理時間Tnと残時間Trを比較する。このとき、非リアルタイムデータ処理時間Tnが残時間Tr未満であれば、非リアルタイムデータの送信要求を許可する。
(非リアルタイムデータを破棄)
なお、このとき、S045、S047において、非リアルタイムデータの送信要求が許可されなかった回数を数え、所定回数以上になった場合に非リアルタイム通信部131へ通知してもよい。なお、連続して送信が失敗した回数を判断基準としてもよい。
この通知をもとに、非リアルタイム通信部131は、その送信データを破棄してもよいし、あるいは、各機能部、またはCPU101等の構成要素に通知してもよい。
通知を受けたCPU101上のソフトウェアは、非リアルタイムデータを破棄することや、非リアルタイムデータを再送すること、リアルタイム通信部130の送信周期を長くする等の対策をとることができる。
(フラグメント処理の再実施)
また、リアルタイムデータの処理状況によっては、フラグメントサイズが一定とはならない可能性がある。そのために、S045にて非リアルタイムデータの送信要求が許可されなかった場合には、通信スケジュール部136へ再度フラグメント処理を実施するよう通知することもできる。これによって、時間経過によって変化する送信可能なフラグメントサイズに合せて非リアルタイムデータを再フラグメント化し、再度通信スケジュール部136によって送信可能か判断することができる。
(パケット長をリアルタイムデータの先頭に付加)
なお、リアルタイム通信部130がリアルタイムデータの先頭にパケット長を付加することで、リアルタイム通信ステータス抽出部133がパケット全長を抽出し、動的フラグメントサイズ決定部134へ通知することが示される。このように構成することで、動的フラグメントサイズ決定部134はパケット全長がわかるため、リアルタイムデータの処理を完了する前に、リアルタイムデータ処理完了時間を算出することができる。したがって、処理完了予定時刻、あるいは完了予定時刻までの残時間と予定時刻におけるフラグメントサイズを事前にフラグメント処理部135に通知することにより、フラグメント処理部135はフラグメント処理にかかる時間だけ、リアルタイムデータ送信処理完了予定時刻から前もってフラグメント処理を開始 することができる。この場合、リアルタイム通信ステータス抽出部133、あるいは通信スケジュール部136、通信部137等でリアルタイムデータ先頭のパケット長を除去することが示される。
(リアルタイムデータ送信に干渉した場合)
また、何らかの理由で、通信スケジュール部136において、非リアルタイムデータ送信中にリアルタイムデータ送信要求が発生した場合、そのまま非リアルタイムデータの送信を継続してもよいが、途中で中断し、強制的にリアルタイムデータを送信してもよい。その場合、非リアルタイムデータの送信中断のために、IEEE 802.3のCRC(Cyclic Redundancy Check)を意図的に異常な値とすることが例示される。このようにすれば、受信した通信装置123において、該パケットは破棄される。また、追って再送するために、非リアルタイムデータを送信しながら、内部で送信データを保存してもよい。この場合、非リアルタイムデータの通信部137への伝送は中断するが、継続してフラグメント処理部135から非リアルタイムデータを受信し、非リアルタイムデータ全体を保持する。
リアルタイムデータの送信完了後に、非リアルタイムデータの送信が可能であれば、送信する。非リアルタイムデータを送信できた場合は、保持していた非リアルタイムデータをクリアする。なお、所定期間、所定回数リアルタイムデータを送信しても、非リアルタイムデータの再送ができなかった場合は、非リアルタイムデータの送信を中断したこと、非リアルタイムデータの再送ができなかったことをCPU101上で動作するソフトウェア、あるいは他の機能部、あるいは外部へ通知することが例示される。なお、これらの処理は非リアルタイムデータに限定されず、リアルタイムデータに対して実行してもよい。
(具体例)
図5、図6による手順で示される通信制御装置120からネットワーク122aに出力されるタイムチャート上のパケットの状態と動的フラグメントサイズ決定部134によるフラグメントサイズを図7に示す。
リアルタイム通信部130の送信周期を100マイクロ秒とする。
時刻t1で、周期が経過し、リアルタイムデータの送信要求を許可し、リアルタイムデータを送信する。非リアルタイムデータが時刻t2の時点でフラグメント処理部135に伝送されたとする。このとき、t2は、t1から80マイクロ秒経過した時点とし、非リアルタイムデータのサイズを1500byteとする。非リアルタイムデータの処理性能を50Mbyte/秒とすると、単位データサイズ1byteあたりの非リアルタイムデータの処理時間Tsは、通信スケジュール部136の処理時間、通信部137(100MbpsのIEEE 802.3を想定)の処理時間の合計となり、次式で求まる。
Ts = 1byte/(50Mbyte/秒)
+ (1byte/(100Mbps/(8bit/byte)))
= 100ナノ秒/byte
式1からフラグメントサイズで求める。
Sf = (100マイクロ秒 − 80マイクロ秒)/ (100ナノ秒/byte)
= 200byte
したがって、動的フラグメントサイズ決定部134は200byteをフラグメントサイズとしてフラグメント処理部135に通知する。フラグメント処理部135は、動的フラグメントサイズ決定部134から通知されたフラグメントサイズにしたがい、非リアルタイムデータ151は、フラグメントパケット152a(200byte)、152b(800byte)、152c(500byte)にフラグメント化される例を示している。
なお、リアルタイム通信部130の送信データサイズは固定でなくても構わない。したがって、非リアルタイムデータのサイズが比較的大きい場合であっても、非リアルタイムデータは適切な大きさにフラグメント化され、通信スケジュール部136が自動的に非リアルタイムデータを送信可能な周期を判定し、非リアルタイムデータを送信することが可能である。
(受信処理)
次に受信処理を示す。
受信処理を実行するハード構成の例として、図2、または図8が示される。図2は主に通信制御装置120、図8は通信装置123を想定する。
受信処理を実行する機能構成を図9に示す。
データ識別部160は、パケットデータから、該当パケットがリアルタイムデータか、非リアルタイムデータかを識別する。識別方法は、パケットのプロトコル情報による識別、受信間隔における周期性、フラグメントヘッダの有無を用いることが例示される。例えば、通信プロトコルの種類や、プロトコルヘッダの各情報(例、IPの送信元IPアドレス、UDPのあて先通信ポート番号等)が所定の条件に該当する場合にリアルタイムデータ、あるいは非リアルタイムデータと判定する方法や、プロトコル情報で識別されるパケットの受信間隔に周期性がある場合にリアルタイムデータと判断することや、フラグメント化されている場合に非リアルタイムデータと判断 することが例示される。
データ識別部160は、PHY102、LAN103、通信用LSI104、CPU101上で動作するソフトウェアのいずれか、または複数で構成する。
フラグメント復元部161は、データ識別部160から受信したデータがフラグメント化されていれば、そのフラグメントパケットを、フラグメント情報に基づき、復元する。フラグメント化されていなければ非リアルタイムデータを非リアルタイム通信部131へ伝送する。
フラグメント復元部161は、PHY102、LAN103、通信用LSI104、CPU101上で動作するソフトウェアのいずれか、または複数で構成する。
なお、フラグメント化は階層的に多段階で実行される場合がある。例えば、複数の通信制御装置120を経由する場合等である。そのような場合には、1重のフラグメント化処理を復元してもよいし、複数のフラグメント化を復元してもよい。例えば、フラグメント化による付加情報がなくなるまでフラグメント化処理を実行 することが例示される。
また、フラグメント復元部161は、パケットが複数の下位要素で構成される場合に、下位要素内のデータ領域まで確認して復元処理を実行 してもよい。
受信処理手順を図10に示す。
はじめにパケットを受信したかどうかを判定する(S030)。受信すれば、データ識別部160へパケットを伝送し(S031)、そうでなければ待機する。S031に続いて、データ識別部160はパケットがリアルタイムデータか、非リアルタイムデータかを識別する(S032)。リアルタイムデータであれば、リアルタイム通信部130へ受信データを伝送する(S033)。S032において、リアルタイムデータでなければ、フラグメント復元部161へと受信データを伝送する(S034)。なお、S032において、明確に非リアルタイムデータ、リアルタイムデータのいずれとも識別できない場合は、フラグメント復元部161へ伝送することが例示される。これは、制御システムを構成する上で制御指令は重要であり、明確に識別できることが前提だからである(なお、明確に非リアルタイムデータ、リアルタイムデータのいずれとも識別できない場合に、リアルタイム通信部130へ伝送してもよい)。
S033に続いて、リアルタイム通信部130は制御指令にかかわるアプリケーション処理(例えば、アクチュエータへの指令)を終えて、パケットの受信処理を終了する。S034に続いて、フラグメント復元部161は受信パケットがフラグメント化されているかを判定する(S035)。フラグメント化されていれば、フラグメントパケットが全て集まり、元のパケットを復元できるかを判定する(S037)。S037において、元のパケットを復元できれば、パケットを復元し(S038)し、非リアルタイム通信部131へ伝送する(S036)。S035において、フラグメント化されていない場合も、S036の手順へ進む。S036に続いて、非リアルタイム通信部131は制御指令にかかわるアプリケーション処理(例えば、パラメータの設定)を終えて、パケットの受信処理を終了する。S037において、復元できなければ所定の異常処理を実行して(S039)終了する。S039の異常処理とは、所定時間の経過(タイムアウト判定)、判定処理の所定回数以上の実行をもって異常とし、非リアルタイム通信処理の停止や、非リアルタイムデータの破棄、CPU101上で動作するソフトウェアや各機能部への通知、通信制御装置120、通信装置123に設けた所定の通知手段(アラーム情報の通信制御装置120、通信装置124へのネットワーク送信、アラーム音の出力、LED等の視覚的通知等)を実行することが例示される。
なお、S032以降の手順はデジタルIC(FPGA、CPLD)やマルチコアCPU、マルチタスク等の構成を用いることによって並列に実行することが可能である。
(機能部の要・不要)
ここで、図3の機能構成において、通信装置124からのパケットを転送する必要がない場合は、配信部140、通信部137bは不要である。
(変形、応用)
本実施例では、リアルタイム通信部130、非リアルタイム通信部131から通信スケジュール部136へ送信要求と同時にデータサイズを通知したが、送信データ処理時間をリアルタイム通信部130、非リアルタイム通信部131がそれぞれ算出し、通信スケジュール部136へ送信要求と同時に送信データ処理時間を通知してもよい。
また、本実施例では、リアルタイム通信部130、非リアルタイム通信部131がそれぞれひとつであったが、それぞれを複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。
また、本実施例では、リアルタイム通信部130、非リアルタイム通信部131の2つの通信主体を想定し、リアルタイム通信部130の優先度を非リアルタイム通信部131より高いとして説明したが、これを一般化し、複数の通信主体を想定 することができる。
その場合、各通信主体はフラグメント化しない主体と、フラグメント化する主体に分類し、また通信主体ごとに優先度を設定 することが例示される。動的フラグメントサイズ決定部134によるフラグメントサイズの通知においても、フラグメント化を実行する通信主体に対して、優先度に応じてフラグメントサイズを通知してもよい。優先度に応じた場合、通信帯域を割り当てられない通信主体の存在も考えられるため、通信帯域の割り振りとして、最低限の通信帯域を保証し、余剰帯域を優先度に応じて分配する方式や、周期ごとに割当帯域や優先度を変更させる方式 が例示される。また、各通信主体におけるフラグメント化の適用有無を動的に変更してもよい。
(効果)
以上の発明による効果について説明する。
任意のタイミングで非リアルタイムデータの送信要求が発生したとしても、動的フラグメントサイズ決定部134がリアルタイムデータの次の送信までの残時間を考慮して、フラグメントサイズを決定し、フラグメント処理部135がそのサイズにあわせて非リアルタイムデータをフラグメント化する。こうすることで、非リアルタイムデータの送信に影響されることなく、リアルタイムデータを高精度に送信することができる。また、リアルタイムデータの送信時間の空きを効率よく利用することで、非リアルタイムデータの通信帯域を向上させることができる。
また、送信タイミングを通信スケジュール部136で自動調整するため、CPU101上で動作するソフトウェアからは、任意のタイミングで、非リアルタイムデータの送信を要求することができる。これにより、リアルタイムデータ送信の精度を維持するために非リアルタイムデータを設定するアプリケーションの開発効率を犠牲にする必要がない。
また、非リアルタイムデータ送信用の時間帯域をネットワーク122上にもうける必要がないため、送信周期を高速化しやすく、制御性能を向上させることができる。また、仮に、送信周期を過剰に短く設定した場合であっても、非リアルタイムデータの送信ができなかったことを検知して、送信周期を調整する等の対策を施すことが可能である。
このように本実施例によって、非リアルタイムデータの送信、再送、転送に干渉されずにリアルタイムデータを送信することができる。
<実施例2>(定周期+非定周期+HSRでの実施例)
本発明の一実施形態について述べる。実施例2は、実施例1と比較して、通信制御装置120、通信装置123によって構成するネットワークがリング型冗長化ネットワークであることを示す。実施例に使用する符号は、特に断りのない限り、実施例1で説明した機能や要素等と同一であることを意味する。
本発明を適用した通信制御装置120を用いて構成するシステム例を図11に示す。
ネットワーク125は、高信頼化のために通信経路を冗長化したリングネットワークを示す。実装例としては、IEC 62439−3のHSR(High Availability Seamless Redundancy)をもとに説明する。
また、通信制御装置120と通信装置123、通信装置124を区別して説明するが、通信装置123、通信装置124が通信制御装置120の機能を備えていても本発明の効 果が失われるものではない。
(機能部の説明)
図12は、本発明を適用した通信用LSI104の機能構成の一実施形態である。
複製送信部170は、通信スケジュール部136から伝送されたデータをネットワーク125のフレームフォーマットに整形して送信する。一例として、送信データを複製し、HSRタグを付加することが例示される。HSRタグフォーマットを図13に示す。
後着廃棄判定処理部171は、IEC 62439−3の規格にしたがい、受信パケットの後着廃棄処理を実行する。IEC 62439−3では、HSRタグ上の情報をもとに複製された受信データの同一性を判断し、パケットの先着、後着を判定する。後着と判定されたパケットを廃棄する。
リアルタイム通信ステータス抽出部172は、リアルタイム通信ステータス抽出部133の機能に加え、リアルタイムデータと判定されたHSR転送パケットのリアルタイム通信ステータスから、HSRパケットを転送し得るタイムスロット(時間帯)を動的フラグメントサイズ決定部173、通信スケジュール部174に通知する。
動的フラグメントサイズ決定部173は、動的フラグメントサイズ決定部134の機能に加え、リアルタイム通信ステータス抽出部172から通知された情報をもとに、HSR転送パケット用のタイムスロットを考慮し、フラグメントサイズを決定 する。
通信スケジュール部174は、通信スケジュール部136の機能に加え、転送パケット等の所定のパケット種別用のタイムスロット情報を受け取り、該時間帯には該パケット種別の送信を優先する機能をそなえる。
(HSRパケット転送用タイムスロットの決定方法)
図17を用いて周期内の転送用タイムスロットの決定方法を説明する。各ノードが同期しているとした場合、通信制御装置120における転送パケットの受信タイミングは、通信制御装置120における周期の開始時点からの通信装置123の送信タイミングまでの時間(図17のT1)、通信装置123と通信制御装置間の通信遅延をもとに決める ことができる。通信遅延は、冗長化ネットワークであるため、図17のT2、T3の2つが存在する。
T2は次式で求めることができる。
T2 = Ld × N + Ttr ×(N−1) (式7)
ここで、Ldは通信装置123間の経路上の通信遅延、Nは通信制御装置120までのホップ数、Ttrは各通信装置123内の通信遅延である。T3の場合も同様であり、冗長化された2つの経路(左回り、右回り)の違いにより、Nが異なる。Ldは同じ値としているが、経路長等や通信媒体の性能によって経路ごとに異なる値となり得る(その場合は式7に反映する)。また、Ttrも、経路上の通信装置123によって異なる値となり得る。
これにより、通信制御装置120における転送パケットの受信タイミングは次式で求まる。
Ta = T1 + T2 (式8)
Tb = T1 + T3 (式9)
ここで、Taは図17の左回りの転送パケットの受信タイミング、Tbは図17の右回りの転送パケットの受信タイミングである。
Ta、Tbを転送パケットが到着し得るタイミングとし、動的フラグメントサイズ決定部173は、Ta、Tbまでの残時間をもとにフラグメントサイズを決定する。なお、図17ではTaがTbよりも早い時間としているが、前述のとおり、式7を構成する各数値の違いにより、TbがTaよりも早くなることもあり得る。
Ta、Tbの算出に必要な各情報を取得するために、通信制御装置120は所定の入力手段をそなえてもよいし、各通信装置123から該情報を通知するように構成してもよい。
なお、タイムスロットの長さは転送パケットを処理し終えるまでである。HSRパケットの場合、図13に示すように、先頭の所定位置のHSRタグまでを読み取ることによって、パケット全長がわかるため、転送パケットの処理を完了する前に、転送処理完了時間を算出することができる。したがって、転送処理完了予定時刻、あるいは完了予定時刻までの残時間と予定時刻におけるフラグメントサイズを事前にフラグメント処理部135に通知することにより、フラグメント処理部135はフラグメント処理にかかる時間だけ、転送処理完了予定時刻から前もってフラグメント処理を開始することができる。
また、HSRパケットは同一パケットを受信した通信装置123において後着廃棄処理が実行されるため、片方の転送パケットを転送し終えた時点で、別方向からの転送パケット用のタイムスロットの予約を解除 することが例示される。例えば、図17において、Taの時間帯で転送パケットを処理した後に、Tbからのタイムスロットを解除する処理である。こうすることで、非リアルタイムデータ用の通信可能時間を増加させることができる。
また、周期内に一つの通信装置123の転送パケット用タイムスロットを予約してもよいし、複数の通信装置123の転送パケット用タイムスロットを予約 してもよい。前者の場合、周期ごとに、タイムスロットを予約する通信装置123を変更することが例示される。さらに同じ周期内で複数の通信装置123の転送パケット用タイムスロットを予約した場合に、タイムスロットが重なった場合や、実際に転送パケットの受信タイミングが重なって、一方の転送処理が遅延した場合には、所定の通知手段により、CPU101上で動作するソフトウェアや通信制御装置123の外部へ通知してもよいし、あるいは対象の通信装置123に通知することにより、通信装置123における送信タイミング(図17におけるT1)を変更 することが例示される。
あるいは通信対象が一つの通信装置123であっても、転送パケットにリアルタイムデータ、非リアルタイムデータの区別ができる場合、複数のタイムスロットを割り当てても良い。その場合、式8、式9の算出におけるT1やT2、T3の数値が異なる。
また、転送用タイムスロットの開始時刻をマージンで調整 してもよい。各通信装置123内の転送時間にゆらぎが生じ得るためである。その場合、ホップ数が近い通信装置123用の転送タイムスロット開始時刻のマージンを小さくすることが例示される。これは、経由ホップ数が小さいほど、通信遅延のゆらぎが小さくなると考えられるためである。
(動的フラグメントサイズ決定部173のフラグメントサイズ決定方法)
動的フラグメントサイズ決定部173の決定するフラグメントサイズを図14に示す。
図14では、図11に加え、HSRパケット転送用のタイムスロット180を予約している。ネットワーク125の構成と、各ノードの送信タイミングを決めることにより、他ノードでの転送パケットの到着時間帯を事前に設計する。動的フラグメントサイズ決定部173は、次のリアルタイムデータの送信時間までの残時間だけでなく、HSRパケット転送用のタイムスロットまでの残時間を考慮して、フラグメントサイズを決定 する。すなわち、式1のリアルタイムデータの次の送信時間までの残時間TrをHSRパケット転送用までの残時間として、フラグメントサイズを決定する。周期内の時間帯によって、Trの意味するところが次のリアルタイムデータの送信までの時間となるか、HSRパケット転送用のタイムスロットまでの時間となるかが異なる。
なお、フラグメント復元部161は、一部のフラグメント群を結合してもよい。例えば、受信したフラグメントのサイズが規定値以下の場合、あるいは単位時間あたりの受信サイズが規定値以下の場合に、該フラグメントを保持し、その後、受信したフラグメントと結合する。このようにすることで、単にフラグメント化して細分化するだけでなく、通信状況に応じて、複数のフラグメントを結合してパケットサイズを大きく、かつ、パケット数を少なくすることで、通信帯域の利用効率を向上させることができる。
(リアルタイム通信部130、非リアルタイム通信部131内での優先度制御)
リアルタイム通信部130、非リアルタイム通信部131は、自身からの送信と通信装置124からの通信に加え、HSR転送パケットを受信する。リアルタイム通信部130、非リアルタイム通信部131において、それぞれのパケットをどのような順序で送信するかを決める必要がある。そのような順序の定義方法として、到着順に送信する方法、優先度を定める方法、送信要求が発生するタイミングが既知の場合は、干渉が生じないように所定時間前から、他の送信を禁止する方法が例示される。
なお、通信制御装置120の機能構成を図15に示す。図12と異なり、複製送信部170によるパケット複製後にフラグメント制御部132、フラグメント処理部135を経由して、通信スケジュール部174へとリアルタイムデータ、非リアルタイムデータが伝送される。なお、通信スケジュール部174によって、フラグメント化後のHSRタグの付け替え処理が必要である。
また、HSR転送用パケットが図14で割り当てたタイムスロット内に転送できなかった場合、制御指令への干渉が考えられるため、パケットを廃棄することが例示される。その場合、CPU101上で動作するソフトウェアや外部へ通知してもよい。
また、何らかの理由で、通信スケジュール部174において、転送パケット送信中にリアルタイムデータ送信要求が発生した場合、そのまま転送パケットの送信を継続してもよいが、途中で中断し、強制的にリアルタイムデータを送信してもよい。その場合、転送パケットの送信中断のために、IEEE 802.3のCRCを意図的に異常な値とすることが例示される。また、追って再送するために、通信スケジュール部174における送信データ保持機能、再送機能、通知機能を利用することが例示される。
なお、通信制御装置120の機能は、IEC 62439−3で定義されるRedBoxとして構成されてもよい 。
また、ネットワーク125は、IEC62439−3のPRP(Parallel Redundancy Protocol)であってもよい。
(# 効果)
以上の発明による効果について説明する。
任意のタイミングで非リアルタイムデータの送信要求や転送が発生したとしても、通信スケジュール部174が、非リアルタイムデータの処理時間、あるいは転送データの処理時間と、次のリアルタイムデータ送信までの残時間を比較して、送信要求の許可を判断する。こうすることで、非リアルタイムデータ送信、転送に影響されることなく、リアルタイムデータの送信を精度よく送信することができる。また、リアルタイムデータの送信時間、転送の送信時間の空きを効率よく利用することで、非リアルタイムデータの通信帯域を向上させることができる。
さらに、リアルタイムデータの送信精度を維持する範囲内で、転送が可能となるため、通信制御装置120、通信装置123で構成する冗長化ネットワークによる信頼性の利点を享受することができ、制御システムの高信頼化、高性能化が可能である。
さらに、転送を非リアルタイムデータ送信よりも優先度を高く設定することで、非リアルタイムデータ送信に影響されることなく、転送をすることができ、上記の転送による利点を高めることができる。
<実施例3>(定周期+非定周期+再送での実施例)
本発明の一実施形態について述べる。実施例3は、実施例1、実施例2と比較して、リアルタイムデータの再送機能を設け、リアルタイムデータ送信のデータ伝達性を向上させた発明である。実施例に使用する符号は、特に断りのない限り、実施例1、実施例2で説明した機能や要素等と同一であることを意味する。
本発明を適用した通信制御装置120を用いて構成するシステム例は図1、図11と同様である。
(機能部の説明)
図18、図19は、本発明を適用した通信用LSI104の機能構成の一実施形態である。図18は図1のシステム例に適用する場合の機能構成、図19は図11における冗長化ネットワークの通信機能を備えている場合の機能構成である。
異常判定部190 は、受信部139から受信した受信データ内容、あるいは、時間経過をもとにリアルタイム通信部130のリアルタイムデータ送信の成功、失敗を判定する機能部である。異常判定部190は、判定結果を再送制御部194へ通知する。
タイムアウト判定部 191は、リアルタイム通信部130のリアルタイムデータ送信開始からの経過時間を監視し、所定の時間が経過したかどうかを判定する。所定の時間内に、リアルタイムデータの通信成功を異常判定部190で検知した場合は、経過時間の監視を停止し、時間内に受信したと判定する。
応答確認部 192は、通信制御装置120からリアルタイムデータを受け取った通信装置123からの返信をもって、リアルタイムデータ送信が成功したかどうかを判定する。通信装置123は、リアルタイムデータを正しく受信した場合は、ACKと呼ばれる確認応答を通信制御装置120へ送信する。あるいは、通信制御装置120からのリアルタイムデータ送信を正しく受信できなかった場合にNACKと呼ばれる否定応答を通信制御装置120へ送信する。応答確認部192は、ACKを受信した場合にリアルタイムデータ送信成功と判定し、NACKを受信した場合にリアルタイムデータ送信失敗と判定する。
プロトコル異常判定部 193は、通信プロトコルにしたがって異常判定手段を提供する。例えば、受信パケット上のデータが通信プロトコルに反した値や構成である場合や、通信プロトコル上、通信が成功、あるいは失敗したと判定できる条件の場合に、通信結果を判定する。例えば、IEEE 802.3であれば、受信フレームのCRC異常やパケットフォーマットの異常等をもって、リアルタイムデータの通信が正しくなされなかったと判定してもよい。また、IEC 61784−2のCPF 12では、フレーム上の所定のカウンタが期待値と等しいかどうかで、リアルタイムデータの送信が正しく通信装置123で処理されたかどうかを判定することができる。このカウンタは、その送信データを処理すべき通信装置123で正しく処理されるたびに、通信装置123によって所定の数だけカウントアップされるパケット上のフィールドである。なお、プロトコル異常判定部193は、期待値を事前に設定する手段を具える。
再送制御部194は、異常判定部190の判定結果を受けて、再送部195へ再送を要求するか、または再送部195に保存している送信データの消去を要求する機能部である。
再送部195は、リアルタイム通信部130が通信スケジュール部174へ送信データを転送する際に、該送信データを受信して、内部に保存する。再送制御部194から再送要求があった場合に、通信スケジュール部174へ再送を要求する。
なお、内部にリアルタイム通信部130の送信データを保存する際、あるいは通信スケジュール部174から再送を許可されて送信データを出力する際に、再送であることを示すために、送信データを変更してもよい。その具体的な方法として、送信データ、あるいはヘッダに再送を示す領域を定義し、再送であることを示すパラメータを定義することが例示される。または、フラグメント可否を変更し、例えば、フラグメント不可と設定してもよい。
また、リアルタイム通信部130から、送信周期の経過を通知されて、内部の送信データを消去してもよい。これは、周期内に再送を送ることが必要なシステムで用いることが例示される。
また、再送部130相当の機能をリアルタイム通信部130にもうけてもよい。
(異常判定部の構成とネットワーク方式)
異常判定部190は、タイムアウト判定部191、応答確認部192、プロトコル異常判定部193のうち、ひとつ、または複数の組み合わせで構成される。タイムアウト判定部191、応答確認部192、プロトコル異常判定部193の各機能部の判定結果を統合する方式は、各機能部の判定結果に優先度をつけてもよいし(例えば、プロトコル異常判定部193の判定結果を他のタイムアウト判定部191、応答確認部192の判定結果に優先させる)、各機能部の判定結果を所定の論理式で構成してもよい。
なお、異常判定部190におけるタイムアウト判定部191、応答確認部192、プロトコル異常判定部193の構成は、ネットワーク方式によっても適性が異なる。
例えば、IEC 61784−2のCPF12では、通信制御装置120から送信された通信フレームは、各通信装置123を順番に経由し、全ての通信装置123を経由後、通信制御装置120に戻るという特徴がある。このような特徴があるため、再送制御部194によってパケット上のカウンタ値を確認する方法がよく、プロトコル異常判定部193を用いるのがよい。また、パケットがネットワーク上でロスする可能性があるため、タイムアウト判定部191の適用も好ましい。
一方で、ネットワーク122、ネットワーク125の仕様上、必ずしも通信装置123から通信制御装置120への返信が定義されていない場合は、明示的に通信装置123から確認応答、または否定応答を返信する構成とし、タイムアウト判定部191、応答確認部192をもって構成することが例示される。
(タイムスロットの割当)
再送に対しては、図17の転送用パケットにおけるタイムスロットを割り当てる方法が例示される。再送用タイムスロットの開始タイミングTc(式8のTa、式9のTbに相当)は次式で求まる。
Tc = To (式10)
ここで、Toはタイムアウトであり、タイムアウト判定部191の利用を前提とする。リアルタイム通信ステータス抽出部172はタイムアウト値を動的フラグメントサイズ決定部173へ通知し、動的フラグメントサイズ決定部173は、タイムアウトから定まる再送用のタイムスロットTcまでの残時間からフラグメントサイズを決定し、フラグメント処理部135へ通知する。
なお、異常判定部190にて、リアルタイムデータの送信が正しく確認された場合には再送用のタイムスロットの割当を解除し、非リアルタイムデータの送信用に帯域を割り当てることができる。
また、再送用のタイムスロットは、ネットワークの構成により、リアルタイムデータを送信した周期とは別の周期に割り当てても良い。例えば、リアルタイムデータ送信に対する応答遅延が周期よりも長い場合が示される。
なお、異常判定部190による異常判定はリアルタイムデータに対してのみならず、非リアルタイムデータに対して実行してもよい。再送制御部194、再送部195も同様に非リアルタイムデータの通信に対して再送処理を制御してもよい。
また、再送データはリアルタイムデータとしてではなく、非リアルタイムデータとして扱ってもよい。これは、例えば、データ識別部160により、パケット上に再送であることを示すデータが確認された場合に、非リアルタイム通信部131へ再送パケット、あるいは再送要求を通知することにより実現される。
また、リアルタイム通信部130、あるいは非リアルタイム通信部131内での送信データと、再送間での優先度付をしてもよい。
また、何らかの理由で、通信スケジュール部174において、再送パケット送信中にリアルタイムデータ送信要求が発生した場合、そのまま再送パケットの送信を継続してもよいが、途中で中断し、強制的にリアルタイムデータを送信してもよい。その場合、再送パケットの送信中断のために、IEEE 802.3のCRCを意図的に異常な値とすることが例示される。また、追って再送するために、通信スケジュール部136における送信データ保持機能、再送機能、通知機能を利用することが例示される。
また、本実施例では、異常判定部190、タイムアウト判定部191、応答確認部192、プロトコル異常判定部193、再送制御部194、再送部195がそれぞれひとつであったが、複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。また、リアルタイム通信部130、非リアルタイム通信部131、再送部195を複数にする場合は、パケット内に識別子をもうけることが例示される。
(効果)
以上の発明による効果について説明する。
任意のタイミングで非リアルタイムデータの送信要求や再送が発生したとしても、通信スケジュール部174が、非リアルタイムデータの処理時間、あるいは再送データの処理時間と、次のリアルタイムデータ送信までの残時間を比較して、送信要求の許可を判断する。こうすることで、非リアルタイムデータ送信、再送に影響されることなく、リアルタイムデータを精度よく送信することができる。また、リアルタイムデータの送信時間、再送の送信時間の空きを効率よく利用することで、非リアルタイムデータの通信帯域を向上させることができる。
さらに、リアルタイムデータの送信精度を維持する範囲内で、再送が可能となるため、通信制御装置120から通信装置123へのデータ伝達性を向上させることができ、制御システムの高信頼化、高性能化が可能である。
さらに、再送を非リアルタイムデータ送信よりも優先度を高く設定することで、非リアルタイムデータ送信に影響されることなく、再送をすることができ、上記の再送による利点を高めることができる。
101 … CPU、102… PHY、103… LAN、104… 通信用LSI、108 … メモリ、109 … 不揮発性記憶媒体、110 … バス、120… 通信制御装置、121 … ネットワーク中継装置、122、125 … ネットワーク、123、124 … 通信装置、130 …リアルタイム通信部、131… 非リアルタイム通信部、132 … フラグメント制御部、133、172 … リアルタイム通信ステータス抽出部、134、173 … 動的フラグメントサイズ決定部、135 … フラグメント処理部、136、174 … 通信スケジュール部、137 … 通信部、138… 送信部、139… 受信部、140 … 配信部、141… タイマ、150… リアルタイムデータ、151… 非リアルタイムデータ、152… フラグメントパケット、153… 転送パケット、160… データ識別部、161… フラグメント復元部、170… 複製送信部、171… 後着廃棄判定処理部、180… タイムスロット、190…異常判定部、191…タイムアウト判定部、192…応答確認部、193…プロトコル異常判定部、194…再送制御部、195…再送部

Claims (15)

  1. リアルタイム性が要求されるリアルタイムデータの通信タイミングを求めるリアルタイム通信ステータス抽出部と、
    前記リアルタイム通信ステータス抽出部によって求められた通信タイミングになるまでに送信可能な送信データのフラグメントサイズを求める動的フラグメントサイズ決定部と、
    少なくとも前記動的フラグメントサイズ決定部によって求められたフラグメントサイズ以下になるよう、リアルタイム性が要求されない非リアルタイムデータをフラグメント化するフラグメント処理部と、
    前記フラグメント処理部によってフラグメント化された前記非リアルタイムデータを前記リアルタイムデータの通信タイミングになる前に送信する通信部と、
    を備える通信制御装置。
  2. 請求項1において、さらに、
    前記前記フラグメント処理部によってフラグメント化された前記非リアルタイムデータを前記リアルタイムデータの送信処理に干渉せずに送信できるか判断する通信スケジュール部と、を備え、
    前記通信部は、前記通信スケジュール部の判断に従って、前記非リアルタイムデータの送信が許可された場合に当該非リアルタイムデータを送信する
    ことを特徴とする通信制御装置。
  3. 請求項1において、
    前記動的フラグメントサイズ決定部は、次の前記リアルタイムデータの通信タイミングになるまでの時間を前記非リアルタイムデータの送信に必要な単位データあたりの送信処理時間で除してフラグメントサイズを求めることを特徴とする通信制御装置。
  4. 請求項1において、
    前記動的フラグメントサイズ決定部は、求めたフラグメントサイズが所定の値以下である場合には、フラグメント不可であることを前記フラグメント処理部に通知することを特徴とする通信制御装置。
  5. 請求項1において、
    前記フラグメント処理部は、前記非リアルタイムデータが複数の要素で構成される場合に、要素内のデータ領域のフラグメント化、または、前記要素のサイズ変更、または、前記非リアルタイムデータを構成する前記要素の数の変更、のいずれかの処理を実行することを特徴する通信制御装置。
  6. 請求項2において、
    前記通信スケジュール部は、送信要求のある前記非リアルタイムデータの送信に必要な処理時間が前記リアルタイムデータの次の通信タイミングまでの時間未満であるときに、前記非リアルタイムデータの送信を許可することを特徴とする前記通信制御装置。
  7. 請求項2において、
    前記通信スケジュール部は、送信要求のあった前記非リアルタイムデータが、前記リアルタイムデータを所定回数送信された間に送信できなかった場合、または、所定の時間送信できなかった場合には、当該非リアルタイムデータを破棄、または、外部への通知のいずれかの処理を実行することを特徴とする通信制御装置。
  8. 請求項1において、
    前記フラグメント処理部は、送信要求のあった前記非リアルタイムデータがある周期で送信できなかった場合には、前記動的フラグメント決定部から通知される次の周期の前記リアルタイムデータの通信タイミングまでに送信可能なフラグメントサイズに従い、前記非リアルタイムデータのフラグメント化を再度実施することを特徴とする通信制御装置。
  9. 請求項1において、
    前記通信スケジュール部は、前記非リアルタイムデータを送信処理中に前記リアルタイムデータの送信要求があった場合に、前記非リアルタイムデータの送信を中断し、前記リアルタイムデータを送信することを特徴とする通信制御装置。
  10. 請求項1において、
    前記リアルタイム通信ステータス抽出部は、所定の通信処理用のタイムスロットを予約し、予約したタイムスロットまでの時間を求めて前記動的フラグメントサイズ決定部に通知し、
    前記動的フラグメントサイズ決定部は、前記タイムスロットまでの時間をもとにフラグメントサイズを求めることを特徴とする通信制御装置。
  11. 請求項10において、
    前記通信制御装置は、他の通信制御装置とネットワークを介して接続されており、
    前記タイムスロットは、前記他の通信制御装置から送信されたパケットを転送するための通信処理用に予約されることを特徴とする通信制御装置。
  12. 請求項11において、
    予約される前記タイムスロットは、前記他の通信制御装置から送られるパケットの通信遅延をもとに決められること特徴する前記通信制御装置。
  13. 請求項10において、
    前記通信制御装置は、複数の他の通信制御装置とリングネットワークを構成し、前記複数の他の通信制御装置は、冗長化したパケットをそれぞれ前記リングネットワークのA系回り、および、B系回りに送信するものであり、
    前記タイムスロットは、前記A系回りから受信した前記冗長化パケットを転送する通信処理用、および、前記B系回りから受信した前記冗長化パケットを転送する通信処理用に予約され、前記冗長化パケットの前記A系回りから転送、前記B系回りからの転送のいずれか早い方の通信確認をもって、他方の前記タイムスロットの予約を解除することを特徴とする通信制御装置。
  14. 請求項10において、
    前記リアルタイムデータの送信に失敗したと判断した場合には、前記リアルタイムデータの再送パケットの通信処理用に前記タイムスロットを予約することを特徴とする通信制御装置。
  15. 請求項10において、
    前記タイムスロットは、前記リアルタイムデータの再送パケットの通信処理用に予約されるものであり、前記リアルタイムデータの送信が成功したことを確認すると当該再送用のタイムスロットの予約を解除することを特徴とする通信制御装置。
JP2015112763A 2015-06-03 2015-06-03 通信制御装置 Active JP6594667B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015112763A JP6594667B2 (ja) 2015-06-03 2015-06-03 通信制御装置
US15/172,315 US10136403B2 (en) 2015-06-03 2016-06-03 Communication control device with dynamic fragmenting of non-real-time data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015112763A JP6594667B2 (ja) 2015-06-03 2015-06-03 通信制御装置

Publications (2)

Publication Number Publication Date
JP2016225929A true JP2016225929A (ja) 2016-12-28
JP6594667B2 JP6594667B2 (ja) 2019-10-23

Family

ID=57452821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015112763A Active JP6594667B2 (ja) 2015-06-03 2015-06-03 通信制御装置

Country Status (2)

Country Link
US (1) US10136403B2 (ja)
JP (1) JP6594667B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131080A1 (ja) * 2017-01-10 2018-07-19 三菱電機株式会社 データ受信装置、データ送信装置、データ受信方法、データ送信方法、データ受信プログラム及びデータ送信プログラム
JP2019047163A (ja) * 2017-08-29 2019-03-22 トヨタ自動車株式会社 車載中継装置、情報処理システム、中継装置、情報処理装置、情報処理方法、及びプログラム
JP2019054418A (ja) * 2017-09-15 2019-04-04 トヨタ自動車株式会社 車載装置、情報処理装置、情報処理方法、及びプログラム
WO2020225980A1 (ja) * 2019-05-07 2020-11-12 株式会社東芝 コントローラ
JP2020188330A (ja) * 2019-05-13 2020-11-19 日立オートモティブシステムズ株式会社 車両制御装置、及び、車両制御システム
JPWO2021192027A1 (ja) * 2020-03-24 2021-09-30
WO2024134912A1 (ja) * 2022-12-23 2024-06-27 株式会社日立ハイテク 制御用通信システムおよびプラズマ処理装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180132131A1 (en) * 2016-11-04 2018-05-10 General Motors Llc Customized wireless data chunking
JP6994161B2 (ja) * 2018-05-15 2022-01-14 京セラドキュメントソリューションズ株式会社 画像形成装置
JP7088081B2 (ja) * 2019-03-01 2022-06-21 株式会社デンソー 中継装置
US11665110B1 (en) * 2019-09-30 2023-05-30 Amazon Technologies, Inc. Using distributed services to continue or fail requests based on determining allotted time and processing time
EP4040735A4 (en) * 2019-10-01 2023-10-18 Hitachi Astemo, Ltd. VEHICLE CONTROL DEVICE AND DATA TRANSMISSION CONTROL METHOD
CN110890790A (zh) * 2019-12-09 2020-03-17 国网上海市电力公司 一种多间隔集成数字化测控装置及其主备机切换方法
US11876608B2 (en) * 2021-02-22 2024-01-16 Hitachi, Ltd Redundant control system
US20220299617A1 (en) * 2021-03-19 2022-09-22 Facebook Technologies, Llc Systems and methods for automatic triggering of ranging
CN113783796A (zh) * 2021-07-22 2021-12-10 许继集团有限公司 一种用于换流系统的通信方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078201A (ja) * 1998-06-17 2000-03-14 Canon Inc 通信装置、通信方法及び通信システム
JP2002016637A (ja) * 2000-06-29 2002-01-18 Nec Corp パケットスケジューリング装置
JP2002252648A (ja) * 2001-02-26 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> 通信適応パケット処理システム
JP2002314596A (ja) * 2001-04-11 2002-10-25 Mitsubishi Electric Corp パケット通信システム
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
JP2004208119A (ja) * 2002-12-26 2004-07-22 Nec Engineering Ltd フレームリレーネットワークにおけるパケット送受信装置
US20090080412A1 (en) * 2007-09-26 2009-03-26 Kabushiki Kaisha Toshiba Communication apparatus and communication control method
JP2013046389A (ja) * 2011-08-26 2013-03-04 Nec Saitama Ltd パケット送信装置、パケット送信方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6452915B1 (en) * 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US7023971B1 (en) * 2000-10-31 2006-04-04 Cisco Technology, Inc. Method and system for call answer while connected to voice mail
US20030059005A1 (en) * 2001-09-24 2003-03-27 Teleware, Inc. Multi-media communication management system with dynamic bypass routing of real time streaming media
JP5949255B2 (ja) * 2012-07-18 2016-07-06 富士通株式会社 通信制御装置、及び通信制御方法
US9276983B2 (en) * 2015-05-01 2016-03-01 Amazon Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078201A (ja) * 1998-06-17 2000-03-14 Canon Inc 通信装置、通信方法及び通信システム
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
JP2002016637A (ja) * 2000-06-29 2002-01-18 Nec Corp パケットスケジューリング装置
JP2002252648A (ja) * 2001-02-26 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> 通信適応パケット処理システム
JP2002314596A (ja) * 2001-04-11 2002-10-25 Mitsubishi Electric Corp パケット通信システム
JP2004208119A (ja) * 2002-12-26 2004-07-22 Nec Engineering Ltd フレームリレーネットワークにおけるパケット送受信装置
US20090080412A1 (en) * 2007-09-26 2009-03-26 Kabushiki Kaisha Toshiba Communication apparatus and communication control method
JP2013046389A (ja) * 2011-08-26 2013-03-04 Nec Saitama Ltd パケット送信装置、パケット送信方法及びプログラム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131080A1 (ja) * 2017-01-10 2018-07-19 三菱電機株式会社 データ受信装置、データ送信装置、データ受信方法、データ送信方法、データ受信プログラム及びデータ送信プログラム
JP2019047163A (ja) * 2017-08-29 2019-03-22 トヨタ自動車株式会社 車載中継装置、情報処理システム、中継装置、情報処理装置、情報処理方法、及びプログラム
JP2019054418A (ja) * 2017-09-15 2019-04-04 トヨタ自動車株式会社 車載装置、情報処理装置、情報処理方法、及びプログラム
CN113632422A (zh) * 2019-05-07 2021-11-09 株式会社东芝 控制器
JP2020184668A (ja) * 2019-05-07 2020-11-12 株式会社東芝 コントローラ
WO2020225980A1 (ja) * 2019-05-07 2020-11-12 株式会社東芝 コントローラ
US11489880B2 (en) 2019-05-07 2022-11-01 Kabushiki Kaisha Toshiba Controller to determine a transmission right and control a timing of communication between nodes
CN113632422B (zh) * 2019-05-07 2023-02-17 株式会社东芝 控制器
JP2020188330A (ja) * 2019-05-13 2020-11-19 日立オートモティブシステムズ株式会社 車両制御装置、及び、車両制御システム
WO2020230620A1 (ja) * 2019-05-13 2020-11-19 日立オートモティブシステムズ株式会社 車両制御装置、及び、車両制御システム
JP7211889B2 (ja) 2019-05-13 2023-01-24 日立Astemo株式会社 車両制御装置、及び、車両制御システム
JPWO2021192027A1 (ja) * 2020-03-24 2021-09-30
WO2021192027A1 (ja) * 2020-03-24 2021-09-30 日本電信電話株式会社 制御システム及び制御方法
JP7401815B2 (ja) 2020-03-24 2023-12-20 日本電信電話株式会社 制御システム及び制御方法
WO2024134912A1 (ja) * 2022-12-23 2024-06-27 株式会社日立ハイテク 制御用通信システムおよびプラズマ処理装置

Also Published As

Publication number Publication date
JP6594667B2 (ja) 2019-10-23
US20160360497A1 (en) 2016-12-08
US10136403B2 (en) 2018-11-20

Similar Documents

Publication Publication Date Title
JP6594667B2 (ja) 通信制御装置
JP6376229B2 (ja) 通信システム、通信装置および通信方法
JP6265058B2 (ja) ネットワーク伝送システム、そのマスタノード、スレーブノード
US10439940B2 (en) Latency correction between transport layer host and deterministic interface circuit
JPWO2003017577A1 (ja) 伝送装置および伝送方法
US20120327950A1 (en) Method for Transmitting Data Packets
US10484287B2 (en) Support for distinguished minimum latency traffic guard band
WO2022105724A1 (zh) 一种数据传输方法及相关设备
US20220191140A1 (en) Data transmission control method, apparatus, and storage medium
US11513985B2 (en) RoCE over wireless
KR102217255B1 (ko) 네트워크에서 통신 노드의 동작 방법
JP2017529033A (ja) イーサネットインタフェースモジュール
US11758024B2 (en) Distributor node, automation network and method for transmitting telegrams
US11115343B2 (en) Transport layer providing deterministic transport across multiple deterministic data links
US7342883B2 (en) Method and apparatus for managing network traffic
JP6045950B2 (ja) 通信制御装置及び通信システム
EP2490358B1 (en) Communication controller
US20190116000A1 (en) Transport layer identifying failure cause and mitigation for deterministic transport across multiple deterministic data links
JP6709086B2 (ja) 通信制御装置、および、通信制御方法
US20060159123A1 (en) Method for reserving bandwidth in an ethernet type network
AU742652B2 (en) Data transmitting apparatus, network interface apparatus, and data transmitting system
JP2014086812A (ja) Canシステム及びノード
CN110249591B (zh) 用于优化利用测试数据包的冗余协议的故障识别的方法
WO2018014688A1 (zh) 一种帧流控制方法和装置、计算机存储介质
WO2021059632A1 (ja) 通信制御装置およびシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170111

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190925

R150 Certificate of patent or registration of utility model

Ref document number: 6594667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150