図面 (/)

技術 通信制御装置、通信システム、および、通信制御方法

出願人 株式会社日立産機システム
発明者 丸山龍也山田勉
出願日 2016年3月15日 (4年8ヶ月経過) 出願番号 2016-050455
公開日 2017年9月21日 (3年1ヶ月経過) 公開番号 2017-168950
状態 特許登録済
技術分野 マルチプログラミング 小規模ネットワーク1:ループ方式 通信制御
主要キーワード 起算時刻 ソフトウェアクロック 高速周期 制御用装置 ハードウェアクロック アラート出力 メモリフラグ 指令値入力
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年9月21日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

処理可能なデータの用意ができてからCPUが処理を開始するまでのタイムラグを短縮化すること。

解決手段

マスタ装置1の割込制御部35は、割込待ち時間Tsの開始時刻となる起算契機を定義し、その定義した起算契機から割込待ち時間Tsだけ経過した時点で割込信号を生成することとし、割込待ち時間Tsは、起算契機の時点以降のパケット処理工程群の各工程に要する時間の総和である起算後工程時間Tcから、生成された割込信号が割込制御部35からCPU11に通知され、そのCPU11がパケットデータ処理起動するまでの割込遅延時間Tiだけ前の時間とする。

概要

背景

複数のノード間で共有するデータをメモリ転写し、CPU(Central Processing Unit)がその転写されたデータを処理するような制御システムが存在する。しかし、CPUの処理周期とメモリ転写周期とは性能が異なっているため、メモリ上へのデータ転写の完了を待ってから、CPUが処理を開始するような無駄な待ち時間が発生してしまう。

そこで、特許文献1には、メモリ転写処理の完了をCPUに割り込みにより通知し、CPUはその割り込みを契機に次の制御プログラムや次の処理を実行するシステムが記載されている。これにより、メモリ転写後に起動するプログラム高速に実行することができる。また、CPUは割り込みが発生するまでは、他の演算処理を実行することで、処理効率を高めることができる。

概要

処理可能なデータの用意ができてからCPUが処理を開始するまでのタイムラグを短縮化すること。マスタ装置1の割込制御部35は、割込待ち時間Tsの開始時刻となる起算契機を定義し、その定義した起算契機から割込待ち時間Tsだけ経過した時点で割込信号を生成することとし、割込待ち時間Tsは、起算契機の時点以降のパケット処理工程群の各工程に要する時間の総和である起算後工程時間Tcから、生成された割込信号が割込制御部35からCPU11に通知され、そのCPU11がパケットデータ処理を起動するまでの割込遅延時間Tiだけ前の時間とする。

目的

本発明は、処理可能なデータの用意ができてからCPUが処理を開始するまでのタイムラグを短縮化することを、主な課題とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

他装置との間でパケット送受信する通信処理部と、前記通信処理部が送受信するパケットのデータを処理するCPUと、前記通信処理部が他装置から受信したパケットを対象として前記CPUがデータ処理を開始するための割込信号を前記CPUに通知する割込制御部とを備えており、前記割込制御部は、前記CPUが送信前のパケットを作成する工程を始点とし、そのパケットが他装置を経由して受信された後にその受信したパケットのデータをアクセス可能にする工程を終点とするパケット処理工程群のうちの任意の時点を割込待ち時間開始時刻となる起算契機として定義し、その定義した前記起算契機から前記割込待ち時間だけ経過した時点で前記割込信号を生成することとし、前記割込待ち時間は、前記起算契機の時点以降の前記パケット処理工程群の各工程に要する時間の総和である起算後工程時間から、生成された前記割込信号が前記割込制御部から前記CPUに通知され、そのCPUがパケットのデータ処理を起動するまでの割込遅延時間だけ引いた時間とすることを特徴とする通信制御装置

請求項2

前記割込制御部は、前記パケット処理工程群のうちの前記通信処理部がパケットを送信する前の工程を、前記起算契機とすることを特徴とする請求項1に記載の通信制御装置。

請求項3

前記割込制御部は、パケットを送信する前の工程を前記起算契機としたときの前記起算後工程時間の計算に用いたパケットサイズがパケットを受信するまでに変更されたときには、前記起算契機をパケットを受信した後の工程に変更するとともに、その変更後の工程をもとに前記割込待ち時間を再計算することを特徴とする請求項2に記載の通信制御装置。

請求項4

前記割込制御部は、前記パケット処理工程群のうちの前記通信処理部がパケットを受信した後の工程を、前記起算契機とすることを特徴とする請求項1に記載の通信制御装置。

請求項5

前記割込制御部は、パケットを受信した後の工程を前記起算契機としたときの前記起算後工程時間が前記割込遅延時間よりも短い場合には、前記起算契機をパケットを送信する前の工程に変更するとともに、その変更後の工程をもとに前記割込待ち時間を再計算することを特徴とする請求項4に記載の通信制御装置。

請求項6

前記割込制御部は、前記パケット処理工程群のうちのパケットの処理状況とは関係なくあらかじめ登録されている所定時刻を、前記起算契機とすることを特徴とする請求項1に記載の通信制御装置。

請求項7

前記割込制御部は、前記パケット処理工程群のうちのパケットに関する異常が発生したときを、前記起算契機とすることを特徴とする請求項1に記載の通信制御装置。

請求項8

前記通信処理部は、受信したパケットのデータをアクセス可能にする工程が終了したことを示すフラグデータメモリに書き出し、前記CPUは、前記割込制御部から前記割込信号が通知されたことに加えて、前記フラグデータを読み込んだときに受信したパケットのデータ処理を開始することを特徴とする請求項1に記載の通信制御装置。

請求項9

前記CPUは、前記割込制御部から前記割込信号が通知されたものの、前記フラグデータを読み込めないときには、ポーリングにより前記フラグデータの有無を監視することを特徴とする請求項8に記載の通信制御装置。

請求項10

前記割込制御部は、複数のパケットを連続して送信するときには、それらのパケットのうちの所定数のパケットごとに前記起算契機を定義することを特徴とする請求項1に記載の通信制御装置。

請求項11

前記割込制御部は、定義した前記起算契機の時刻と、前記割込待ち時間とを含めたタイムチャート画面表示することを特徴とする請求項1に記載の通信制御装置。

請求項12

