JP2020129318A - サイクリック伝送装置 - Google Patents

サイクリック伝送装置 Download PDF

Info

Publication number
JP2020129318A
JP2020129318A JP2019022288A JP2019022288A JP2020129318A JP 2020129318 A JP2020129318 A JP 2020129318A JP 2019022288 A JP2019022288 A JP 2019022288A JP 2019022288 A JP2019022288 A JP 2019022288A JP 2020129318 A JP2020129318 A JP 2020129318A
Authority
JP
Japan
Prior art keywords
board
input information
unit
transmission
information
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
Application number
JP2019022288A
Other languages
English (en)
Inventor
洋一 岡野
Yoichi Okano
洋一 岡野
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2019022288A priority Critical patent/JP2020129318A/ja
Publication of JP2020129318A publication Critical patent/JP2020129318A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】多重化されたI/Oボードを有するサイクリック伝送装置の信頼性を向上する。【解決手段】サイクリック伝送装置1は、外部装置から入力信号を受信する第1のI/Oボード2aおよび第2のI/Oボード2bと、第1のI/Oボードおよび第2のI/Oボードと接続可能な通信ボード2dと、通信ボードと接続するメインボード10とを備える。第1のI/Oボード、第2のI/Oボード、および通信ボードの各々は、コモンメモリ25a、25b、25c、25dを備える。コモンメモリの各々は、第1の入力情報を記憶するための記憶領域と、第2の入力情報を記憶するための記憶領域と、偏差情報を記憶するための記憶領域とを有する。メインボードは、第1の入力情報と第2の入力情報との差分を算出する。通信ボードは、メインボードから取得した偏差情報を第1のI/Oボードおよび第2のI/Oボードに伝送する。【選択図】図3

Description

