JP2008199092A - データ送信装置 - Google Patents
データ送信装置 Download PDFInfo
- Publication number
- JP2008199092A JP2008199092A JP2007029267A JP2007029267A JP2008199092A JP 2008199092 A JP2008199092 A JP 2008199092A JP 2007029267 A JP2007029267 A JP 2007029267A JP 2007029267 A JP2007029267 A JP 2007029267A JP 2008199092 A JP2008199092 A JP 2008199092A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet data
- packet
- transmission queue
- transmission
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】パケットデータの送信周期の精度を高める。
【解決手段】データ送信装置100は、計時手段1aによるタイマイベントの発生によって送信対象のパケットデータを送信させるための所定の処理を行い、パケットデータの送信待ち行列を構成する出力用送信キューに格納する制御部1と、制御部1により処理されたパケットデータを、通信ネットワークを介して外部機器に対して送信する通信部3と、を備える。制御部1は、送信対象のパケットデータを解析することにより、当該パケットデータが周期的に送信される周期データであるか否かを判別し、周期データであると判別されたパケットデータを、当該パケットデータの送信待ち行列を構成する周期データ用送信キューに格納する。そして、計時手段1aによりタイマイベントが発生すると、周期データ用送信キューに格納されたパケットデータを出力用送信キューの先頭に配置し、通信部3に転送する。
【選択図】図1
【解決手段】データ送信装置100は、計時手段1aによるタイマイベントの発生によって送信対象のパケットデータを送信させるための所定の処理を行い、パケットデータの送信待ち行列を構成する出力用送信キューに格納する制御部1と、制御部1により処理されたパケットデータを、通信ネットワークを介して外部機器に対して送信する通信部3と、を備える。制御部1は、送信対象のパケットデータを解析することにより、当該パケットデータが周期的に送信される周期データであるか否かを判別し、周期データであると判別されたパケットデータを、当該パケットデータの送信待ち行列を構成する周期データ用送信キューに格納する。そして、計時手段1aによりタイマイベントが発生すると、周期データ用送信キューに格納されたパケットデータを出力用送信キューの先頭に配置し、通信部3に転送する。
【選択図】図1
Description
本発明は、パケットデータを周期的に送信するデータ送信装置に関する。
プラントの運転状況を監視・制御するシステムでは、プラントに設置された各種の計測装置(温度、圧力、流量等を計測する装置)や監視装置等(以下、データ送信装置と呼ぶ。)が予め決められたスケジュールに従って、通信ネットワークを介して周期的に観測データ、監視データ等のパケットデータをホストコンピュータに送信している(例えば、特許文献1参照)。
図3に、従来のデータ送信装置におけるパケット送信処理の一例を示す。例えば、FOUNDATION Fieldbus HSEでは、図3に示すように、周期的にパケットデータを送信するアプリケーションが、アプリケーション層において、OS(Operating System)に搭載されたソフトタイマである計測手段によるタイマイベントの発生によって周期的に起動し、パケット送信命令が実行される。
アプリケーション層において、パケット送信命令が実行されると、当該パケットデータは下位の層へと転送され、トランスポート層でのTCP/UDP(Transmission Control Protocol/User Datagram Protocol)ヘッダ付加処理、ネットワーク層でのIP(Internet Protocol)ヘッダ付加処理、データリンク層でのEthernet(登録商標)ヘッダ付加処理を経て送信キューに格納され、直ちに物理デバイス(物理層)から送信される。
図4に、従来のデータ送信装置におけるパケット送信処理の他の例として、EtherNet/IPにおいて周期的にパケットデータを送信する処理を示す。この場合、周期的にパケットデータを送信するアプリケーションが外部機器と通信するためには、当該アプリケーションが、EtherNet/IPで使用されるアプリケーションプロトコルであるCIP(Common Industrial Protocol)を解する必要がある(例えば、非特許文献1参照)。また、IEEE(Institute of Electrical and Electronic Engineers)1588に対応し、計時手段が搭載された専用のハードウェア資源を使用する。
図4に示した例では、計時手段によるタイマイベントの発生がアプリケーション層及び物理デバイスに通知され、パケット送信処理のアプリケーションが起動する。アプリケーション層では、CIP用の処理としてエンキャップシュレーションヘッダ付加処理が行われる。また、周期データパケット(EtherNet/IPにおけるImplicitメッセージ)と非周期データパケット(EtherNet/IPにおけるExplicitメッセージ)の判別処理が行われる。以後、下位の層において、送信対象のパケットデータは、図3と同様のヘッダ付加処理が施され、物理デバイスから送信される。
特開昭61−23439号公報
"The CIP Advantage: Technology Overview Series, EtherNet/IP-CIP on Ethernet Technology"、[online]、ODVA、[平成19年1月31日検索]、インターネット〈URL : http://www.odva.org/Portals/0/Library/Publications_Numbered/PUB00138R2_CIP_Adv_Tech_Series_EtherNetIP.pdf〉
しかしながら、周期的にパケットデータを送信する従来のデータ送信装置では、計時手段によるタイマイベントが発生してから、パケットデータが物理デバイスに到達するまでに、多くのジッタ発生要素が存在するため、パケットデータの送信周期を一定に保つことができないという問題がある。特に、アプリケーションに提供される計時手段は、OSに提供される計時手段に比べて多くの遅延とジッタが発生する。また、図4に示したパケット送信処理では、IEEE1588に対応した専用のハードウェア資源を用いているため、図3に示した処理に比べると送信周期の精度は高いが、この専用ハードウェア資源のサポートが必要になる上に、専用のプロトコル(CIP)に対応するために、既存のアプリケーションを変更する必要がある。
本発明の課題は、アプリケーションに依存せずにパケットデータの送信周期の精度を高めることである。
上記課題を解決するため、請求項1に記載の発明は、プログラム制御によって実現され、所定のパケットデータの送信処理を周期的に実行させるタイミングを計時する計時手段を有し、前記計時手段による計時された送信処理のタイミングに従って、前記パケットデータを送信させるための所定の処理を実行し、当該所定の処理が施されたパケットデータを、パケットデータの送信待ち行列を構成する出力用送信キューに格納する制御部と、
前記出力用送信キューに格納されたパケットデータを、通信ネットワークを介して外部機器に対して送信する通信部と、を備え、前記制御部は、送信対象の前記パケットデータを解析することにより、当該パケットデータが周期的に送信される周期データであるか否かを判別する判別手段と、前記判別手段により周期データであると判別されたパケットデータを、当該パケットデータの送信待ち行列を構成する周期データ用送信キューに格納し、前記計時手段により計時された送信開始のタイミングで、前記周期データ用送信キューに格納されたパケットデータを前記出力用送信キューに転送する処理を行う周期データ処理手段と、を備えることを特徴とする。
前記出力用送信キューに格納されたパケットデータを、通信ネットワークを介して外部機器に対して送信する通信部と、を備え、前記制御部は、送信対象の前記パケットデータを解析することにより、当該パケットデータが周期的に送信される周期データであるか否かを判別する判別手段と、前記判別手段により周期データであると判別されたパケットデータを、当該パケットデータの送信待ち行列を構成する周期データ用送信キューに格納し、前記計時手段により計時された送信開始のタイミングで、前記周期データ用送信キューに格納されたパケットデータを前記出力用送信キューに転送する処理を行う周期データ処理手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載のデータ送信装置において、前記周期データ処理手段は、前記周期データ用送信キューに格納されたパケットデータを前記出力用送信キューの先頭に配置する処理を行うことを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載のデータ送信装置において、前記判別手段により、送信対象の前記パケットデータが周期データではないと判別された場合、前記通信部は、当該パケットデータが前記出力用送信キューの最後尾に配置されたデータを送信することを特徴とする。
本発明によれば、周期的に送信されるパケットデータを周期データ用送信キューに格納し、計時手段により計時された送信開始のタイミングで周期データ用送信キュー内のパケットデータを出力用送信キューに転送して外部機器に送信するようにしたことにより、パケットデータの送信周期の精度を高めることが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
まず、本実施形態における構成について説明する。
まず、本実施形態における構成について説明する。
図1に、本発明の実施形態に係るデータ送信装置100の主要部構成を示す。データ送信装置100は、プラント等に設置され、温度等の観測データ、画像等の監視データを、通信ネットワークを介してホストコンピュータ(図示略)に一定周期で送信する装置である。このデータ送信装置100は、図1に示すように、制御部1、記憶部2、通信部3により構成され、各部はバス4を介して相互に接続される。
制御部1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、FIFO(First-In First-Out)メモリ等を有して構成され、ROMに格納された各種の制御プログラムに従ってデータ送信装置100の各部を統括的に制御する。
また、制御部1は、データ送信装置100のOS(Operating System)に搭載されたソフトタイマ(プログラム制御により実現されるタイマ)である計時手段1aを有する。計時手段1aは、パケットデータの送信処理を周期的に実行させるタイミングを計時する。制御部1は、計時手段1aによってパケット送信処理のためのタイマイベントが発生すると、観測データ、監視データ等のパケットデータを送信するパケット送信処理を実行する(詳細は後述)。このタイマイベントは、予め設定された時刻にパケット送信処理を実行するために、制御部1によって設定されたものである。本実施形態において、パケット送信処理のためのタイマイベントは一定時間毎(周期的)に発生するものとする。
記憶部2は、不揮発性メモリやハードディスク等から構成され、制御部1によって実行される各種プログラムで用いられるデータや、当該プログラムで処理されたデータ等を記憶する。
通信部3は、通信ネットワークを介して外部機器とデータ通信するための機能部であり、ネットワークインターフェース等により構成される。具体的に通信部3は、制御部1により処理されたパケットデータを、通信ネットワークを介して外部機器に対して送信する処理を行う。
図2は、制御部1による処理機能を階層的に示したものである。制御部1において実行される処理機能は、図2に示すように、計時手段1a、アプリケーション層10、トランスポート層11、ネットワーク層12、データリンク層13、パケット判別手段14、周期データ処理手段15、出力用送信キュー17によって実現される。このうち、アプリケーション層10以外で実現される各機能は、データ送信装置100のOS20に搭載された機能である。
アプリケーション層10では、計時手段1aによるタイマイベントの発生により、パケット送信処理を行うアプリケーションが起動される。パケット送信処理のアプリケーションが起動すると、送信対象のパケットデータは下位層へ転送され、トランスポート層11、ネットワーク層12、データリンク層13の各々においてヘッダ付加処理が行われる。具体的には、トランスポート層11において、アプリケーション層10から転送されたパケットデータの圧縮や誤り訂正、再送制御などが行われる。ネットワーク層12では、トランスポート層11から転送されたパケットデータに通信先のアドレスが付加され、データリンク層13に転送される。データリンク層13では、通信先との物理的な通信経路が確保され、通信経路を流れるデータのエラー検出等が行われる。
パケット判別手段14は、データリンク層13から転送されたパケットデータを解析することにより、当該パケットデータが周期的に送信される周期データ(周期データパケットP1)であるか否かを判別する。この判別処理は、例えばIP(Internet Protocol)の場合、パケットデータの送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号、ICMP(Internet Control Message Protocol)タイプ、ICMPコード、DSCP(Differentiated Services Code Print)値等の情報を用いて行われる。例えば、周期データを送信する場合に、これらの情報の何れかにおいて特定のビットを立てるなどの規則を予め設定しておくと、容易にパケット判別処理を行うことができる。
出力用送信キュー17は、物理デバイス18(物理層)に転送するパケットデータの送信待ち行列を構成するFIFOメモリである。パケット判別手段14により、送信対象のパケットデータが周期データではない(非周期データパケットP2)と判定された場合、この非周期データパケットP2は、出力用送信キュー17の最後尾に追加され、物理デバイス18に転送される。
周期データ処理手段15は、FIFOメモリとして構成される周期データ用送信キュー16を有する。パケット判別手段14により、送信対象のパケットデータが周期データ(周期データパケットP1)であると判別された場合、その周期データパケットP1は周期データ用送信キュー16に格納される。
計時手段1aによるタイマイベントが発生すると、周期データ処理手段15は、周期データ用送信キュー16に周期データパケットP1が存在する場合、直ちにその周期データパケットP1を周期データ用送信キュー16から出力用送信キュー17へ送る処理を実行する。一方、周期データ用送信キュー16に周期データパケットP1が存在しない場合、周期データ処理手段15は、次のタイマイベントの発生まで待機状態となる。
本実施形態では、パケット送信処理におけるジッタ削減のため、周期データパケットP1は非周期データパケットP2よりも高い優先度で送信するものとする。具体的に周期データ処理手段15は、計時手段1aによるタイマイベントが発生すると、周期データ用送信キュー16内の周期データパケットP1を順番通りに出力用送信キュー17の先頭に配置し、物理デバイス18に転送する。よって、出力用送信キュー17に周期データパケットP1と非周期データパケットP2の双方が存在する場合、周期データパケットP1が優先的に送信されることとなる。
物理デバイス18は、通信部3を構成するデバイスであり、出力用送信キュー17の先頭のパケットデータから外部機器に向けて直ちに送信する。
以上のように、本実施形態のデータ送信装置100によれば、計時手段1aによるタイマイベントが発生したタイミングで、周期データ用送信キュー16に格納された周期データパケットP1を出力用送信キュー17に転送し、物理デバイス18から直ちに送信するようにしたことにより、タイマイベントが発生してから周期データパケットP1が通信部3の物理デバイス18へ到達するまでのジッタを削減し、パケットデータの送信周期の精度を高めることが可能となる。
特に、周期データ用送信キュー16に格納された周期データパケットP1を出力用送信キュー17の先頭に配置することにより、非周期データパケットP2よりも周期データパケットP1を優先的に送信することとなり、パケットデータの送信周期の精度を一層高めることが可能となる。
また、このようなパケット送信処理機能を、データ送信装置100のOS20に搭載することにより、リアルタイム性が重要なシステムにおいても、図4に示すような専用のハードウェア資源を用いる必要がない上に、専用のプロトコルに対応するために既存のアプリケーションを変更することなく、遅延の少ない周期通信システムを構築することが可能となる。
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
例えば、パケット判別手段14及び周期データ処理手段15をそれぞれハードウェア資源として実現してもよい。これにより、制御部1のCPUによる処理負荷が軽減されるとともに、タイマイベント発生からの遅延を更に削減し、リアルタイム性を保証することが可能となる。
例えば、パケット判別手段14及び周期データ処理手段15をそれぞれハードウェア資源として実現してもよい。これにより、制御部1のCPUによる処理負荷が軽減されるとともに、タイマイベント発生からの遅延を更に削減し、リアルタイム性を保証することが可能となる。
また、計時手段1aの分解能を高めることにより、より短い周期でのパケット送信処理を実現することができる。更に、計時手段1aの精度を高めることにより、よりジッタの低いパケット処理を実現することができる。また、送信対象のパケットデータの数と長さを保持し、送信周期を調節することにより、送信帯域制御に転用することができる。
1 制御部
1a 計時手段
2 記憶部
3 通信部
10 アプリケーション層
11 トランスポート層
12 ネットワーク層
13 データリンク層
14 パケット判別手段
15 周期データ処理手段
16 周期データ用送信キュー
17 出力用送信キュー
18 物理デバイス
20 OS
100 データ送信装置
P1 周期データパケット
P2 非周期データパケット
1a 計時手段
2 記憶部
3 通信部
10 アプリケーション層
11 トランスポート層
12 ネットワーク層
13 データリンク層
14 パケット判別手段
15 周期データ処理手段
16 周期データ用送信キュー
17 出力用送信キュー
18 物理デバイス
20 OS
100 データ送信装置
P1 周期データパケット
P2 非周期データパケット
Claims (3)
- プログラム制御によって実現され、所定のパケットデータの送信処理を周期的に実行させるタイミングを計時する計時手段を有し、前記計時手段による計時された送信処理のタイミングに従って、前記パケットデータを送信させるための所定の処理を実行し、当該所定の処理が施されたパケットデータを、パケットデータの送信待ち行列を構成する出力用送信キューに格納する制御部と、
前記出力用送信キューに格納されたパケットデータを、通信ネットワークを介して外部機器に対して送信する通信部と、を備え、
前記制御部は、
送信対象の前記パケットデータを解析することにより、当該パケットデータが周期的に送信される周期データであるか否かを判別する判別手段と、
前記判別手段により周期データであると判別されたパケットデータを、当該パケットデータの送信待ち行列を構成する周期データ用送信キューに格納し、前記計時手段により計時された送信開始のタイミングで、前記周期データ用送信キューに格納されたパケットデータを前記出力用送信キューに転送する処理を行う周期データ処理手段と、
を備えることを特徴とするデータ送信装置。 - 前記周期データ処理手段は、前記周期データ用送信キューに格納されたパケットデータを前記出力用送信キューの先頭に配置する処理を行うことを特徴とする請求項1に記載のデータ送信装置。
- 前記判別手段により、送信対象の前記パケットデータが周期データではないと判別された場合、前記通信部は、当該パケットデータが前記出力用送信キューの最後尾に配置されたデータを送信することを特徴とする請求項1又は2に記載のデータ送信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029267A JP2008199092A (ja) | 2007-02-08 | 2007-02-08 | データ送信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029267A JP2008199092A (ja) | 2007-02-08 | 2007-02-08 | データ送信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008199092A true JP2008199092A (ja) | 2008-08-28 |
Family
ID=39757683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007029267A Pending JP2008199092A (ja) | 2007-02-08 | 2007-02-08 | データ送信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008199092A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010283635A (ja) * | 2009-06-05 | 2010-12-16 | Yokogawa Electric Corp | データ送信装置、データ送信方法 |
-
2007
- 2007-02-08 JP JP2007029267A patent/JP2008199092A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010283635A (ja) * | 2009-06-05 | 2010-12-16 | Yokogawa Electric Corp | データ送信装置、データ送信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DK3140974T3 (en) | Network timeouts using delayed transmissions intentionally | |
JP6209596B2 (ja) | タイムトリガメッセージ及びイベントトリガメッセージを中継するための方法及び装置 | |
Carvajal et al. | Evaluation of communication architectures for switched real-time ethernet | |
JP4541949B2 (ja) | データ転送装置 | |
US9438537B2 (en) | Method for cut through forwarding data packets between electronic communication devices | |
Eckhardt et al. | Analysis of the round trip time of opc ua and tsn based peer-to-peer communication | |
JP6398329B2 (ja) | 制御装置、制御方法及びプログラム | |
Kyriakakis et al. | A time-predictable open-source TTEthernet end-system | |
JPWO2007004558A1 (ja) | 帯域制御回路及びそれに用いる帯域制御方法 | |
Ikram et al. | Wireless communication in process control loop: Requirements analysis, industry practices and experimental evaluation | |
JP2008199092A (ja) | データ送信装置 | |
WO2017077704A1 (ja) | スループット計測装置、方法および記録媒体 | |
US7426589B2 (en) | Network interface card for reducing the number of interrupts and method of generating interrupts | |
JP2016012801A (ja) | 通信装置、通信システム及び通信装置制御方法 | |
US20150186108A1 (en) | Signal processing system and storage medium | |
JP6927606B2 (ja) | 通信システム、通信制御装置、通信機器、通信方法及びプログラム | |
CN114070794A (zh) | 可编程拥塞控制通信方案 | |
JP2004363782A (ja) | 通信制御装置および通信制御方法 | |
KR20160010997A (ko) | 저전력 통신을 수행하기 위한 서버 및 그 동작 방법 및 저전력 통신을 수행하기 위한 스케쥴링 맵 생성 방법 | |
JP2019114947A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
JP2009253723A (ja) | 通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末 | |
JP4175352B2 (ja) | 通信装置 | |
US9405719B2 (en) | Circuitry to generate and/or use at least one transmission time in at least one descriptor | |
JP2007329730A (ja) | 通信プロトコル処理装置 | |
JP6738306B2 (ja) | データ転送装置及びデータ転送方法 |