他装置との間でパケットを送受信する通信処理部と、前記通信処理部が送受信するパケットのデータを処理するCPUと、前記通信処理部が他装置から受信したパケットを対象として前記CPUがデータ処理を開始するための割込信号を前記CPUに通知する割込制御部とを備える通信制御装置により実行され、前記割込制御部は、前記CPUが送信前のパケットを作成する工程を始点とし、そのパケットが他装置を経由して受信された後にその受信したパケットのデータをアクセス可能にする工程を終点とするパケット処理工程群のうちの任意の時点を割込待ち時間の開始時刻となる起算契機として定義し、その定義した前記起算契機から前記割込待ち時間だけ経過した時点で前記割込信号を生成することとし、前記割込待ち時間は、前記起算契機の時点以降の前記パケット処理工程群の各工程に要する時間の総和である起算後工程時間から、生成された前記割込信号が前記割込制御部から前記CPUに通知され、そのCPUがパケットのデータ処理を起動するまでの割込遅延時間だけ引いた時間とすることを特徴とする通信制御方法

技術分野

0001

本発明は、通信制御装置通信ステム、および、通信制御方法に関する。

背景技術

0002

複数のノード間で共有するデータをメモリ転写し、CPU(Central Processing Unit)がその転写されたデータを処理するような制御システムが存在する。しかし、CPUの処理周期とメモリ転写周期とは性能が異なっているため、メモリ上へのデータ転写の完了を待ってから、CPUが処理を開始するような無駄な待ち時間が発生してしまう。

0003

そこで、特許文献1には、メモリ転写処理の完了をCPUに割り込みにより通知し、CPUはその割り込みを契機に次の制御プログラムや次の処理を実行するシステムが記載されている。これにより、メモリ転写後に起動するプログラム高速に実行することができる。また、CPUは割り込みが発生するまでは、他の演算処理を実行することで、処理効率を高めることができる。

先行技術

0004

特開平11−341038号公報

発明が解決しようとする課題

0005

特許文献1のような割り込みを前提としたCPUの起動システムを高速化するために、CPUなどの計算機資源ネットワークデバイス高性能化するなどのコストをかける方法が考えられる。しかし、高性能なデバイスであっても、割り込み処理に関するオーバーヘッド(無駄な時間)が発生してしまう。例えば、割込信号を生成する通信LSI(Large-Scale Integration)からCPUまでの割込信号の転送時間が、オーバーヘッドの一例である。

0006

よって、特許文献1のようにメモリ上へのデータ転写の完了を待ってから、CPUに対して割り込みを開始すると、オーバーヘッド時間がそのまま余分な待ち時間となってしまう。換言すると、特許文献1の手法では、制御装置内のオーバーヘッド時間が考慮されていない。

0007

そこで、本発明は、処理可能なデータの用意ができてからCPUが処理を開始するまでのタイムラグを短縮化することを、主な課題とする。

課題を解決するための手段

0008

前記課題を解決するために、本発明の通信制御装置は、
他装置との間でパケット送受信する通信処理部と、
前記通信処理部が送受信するパケットのデータを処理するCPUと、
前記通信処理部が他装置から受信したパケットを対象として前記CPUがデータ処理を開始するための割込信号を前記CPUに通知する割込制御部とを備えており、
前記割込制御部が、
前記CPUが送信前のパケットを作成する工程を始点とし、そのパケットが他装置を経由して受信された後にその受信したパケットのデータをアクセス可能にする工程を終点とするパケット処理工程群のうちの任意の時点を割込待ち時間の開始時刻となる起算契機として定義し、その定義した前記起算契機から前記割込待ち時間だけ経過した時点で前記割込信号を生成することとし、
前記割込待ち時間が、前記起算契機の時点以降の前記パケット処理工程群の各工程に要する時間の総和である起算後工程時間から、生成された前記割込信号が前記割込制御部から前記CPUに通知され、そのCPUがパケットのデータ処理を起動するまでの割込遅延時間だけ引いた時間とすることを特徴とする。
その他の手段は、後記する。

発明の効果

0009

本発明によれば、処理可能なデータの用意ができてからCPUが処理を開始するまでのタイムラグを短縮化することができる。

図面の簡単な説明

0010

図1(a)は、リングネットワークの通信システムの構成図である。図1(b)は、ツリーネットワークの通信システムの構成図である。
本発明の一実施形態に関する図1の通信システムで転送されるパケットのフォーマットを示す図である。
図3(a)は、通信システムのマスタ装置の構成図である。図3(b)は、マスタ装置の通信制御部の構成図である。
本発明の一実施形態に関する通信制御部のパケット処理を示すフローチャートである。
図5(a)は、送信データバス転送を割込待ち時間Tsの起算契機としたときのタイムチャートである。図5(b)は、同期時刻を割込待ち時間Tsの起算契機としたときのタイムチャートである。
本発明の一実施形態に関する抽出データのバス転送処理を割込待ち時間Tsの起算契機としたときのタイムチャートである。
図7(a)は、ストアフォワード方式パケット転送をするときのタイムチャートである。図7(b)は、カットスルー方式でパケット転送をするときのタイムチャートである。
本発明の一実施形態に関する通信制御部の割込制御処理を示すフローチャートである。
本発明の一実施形態に関する図8の割込制御処理に対して異常割込処理を追加したフローチャートである。

実施例

0011

以下、本発明の一実施形態を、図面を参照して詳細に説明する。

0012

図1(a)は、リングネットワークの通信システムの構成図である。
通信システムは、マスタ装置(通信制御装置)1とスレーブ装置2とが制御ネットワーク9で接続されて構成される。
マスタ装置1が送信するパケットは、各スレーブ装置2に対して右回り順番に到達し、前のスレーブ装置2は後のスレーブ装置2へとパケットを転送する。スレーブ装置2は、転送されてくるパケットに対して、必要に応じてデータアクセスしてもよいし、自身と関係ないパケットであれば、データアクセスをせずに転送してもよい。そして、パケットが一巡することで、マスタ装置1へとパケットが戻ってくる。

0013

このパケットには、マスタ装置1が生成した情報(制御指令管理情報など)だけでなく、途中のスレーブ装置2が追記した情報(計測情報、管理情報など)も含まれる。このスレーブ装置2の追記処理により、パケットのデータサイズが途中で増えることもある。マスタ装置1は、自身が送信したパケットが一巡して戻ってきたとき、その受信パケットに再度アクセスすることで、途中のスレーブ装置2が追記した計測情報などを読み取る。そのため、マスタ装置1はパケットの送信時だけでなく、パケットの受信時にもパケット処理を起動する。

0014

ここで、マスタ装置1はパケットの到着常時監視すると、その監視負荷によりCPUの処理能力が他の処理に使えなくなってしまう。よって、マスタ装置1はパケットの到着時に自装置内で発行される「割込信号」をもとに、パケット処理を起動する。本実施形態の主な特徴は、マスタ装置1のCPUの待ち時間がなるべく少なくなるように、割込信号の発行時期を最適化したところである。