本発明の実施形態は、サイクリック伝送装置に関する。
従来から、産業プラント(以下、プラントという)等を制御する装置において、ネットワークに接続された複数のI/O(Input/Output)ボードが周期的にサイクリック伝送を行う構成が知られている。
また、このようなI/Oボードを多重化することにより、当該装置の信頼性を向上させる技術も知られている。例えば、複数のI/Oボードが同一の外部装置から入力信号を受信することによって、いずれかのI/Oボードが動作を停止した場合に、他のI/Oボードが受信した入力信号に基づいて処理を継続する技術が知られている。
特開2002−111691号公報 特開2007−226445号公報 特開2007−323457号公報
しかしながら、複数のI/Oボードに対して同一の外部装置から入力信号が入力される場合に、複数のI/Oボード間で入力値の差異が生じる場合がある。このため、従来技術においては、サイクリック伝送装置のI/Oボードを多重化した場合であっても、複数のI/Oボードのいずれかが動作を停止した場合に、処理をスムーズに継続することが困難な場合があった。このため、多重化されたI/Oボードを有するサイクリック伝送装置の信頼性の向上が望まれていた。
実施形態のサイクリック伝送装置は、外部装置から入力信号を受信する第1のI/Oボードおよび第2のI/Oボードと、第1のI/Oボードおよび第2のI/Oボードと伝送線で接続可能な通信ボードと、通信ボードと接続するメインボードと、を備える。第1のI/Oボード、第2のI/Oボード、および通信ボードの各々は、コモンメモリを備える。コモンメモリの各々は、第1のI/Oボードが外部装置から受信した入力信号を示す第1の入力情報を記憶するための記憶領域と、第2のI/Oボードが外部装置から受信した入力信号を示す第2の入力情報を記憶するための記憶領域と、第1の入力情報と第2の入力情報との差分を示す偏差情報を記憶するための記憶領域とを有する。メインボードは、通信ボードから第1の入力情報と、第2の入力情報とを取得する第1の取得部と、第1の入力情報と、第2の入力情報との差分を算出する演算部と、差分を示す偏差情報を通信ボードに送信する第1の送信部と、を備える。第1のI/Oボードは、第1のI/Oボードのコモンメモリに保存された第1の入力情報を、サイクリック伝送によって第2のI/Oボードおよび通信ボードに伝送する第1の伝送部を備える。第2のI/Oボードは、第2のI/Oボードのコモンメモリに保存された第2の入力情報を、サイクリック伝送によって第1のI/Oボードおよび通信ボードに伝送する第2の伝送部を備える。通信ボードは、メインボードに第1の入力情報と、第2の入力情報とを送信する第2の送信部と、メインボードから偏差情報を取得し、取得した偏差情報を通信ボードのコモンメモリに保存する第2の取得部と、通信ボードのコモンメモリに保存された偏差情報を、サイクリック伝送によって第1のI/Oボードおよび第2のI/Oボードに伝送する第3の伝送部と、を備える。
図1は、第1の実施形態にかかるコントローラの全体構成の一例を示す図である。 図2は、第1の実施形態にかかるサイクリック伝送による各ステーション間のデータ共有について説明するための図である。 図3は、第1の実施形態にかかるサイクリック伝送を実行するステーションおよびメインボードの機能的構成の一例を示すブロック図である。 図4は、第1の実施形態にかかる第1のI/Oボードで実行される処理の流れの一例を示すフローチャートである。 図5は、第1の実施形態にかかる第2のI/Oボードで実行される処理の流れの一例を示すフローチャートである。 図6は、第1の実施形態にかかる偏差情報の算出処理の流れの一例を示すフローチャートである。 図7は、第1の実施形態にかかる入力情報の切り替え処理の流れの一例を示すフローチャートである。 図8は、第2の実施形態にかかるサイクリック伝送を実行するステーションおよびメインボードの機能的構成の一例を示すブロック図である。 図9は、第2の実施形態にかかる偏差情報の算出および第2の入力情報の補正の処理の流れの一例を示すフローチャートである。 図10は、第3の実施形態にかかるサイクリック伝送を実行するステーションおよびメインボードの機能的構成の一例を示すブロック図である。
(第1の実施形態)
図1は、本実施形態にかかるコントローラ1の全体構成の一例を示す図である。図1に示すように、コントローラ1は、メインボード10と、第1のI/O(Input/Output)ボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとを備える。コントローラ1は、本実施形態におけるサイクリック伝送装置の一例である。
メインボード10は、コントローラ1全体を制御する回路基板であり、CPU等のプロセッサと、メモリとを備える。メモリは、例えばROM、RAM、フラッシュメモリ等である。メインボード10は、通信ボード2dと内部バス11を介して接続している。
第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとは、一例として、それぞれイーサネット(登録商標)コントローラと、マイクロコントローラ(マイコン)と、メモリとを備える回路基板である。また、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとは、伝送路5を介して接続している。以下、第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2dが備えるメモリを、コモンメモリという。伝送路5は、例えば(Local Area Network)ケーブルである。以下、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cとを総称する場合は、I/Oボード2という。
第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cとは、外部装置との間で信号の入出力をする回路基板である。本実施形態においては、第1のI/Oボード2aと、第2のI/Oボード2bとは、センサ4aからパルス信号を受信する。また、第3のI/Oボード2cは、センサ4bからパルス信号を受信する。パルス信号は本実施形態における入力信号の一例である。
センサ4aは、例えば、モータの回転を検出するエンコーダであり、検出結果をパルス信号として第1のI/Oボード2aと、第2のI/Oボード2bとに入力する。センサ4aは、本実施形態における外部装置の一例である。また、センサ4bは、センサ4aとは検出対象が異なるセンサであり、検出結果をパルス信号として第3のI/Oボード2cに入力する。
通信ボード2dは、第1のI/Oボード2a、第2のI/Oボード2b、および第3のI/Oボード2cと伝送線で接続可能である。本実施形態においては、通信ボード2dは、第1のI/Oボード2a、第2のI/Oボード2b、および第3のI/Oボード2cがセンサ4aまたはセンサ4bから受信した入力信号を示す入力情報を、伝送路5を介して受信する。また、通信ボード2dは、受信した入力情報を、内部バス11を介してメインボード10に送信する。伝送路5は、本実施形態における伝送線の一例である。
第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとは、伝送路5を介して周期的にデータをサイクリック伝送する。ここで、サイクリック伝送を行う機器である第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとを、ステーションという。
サイクリック伝送においては、各ステーション(第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2d)の送信権はトークンパッシング方式によって決定される。つまり、サイクリック伝送を行う各ステーションのうち、伝送路5を介してトークンを受信したステーションがデータの送信権を有する。データの送信権を取得したステーションは、同報通信(ブロードキャスト)によって、他の全てのステーションに対してデータを送信する。本実施形態においては、トークンは、アクセスアドレスの順に巡回するものとする。具体的には、第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、通信ボード2dの順に、ブロードキャストを実行する。
図2は、本実施形態にかかるサイクリック伝送による各ステーション間のデータ共有について説明するための図である。第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2dの各々は、コモンメモリ25a〜25dを備える。以下、コモンメモリ25a〜25dを特に区別しない場合は、単にコモンメモリ25という。各コモンメモリ25の容量は同一であるものとする。
各コモンメモリ25のメモリ空間は、送信用データを格納する記憶領域と、他のステーションからブロードキャストされたデータを保存する記憶領域とに分かれている。各データの格納先の記憶領域は、予め定められているものとする。
例えば、図2に示すように、第1のI/Oボード2aから送信されたデータは、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2dのコモンメモリ25b〜25dの予め定められた記憶領域に保存される。同様に、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2dから送信されたデータも、他のステーションのコモンメモリ25の予め定められた記憶領域にそれぞれ保存される。
次に、このようなサイクリック伝送を行うコントローラ1において、I/Oボード2を多重化する構成について説明する。本実施形態においては、複数のI/Oボード2が、同一の外部装置から入力信号を受信することを、I/Oボード2の多重化という。
図3は、本実施形態にかかるサイクリック伝送を実行するステーションおよびメインボード10の機能的構成の一例を示すブロック図である。図3に示すように、第1のI/Oボード2aと、第2のI/Oボード2bとは、センサ4aからパルス信号を受信する。すなわち、本実施形態においては、第1のI/Oボード2aと、第2のI/Oボード2bとが多重化(本実施形態の例では二重化)されている。また、第1のI/Oボード2aおよび第2のI/Oボード2bは、センサ4aから受信した入力信号を示す入力情報を、サイクリック伝送によって他のステーションに伝送する。
このように、コントローラ1がI/Oボード2が多重化された構成を備えることによって、例えば、第1のI/Oボード2aと第2のI/Oボード2bとのいずれか一方でエラーが発生しても、他方が稼働を継続していれば、他のステーションへの入力情報の伝送を継続することができる。
本実施形態においては、第1のI/Oボード2aがセンサ4aから受信した入力信号を示す入力情報を、第1の入力情報という。また、第2のI/Oボード2bがセンサ4aから受信した入力信号を示す入力情報を、第2の入力情報という。より具体的には、第1の入力情報は、第1のI/Oボード2aが、センサ4aから受信したパルス信号を計数した累計値である。また、第2の入力情報は、第2のI/Oボード2bが、センサ4aから受信したパルス信号を計数した累計値である。各I/Oボード2における計数処理については後述する。なお、累計値はカウント値ともいう。
本実施形態においては、第1のI/Oボード2aと第2のI/Oボード2bの両方が正常に稼働している場合には、メインボード10は、第1の入力情報を処理に利用する。また、第1のI/Oボード2aでエラーが発生した場合には、メインボード10は、第2の入力情報を処理に利用するものとする。メインボード10が第1の入力情報と第2の入力情報のいずれを優先的に使用するかは、予め定められているものとする。
まず、メインボード10の機能的構成について説明する。
図3に示すように、メインボード10は、第1の取得部101と、演算部102と、第1の送信部103と、制御部104と、記憶部105とを備える。第1の取得部101と、演算部102と、第1の送信部103と、制御部104とは、メインボード10のプロセッサがメモリからプログラムを読み出して実行することにより実現される機能である。
第1の取得部101は、通信ボード2dから、通信ボード2dのコモンメモリ25dに保存された第1の入力情報と、第2の入力情報とを取得する。通信ボード2dのコモンメモリ25dに保存された第1の入力情報と、第2の入力情報とは、サイクリック伝送により、第1のI/Oボード2aと第2のI/Oボード2bからそれぞれ伝送されたデータである。第1の取得部101は、取得した第1の入力情報と、第2の入力情報とを記憶部105に保存する。また、第1の取得部101は、第1の入力情報と第2の入力情報だけではなく、通信ボード2dのコモンメモリ25dに保存された全てのデータを取得し、取得したデータを記憶部105に保存するものとしても良い。
ここで、第1のI/Oボード2aと第2のI/Oボード2bは、共に、センサ4aからパルス信号の入力を受けているが、第1の入力情報と、第2の入力情報とに差異が生じる場合がある。このような差異は、例えば、センサ4aから第1のI/Oボード2aへパルス信号が入力されるタイミングと、センサ4aから第2のI/Oボード2bへパルス信号が入力されるタイミングとに差異がある場合、または、第1のI/Oボード2aと第2のI/Oボード2bの起動タイミングが異なる場合などに発生する。パルス信号が入力されるタイミングの差異は、例えば、センサ4aから第1のI/Oボード2aへの伝送路の長さと、センサ4aから第2のI/Oボード2bへの伝送路の長さとが異なる場合に発生する場合がある。
そこで、演算部102は、第1の入力情報と、第2の入力情報との差分(偏差)を算出する。第1の入力情報と第2の入力情報との差分を示す情報を、偏差情報という。本実施形態においては、偏差情報は、演算部102が、第1の入力情報の値から第2の入力情報の値を減算した値であるものとする。例えば、第1の入力情報が“100”、第2の入力情報が“98”の場合、偏差情報は“+2”となる。また、第1の入力情報が“100”、第2の入力情報が“102”の場合、偏差情報は“−2”となる。演算部102は、算出した偏差情報を、記憶部105に保存する。
また、制御部104は、記憶部105に保存された各種の情報に基づいて、コントローラ1の全体を制御する。制御部104は、記憶部105に保存された第1の入力情報と第2の入力情報とのうち、通常は第1の入力情報を処理に用いるものとする。また、制御部104は、第1のI/Oボード2aが故障等によって第1の入力情報の伝送を停止した場合には、第2の入力情報を用いて処理を継続する。
第1の送信部103は、演算部102によって算出された偏差情報を記憶部105から読み出す。第1の送信部103は、読み出した偏差情報を通信ボード2dに送信する。
記憶部105は、第1の取得部101が通信ボード2dから取得した各種のデータと、演算部102によって算出された偏差情報とを記憶する。また、記憶部105の記憶容量は、コモンメモリ25よりも大きくても良い。例えば、記憶部105は、通信ボード2dのコモンメモリ25dに保存されたデータに加えて、メインボード10での処理で用いられる各種のデータを記憶するものとしても良い。記憶部105は、例えばRAMやフラッシュメモリ等である。
次に、サイクリック伝送を実行する第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、通信ボード2dの機能的構成について説明する。
第1のI/Oボード2aは、第1のカウンタ21aと、コモンメモリ25aと、第1の伝送部22aと、第1の受信部23aとを備える。
第1のカウンタ21aは、センサ4aから受信したパルス信号を計数(カウント)する。第1のカウンタ21aは、パルス信号の累計値を、コモンメモリ25aの送信用データの格納領域に保存する。当該累計値は、第1のI/Oボード2aがセンサ4aから受信した入力信号を示す第1の入力情報である。第1のカウンタ21aは、本実施形態における第1の計数部の一例である。
第1の伝送部22aは、コモンメモリ25aの送信用データを記憶するための所定の記憶領域に保存された第1の入力情報をサイクリック伝送する。より詳細には、第1の伝送部22aは、トークンを取得した場合に、第1の入力情報をブロードキャストする。また、第1の伝送部22aは、第1のI/Oボード2aでエラーが発生した場合には、第1の入力情報のブロードキャストを停止する。
第1の受信部23aは、他のステーションからサイクリック伝送されたデータを受信する。第1の受信部23aは、受信したデータをコモンメモリ25aに保存する。具体的には、第1の受信部23aは、第2のI/Oボード2bによってサイクリック伝送された第2の入力情報と、第3のI/Oボード2cによってサイクリック伝送された第3の入力情報と、通信ボード2dによってサイクリック伝送された偏差情報と、をコモンメモリ25aの予め定められた記憶領域にそれぞれ保存する。
また、第1の受信部23aは、他のステーションのうちのいずれかが、送信権を有しているにも関わらずデータを送信しない場合に、当該ステーションでエラーが発生したと判断する。この場合、第1の受信部23aは、コモンメモリ25aの記憶領域のうち、当該ステーションから送信されたデータを格納するための記憶領域に、当該ステーションがデータ送信を停止していることを示す停止フラグを立てる。
また、第2のI/Oボード2bは、第2のカウンタ21bと、コモンメモリ25bと、第2の伝送部22bと、第2の受信部23bと、補正部24とを備える。
第2のカウンタ21bは、センサ4aから受信したパルス信号を計数する。また、第2のカウンタ21bは、パルス信号の累計値を、補正部24に送出する。当該累計値は、第2のI/Oボード2bがセンサ4aから受信した入力信号を示す第2の入力情報である。第2のカウンタ21bは、本実施形態における第2の計数部の一例である。
補正部24は、コモンメモリ25bに保存された偏差情報に基づいて、第2のカウンタ21bによるパルス信号の累計値(第2の入力情報)を補正する。例えば、偏差情報が“+2”の場合、補正部24は、第2の入力情報に“2”を加算する。また、偏差情報が“−2”の場合、補正部24は、第2の入力情報から“2”を減算する。補正部24は、補正した累計値(第2の入力情報)をコモンメモリ25bの予め定められた記憶領域に保存する。補正部24は、本実施形態における第1の補正部の一例である。
また、補正部24は、偏差情報がコモンメモリ25bに保存されていない場合は、第2のカウンタ21bによるパルス信号の累計値(第2の入力情報)を、変更せずに、コモンメモリ25bに保存する。
第2の伝送部22bは、コモンメモリ25bの送信用データを記憶するための所定の記憶領域に保存された第2の入力情報をサイクリック伝送する。より詳細には、第2の伝送部22bは、トークンを取得した場合に、第2の入力情報をブロードキャストする。また、第2の伝送部22bは、第2のI/Oボード2bでエラーが発生した場合には、第2の入力情報のブロードキャストを停止する。
第2の受信部23bは、他のステーションからサイクリック伝送されたデータを受信し、受信したデータをコモンメモリ25bに保存する。具体的には、第2の受信部23bは、第1のI/Oボード2aによってサイクリック伝送された第1の入力情報と、第3のI/Oボード2cによってサイクリック伝送された第3の入力情報と、通信ボード2dによってサイクリック伝送された偏差情報と、をコモンメモリ25aの予め定められた記憶領域にそれぞれ保存する。
また、第2の受信部23bは、他のステーションのうちのいずれかが、送信権を有しているにも関わらずデータを送信しない場合に、コモンメモリ25bの記憶領域のうち、当該ステーションから送信されたデータを格納するための記憶領域に、当該ステーションがデータ送信を停止していることを示す停止フラグを立てる。
第3のI/Oボード2cは、第3のカウンタ21cと、第4の伝送部22cと、第4の受信部23cと、コモンメモリ25cとを備える。第3のカウンタ21cは、センサ4bから受信したパルス信号を計数し、累計値を、コモンメモリ25cの送信用データを格納するための記憶領域に保存する。当該累計値を、第3の入力情報とする。また、第4の伝送部22cはコモンメモリ25cの送信用データを格納するための記憶領域に保存された第3の入力情報をサイクリック伝送する。
第4の受信部23cは、他のステーションからサイクリック伝送されたデータを受信し、受信したデータをコモンメモリ25cの予め定められた記憶領域に保存する。また、第4の受信部23cは、他のステーションのうちのいずれかが、送信権を有しているにも関わらずデータを送信しない場合に、コモンメモリ25cの記憶領域のうち、当該ステーションから送信されたデータを格納するための記憶領域に、当該ステーションがデータ送信を停止していることを示す停止フラグを立てる。
通信ボード2dは、第2の取得部26と、第2の送信部27と、第3の伝送部22dと、第3の受信部23dと、コモンメモリ25dとを備える。
第2の送信部27は、メインボード10にコモンメモリ25dに記憶された第1の入力情報と、第2の入力情報と、第3の入力情報とをメインボード10に送信する。
第2の取得部26は、メインボード10から偏差情報を取得する。第2の取得部26は、偏差情報をコモンメモリ25dの送信用データを記憶するための所定の記憶領域に保存する。
第3の伝送部22dは、コモンメモリ25dに保存された偏差情報を、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cとにサイクリック伝送する。
また、第3の受信部23dは、他のステーションからサイクリック伝送されたデータを受信し、受信したデータをコモンメモリ25dの予め定められた記憶領域に保存する。また、第3の受信部23dは、他のステーションのうちのいずれかが、送信権を有しているにも関わらずデータを送信しない場合に、コモンメモリ25dの記憶領域のうち、当該ステーションから送信されたデータを格納するための記憶領域に、当該ステーションがデータ送信を停止していることを示す停止フラグを立てる。
以下、第1の伝送部22aと、第2の伝送部22bと、第3の伝送部22dと、第4の伝送部22cとを特に区別しない場合は、単に伝送部22という。また、第1の受信部23aと、第2の受信部23bと、第3の受信部23dと、第4の受信部23cとを特に区別しない場合は、単に受信部23という。伝送部22と、受信部23とは、例えば、イーサネット(登録商標)コントローラによって実現される。あるいは、伝送部22と、受信部23とは、マイクロコントローラによって実現されても良い。
次に、以上のように構成された本実施形態のコントローラ1で実行される処理の流れについて説明する。
図4は、本実施形態にかかる第1のI/Oボード2aで実行される処理の流れの一例を示すフローチャートである。まず、第1のカウンタ21aは、センサ4aからパルス信号を受信すると、当該パルス信号を計数する(S1)。そして、第1のカウンタ21aは、パルス信号の累計値(第1の入力情報)を、コモンメモリ25aに保存する(S2)。
そして、第1の伝送部22aは、自装置(第1のI/Oボード2a)宛のトークンを受信したか否かに基づいて、送信権を獲得したか否かを判断する(S3)。第1の伝送部22aは、送信権を獲得したと判断した場合に(S3“Yes”)、第1の入力情報を、他のステーションに対してブロードキャストする(S4)。
また、第1の伝送部22aは、送信権を獲得していないと判断した場合には(S3“Yes”)、他のステーションからデータを受信したか否かを判断する(S5)。第1の伝送部22aは、他のステーションからデータを受信した場合(S5“Yes”)、当該データをコモンメモリ25aに保存する(S6)。その後は、S1の処理に戻るものとする。
また、第1の伝送部22aは、他のステーションからデータを受信していない場合(S5“No”)、現時点で送信権を有しているステーションが送信権を獲得してから、所定の時間が経過したか否かを判断する(S7)。第1の伝送部22aは、伝送路5内で各ステーション間を転送されているトークンフレームに登録された情報から、他のステーションのうちのいずれが送信権を有しているかを判断できるものとする。
第1の伝送部22aは、現時点で送信権を有しているステーションが送信権を獲得してから、所定の時間が経過していないと判断した場合(S7“No”)、S7の処理を繰り返す。また、第1の伝送部22aは、現時点で送信権を有しているステーションが送信権を獲得してから、所定の時間が経過したと判断した場合(S7“Yes)、コモンメモリ25aの記憶領域のうち、当該ステーションの送信データを格納するための所定の記憶領域に、当該ステーションがデータ送信を停止していることを示す停止フラグを設定する(S8)。その後は、S1の処理に戻るものとする。
このフローチャートの処理は、第1のI/Oボード2aが起動している間は繰り返し実行されるものとする。
次に、第2のI/Oボード2bで実行される処理について説明する。
図5は、本実施形態にかかる第2のI/Oボード2bで実行される処理の流れの一例を示すフローチャートである。
まず、第2のカウンタ21bは、センサ4aからパルス信号を受信すると、当該パルス信号を計数する(S11)。第2のカウンタ21bは、累計値を補正部24に送出する。
次に、補正部24は、コモンメモリ25bに偏差情報が既に保存されているか否かを判断する(S12)。メインボード10によって算出された偏差情報が、通信ボード2dによって既に各ステーションにブロードキャストされている場合、コモンメモリ25bには偏差情報が保存されている。
補正部24は、コモンメモリ25bに偏差情報が保存されていると判断した場合(S12“Yes”)、第2のカウンタ21bによって計数された累計値(第2の入力情報)を、偏差情報で補正する。そして、補正部24は、補正後の第2の入力情報を、コモンメモリ25bに保存する(S13)。
また、メインボード10がまだ偏差情報の算出をしていない場合、コモンメモリ25bにはまだ偏差情報が保存されていない。補正部24は、コモンメモリ25bに偏差情報が保存されていないと判断した場合(S12“No”)、第2のカウンタ21bによって計数された累計値(第2の入力情報)を、補正せずに、コモンメモリ25bに保存する(S14)。
そして、第2の伝送部22bは、自装置(第2のI/Oボード2b)宛のトークンを受信したか否かに基づいて、送信権を獲得したか否かを判断する(S15)。第2の伝送部22bは、送信権を獲得したと判断した場合に(S15“Yes”)、第2の入力情報を、他のステーションに対してブロードキャストする(S16)。
また、第2の伝送部22bは、送信権を獲得していないと判断した場合には(S15“Yes”)、他のステーションからデータを受信したか否かを判断する(S17)。例えば、この時点で送信権を有しているステーションが通信ボード2dである場合、第2の伝送部22bは、通信ボード2dから偏差情報を受信したか否かを判断する。
第2の伝送部22bは、他のステーションからデータを受信した場合(S17“Yes”)、当該データをコモンメモリ25bに保存する(S18)。例えば、第2の伝送部22bは、通信ボード2dから偏差情報を受信した場合、受信した偏差情報を、コモンメモリ25bの記憶領域のうち、通信ボード2dから送信されたデータを格納するための記憶領域に保存する。コモンメモリ25bに保存された偏差情報は、このフローチャートの処理が次回実行される際に、S13の第2の入力情報の補正処理において、補正部24によって使用される。その後は、S11の処理に戻るものとする。
また、S19の所定の時間の経過の有無の判断から、S20の停止フラグの設定までは、図4で説明したS7からS8の処理と同様の処理である。このフローチャートの処理は、第2のI/Oボード2bが起動している間は繰り返し実行されるものとする。
次に、メインボード10で実行される処理について説明する。
図6は、本実施形態にかかる偏差情報の算出処理の流れの一例を示すフローチャートである。このフローチャートの処理は、所定の時間間隔で繰り返し実行されるものとしても良いし、第1のI/Oボード2aおよび第2のI/Oボード2bが処理を開始してから所定の時間が経過した後に1度実行されるものとしても良い。また、ユーザの設定等による任意のタイミングでこのフローチャートの処理が実行されるものとしても良い。
まず、メインボード10の第1の取得部101は、通信ボード2dから、通信ボード2dのコモンメモリ25dに保存された第1の入力情報と、第2の入力情報とを取得する(S31)。第1の取得部101は、取得した第1の入力情報と、第2の入力情報とを記憶部105に保存する。また、第1の取得部101は、さらに、通信ボード2dから、コモンメモリ25dに保存された第3の入力情報を取得し、取得した第3の入力情報を記憶部105に保存しても良い。
次に、演算部102は、第1の入力情報と、第2の入力情報との差分を算出する(S32)。本実施形態においては、演算部102は、第1の入力情報の値から第2の入力情報の値を減算する。演算部102は、算出した差分を、偏差情報として記憶部105に保存する。
そして、第1の送信部103は、演算部102によって算出された差分(偏差情報)を、通信ボード2dに送信する(S33)。
また、通信ボード2dの第2の取得部26は、S33の処理でメインボード10から送信された偏差情報を取得し、取得した偏差情報を、コモンメモリ25dの送信データ用を記憶するための所定の記憶領域に保存する。また、通信ボード2dの第3の伝送部22dは、コモンメモリ25dに保存された偏差情報を、サイクリック伝送によって他のステーションに伝送する。
次に、第1のI/Oボード2aおよび第2のI/Oボード2bのいずれかが処理を停止した場合に、メインボード10で実行される処理について説明する。
図7は、本実施形態にかかる入力情報の切り替え処理の流れの一例を示すフローチャートである。メインボード10の第1の取得部101は、通信ボード2dのコモンメモリ25dに記憶された情報を取得し、取得した情報を記憶部105の所定の記憶領域にそれぞれ保存する(S41)。
次に、メインボード10の制御部104は、第1のI/Oボード2aが停止状態であるか否かを判断する(S42)。例えば、制御部104は、記憶部105に第1の入力情報が保存されるための記憶領域に、第1の入力情報ではなく停止フラグが保存されている場合に、第1のI/Oボード2aが停止状態であると判断する。
制御部104は、第1のI/Oボード2aが停止状態ではないと判断した場合(S42“No”)、第1の入力情報を使用して処理を実行する(S43)。つまり、通常時においては、制御部104は、第1の入力情報を用いるものとする。
また、制御部104は、第1のI/Oボード2aが停止状態であると判断した場合(S42“Yes”)、第2の入力情報を使用して処理を実行する(S44)。本実施形態においては、第2のI/Oボード2bの補正部24が、偏差情報に基づいて第2の入力情報を補正しているため、制御部104は、第1の入力情報から第2の入力情報に切り替えた場合にも、スムーズに処理を継続することができる。なお、本実施形態においては、制御部104は、停止フラグに基づいて第1のI/Oボード2aが停止状態であるか否かを判断するものとしたが、判断の手法はこれに限定されるものではない。
上述のように、多重化された複数のI/Oボードに対して同一の外部装置から入力信号が入力される場合に、複数の機器間で入力値の差異が生じる場合がある。このため、従来技術においては、多重化された複数のI/Oボードのいずれかが動作を停止した場合に、他のI/Oボードの入力値によって処理をスムーズに継続することが困難な場合があった。また、従来技術においては、このような入力値の差異を低減するために、複数のI/Oボード間の入力値を等値化するための回路等を設ける場合があったが、当該回路の故障等による信頼性の低下の可能性があった。
また、他の従来技術の例としては、多重化された複数の機器間で入力信号の取り込み(入力)のタイミングを揃えることで、入力値の差異を低減する技術がある。一例として、多重化された複数の機器のいずれかが、他の機器に同期信号を送信することによって入力信号の取り込み(入力)のタイミングを揃える技術がある。しかしながら、このような従来技術では、同期信号を送信する機器の取込タイミングに比べて、同期信号を受信する機器の取込タイミングが遅延するため、複数の機器間の入力値のタイミングを一致させることが困難な場合があった。また、他の従来技術の例としては、偏差情報を送受信するために、サイクリック伝送用の伝送路と異なる他の伝送路を設ける場合があったが、送受信のための処理の負荷が増加する場合があった。
これに対して、本実施形態のコントローラ1は、センサ4aからパルス信号を受信する第1のI/Oボード2aおよび第2のI/Oボード2bと、第1のI/Oボード2aおよび第2のI/Oボード2bと伝送線で接続可能な通信ボード2dと、通信ボード2dと接続するメインボード10と、を備える。メインボード10は、第1の入力情報と、第2の入力情報との差分を算出し、当該差分を示す偏差情報を通信ボード2dに送信する。第1のI/Oボード2aのコモンメモリ25aと、第2のI/Oボード2bのコモンメモリ25bと、通信ボード2dのコモンメモリ25は、第1の入力情報を記憶する記憶領域と、第2の入力情報を記憶する記憶領域と、偏差情報を記憶する記憶領域とを有し、第1のI/Oボード2aと、第2のI/Oボード2bと、通信ボード2dとは、各コモンメモリに記憶された第1の入力情報と、第2の入力情報と、偏差情報とをサイクリック伝送する。このため、本実施形態のコントローラ1によれば、例えば、第1のI/Oボード2aが動作を停止した場合に、偏差情報と第2の入力情報とに基づいて、処理を継続することが可能である。また、本実施形態のコントローラ1によれば、偏差情報をサイクリック伝送によって伝送することで、偏差情報を送受信するための別の伝送路または等値化用の専用回路等を設けることなく、第1の入力情報と第2の入力情報の偏差情報をステーション間で共有することが可能である。このため、いずれかのステーションが動作を停止しても、他のステーションが偏差情報を保存しているため、容易にデータを復旧することができる。このため、本実施形態のコントローラ1によれば、コントローラ1の信頼性を向上することができる。
また、本実施形態のコントローラ1の第2のI/Oボード2bは、通信ボード2dから伝送された偏差情報に基づいて、第2の入力情報を補正し、補正した第2の入力情報をコモンメモリ25bに保存する。このため、本実施形態のコントローラ1によれば、補正後の第2の入力情報が各ステーションにサイクリック伝送されるため、各ステーションおよびメインボード10は、信頼性の高い入力情報を参照することができる。
また、本実施形態においては、センサ4aから第1のI/Oボード2aおよび第2のI/Oボード2bに入力される入力信号は、パルス信号である。また、第1の入力情報は、第1のI/Oボード2aがセンサ4aから受信したパルス信号の累計値であり、第2の入力情報は、第2のI/Oボード2bがセンサ4aから受信したパルス信号の累計値である。本実施形態のコントローラ1によれば、第1のI/Oボード2aと第2のI/Oボード2bにおける累計値に差異が生じた場合であっても、第1のI/Oボード2aの累計値に合わせて、第2のI/Oボード2bの累計値を補正するため、第1のI/Oボード2aが停止状態となった場合でも、第2のI/Oボード2bによって計数された累計値を用いて処理を継続することができる。
なお、本実施形態においては、メインボード10が偏差情報を算出するものとしたが、サイクリック伝送を行うステーションのいずれか(例えば通信ボード2d)が偏差情報を算出するものとしてもよい。
また、本実施形態においては、サイクリック伝送を行うI/Oボード2の数を3つとしたが、これは一例であり、I/Oボード2の数はこれに限定されるものではない。また、本実施形態においては、第3のI/Oボード2cは多重化されていないものとしたが、第3のI/Oボード2cも他のI/Oボード2と多重化されてもよい。
また、本実施形態においては、メインボード10と、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dは、コントローラ1に含まれるものとしたが、サイクリック伝送装置の構成はこれに限定されるものではない。例えば、メインボード10と、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cと、通信ボード2dとが、それぞれ別個の装置として独立して設けられても良い。また、コントローラ1はメインボード10と通信ボード2dとを備え、他の装置が第1のI/Oボード2aと第2のI/Oボード2bとを備え、さらに他の装置が第3のI/Oボード2cを備えるものとしても良い。
また、本実施形態では、第1のI/Oボード2a、第2のI/Oボード2b、および第3のI/Oボード2cには、センサ4aまたはセンサ4bからパルス信号が入力されるものとしたが、各I/Oボード2に入力される入力信号はこれに限定されるものではない。また、第1のI/Oボード2a、第2のI/Oボード2b、および第3のI/Oボード2cは、累計値ではなく、入力された値を入力情報として伝送するものとしても良い。また、外部装置はセンサ4aに限定されるものではない。
(第2の実施形態)
上述の第1の実施形態では、第2のI/Oボード2bが、第2の入力情報を補正していたが、他の構成が第2の入力情報を補正するものとしても良い。本実施形態では、メインボード10が第2の入力情報を補正するものとする。
本実施形態のコントローラ1のハードウェア構成は、第1の実施形態と同様である。
図8は、本実施形態にかかるサイクリック伝送を実行するステーションおよびメインボード10の機能的構成の一例を示すブロック図である。第1のI/Oボード2aと、第3のI/Oボード2cと、通信ボード2dとは、第1の実施形態と同様の機能を備える。
本実施形態のメインボード10は、第1の取得部101と、演算部1102と、第1の送信部103と、制御部104と、記憶部105とを備える。第1の取得部101と、第1の送信部103と、制御部104と、記憶部105とは、第1の実施形態と同様の機能を備える。
本実施形態の演算部1102は、第1の実施形態の機能を備えた上で、さらに、偏差情報に基づいて、記憶部105に記憶された第2の入力情報を補正する。また、演算部1102は、補正した第2の入力情報を記憶部105に保存する。演算部1102は、補正前の第2の入力情報を記憶する記憶領域とは別の記憶領域に補正後の第2の入力情報を保存しても良いし、補正前の第2の入力情報を削除した上で、補正前の第2の入力情報が記憶されていた記憶領域に補正後の第2の入力情報を保存しても良い。
また、本実施形態の第1の送信部103は第1の実施形態と同様の機能を備えるため、第1の送信部103は、演算部1102によって算出された偏差情報を通信ボード2dに送信する。このため、本実施形態においても、偏差情報はサイクリック伝送によって各ステーションに伝送され、各ステーションのコモンメモリ25でバックアップされる。
本実施形態の第2のI/Oボード2bは、第2のカウンタ1021bと、コモンメモリ25bと、第2の伝送部22bと、第2の受信部23bとを備える。コモンメモリ25bと、第2の伝送部22bと、第2の受信部23bとは、第1の実施形態と同様の機能を備える。
第2のカウンタ1021bは、センサ4aから受信したパルス信号を計数し、累計値を、コモンメモリ25bの所定の記憶領域に保存する。
次に、本実施形態における第2の入力情報の補正の処理の流れについて説明する。
図9は、本実施形態にかかる偏差情報の算出および第2の入力情報の補正の処理の流れの一例を示すフローチャートである。このフローチャートの処理は、メインボード10で実行される。
S131の第1の入力情報と第2の入力情報の取得の処理から、S132の第1の入力情報と第2の入力情報との差分を算出する処理までは、図6で説明した第1の実施形態のS31からS32の処理と同様である。
次に、本実施形態の演算部1102は、S132の処理で算出した差分(偏差情報)に基づいて、第2の入力情報を補正する(S133)。例えば、偏差情報が“+2”の場合、演算部1102は、記憶部105に保存された第2の入力情報に“2”を加算し、加算後の第2の入力情報を記憶部105に保存する。また、偏差情報が“−2”の場合、演算部1102は、記憶部105に保存された第2の入力情報から“2”を減算し、減算後の第2の入力情報を記憶部105に保存する。
S134の偏差情報を通信ボード2dに送信する処理は、図6で説明した第1の実施形態のS33の処理と同様である。ここで、このフローチャートの処理は終了する。
このように、本実施形態のコントローラ1では、メインボード10が、偏差情報に基づいて、第2の入力情報を補正するため、第1の実施形態の効果に加えて、I/Oボード2側の処理を削減することができる。
(第3の実施形態)
上述の第1の実施形態および第2の実施形態では、I/Oボード2を二重化していた。本実施形態においては、I/Oボード2を三重化する場合の構成について説明する。
本実施形態のコントローラ1のハードウェア構成は、第1の実施形態と同様である。
図10は、本実施形態にかかるサイクリック伝送を実行するステーションおよびメインボード10の機能的構成の一例を示すブロック図である。図10に示すように、本実施形態においては、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cとがセンサ4aからパルス信号を受信する。つまり、本実施形態においては、I/Oボード2が三重化されている。
本実施形態のメインボード10は、第1の取得部101と、演算部2102と、第1の送信部1103と、制御部1104と、記憶部105とを備える。第1の取得部101は、第1の実施形態と同様の機能を備える。
本実施形態の制御部1104は、第1の実施形態と同様に、第1の入力情報を優先的に使用して処理を実行する。また、制御部1104は、第1のI/Oボード2aが停止状態となったと判断した場合には、第1の入力情報の替わりに第2の入力情報を使用して処理を実行する。さらに、制御部1104は、さらに、第1のI/Oボード2aと第2のI/Oボード2bの両方が停止状態となったと判断した場合には、第1の入力情報および第2の入力情報の替わりに第3の入力情報を使用して処理を実行する。第1の入力情報、第2の入力情報、第3の入力情報の優先順は、予め定められているものとする。
本実施形態の演算部2102は、第1の実施形態の機能を備えた上で、さらに、第1の入力情報と、第3の入力情報との差分(偏差)を算出する。本実施形態においては、第1の入力情報と第2の入力情報との差分を示す情報を、第1の偏差情報という。また、第1の入力情報と第3の入力情報との差分を示す情報を、第2の偏差情報という。本実施形態においては、第1の偏差情報と第2の偏差情報とは、それぞれ、第1の偏差情報と第2の偏差情報とを識別可能な識別情報を含むものとする。例えば、第1の偏差情報は、第1の偏差情報を示す識別情報“A”と、第1の入力情報と第2の入力情報との差分の値とが対応付けられたものとする。また、第2の偏差情報は、第2の偏差情報を示す識別情報“B”と、第1の入力情報と第2の入力情報との差分の値とが対応付けられたものとする。上述の識別情報の内容は一例であり、これに限定されるものではない。
演算部2102は、第1の偏差情報および第2の偏差情報を、記憶部105に保存する。
本実施形態の第1の送信部1103は、第1の実施形態の機能を備えた上で、演算部102によって算出された第1の偏差情報と第2の偏差情報とを記憶部105から読み出す。第1の送信部1103は、読み出した第1の偏差情報と第2の偏差情報とを通信ボード2dに送信する。
本実施形態の通信ボード2dは、第2の取得部1026と、第2の送信部27と、第3の伝送部1022dと、第3の受信部23dと、コモンメモリ25dとを備える。第2の送信部27と、第3の受信部23dと、コモンメモリ25dとは、第1の実施形態と同様の機能を備える。
第2の取得部1026は、第1の実施形態の機能を備えた上で、メインボード10から第1の偏差情報と第2の偏差情報とを取得する。第2の取得部26は、第1の偏差情報と第2の偏差情報とをコモンメモリ25dの送信用データを記憶するための所定の記憶領域に保存する。
第3の伝送部1022dは、第1の実施形態の機能を備えた上で、コモンメモリ25dに保存された第1の偏差情報と第2の偏差情報とを、第1のI/Oボード2aと、第2のI/Oボード2bと、第3のI/Oボード2cにサイクリック伝送する。
本実施形態の各ステーション(第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、および通信ボード2d)のコモンメモリ25には、第1の偏差情報と第2の偏差情報とを格納するための記憶領域が予め定められているものとする。
また、本実施形態の第1のI/Oボード2aは、第1の実施形態と同様の機能を備える。
本実施形態の第2のI/Oボード2bは、第2のカウンタ21bと、コモンメモリ25bと、第2の伝送部22bと、第2の受信部23bと、第1の補正部1024aとを備える。第2のI/Oボード2bは、第2のカウンタ21bと、コモンメモリ25bと、第2の伝送部22bと、第2の受信部23bとは、第1の実施形態と同様の機能を備える。
第1の補正部1024aは、第1の実施形態の補正部24と同様の機能を備えた上で、コモンメモリ25bに保存された第1の偏差情報に基づいて、第2のカウンタ21bによるパルス信号の累計値(第2の入力情報)を補正する。第1の補正部1024aは、第1の偏差情報と第2の偏差情報とに含まれる識別情報に基づいて、第1の偏差情報を識別するものとする。
本実施形態の第3のI/Oボード2cは、第3のカウンタ21cと、第2の補正部1024bと、第4の伝送部22cと、第4の受信部23cと、コモンメモリ25cとを備える。第3のカウンタ21cと、第4の伝送部22cと、第4の受信部23cと、コモンメモリ25cとは、第1の実施形態と同様の機能を備える。
第2の補正部1024bは、第1の実施形態の補正部24と同様の機能を備えた上で、コモンメモリ25cに保存された第2の偏差情報に基づいて、第3のカウンタ21cによるパルス信号の累計値(第3の入力情報)を補正する。第2の補正部1024bは、第1の偏差情報と第2の偏差情報とに含まれる識別情報に基づいて、第2の偏差情報を識別するものとする。
このように、本実施形態のコントローラ1では、I/Oボード2を三重化することによって冗長性が高くなり、コントローラ1の信頼性をより向上させることができる。
なお、コントローラ1は、多重化するI/Oボード2の数をさらに増加させ、四重化以上の構成を採用しても良い。
また、本実施形態においては、第2のI/Oボード2bと第3のI/Oボード2cとでそれぞれ第2の入力情報と第3の入力情報とを補正するものとしたが、第2の実施形態と同様に、メインボード10で第2の入力情報と第3の入力情報とを補正する構成を採用しても良い。
(変形例)
上述の第1から第3の実施形態では、各ステーション間でサイクリック伝送されるデータの伝送速度については特に限定していないが、各ステーションは、データの伝送速度を変更可能であるものとしても良い。例えば、各ステーションの伝送部22は、伝送するデータごとに、高速、中速、低速のいずれかの伝送速度を選択可能であるものとする。
当該構成を備える場合、伝送部22は、偏差情報を、入力情報を伝送する速度よりも遅い速度で伝送しても良い。具体的には、第1のI/Oボード2aの第1の伝送部22aが、第1の入力情報を他のステーションに「高速」の伝送速度で伝送する場合に、通信ボード2dの第3の伝送部22dは、「中速」または「低速」で伝送するものとする。また、第2のI/Oボード2bの第2の伝送部22bと、第3のI/Oボード2cの第4の伝送部22cとは、第2の入力情報または第3の入力情報を「高速」の伝送速度で他のステーションに伝送するものとする。
このような構成を備えることにより、本変形例のコントローラ1によれば、センサ4aまたはセンサ4bからの入力データについては迅速にメインボード10に送信されるとともに、「高速」の伝送速度で伝送するデータ量の増大を抑制することができる。なお、伝送速度の種類は上述の3種類に限定されるものではない。
以上説明したとおり、第1から第3の実施形態によれば、多重化されたI/Oボード2を有するサイクリック伝送装置の信頼性を向上することができる。
なお、第1から第3の実施形態のメインボード10で実行されるプログラムは、ROM等に予め組み込まれて提供される。第1から第3の実施形態のメインボード10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、第1から第3の実施形態のメインボード10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第1から第3の実施形態のメインボード10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
第1から第3の実施形態のメインボード10で実行されるプログラムは、上述した各部(第1の取得部、演算部、第1の送信部、制御部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、第1の取得部、演算部、第1の送信部、制御部が主記憶装置上に生成されるようになっている。
また、第1から第3の実施形態の各ステーション(第1のI/Oボード2a、第2のI/Oボード2b、第3のI/Oボード2c、通信ボード2d)で実行されるプログラムは、ROM等に予め組み込まれて提供される。第1から第3の実施形態の各ステーションで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、第1から第3の実施形態の各ステーションで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第1から第3の実施形態の各ステーションで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
第1から第3の実施形態の各ステーションで実行されるプログラムは、上述した各部(第1のカウンタ、第1の伝送部、第1の受信部、第2のカウンタ、第2の伝送部、第2の受信部、第1の補正部(補正部)、第3のカウンタ、第4の伝送部、第4の受信部、第2の補正部、第2の取得部、第2の送信部、制御部、第3の伝送部、第3の受信部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、第1のカウンタ、第1の伝送部、第1の受信部、第2のカウンタ、第2の伝送部、第2の受信部、第1の補正部(補正部)、第3のカウンタ、第4の伝送部、第4の受信部、第2の補正部、第2の取得部、第2の送信部、制御部、第3の伝送部、第3の受信部が主記憶装置上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 コントローラ
2a 第1のI/Oボード
2b 第2のI/Oボード
2c 第3のI/Oボード
2d 通信ボード
4a,4b センサ
5 伝送路
10 メインボード
21a 第1のカウンタ
21b,1021b 第2のカウンタ
21c 第3のカウンタ
22a 第1の伝送部
22b 第2の伝送部
22c 第4の伝送部
22d,1022d 第3の伝送部
23a 第1の受信部
23b 第2の受信部
23c 第4の受信部
23d 第3の受信部
24 補正部
25,25a〜25d コモンメモリ
26,1026 第2の取得部
27 第2の送信部
101 第1の取得部
102,1102,2102 演算部
103,1103 第1の送信部
104,1104 制御部
105 記憶部
1024a 第1の補正部
1024b 第2の補正部

Claims (4)

  1. 外部装置から入力信号を受信する第1のI/Oボードおよび第2のI/Oボードと、
    前記第1のI/Oボードおよび前記第2のI/Oボードと伝送線で接続可能な通信ボードと、
    前記通信ボードと接続するメインボードと、を備え、
    前記第1のI/Oボード、前記第2のI/Oボード、および前記通信ボードの各々は、コモンメモリを備え、
    前記コモンメモリの各々は、前記第1のI/Oボードが前記外部装置から受信した前記入力信号を示す第1の入力情報を記憶するための記憶領域と、前記第2のI/Oボードが前記外部装置から受信した前記入力信号を示す第2の入力情報を記憶するための記憶領域と、前記第1の入力情報と前記第2の入力情報との差分を示す偏差情報を記憶するための記憶領域とを有し、
    前記メインボードは、
    前記通信ボードから前記第1の入力情報と、前記第2の入力情報とを取得する第1の取得部と、
    前記第1の入力情報と、前記第2の入力情報との差分を算出する演算部と、
    前記差分を示す前記偏差情報を前記通信ボードに送信する第1の送信部と、を備え、
    前記第1のI/Oボードは、
    前記第1のI/Oボードの前記コモンメモリに保存された前記第1の入力情報を、サイクリック伝送によって前記第2のI/Oボードおよび前記通信ボードに伝送する第1の伝送部を備え、
    前記第2のI/Oボードは、
    前記第2のI/Oボードの前記コモンメモリに保存された前記第2の入力情報を、サイクリック伝送によって前記第1のI/Oボードおよび前記通信ボードに伝送する第2の伝送部を備え、
    前記通信ボードは、
    前記メインボードに前記第1の入力情報と、前記第2の入力情報とを送信する第2の送信部と、
    前記メインボードから前記偏差情報を取得し、取得した前記偏差情報を前記通信ボードの前記コモンメモリに保存する第2の取得部と、
    前記通信ボードの前記コモンメモリに保存された前記偏差情報を、サイクリック伝送によって前記第1のI/Oボードおよび前記第2のI/Oボードに伝送する第3の伝送部と、を備える、
    サイクリック伝送装置。
  2. 前記入力信号は、パルス信号であり、
    前記第1の入力情報は、前記第1のI/Oボードが前記外部装置から受信したパルス信号の累計値であり、
    前記第2の入力情報は、前記第2のI/Oボードが前記外部装置から受信したパルス信号の累計値であり、
    前記第1のI/Oボードは、
    前記外部装置から受信した前記パルス信号を計数する第1の計数部を備え、
    前記第2のI/Oボードは、
    前記外部装置から受信した前記パルス信号を計数する第2の計数部と、
    前記通信ボードから伝送された前記偏差情報を受信する受信部と、
    伝送された前記偏差情報に基づいて、前記第2の入力情報を補正し、補正した前記第2の入力情報を前記コモンメモリに保存する第1の補正部と、を備える、
    請求項1に記載のサイクリック伝送装置。
  3. 前記入力信号は、パルス信号であり、
    前記第1の入力情報は、前記第1のI/Oボードが前記外部装置から受信したパルス信号の累計値であり、
    前記第2の入力情報は、前記第2のI/Oボードが前記外部装置から受信したパルス信号の累計値であり、
    前記第1のI/Oボードは、
    前記外部装置から受信した前記パルス信号を計数する第1の計数部を備え、
    前記第2のI/Oボードは、
    前記外部装置から受信した前記パルス信号を計数する第2の計数部を備え、
    前記メインボードは、
    前記第1の入力情報と、前記第2の入力情報とを記憶する記憶部を備え、
    前記演算部は、さらに、前記偏差情報に基づいて、前記記憶部に記憶された前記第2の入力情報を補正する、
    請求項1に記載のサイクリック伝送装置。
  4. 前記外部装置から前記入力信号を受信する第3のI/Oボードをさらに備え、
    前記演算部は、さらに、前記第1の入力情報と、前記第3のI/Oボードが前記外部装置から受信した前記入力信号を示す第3の入力情報との差分を算出し、
    前記第1の送信部は、前記第1の入力情報と前記第2の入力情報との差分を示す第1の偏差情報と、前記第1の入力情報と前記第3の入力情報との差分を示す第2の偏差情報と、を前記通信ボードに送信する、
    請求項1から3のいずれか1項に記載のサイクリック伝送装置。
JP2019022288A 2019-02-12 2019-02-12 サイクリック伝送装置 Pending JP2020129318A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019022288A JP2020129318A (ja) 2019-02-12 2019-02-12 サイクリック伝送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019022288A JP2020129318A (ja) 2019-02-12 2019-02-12 サイクリック伝送装置

Publications (1)

Publication Number Publication Date
JP2020129318A true JP2020129318A (ja) 2020-08-27

Family

ID=72175394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019022288A Pending JP2020129318A (ja) 2019-02-12 2019-02-12 サイクリック伝送装置

Country Status (1)

Country Link
JP (1) JP2020129318A (ja)

Similar Documents

Publication Publication Date Title
US10146725B2 (en) Method and device for checking the correct functioning of a serial data transmission
US7432674B2 (en) Control system
US7769935B2 (en) Communication system with master and slave exchanging control data in predetermined communication period
US11838575B2 (en) System and method for scalable physical layer flow of packetized media streams
WO2014194616A1 (en) Systems and methods for data transmission
US20090259885A1 (en) Systems and methods for redundancy management in fault tolerant computing
JP2014232997A (ja) 通信システム
US10735219B2 (en) System and method for packet transmission in a communications network
JP2020129318A (ja) サイクリック伝送装置
US10222786B2 (en) Numerical control system having synchronous control function between units
US20130226880A1 (en) Information processing system, memory device, information processing apparatus, and method of controlling information processing system
JP5322433B2 (ja) 処理システムにおけるデータ処理中のエラー検知方法および制御システム
US8144755B2 (en) Method and apparatus for determining a skew
JP7192244B2 (ja) 中継装置
US10674392B2 (en) Communication device, communication system, communication method, and recording medium having communication program recorded thereon
US20200403770A1 (en) System and method for date-stamping an event detected in an automotive vehicle
KR102016029B1 (ko) 차량 통신의 부하 분산 장치 및 방법
JP7042902B2 (ja) 電子制御装置
US20180270080A1 (en) Built-in apparatus, communication method, and computer readable medium
JP2005267580A (ja) 同期シリアル通信の異常チェック方法
JP4826352B2 (ja) フレームタイミング位相差補正方法および装置
JPWO2018078747A1 (ja) 転送装置およびフレーム転送方法
JP5380884B2 (ja) データ処理装置及び同期方法
JP2020155815A (ja) 無瞬断切替装置、無瞬断切り替え方法及びプログラム
CN116132717A (zh) 入向码流码率获取方法、收流处理方法、电子设备、介质