0015

マスタ装置1は、産業分野FA(Factory automation)、半導体製造装置制御用装置コントローラPLC(Programmable Logic Controller)、電力系統におけるIED(Intelligent Electronic Device)、保護制御装置車載システムのECUなどに適用可能である。
スレーブ装置2として、産業制御機器車載ECU(Engine Control Unit)、変電所監視制御システムを構成する保護制御装置、IED(Intelligent Electronic Device)、MU(Merging Unit)、サーボコントローラサーボアンプサーボモータなどが例示される。サーボモータは、産業用製造装置ロボットアームチップマウンタ工作機械テーブルなど)を動作させる。

0016

図1(b)は、ツリーネットワークの通信システムの構成図である。図1(a)との違いとして、ネットワークトポロジツリー状にし、かつ、装置間を接続する中継装置3を追加している。
中継装置3は、制御ネットワーク9を構成し、マスタ装置1、スレーブ装置2、中継装置3から通信されるパケットを他の装置に対して転送する機能を有する。中継装置3として、ネットワークスイッチルータ、ハブ、リピータゲートウェイSDN(Software Defined Network)におけるパケット・経路制御書き換え可能なスイッチなどが挙げられる。

0017

さらに、図1(b)では、マスタ装置1の各種処理に必要なパラメータを送信する管理装置8も追加している。管理装置8は、マスタ装置1などから通信システムの最新システム構成(例えば、特定装置障害が発生していないか)の通知を受け、前記の必要なパラメータを作成する。
なお、管理装置8は、単独の機器、装置とは限らず、複数の機器、装置で構成してもよい。管理装置8の実装として、PC、サーバワークステーションクラウド、SAAS(Software as a Service)、SCADAなどによる構成が例示される。
また、管理装置8は、他装置(マスタ装置1、スレーブ装置2、中継装置3)と通信し、その通信相手の設定や状態を監視するためのHMI(Human Machine Interface)機能、SCADA(Supervisory Control and Data Acquisition)の機能、DCS(Distributed Control System)の機能、ストレージサーバの機能を有していてもよい。

0018

制御ネットワーク9は、IEEE 802.3、各種産業用ネットワークIEC61784、IEC 61158、電力分野における監視制御通信プロトコルIEC 61850、IEC 62439、車載ネットワークにおけるIEEE 802.1 AVB(Audio Video Bridging)、CAN(Controller Area Network:登録商標)、DeviceNet、RS−232C、RS−422、RS−485などが例示される。また、制御ネットワーク9において、通信パケット優先度を高くしてもよいし、所定時間帯、または通信帯域を確保、予約してもよい。

0019

また、制御ネットワーク9は、高信頼化のため、冗長化されることがある。冗長化の方式は通信経路を冗長に構成し、障害時の冗長化した経路利用方法は、IEEE802.17のRPR(Resilient Packet Ring)などの障害発生時に冗長経路を利用する方式と、IEC62439−3におけるHSR(High availability Seamless Redundancy)、PRP(Parallel Redundancy Protocol)などの冗長経路を常時用いる方式がある。
IEEE802.17は、障害復帰時間が0ではないが、効率よくネットワーク回線帯域を利用できる。一方、PRPとHSRは、常時、冗長経路を利用するため、通信帯域の利用効率は下がるが、障害復帰時間が0である。障害復帰時間が0であるため、PRP、HSRは制御システムに適している。RPR、HSRは、ネットワークを構成するノードがリングトポロジを構成するリングネットワークである。

0020

そこで、図1(a)では、制御ネットワーク9として、IEC62439−3のHSRに定義される冗長化のリングネットワークを例示している。このネットワークでは、マスタ装置1から同じパケットが複製され、右回りと左回りとで別々に送信される。パケットの宛先となるスレーブ装置2において、片方複製パケットが処理されると、そのパケットは転送されず、マスタ装置1にパケットが戻ってくることはない。そのため、何らかの異常がスレーブ装置2に発生した場合には、複製パケットはマスタ装置1へ周回して戻ってくる。これにより、マスタ装置1はスレーブ装置2に異常が発生したと判定できる。

0021

以上、図1で説明した各装置の台数は図示した台数に限定されず、0台も含めて任意の台数でもよい(例えば、中継装置3を用いないで制御ネットワーク9を構成する場合)。また、マスタ装置1とスレーブ装置2を区別して説明するが、あるパケットについてのマスタ装置1が別のパケットについてのスレーブ装置2として機能してもよい。つまり、1台の装置が、マスタ装置1とスレーブ装置2との両方の機能を有していてもよい。

0022

図2は、図1の通信システムで転送されるパケットのフォーマットを示す図である。
1つのパケットは、先頭から順に、イーサヘッダ、データ領域、トレイラが含まれる。
1つのデータ領域には、1つの共通ヘッダと、1つ以上のデータグラムとが含まれる。
1つのデータグラムには、ヘッダ、データ、トレイラが含まれる。

0023

図3(a)は、通信システムのマスタ装置1の構成図である。マスタ装置1は、CPU11と、通信制御部12と、メモリ14と、不揮発性記憶媒体15とがバス16で接続される。また、通信制御部12の先にはPHY13が接続されており、そのPHY13を介して他装置(スレーブ装置2)と通信が行われる。
CPU11は、不揮発性記憶媒体15からプログラムをメモリ14に転送して実行する。実行処理プログラムとしては、オペレーティングシステム(以下、OSと称す)やOS上で動作するアプリケーションプログラムが例示される。CPU11は、マルチコアCPU、メニーコアCPUを用いてもよい。

0024

通信制御部12は、CPU11上で動作するソフトウェアから送信要求、送信データを受け取り、PHY13を用いて制御ネットワーク9に対して送信する。また、制御ネットワーク9から受信したデータを、バス16を介してCPU11、メモリ14、不揮発性記憶媒体15へ転送する。通信制御部12の実装例としては、FPGA、CPLD、ASICゲートアレイなどのICが例示される。あるいは、CPU11と一体化して構成されてもよい。通信制御部12をMAC層PHY層を含めたIEEE 802.3通信デバイスとしてもよいし、また、PHY機能まで含めて通信制御部12に包含してもよい。この場合、通信制御部12の実装例としては、IEEE 802.3規格のMAC(Media Access Control)チップ、PHY(物理層)チップ、MACとPHYの複合チップを含む。なお、通信制御部12は、CPU11や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。

0025

PHY13は、制御ネットワーク9との通信機能を実装した送受信機ICである。PHY13の提供する通信規格としてIEEE 802.3のPHY(物理層)チップが例示される。なお、図示した構成では、PHY13と通信制御部12が接続されているので、IEEE 802.3のMAC(Media Access Control)層の処理は通信制御部12に含まれる。ただし、MAC機能を提供するICを通信制御部12とPHY13間に配置する構成や、MAC機能を提供するICとPHY13を組み合わせた通信用ICと通信制御部12を接続する構成にしてもよい。

0026

メモリ14は、CPU11が動作するための一時的な記憶領域であり、不揮発性記憶媒体15から転送したOS、アプリケーションプログラムなどが格納される。メモリ14として、スタティックRAMDRAM、NVRAMなどが挙げられる。
不揮発性記憶媒体15は、情報の記憶媒体で、OS、アプリケーションデバイスドライバなどや、CPU11を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。不揮発性記憶媒体15として、ハードディスクドライブ(HDD)やソリッドステートドライブSSD)、フラッシュメモリが例示される。また、取り外しが容易な外部記憶媒体として、フロッピー(登録商標)ディスクFD)、CD、DVD、ブルーレイ(登録商標)、USBメモリコンパクトフラッシュ(登録商標)などの利用が例示される。

0027

バス16は、CPU11、通信制御部12、メモリ14、不揮発性記憶媒体15をそれぞれ接続する。バス16を流れるバス信号は、通信制御部12と、バス16に接続する他のデバイス(CPU11、メモリ14、不揮発性記憶媒体15など)との通信を可能とする。通信するデータは、制御指令や計測データ、あるいは通信制御部12の設定や状態情報が例示される。バス16としては、PCIバスISAバスPCIExpressバス、システムバスメモリバスオンチップバスなどが例示される。
なお、マスタ装置1のハードウェア構成は、CPU11、通信制御部12、PHY13、メモリ14、不揮発性記憶媒体15のいずれか、または複数を一体化したIC、CPU、SoC(System on Chip)FPGAを用いてもよい。

0028

なお、マスタ装置1の各処理時間、通信遅延確定的でジッタが少ないことが望ましい。例えば、CPU11上で動作するソフトウェアにおいて、割込信号の優先度を高く設定し、他の割込と割込処理の影響を受けないように構成することが例示される。バス16上の転送においても、送信データ、受信データの転送時はバスを最優先に利用できるように設定することや、所定のバス帯域時間帯を確保、予約する構成が例示される。
また、通信制御部12の各機能部(図3(b)で後記)においても、確定的に処理する構成(例えば、データサイズにより、処理時間が一意に決定される)が望ましい。スレーブ装置2、中継装置3においても、通信処理時間、転送時間が確定的(データサイズにより、一意に決定される)であることが望ましい。

0029

図3(b)は、マスタ装置1の通信制御部12の構成図である。
通信制御部12は、パケット通信に関する処理部(バス接続部30と、通信処理部31と、送信部32と、受信部33と、時刻同期制御部38)と、割込信号に関する処理部(起算契機検知部34と、割込制御部35と、計時部41)と、記憶部(処理時間情報記憶部36と、ネットワーク情報記憶部37)とを含めて構成される。

0030

バス接続部30は、マスタ装置1のハードウェア構成において、バス16と接続する。バス接続部30は、バス16の通信仕様に応じて、CPU11やメモリ14と通信する。通信制御部12内においては、バス16から転送された通信データを通信処理部31と送受信する。通信制御部12に関する制御情報、状態情報を保持し、バス16を通じてCPU11から設定され、またはCPU11へ提示する。

0031

通信処理部31は、通信データの生成、抽出や通信データの転送または転送タイミングの制御などの通信処理を実行する。バス接続部30と通信するデータの形式は、アプリケーションデータのみの形式でもよい。この場合、通信処理部31において、送信時は制御ネットワーク9の通信プロトコルにしたがうようにヘッダなどを付与してもよいし、受信時は受信パケットから通信プロトコルのヘッダなどを取り除いてもよい。あるいは制御ネットワーク9のプロトコルにしたがったパケット形式でバス接続部30と通信してもよい。

0032

通信データの転送タイミングは、バス接続部30からデータを転送されて、所定の処理(ヘッダ付与など)実行後に送信部32へ転送してもよいし、時刻同期制御部38が通知する所定のタイミングまで待機してから、送信部32へデータを転送してもよい。この場合、ヘッダ付与などの処理は、バス接続部30からデータ転送後に実行してもよいし、時刻同期制御部38からのタイミング通知後に実行してもよい。なお、時刻同期制御部38からの所定タイミングの通知は、制御システム内で同期した時刻に基づくが、そのような同期した時刻ではなく、通信制御部12内の時刻に基づいて、データ転送を開始してもよい。

0033

上記の説明は、主に送信処理を対象としたが、受信処理でも同様である。すなわち、受信部33から転送されたデータをバス接続部30へ転送する場合である。
また、PHY13が複数ある場合やバス16に接続するデバイス(CPU11やメモリ14、その他IC)に転送する場合の宛先を制御してもよい。例えば、通信データに宛先を示す情報(バス16上のアドレス、PHY13の指定)を付加し、その情報に基づいて制御してもよい。

0034

送信部32は、通信制御部12における送信機能部であり、マスタ装置1から制御ネットワーク9に対してパケットを送信する。なお、通信制御部12、PHY13のいずれか、または複数で構成してもよい。
受信部33は、通信制御部12における受信機能部であり、制御ネットワーク9から送信されたパケットを受信する。なお、通信制御部12、PHY13のいずれか、または複数で構成してもよい。

0035

起算契機検知部34は、通信制御部12内の「起算契機」の発生を検知して、割込制御部35へ通知する(起算契機の発生を検知するための他の機能部との論理的接続関係は図示なし)。
起算契機とは、割込制御部35からCPU11に通知される割込信号の割込発生時刻t_s2(図5)までの割込待ち時間Tsの開始時刻(起算時刻t_s1)となる事象イベント)である。以下、起算契機を例示する。
起算契機(1)パケットの送信開始
起算契機(2)パケットの受信開始
起算契機(3)パケットの送受信とは関係ない所定時刻。例えば、他装置との間で同期処理が発生した時刻や、他装置とは関係なく1時間ごとなどの予め設定した時刻など。
起算契機(4)パケットに関する処理で異常が発生したとき

0036

ここで、起算契機(1)または(2)は、各機能部(通信処理部31、送信部32、受信部33)ごとの起算契機を識別可能としてもよい。例えば、通信処理部31が送信パケットの生成を開始した時刻と、送信部32が通信処理部31から通知された送信パケットの送信を開始した時刻とを、別々の起算契機としてもよい。

0037

そして、起算契機(1)として、1つの通信パケットを対象としてもよいし、連続して送る複数のパケットを対象としてもよい。例えば、複数のパケットのうちの最後のパケットに係る処理(送信、受信)を起算契機としてもよいし、所定個数ごと(例えば5個のパケットごと)のパケットに係る処理を起算契機としてもよい。
このとき、計時部41には複数の割込待ち時間Tsを設定され、それぞれの時間経過毎に割込制御部35へ時間経過を通知する。また、CPU11上で動作するソフトウェアから通信制御部12への送信設定方法において、起算契機とするかどうかで異なる設定方法送信開始要求受信要求)を有することで、通信処理部31はソフトウェアが指定したパケットに対して起算契機を選択することができる。

0038

あるいは、起算契機=(1)において、周期通信がなされる制御システムで複数回の周期通信後にまとめて受信データを用いたい場合は、起算後工程時間Tcに複数周期分加算してもよい。
(起算後工程時間Tc)=(1周期目での起算契機から演算処理開始までの時間)+(周期数−1)×(一つの周期の長さ)

0039

また、起算契機(3)の同期時刻について、例えば、スレーブ装置2が同期時刻に通信パケットをマスタ装置1に送信する場合や、スレーブ装置2において何らかのセンサ情報を計測してマスタ装置1に送信する場合を想定している。さらに、割込発生時刻t_s2を同期時刻として指定し、その同期時刻経過後すぐに割込信号を生成してもよい。あるいは、以下の各時刻を同期時刻としてもよい。
・送信データのバス転送処理(図4のS101)の開始時刻
パケット生成処理図4のS102)の開始時刻
パケット送信処理図4のS103)の開始時刻
また、マスタ装置1内の処理に基づいてタイミングを制御する場合を想定し、同期時刻ではなくマスタ装置1自身の時刻の所定時刻経過を起算契機としてもよい。

0040

割込制御部35は、処理時間情報記憶部36、ネットワーク情報記憶部37からの情報に基づいて、起算契機検知部34が起算契機を検知した後に割込信号を生成する。割込信号は、割込制御部35から起算契機の発生を通知する信号である。割込信号は、バス16の規格に含まれていてもよい。割込信号は、特に制御通信ソフトウェアを実行するCPU11に対して割込を通知する。
なお、処理時間情報記憶部36、ネットワーク情報記憶部37、割込制御部35による通信処理時間、通信遅延、経過時間の算出はマスタ装置1の通信制御部12で実現する構成を説明したが、別の装置で実現してもよい。

0041

処理時間情報記憶部36は、割込制御部35の割込生成に必要なマスタ装置1内の処理時間を保持する。そのような処理時間として、CPU11の処理性能(OS、アプリケーション含む)や処理時間、バス16、メモリ14のデータ転送性能転送データのサイズと関連する情報(プロトコルに関連する情報)、通信制御部12内の各機能の通信処理性能が例示される。例示のとおり、処理時間情報記憶部36は所定の通信処理時間だけでなく、通信処理時間の算出に必要な情報(処理性能、転送性能、データサイズなど)でもよい。

0042

ネットワーク情報記憶部37は、割込制御部35の割込生成に必要な制御ネットワーク9、スレーブ装置2、中継装置3の処理時間、転送遅延を保持する。そのような処理時間、転送遅延として、制御ネットワーク9の転送遅延、通信スループットトポロジ情報、スレーブ装置2の接続台数、スレーブ装置2に関する情報(処理時間、処理性能など)、制御ネットワーク9に中継装置3があればその情報(転送遅延、処理性能など)が例示される。例示のとおり、ネットワーク情報記憶部37は所定の通信処理時間だけでなく、通信処理時間の算出に必要な情報(装置台数トポロジなど)でもよい。
以上の算出または計測した通信処理時間、あるいは途中の計算結果、算出、計測に用いる情報は処理時間情報記憶部36、ネットワーク情報記憶部37のいずれか、または両方に保持、記憶することが例示される。

0043

時刻同期制御部38は、所定の時刻同期プロトコルにしたがって、制御ネットワーク9を構成するマスタ装置1、スレーブ装置2の時刻を同期する。時刻同期プロトコルとしては、IEEE 1588やNTP(Network Time Protocol)、SNTP(Simple Network Time Protocol)が挙げられる。同期する時刻は、協定世界時のように世界共通絶対時刻でも構わないし、制御システム内で共通の時刻でもよい。

0044

時刻同期制御部38は、CPU11上のソフトウェアで実現してもよいし(この場合、時刻誤差情報、通信遅延を時刻同期制御部38で保持してもよい)、通信制御部12をLSI(FPGA、CPLD含む)で構成した場合のハードウェア論理として実現してもよい。あるいはCPU11上のソフトウェアと通信制御部12の両方で構成してもよい。この場合は、時刻同期用パケット送信タイミング受信タイミング計測機能、あるいは時刻同期用パケットの生成を通信制御部12で処理することが例示される。

0045

計時部41は、所定時間の経過を計測して、割込制御部35に通知するタイマである。時間経過を計測できれば、絶対時刻や相対時刻を示す時計でもよいし、単位時間毎カウントアップまたはカウントダウンするカウンタでもよい。また、時刻そのものや時間の進み方を時刻同期制御部38によって制御されてもよい。他の実装として専用のタイマデバイスや、ハードウェアクロック、あるいはCPU11上で動作するソフトウェアによるソフトウェアクロックが例示される。

0046

図4は、通信制御部12のパケット処理を示すフローチャートである。このフローチャートでは、各処理ステップにおいて、その処理内容(例えばS101の「送信データのバス転送」)に加え、その処理に要する時間(例えばS101の「時間=Tbs」)を併記している。なお、各処理に要する時間は、条件(データサイズなど)と、マスタ装置1の各構成要素の性能や仕様(例えば制御ネットワーク9の通信スループット、通信制御部12内のオンチップバスの転送スループットなど)から、パケットの送信前に事前計算される。

0047

S101は、CPU11が送信データを作成し、その送信データをバス16を介して通信処理部31に転送する処理である。この処理時間(送信データバス転送時間Tbs)は、以下の式で計算される。
(送信データバス転送時間Tbs)=(送信データのサイズ)/(バス16の転送スループット)+(オーバーヘッド時間)
なお、オーバーヘッド時間は、バス通信プロトコルに基づく処理時間であり、例えば、バス調停によるバスの利用権を獲得するまでの時間や、データサイズに依存しないオーバーヘッドである。オーバーヘッド時間を0としてもよい。

0048

S102は、図2パケットフォーマットに従って、通信処理部31がS101の送信データ(1つ以上のサブデータ)を含む送信パケットを生成する処理である。この処理時間(パケット生成時間Tds)は、以下の式で計算される。
(パケット生成時間Tds)=(各サブデータの生成時間)の総和+(オーバーヘッド時間)
(各サブデータの生成時間)=(各サブデータのサイズ)/(通信処理部31の処理スループット)+(各サブデータのオーバーヘッド)
S103は、通信処理部31(送信部32)がS102の送信パケットを制御ネットワーク9を介してスレーブ装置2に送信する処理である。この処理時間(パケット送信時間Tps)は、後記の図7で示すように、ストア&フォワード方式やカットスルー方式などの転送方式によって異なり、またパケットサイズにも依存する。

0049

S110は、通信処理部31(受信部33)がS103の送信パケットが一巡して受信パケットとして戻ってくるのを待つ処理である。この待ち時間(ネットワーク転送時間Tn)は、パケットの経路上の各デバイスが要する時間の総和であり、以下の式で計算される。
(ネットワーク転送時間Tn)=(通信ケーブルの通過時間)の総和+(通過する各中継装置3内の転送遅延)の総和+(通過する各スレーブ装置2内の転送遅延)の総和+(オーバーヘッド時間)

0050

S111は、通信処理部31(受信部33)が(S110,Yes)で到着した受信パケットをメモリ14内に受信する処理である。この処理時間(パケット受信時間Tpr)もS103のパケット送信時間Tpsと同様に、後記の図7で示すように、ストア&フォワード方式やカットスルー方式などの転送方式によって異なる。
S112は、図2のパケットフォーマットに従って、通信処理部31がS111の受信パケットから受信データを抽出する時間である。この待ち時間(受信データ抽出時間Tdr)もS102のパケット生成時間Tdsと同様に、パケットを構成する複数のサブデータから計算できる。なお、CPU11がS102およびS112の少なくとも1つの処理を実行してもよい。
S113は、通信処理部31がS112で抽出した受信データをバス16を介してCPU11に転送する処理である。この処理時間(受信データバス転送時間Tbr)もS101の送信データバス転送時間Tbsと同様に、データサイズとバス転送スループットとから算出することができる。

0051

S114は、CPU11がS113の受信データを対象とした演算処理であり、演算時間Tpで実行される。この演算処理は、受信データに基づく制御指令値演算や、操作者のHMIによる指令値入力の取得などの時間であるが、例えば、スレーブ装置2がパケットに計測データを追記したときには、その計測データが異常値か否かを判定し、異常値の計測データが発生したときには、その旨をアラート出力する処理を含む。

0052

以上、各処理ステップとその所要時間について説明した。一方、マスタ装置1を実際に動作させて(試験用パケットまたは実データパケットをもとにしたベンチマーク処理)、各所要時間の実測値を取得してもよい。このような場合、通信制御部12とCPU11上で動作するソフトウェアを含む、マスタ装置1のハードウェア、ソフトウェアあるいは制御ネットワーク9に接続するスレーブ装置2、中継装置3のいずれか、または複数に計時機構をもうけて計測してもよい。
CPU11上で動作するソフトウェアと、通信制御部12の計時機構が同期していない場合は、該ソフトウェアで起算契機が発生した場合に、通信制御部12に計時指令を出し、通信制御部12内で計時してもよい。
これらの計測は、制御システム稼働前の事前試験計測してもよいし、制御システム稼働中に計測した時間を利用してもよい。計測を複数回繰り返して、計測値が複数の場合は、最悪値を利用してもよいし、平均値や所定の統計処理を適用した値を用いてもよい。また、計測値にばらつきがある場合は、所定のはずれ値を除いた値を対象に最悪値や統計処理した値を用いてもよい。

0053

図5(a)は、送信データのバス転送を割込待ち時間Tsの起算契機としたときのタイムチャートである。パケットに関する各工程に要する時間(先頭から順にTbs、Tds、Tps、Tn、Tpr、Tdr、Tbr)は、図4のフローチャートで説明した通りである。ここで、送信データバス転送時間Tbsの開始時刻をパケット発生時刻t_p1とし、受信データバス転送時間Tbrの終了時刻(≒演算時間Tpの開始時刻)をパケット演算時刻t_p2とする。

0054

さらに、図5(a)では、起算後工程時間Tc、割込待ち時間Ts、割込遅延時間Tiを定義する。
割込遅延時間Tiは、割込制御部35が割り込みを生成してから、CPU11上で動作する演算時間Tpの演算処理が起動するまでの遅延時間である。
(割込遅延時間Ti)=(通信制御部12からCPU11へ割込を通知するためにかかる時間)+(CPU11が割込を受けてから、割込に対応するソフトウェアを起動するまでの時間)+(一連の割込処理にかかるオーバーヘッド)
なお、第1項〜第3項のうちの第1項または第2項を省略してもよく、第3項を省略してもよい。

0055

起算後工程時間Tcは、起算契機の発生時刻(=起算時刻t_s1)以後、パケット演算時刻t_p2までのパケット処理の各工程時間の総和である。
図5(a)では、起算契機として、(1)送信開始(送信データバス転送時間Tbsの開始時刻)の場合を例示しており、起算後工程時間Tcは以下の式で計算される。
(起算後工程時間Tc)=(Tbs+Tds+Tps+Tn+Tpr+Tdr+Tbr)
図5(b)では、起算契機として、(3)同期時刻の場合を例示しており、起算後工程時間Tcは以下の式で計算される。
(起算後工程時間Tc)=(Tnb+Tpr+Tdr+Tbr)
なお、Tnbとはネットワーク転送時間Tnのうちの起算契機の発生後の残り時間である。

0056

割込待ち時間Tsは、起算時刻t_s1から割込信号を発生させる時刻(=割込発生時刻t_s2)までの時間である。
(割込待ち時間Ts)=(起算後工程時間Tc)−(割込遅延時間Ti)+(マージン
マージンは、0でも正の値でも負の値でもよい。ここで、割込待ち時間Tsを起算後工程時間Tcよりも割込遅延時間Tiの分だけ前倒しにすることで、割込発生時刻t_s2に発生させた割込信号がCPU11に届いて演算処理を起動させるタイミングを、受信データバス転送時間Tbrの終了時刻(受信データの処理準備が整う時刻)に近づけることができ、無駄な待ち時間を最小化できる。

0057

さらに、図5以外の起算契機でも同様に起算後工程時間Tcを計算できる。例えば、起算契機=(2)受信開始の場合、起算時刻t_s1=パケット受信時間Tprの開始時刻なので、起算後工程時間Tc=(Tpr+Tdr+Tbr)である。

0058

図6は、抽出データのバス転送処理を割込待ち時間Tsの起算契機としたときのタイムチャートである。起算時刻t_s1=受信データバス転送時間Tbrの開始時刻とする。
なお、図5では「起算後工程時間Tc>割込遅延時間Ti」であったが、図6では「起算後工程時間Tc<割込遅延時間Ti」である。よって、図5と同じ計算式を用いたときには、図6では、割込待ち時間Tsが負の値となってしまう。
そこで、割込待ち時間Ts=0とし、起算契機が発生した瞬間に割込信号を生成することとする。このとき、受信データバス転送時間Tbrの終了時刻t_p2よりも、割込遅延時間Tiを経て割込信号がCPU11で受け付けるパケット演算時刻t_p3が遅いため、その待ち時間Twが発生してしまう。

0059

以上、図5図6のタイムチャートを参照して、起算契機のちがいによる割込待ち時間Tsのちがいについて説明した。
図5(a)のように割込待ち時間Tsを長くしすぎると、その待ち時間に発生した予期せぬ変化(パケットサイズの変更)などにより、割込発生時刻t_s2の精度が落ちてしまうこともある。
図6のように割込待ち時間Tsを短くしすぎると、割込遅延時間Tiによる無駄な待ち時間が発生してしまう。
よって、割込待ち時間Tsの長さを割込遅延時間Tiよりも長くしつつ、あまり長すぎないように起算契機を選択することが望ましい。例えば、図5(a)の例では、割込遅延時間Tiよりも長い工程の時間は「Tdr+Tbr」なので、受信データ抽出時間Tdrの開始時刻を起算契機とすればよい。

0060

さらに、設定画面において管理者に設定させた「割込遅延時間Ti’」を、実際の「割込遅延時間Ti」の代わりに用いてもよい。
・(割込遅延時間Ti’)>(割込遅延時間Ti)の場合は、割込待ち時間Tsが実際より短くなることで割込発生時刻t_s2が早めになる。よって、受信データの転送完了後からCPU11が起動するまでの空白時間を減らすことができる。
・(割込遅延時間Ti’)<(割込遅延時間Ti)の場合は、割込待ち時間Tsが実際より長くなることで割込発生時刻t_s2が遅めになる。よって、CPU11がソフトウェアを起動した際には、受信データ転送完了の情報が示されているなど、受信データの転送が完了されていることが期待され、すぐに受信データの処理を開始できる。

0061

以上説明したように、ソフトウェアが起動した際に受信データの転送が完了しているかどうかを設定画面のGUIなどで確認できるようにすることで、管理者は起算契機の変更や設定の変更といった対応をとることができる。
対応の一例として、管理者は、設定画面の中継装置3やスレーブ装置2の台数を入力する手段を介して、各装置の台数を実際よりも多く設定したり、少なく設定したりすることで、それらの各装置の転送に要するネットワーク転送時間Tnを柔軟に変更できる。

0062

図7(a)は、ストア&フォワード方式でパケット転送をするときのタイムチャートである。
マスタ装置1の通信処理部31からスレーブ装置2に向けて送信されるパケットのデータは、各スレーブ装置2内で一度全てバッファリングしてから(パケット全体を受信し終えてから)、次のスレーブ装置2へと送信(転送)される。そのため、ネットワーク転送時間Tnとして、パケットのデータサイズに依存する処理時間がかかる。

0063

図7(b)は、カットスルー方式でパケット転送をするときのタイムチャートである。
スレーブ装置2は、前の装置から受信したパケットについて、データの宛先が判明した時点で次の装置へとデータ転送を開始する。そのため、以下に示すように、パケットサイズに依存する処理時間は、パケット送信時間Tpsとパケット受信時間Tprのどちらか一方のみに含まれ、他方は固定オーバーヘッドとなる。
(パケット送信時間Tps)=(通信処理部31の通信処理における固定オーバーヘッド)
(パケット受信時間Tpr)=(パケットサイズ)/(制御ネットワーク9の転送スループット)+(オーバーヘッド時間)
なお、送信部32や受信部33の処理時間は、Tpsの固定オーバーヘッドと、Tprのオーバーヘッド時間に含まれている。
(ネットワーク転送時間Tn)=(通過する各スレーブ装置2の固定オーバーヘッド)の総和

0064

図8は、通信制御部12の割込制御処理を示すフローチャートである。この割込制御処理は、図4転送処理並列に実行される。
S201として、割込制御部35は、図3(b)の起算契機検知部34で説明したように、割込信号の割込待ち時間Tsの開始時刻となる起算契機を決定する。

0065

S202として、割込制御部35は、図5で説明したように、S201で決定した起算契機をもとに、その起算後工程時間Tcと割込遅延時間Tiとから割込待ち時間Tsを決定する。
なお、S201,S202の計算を行う回数は1回でもよいし、2回以上(再計算)としてもよい。再計算された場合は、前回の計算結果を破棄して、今回の再計算された結果をもとに再度図8の処理を最初から実行すればよい。

0066

再計算する契機としては、例えば、図6のように「起算後工程時間Tc<割込遅延時間Ti」となるとき、毎回の演算処理(S114)の後、データサイズの変化などによりネットワーク転送時間Tnが当初の見積もりから変化したとき(変化の度合いが所定のしきい値を超えた場合)などが挙げられる。
例えば、割込制御部35は、送信サイズが小さいものとしてパケット送信時(S103)を起算契機とした後、スレーブ装置2がデータを付加することでパケットサイズが増加したときには、そのパケットのパケット受信時(S111)を新たな起算契機として、割込待ち時間Tsを再計算すればよい。
または、起算契機をパケット受信(S111)の開始としていたが、CPU11上で動作するソフトウェアの負荷が高まる場合や、優先度の高い割込が追加されるなどして、割込遅延時間Tiが長くなり、「起算後工程時間Tc<割込遅延時間Ti」となった場合は、起算契機をパケット送信(S103)の開始に変更してもよい。

0067

このように起算契機を動的に変更してもよい。起算契機を変更する場合は、割込待ち時間Tsを起算契機ごとに処理時間情報記憶部36、割込制御部35のいずれか、または複数に保持し、CPU11上で動作するソフトウェアに通知する。また、起算契機の設定手段をCPU11上で動作するソフトウェアが用意してもよい。これにより、状況にあわせてソフトウェアは任意の起算契機を選択することができる。

0068

S203として、割込制御部35は、起算契機検知部34にS201の起算契機を設定し、計時部41にS202の割込待ち時間Tsを設定する。
S210として、割込制御部35は、起算契機検知部34に設定された起算契機が発生するまで待機する。
S211として、割込制御部35は、起算契機が発生した後に、計時部41に対してS203で設定した割込待ち時間Ts分のタイマ(計時)を開始する。なお、S203の計時部41に対する割込待ち時間Tsの設定処理は、S210の処理の後でもよい。このようにすれば、起算契機発生後に、処理時間に影響する状況が確定する場合に対応することができる。
S212として、割込制御部35は、計時部41に設定された割込待ち時間Tsが経過するまで待機する。
S213として、割込制御部35は、割込信号を生成し、割込信号の伝送路活性化し、その伝送路を介して割込信号をCPU11に通知する。

0069

図9は、図8の割込制御処理に対して異常割込処理(S210b,S210c,S213b)を追加したフローチャートである。これにより、起算契機=(4)処理異常にも対処できる。
S210bとして、起算契機の発生後(S210,Yes)の異常を起算契機検知部34または割込制御部35が検出すると(S210b,Yes)、その異常を割込制御部35に通知して、処理をS213bへと進める。なお、受信データ抽出(S112)または抽出データのバス転送(S113)以降を起算契機とすれば、パケット全体を受信し終えているため、例えば、IEEE 802.3のCRC(Cyclic Redundancy Check)の確認によって、パケットの異常(データ化け、データの欠損など)を判定することができる。

0070

なお、前記のCRC異常の他に、検出対象の異常を以下に例示する。
図2に例示したような制御ネットワーク9のプロトコルに、パケットのデータフォーマットがしたがっていないこと
・所定の時間経過してもマスタ装置1がパケットを受信しないタイムアウト異常
・スレーブ装置2、中継装置3が異常を検出してマスタ装置1へ通知した異常

0071

S210cも、S210bと同様に異常を検出する処理であるが、割込待ち時間Tsのタイマ開始(S211)の後でも異常を検出する。
そして、S213bとして、S210bまたはS210cで検出された異常を通知された割込制御部35は、S213の通常の割込信号を割込発生時刻t_s2に生成する代わりに、割込待ち時間Tsを待たずに直ちに異常が発生したことを示す割込信号を生成する。この割込信号を受けたCPU11は、パケット演算時刻t_p2にパケット処理を起動する必要がなくなる。なお、正常な受信データのみを必要とし、特に異常発生時に対応する必要がない場合は、S213bの割込信号を発生させなくともよい。

0072

あるいは、S210bまたはS210cの異常発生時点を起算契機(4)としてもよい。この場合、異常パケット(パケットを受信している異常の場合)をCPU11(実行されるソフトウェア)に転送して異常要因解析することができる。あわせて、起算契機検知部34が異常と判定した結果や関連情報をパケットデータに付加してもよいし、あるいは起算契機検知部34自身が、その情報を保持してCPU11上で動作するソフトウェアに開示してもよい。

0073

以上説明した本実施形態によれば、割込待ち時間Tsを計算するときに、あらかじめ割込遅延時間Tiの分だけ引き算して割込発生時刻t_s2を前倒しにすることで、パケット演算時刻t_p2を受信データバス転送時間Tbrの終了時刻に近づけることができる。よって、パケットが処理可能な状態になっても割込信号の発生前でCPU11が起動していない状態(割込信号の発生遅れ)や、パケットが処理可能な状態にならないうちにCPU11が割込信号で起動してしまった状態(割込信号の早すぎる発生)を減らすことができる。

0074

これにより、高速周期通信、演算処理時間の増加、高速な応答処理が可能である。また、異常発生時は余計な割込みを発生させることなく、計算機資源を有効に活用できる。
さらに、管理装置8は、割込み生成タイミングに必要な情報の保持や情報の算出を実行することで、柔軟なシステム構成や、システム構成の変更に応じて、本発明を最適に継続して実現、提供させることができる。

0075

なお、前記の説明ではCPU11が起動する条件として、割込信号を受信したことだけを記載したが、割込信号を受信したことに加えて、さらに別の条件を満たすときとしてもよい。以下、別の条件の一例として、パケットの受信を示すメモリフラグがメモリ14上に書き込まれたこととする場合を説明する。

0076

まず、割込信号を生成し、CPU11上で動作するソフトウェアが起動した場合、バス転送や受信処理時間のジッタにより、メモリ14への受信データ転送が完了していない場合があり得る。そこで、受信データ転送の完了を判断するため、通信制御部12が、受信データに関連するメモリ14の所定領域を更新(メモリフラグを書き込む)し、データ転送完了を示してもよい。
そのため、例えば、パケットデータの管理情報をメモリ14上にもうけ、受信データ転送後に、受信完了かどうかを示す領域を通信制御部12がメモリフラグ「1」にする。加えて、ソフトウェアが該受信データを利用後に、該領域をメモリフラグ「0」とする。あるいはメモリ14上の領域ではなく、転送完了したかどうかを通信制御部12が保持し、CPU11に通知してもよい。

0077

ソフトウェアは割込信号によって起動後、メモリフラグの領域を確認する。もし、メモリフラグ「0」なら、ポーリング処理により、当該領域を継続的に監視してもよい。ポーリング処理は、計算機資源(プロセッサなど)を占有するために、CPU11上で動作するソフトウェアの処理スループットが低下し得るが、上記構成を用いれば割込信号による起動後にポーリングするため、ポーリングによる占有時間は受信データ転送処理のジッタ程度に制限することができる。これにより、ポーリング処理によるスループット低下を最小限にすることができる。
これは、例えば、低頻度で受信データ転送時間が長くなる場合にも有効である。ほとんどの場合では割込信号起動後に演算処理を即座に実行でき、受信データ転送時間が長くなった場合のみ、ポーリングすることで、割込信号による待ち時間を最小化しながら、CPU11上で動作するソフトウェアの処理スループットを向上させることができる。

0078

なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。

0079

各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、IC(IntegratedCircuit)カードSDカード、DVD(Digital Versatile Disc)などの記録媒体に置くことができる。
また、制御線情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
さらに、各装置を繋ぐ通信手段は、無線LANに限定せず、有線LANやその他の通信手段に変更してもよい。

0080

1マスタ装置(通信制御装置)
2スレーブ装置
3中継装置
8管理装置
9制御ネットワーク
11 CPU
12通信制御部
13 PHY
14メモリ
15不揮発性記憶媒体
16バス
30バス接続部
31通信処理部
32 送信部
33 受信部
34 起算契機検知部
35割込制御部
36処理時間情報記憶部
37ネットワーク情報記憶部
38時刻同期制御部
41 計時部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