(57)【要約】【課題】予備の通信ポートを有していない制御機器からデータを取得する。【解決手段】通信中継装置２０は、ホスト機器３０と、ホスト機器３０からの要求に応じてデータの読み出しおよび書き込みをする制御機器４０との間でシリアル通信を行うとともに、データを管理するデータ管理機器７０からの要求を制御機器４０に送信する。通信中継装置２０は、データバスを介した第１中継通信経路２６を通じてホスト機器３０と制御機器４０との間の通信を中継するとともに、前記データバスを介した第２中継通信経路２７を通じてデータ管理機器７０と制御機器４０との通信を中継する中継処理部１９と、中継処理部１９が動作しているときに、ホスト機器３０および制御機器４０を第１中継通信経路２６に接続する一方、中継処理部１９が動作していないときに、ホスト機器３０と制御機器４０とを相互に接続する第１リレー８および第２リレー９とを備える。【選択図】図３
2018137573.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器と、当該ホスト機器からの要求に応じてデータの読み出しおよび書き込みをする制御機器との間でシリアル通信を行うとともに、データを管理するデータ管理機器からの要求を前記制御機器に送信する通信中継装置であって、
データを伝送するデータ伝送路と、
前記データ伝送路を介した第１通信経路を通じて前記ホスト機器と前記制御機器との間の通信を中継するとともに、前記データ伝送路を介した第２通信経路を通じて前記データ管理機器と前記制御機器との通信を中継する中継処理部と、
前記中継処理部が動作しているときに、前記ホスト機器および前記制御機器を前記第１通信経路に接続する一方、前記中継処理部が動作していないときに、前記ホスト機器と前記制御機器とを相互に接続する通信経路切替部とを備えていることを特徴とする通信中継装置。
【請求項２】
前記ホスト機器と制御機器との間で通信の有無を監視する通信監視部と、
前記通信監視部によって通信が無いと判定されたときに、前記第１通信経路への前記ホスト機器および前記制御機器の接続と、前記ホスト機器および前記制御機器の相互接続とを切り替える動作を行うように前記通信経路切替部を制御する切替制御部とをさらに備えていることを特徴とする請求項１に記載の通信中継装置。
【請求項３】
前記データ管理機器からの前記制御機器への要求に、前記ホスト機器からの前記制御機器への要求に対する優先度を設定する優先度設定部をさらに備え、
前記中継処理部は、設定された前記優先度にしたがって、前記データ管理機器からの要求を前記制御機器に送信することを特徴とする請求項１または２に記載の通信中継装置。
【請求項４】
前記制御機器との間の通信のボーレートを標準ボーレートよりも高速の高速ボーレートに設定するボーレート設定部をさらに備え、
前記中継処理部は、前記制御機器との間の通信を設定された前記高速ボーレートで行うことを特徴とする請求項１から３のいずれか１項に記載の通信中継装置。
【請求項５】
前記中継処理部は、前記ホスト機器に対する通信処理と、前記制御機器に対する通信処理とを個別に行うことを特徴とする請求項１から４のいずれか１項に記載の通信中継装置。
【請求項６】
前記データ管理機器からの前記制御機器への要求のサイズが所定値を超えるときに、当該要求を所定のサイズに分割する要求分割部をさらに備え、
前記中継処理部は、前記ホスト機器からの要求と、当該要求に対する前記制御機器の前記ホスト機器への応答との一連の処理が行われていない期間に、分割された前記データ管理機器からの要求を前記制御機器に送信することを特徴とする請求項５に記載の通信中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの授受を行う２つの機器の間に介在して、さらに他の機器からのデータの授受を中継する通信中継装置に関する。
【背景技術】
【０００２】
プログラマブル表示器のようなＨＭＩ（Human Machine Interface）機器は、ＰＬＣ（Programmable Logic Controller）などの制御機器と接続され、データの授受のために制御機器と相互に通信を行う。例えば、特許文献１には、ＰＬＣとの間でシリアル通信を行うプログラマブル表示器が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１２６４８７号公報（２０１６年７月１１日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のようなシステムにおいて、データ収集、データ解析などの目的で、ＰＬＣからデータを取得したい場合、例えば、ＰＬＣの予備の通信ポートにデータロガーのような機器を接続し、データロガーによってデータを取得することが考えられる。しかしながら、ＰＬＣが予備の通信ポートを備えていなければ、データロガーによってデータを取得することができない。
【０００５】
本発明の一態様は、予備の通信ポートを有していない制御機器からデータを取得することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る通信中継装置は、ホスト機器と、当該ホスト機器からの要求に応じてデータの読み出しおよび書き込みをする制御機器との間でシリアル通信を行うとともに、データを管理するデータ管理機器からの要求を前記制御機器に送信する通信中継装置であって、データを伝送するデータ伝送路と、前記データ伝送路を介した第１通信経路を通じて前記ホスト機器と前記制御機器との間の通信を中継するとともに、前記データ伝送路を介した第２通信経路を通じて前記データ管理機器と前記制御機器との通信を中継する中継処理部と、前記中継処理部が動作しているときに、前記ホスト機器および前記制御機器を前記第１通信経路に接続する一方、前記中継処理部が動作していないときに、前記ホスト機器と前記制御機器とを相互に接続する通信経路切替部とを備えている。
【０００７】
上記の構成によれば、中継処理部が動作している状態では、ホスト機器および制御機器が、第１通信経路を介して通信するとともに、データ管理機器および制御機器が、第２通信経路を介して通信する。それゆえ、ホスト機器と制御機器との通信を行いながら、その合間にホスト機器とデータ管理機器との通信を行うことができる。したがって、制御機器が予備の通信ポートを有していなくても、データ管理機器との通信を行うことができる。
【０００８】
また、中継制御部が動作していない状態では、ホスト機器および制御機器の間の通信が、ホスト機器と制御機器とが相互に接続されることによって維持される。したがって、中継制御部の動作が動作していないときに、ホスト機器および制御機器の間の通信が行なわれないという不都合を回避することができる。
【０００９】
前記通信中継装置は、前記ホスト機器と制御機器との間で通信の有無を監視する通信監視部と、前記通信監視部によって通信が無いと判定されたときに、前記第１通信経路への前記ホスト機器および前記制御機器の接続と、ホスト機器および前記制御機器の相互接続とを切り替える動作を行うように前記通信経路切替部を制御する切替制御部とをさらに備えている。
【００１０】
上記の構成によれば、ホスト機器および制御機器の間で通信が行なわれていない状態で信号経路切替部による切り替え動作が行われる。これにより、通信途中のデータが当該切り替え動作によって喪失されることを回避できる。
【００１１】
前記通信中継装置は、前記データ管理機器からの前記制御機器への要求に、前記ホスト機器からの前記制御機器への要求に対する優先度を設定する優先度設定部をさらに備え、前記中継処理部は、設定された前記優先度にしたがって、前記データ管理機器からの要求を前記制御機器に送信する。
【００１２】
上記の構成によれば、ホスト機器と制御機器との間の通信量に応じて優先度を設定することにより、効率的にデータ管理機器からの要求を前記制御機器に送信することができる。
【００１３】
前記通信中継装置は、前記制御機器との間の通信のボーレートを標準ボーレートよりも高速の高速ボーレートに設定するボーレート設定部をさらに備え、前記中継処理部は、前記制御機器との間の通信を設定された前記高速ボーレートで行う。
【００１４】
上記の構成によれば、通信中継装置と高速ボーレートに対応した制御機器との間で、高速ボーレートで通信をすることができる。これにより、通信中継装置と制御機器との通信時間を短縮することができる。
【００１５】
前記通信中継装置において、前記中継処理部は、前記ホスト機器に対する通信処理と、前記制御機器に対する通信処理とを個別に行う。
【００１６】
上記の構成によれば、中継処理部は、ホスト機器と通信している間に、制御機器に別の要求を送信することができる。このように、２つの通信を同時に行なうことで通信時間を短縮することができる。したがって、通信中継装置の処理能力を向上させることができる。
【００１７】
前記通信中継装置は、前記データ管理機器からの前記制御機器への要求のサイズが所定値を超えるときに、当該要求を所定のサイズに分割する要求分割部をさらに備え、前記中継処理部は、前記ホスト機器からの要求と、当該要求に対する前記制御機器の前記ホスト機器への応答との一連の処理が行われていない期間に、分割された前記データ管理機器からの要求を前記制御機器に送信する。
【００１８】
上記の構成によれば、分割された要求の個々のサイズが小さくなるので、データ管理機器からの要求を処理するために、ホスト機器から制御機器への要求の送信が待たされることを抑制できる。これにより、ホスト機器と制御機器との間の通信の効率が低下することを抑制することができる。
【００１９】
前記通信中継装置において、前記中継処理部は、前記ホスト機器から前記制御機器への書き込みの要求を、前記優先度に関わらず、前記データ管理機器からの前記制御機器への要求よりも優先して、前記制御機器に送信する。
【００２０】
ホスト機器から制御機器へのデータの書き込みは、制御機器への指示などの重要な要求であることが多い。したがって、上記の構成によれば、ホスト機器から制御機器への書き込みの要求を最優先して実行することができる。
【００２１】
前記通信中継装置は、前記中継処理部の動作にエラーが生じたことを検知するエラー検知部をさらに備え、前記通信経路切替部は、前記エラー検知部によってエラーが検知されたときに、前記ホスト機器と前記制御機器とを相互に接続する。
【００２２】
上記の構成によれば、中継処理部の動作にエラーが生じたときに、ホスト機器と制御機器との間の通信が、ホスト機器および制御機器の相互接続によって維持される。これにより、中継処理部の動作にエラーが生じたために、ホスト機器と制御機器との間の通信が不能になるという不都合を回避することができる。
【発明の効果】
【００２３】
本発明の一態様によれば、予備の通信ポートを有していない制御機器から容易にデータを取得することができるという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】本発明の各実施形態に係る制御システムの構成を示すブロック図である。
【図２】本発明の実施形態１に係る上記制御システムにおける通信中継装置の要部の構成を示すブロック図である。
【図３】（ａ）は上記通信中継装置の中継制御部が動作していない状態を示す図であり、（ｂ）は上記通信中継装置の中継制御部が動作している状態を示す図である。
【図４】上記通信中継装置の起動時の処理手順を示すフローチャートである。
【図５】上記通信中継装置がオフライン状態に移行したときの上記中継制御部による処理手順を示すフローチャートである。
【図６】例外エラー発生時の上記中継制御部による処理手順を示すフローチャートである。
【図７】（ａ）は上記通信中継装置の通常動作時における上記中継制御部による処理手順を示すフローチャートであり、（ｂ）は上記通信中継装置の異常動作時における上記中継制御部による処理手順を示すフローチャートである。
【図８】本発明の実施形態２に係る上記制御システムにおける通信中継装置の要部の構成を示すブロック図である。
【図９】図８に示す通信中継装置を介した上記制御システムにおけるホスト機器および制御機器の間の通信の状態を示す図である。
【図１０】本発明の実施形態３に係る上記制御システムにおける通信中継装置の要部の構成を示すブロック図である。
【図１１】図１０に示す通信中継装置における共通メモリを介した通信の概念を示す図である。
【図１２】（ａ）は図１０に示す通信中継装置を介した上記ホスト機器および上記制御機器の間の通信の状態を示す図であり、（ｂ）は図１０に示す通信中継装置を介した上記ホスト機器および上記制御機器の間の通信の他の状態を示す図である。
【図１３】図１０に示す通信中継装置を介した上記ホスト機器および上記制御機器の間の通信のさらに他の状態を示す図である。
【発明を実施するための形態】
【００２５】
〔実施形態１〕
本発明の実施形態１について図１〜図７に基づいて説明すると、以下の通りである。
【００２６】
図１は、本実施形態を含む各実施形態に係る制御システム１００の構成を示すブロック図である。図２は、実施形態１に係る制御システム１００における通信中継装置２０の要部の構成を示すブロック図である。
【００２７】
まず、制御システム１００の概要について説明する。
【００２８】
図１に示すように、制御システム１００は、通信中継装置２０と、ホスト機器３０と、制御機器４０と、デバイス５０と、ＬＡＮ（Local Area Network）６０と、データ管理機器７０とを備えている。
【００２９】
通信中継装置２０は、ホスト機器３０と制御機器４０とをハードウェアで接続するハードウェア通信経路と、ホスト機器３０と制御機器４０とをソフトウェアで接続するソフトウェア通信経路とを有している。また、通信中継装置２０は、ソフトウェア通信経路を介して、データ管理機器７０からの要求に応じて、データ管理機器７０と制御機器４０との間の通信を中継する。
【００３０】
通信中継装置２０およびホスト機器３０は、シリアル通信を行うことができるように、シリアル通信ケーブルを介して相互に接続されている。同じく、通信中継装置２０および制御機器４０は、シリアル通信を行うことができるように、シリアル通信ケーブルを介して相互に接続されている。通信中継装置２０は、制御機器４０との通信のための通信ポートとしてシリアルポートＣＯＭ１を備えている。また、通信中継装置２０は、ホスト機器３０との通信のための通信ポートとしてシリアルポートＣＯＭ２を備えている。
【００３１】
通信中継装置２０およびデータ管理機器７０は、ＬＡＮ（Local Area Network）６０を介した通信を行うことができるように、ＬＡＮケーブル、ルータなどを介して相互に接続されている。
【００３２】
制御機器４０は、制御機能を有する機器であり、例えば、ＰＬＣ（Programmable Logic Controller）で構成される。制御機器４０は、デバイス５０との間でデータの授受を行う。デバイス５０としては、センサ、スイッチのような入力機器や、アクチュエータ、リレー、電磁弁、表示器のような出力機器が用いられる。また、制御機器４０は、温度調節計、インバータ等の機器で構成されてもよい。
【００３３】
ホスト機器３０は、プログラマブル表示器などのＨＭＩ機器であり、表示装置およびタッチパネルを有している。ホスト機器３０は、表示装置に表示された画面上でのタッチパネルによる入力操作によって制御機器４０に制御指示などのデータを送信したり、制御機器４０のデバイス５０に関するデータなどのデータを受信したりする。ホスト機器３０は、このようなデータの送受信を行うために、制御機器４０に対してデータの読み出しを要求したり、データの書き込みを要求したりする。
【００３４】
データ管理機器７０は、データ収集、データ解析、データ書き込みなどの各種のデータを管理する処理を行う機器である。データ管理機器７０は、パーソナルコンピュータ、専用の装置などで構成されている。
【００３５】
次に、通信中継装置２０のハードウェア構成について説明する。
【００３６】
図１に示すように、通信中継装置２０は、ＣＰＵ（Central Processing Unit）１と、メインメモリ２と、ＲＯＭ（Read Only Memory）３と、第１ドライバ／レシーバ４と、第２ドライバ／レシーバ５と、第１ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）６と、第２ＵＡＲＴ７と、第１リレー８（通信経路切替部）と、第２リレー９（通信経路切替部）と、ＬＡＮインターフェース部１０と、電源回路１１と、データバス１２（データ伝送路）とを備えている。
【００３７】
ＣＰＵ１は、通信中継装置２０を動作させるためのシステムプログラムを実行する処理装置である。具体的には、ＣＰＵ１は、システムプログラムの実行に際して、メインメモリ２、第１ドライバ／レシーバ４と、第２ドライバ／レシーバ５、ＬＡＮインターフェース部１０などからデータを受け取り、当該データに対して演算または加工を施した上で、メインメモリ２、第１ドライバ／レシーバ４と、第２ドライバ／レシーバ５、ＬＡＮインターフェース部１０などに出力する。
【００３８】
また、ＣＰＵ１は、ウォッチドッグタイマ１ａを内蔵している。ウォッチドッグタイマ１ａは、後述する中継制御部１３からの反応の時間間隔を計測し、その計測値が規定時間を超えるか否かを判定することにより、中継制御部１３の動作を監視する。ウォッチドッグタイマ１ａは、中継制御部１３からの反応が規定時間の間に取得できたときにはタイマを更新し、中継制御部１３からの反応が規定時間の間に取得できないときにタイムアウトのエラー処理としてシステムをリセットする。なお、ウォッチドッグタイマ１ａは、ＣＰＵ１の外部に設けられていてもよい。
【００３９】
メインメモリ２は、通信中継装置２０における主記憶装置を構成するメモリであり、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。
【００４０】
ＲＯＭ３は、通信中継装置２０の起動時やリセット時に実行されるＢＩＯＳ（Basic Input Output System）などの、通信中継装置２０の動作に不可欠なプログラム（上述のシステムプログラムを含む）を記憶している。
【００４１】
第１ドライバ／レシーバ４は、ホスト機器３０から受信データＲｘＤを受信する受信回路であり、かつホスト機器３０へ送信データＴｘＤを送信する送信回路である。
【００４２】
第２ドライバ／レシーバ５は、制御機器４０から受信データＲｘＤを受信する受信回路であり、かつ制御機器４０へ送信データＴｘＤを送信する送信回路である。
【００４３】
第１ドライバ／レシーバ４および第２ドライバ／レシーバ５は、一般のシリアル通信の規格（ＲＳ−２３２Ｃ、ＲＳ−４２２、ＲＳ−４８５など）に対応している。
【００４４】
第１ＵＡＲＴ６は、第１ドライバ／レシーバ４から出力される調歩同期方式のシリアル信号をパラレル信号に変換してデータバス１２に出力する回路である。また、第１ＵＡＲＴ６は、データバス１２から第１ドライバ／レシーバ４に入力されるパラレル信号を調歩同期方式のシリアル信号に変換する回路である。また、第１ＵＡＲＴ６は、送信用のバッファと受信用のバッファとを内蔵している。
【００４５】
第２ＵＡＲＴ７は、第２ドライバ／レシーバ５から出力される調歩同期方式のシリアル信号をパラレル信号に変換してデータバス１２に出力する回路である。また、第２ＵＡＲＴ７は、データバス１２から第２ドライバ／レシーバ５に入力されるパラレル信号を調歩同期方式のシリアル信号に変換する回路である。また、第２ＵＡＲＴ７は、送信用のバッファと受信用のバッファとを内蔵している。
【００４６】
第１リレー８は、シリアルポートＣＯＭ２と第１ドライバ／レシーバ４との間に介在している。第１リレー８は、ホスト機器３０と制御機器４０とを相互に接続して制御機器４０からホスト機器３０へ通信データを伝送する通信経路と、ホスト機器３０と第１ドライバ／レシーバ４との間の通信経路とを切り替える回路である。このため、第１リレー８は、出力端子８ａと、第１入力接点８ｂと、第２入力接点８ｃとを有している。出力端子８ａは、シリアルポートＣＯＭ２と接続されている。第１入力接点８ｂは、第１ドライバ／レシーバ４の出力端子と接続されている。第２入力接点８ｃは、シリアルポートＣＯＭ１と第２ドライバ／レシーバ５の入力端子との間の、制御機器４０からの通信データが伝送される通信経路と接続されている。
【００４７】
第２リレー９は、シリアルポートＣＯＭ１と第２ドライバ／レシーバ５との間に介在している。第２リレー９は、ホスト機器３０と制御機器４０とを相互に接続してホスト機器３０から制御機器４０へ通信データを伝送する通信経路と、制御機器４０と第２ドライバ／レシーバ５との間の通信経路とを切り替える回路である。このため、第２リレー９は、出力端子９ａと、第１入力接点９ｂと、第２入力接点９ｃとを有している。出力端子９ａは、シリアルポートＣＯＭ１と接続されている。第１入力接点９ｂは、第２ドライバ／レシーバ５の出力端子と接続されている。第２入力接点９ｃは、シリアルポートＣＯＭ２と第１ドライバ／レシーバ４の入力端子との間の、ホスト機器３０からの通信データが伝送される通信経路と接続されている。
【００４８】
第１リレー８および第２リレー９の切り替えは、ＣＰＵ１（後述の切替制御部１８）によって制御される。
【００４９】
なお、本実施形態では、ホスト機器３０に対する第１ドライバ／レシーバ４と制御機器４０との接続の切り替えに第１リレー８を用い、制御機器４０に対する第２ドライバ／レシーバ５とホスト機器３０との接続の切り替えに第２リレー９を用いている。このような接続の切り替えには、第１リレー８および第２リレー９に限らず、切替制御部１８による切替制御が可能な電子制御式の半導体スイッチなどを用いることができる。
【００５０】
以降の説明において、第１リレー８が出力端子８ａと第２入力接点８ｃとを接続する状態、および第２リレー９が出力端子９ａと第２入力接点９ｃとを接続する状態をバイパス接続状態と称する。また、第１リレー８が出力端子８ａと第１入力接点８ｂとを接続する状態、および第２リレー９が出力端子９ａと第１入力接点９ｂとを接続する状態を中継接続状態と称する。
【００５１】
ＬＡＮインターフェース部１０は、データ管理機器７０などの外部機器を通信中継装置２０とＬＡＮ通信が可能となるように接続するためのインターフェースである。ＬＡＮインターフェース部１０は、ＬＡＮ６０と接続されている。
【００５２】
電源回路１１は、通信中継装置２０の各部（メインメモリ２、ＲＯＭ３、第１ドライバ／レシーバ４、第２ドライバ／レシーバ５、第１ＵＡＲＴ６、第２ＵＡＲＴ７、ＬＡＮインターフェース部１０など）に電力を供給する回路である。通信中継装置２０の起動時には電源回路１１がオンされ、通信中継装置２０の停止時には電源回路１１がオフされる。
【００５３】
続いて、通信中継装置２０のシステム構成について、図２を参照して説明する。なお、図２においては、便宜上、第１ドライバ／レシーバ４、第２ドライバ／レシーバ５、第１ＵＡＲＴ６および第２ＵＡＲＴ７を省略している。
【００５４】
図２に示すように、通信中継装置２０は、通信中継機能を実現するために中継制御部１３を含んでいる。中継制御部１３は、通信中継プログラムがＣＰＵ１によって実行されることで実現される、通信中継機能を有する部分である。通信中継機能は、上述のハードウェア通信経路とソフトウェア通信経路とを切り替える機能と、ソフトウェア通信経路を介してデータ管理機器７０と制御機器４０との間の通信を中継する機能とを含んでいる。
【００５５】
中継制御部１３は、起動・停止制御部１４と、受信データ監視部１５（通信監視部）と、オフライン設定部１６と、エラー処理部１７（エラー検知部）と、切替制御部１８と、中継処理部１９とを有している。
【００５６】
起動・停止制御部１４は、電源回路１１がオンされてから中継制御部１３が動作可能になるまでの各部の初期化（例えば通信ドライバの初期化）などを行う。また、起動・停止制御部１４は、電源回路１１がオフされてから中継制御部１３が動作を停止するまでの各部の終了処理などを行う。また、起動・停止制御部１４は、電源回路１１がオンされてから中継制御部１３が動作可能になるまでの起動前の期間に起動前通知を後述する切替制御部１８に与える。また、起動・停止制御部１４は、電源回路１１がオンされた後に中継制御部１３が動作可能になったという動作可能通知を後述する切替制御部１８に与える。また、起動・停止制御部１４は、電源回路１１がオフされたときに中継制御部１３が動作を停止するという動作停止通知を切替制御部１８に与える。
【００５７】
受信データ監視部１５は、ホスト機器３０および制御機器４０から受信された受信データＲｘＤを監視することにより、ホスト機器３０および制御機器４０の通信の有無を監視する。受信データ監視部１５は、具体的には、受信データＲｘＤに含まれるパケットの状態を監視しており、送信されるパケットの間隔が、所定の間隔以上であるときに、切替可能通知を切替制御部１８に与える。上記の所定の間隔とは、パケット通信が行われていないと判定できる最短の時間のことである。
【００５８】
オフライン設定部１６は、後述する中継処理部１９が中継処理を行なわない期間（オフライン期間）に各種の設定（オフライン設定）を行うために設けられている。オフライン設定部１６が行う設定としては、例えば、ボーレートなどの通信設定、ＩＰアドレスの設定などが挙げられる。オフライン設定部１６に対する設定は、ＬＡＮ６０に接続された図示しない設定装置８０（パーソナルコンピュータなど）から行なわれるが、設定画面を表示する表示部と、設定入力を行う入力部とを備えた通信中継装置２０によって行われてもよい。また、オフライン設定部１６は、オフライン設定を開始すること、およびオフライン設定を終了することを切替制御部１８に通知する。
【００５９】
エラー処理部１７は、中継制御部１３の起動時または動作時に例外エラーが発生したことを検知すると、切替制御部１８に例外エラーの発生を通知する。また、エラー処理部１７は、ウォッチドッグタイマ１ａのタイムアウトを検知したときに、切替制御部１８にタイムアウトエラーの発生を通知する。
【００６０】
切替制御部１８は、第１リレー８および第２リレー９の接続状態をバイパス接続状態と中継接続状態との間で切り替える制御を行う。具体的には、切替制御部１８は、次のように、各状態で第１リレー８および第２リレー９の切り替えを制御する切替制御信号を第１リレー８および第２リレー９に出力する。
【００６１】
切替制御部１８は、起動・停止制御部１４から起動前通知および動作停止通知を受けたときに、第１リレー８の出力端子８ａと第２入力接点８ｃとを接続するとともに、第２リレー９の出力端子９ａと第２入力接点９ｃとを接続する切替制御信号を出力する。また、切替制御部１８は、起動・停止制御部１４から動作可能通知を受けたときに、第１リレー８の出力端子８ａと第１入力接点８ｂとを接続するとともに、第２リレー９の出力端子９ａと第１入力接点９ｂとを接続する切替制御信号を出力する。
【００６２】
切替制御部１８は、受信データ監視部１５からの切替可能通知を受けたときに、第１リレー８および第２リレー９の現状の接続状態をバイパス接続状態と中継接続状態との間で切り替えるように切替制御信号を出力する。
【００６３】
切替制御部１８は、オフライン設定部１６からオフライン設定を開始する通知を受けた状態で、受信データ監視部１５からの切替可能通知をさらに受けたときに、中継接続状態からバイパス接続状態に切り替える切替制御信号を出力する。また、切替制御部１８は、オフライン設定部１６からオフライン設定を終了する通知を受けた状態で、受信データ監視部１５からの切替可能通知をさらに受けたときに、バイパス接続状態から中継接続状態に切り替える切替制御信号を出力する。
【００６４】
切替制御部１８は、エラー処理部１７から例外エラー発生の通知またはウォッチドッグタイムアウトエラー発生の通知を受けたときに、中継接続状態からバイパス接続状態に切り替える切替制御信号を出力する。
【００６５】
中継処理部１９は、第１リレー８および第２リレー９が中継接続状態に切り替えられている期間に、シリアルポートＣＯＭ２から入力されたホスト機器３０からの受信データＲｘＤを、データバス１２を介して第２リレー９の第１入力接点９ｂに出力する。また、中継処理部１９は、第１リレー８および第２リレー９が中継接続状態に切り替えられている期間に、シリアルポートＣＯＭ１から入力された制御機器４０からの受信データＲｘＤを、データバス１２を介して第１リレー８の第１入力接点８ｂに出力する。
【００６６】
また、中継処理部１９は、優先度変更部１９１（優先度設定部）を有している。優先度変更部１９１は、データ管理機器７０からのデータ読み出しまたはデータ書き込みの要求に対する優先度を変更する。優先度のレベルとしては、低レベル、中レベル、高レベルの３つのレベルがある。
【００６７】
低レベル（デフォルト）は、ホスト機器３０と制御機器４０との間の主通信を最優先するレベルである。低レベルでは、ホスト機器３０からの要求コマンドが送信されていない状況以外では、データ管理機器７０からの割り込み要求に対する割込通信が実施されない。
【００６８】
中レベルは、ホスト機器３０と制御機器４０との間の主通信（２回）と、割り込み要求に対する割込通信とを交互に行うレベルである。中レベルでは、具体的には、ホスト機器３０からの２回の要求コマンドの送信に対して、１回の割込通信を行う。
【００６９】
高レベルは、主通信に支障を来さない程度（タイムアウトが発生しない程度）で割込通信を優先させるレベルである。
【００７０】
なお、中レベルおよび高レベルにおける、１回の主通信に対する割込通信の回数は適宜設定できる。また、優先度のレベルは、ユーザによって変更することが可能である。
【００７１】
上記のように構成される通信中継装置２０による通信中継の処理について説明する。図３の（ａ）は、中継制御部１３が動作していない状態を示す図であり、図３の（ｂ）は、中継制御部１３が動作している状態を示す図である。図４は、通信中継装置２０の起動時の処理手順を示すフローチャートである。図５は、通信中継装置２０がオフライン状態に移行したときの中継制御部１３による処理手順を示すフローチャートである。図６は、例外エラー発生時の中継制御部１３による処理手順を示すフローチャートである。図７の（ａ）は、通信中継装置２０の通常動作時における中継制御部１３による処理手順を示すフローチャートである。図７の（ｂ）は、通信中継装置２０の異常動作時における中継制御部１３による処理手順を示すフローチャートである。
【００７２】
まず、中継制御部１３の起動時における通信中継の処理について説明する。
【００７３】
通信中継装置２０の電源がオフされている状態では、第１リレー８および第２リレー９がバイパス接続状態にある。したがって、図３の（ａ）に示すように、ホスト機器３０および制御機器４０は、中継制御部１３を介さずに、第１リレー８および第２リレー９によるバイパス通信経路２５（前述のハードウェア通信経路）を介して相互に接続された状態で通信している。この状態では、図２に示すように、第１リレー８において、出力端子８ａが第２入力接点８ｃに接続され、第２リレー９において、出力端子９ａが第２入力接点９ｃに接続されている。
【００７４】
具体的には、次のようにデータの送受信が行なわれる。図１に示すように、ホスト機器３０から送信されたデータは、シリアルポートＣＯＭ２を通じて第２リレー９の第２入力接点９ｃおよび出力端子９ａを介して送信データＴｘＤとしてシリアルポートＣＯＭ１から出力されて、制御機器４０に受信される。また、制御機器４０から送信されたデータは、シリアルポートＣＯＭ１を通じて第１リレー８の第２入力接点８ｃおよび出力端子８ａを介して送信データＴｘＤとしてシリアルポートＣＯＭ２から出力されて、ホスト機器３０に受信される。
【００７５】
図４に示すように、通信中継装置２０の電源がオンされることで、電源回路１１から通信中継装置２０の各部に電力が供給されると、起動・停止制御部１４は、起動時の処理を開始する（ステップＳ１）。
【００７６】
起動・停止制御部１４は、起動時の処理として、第１ドライバ／レシーバ４および第２ドライバ／レシーバ５を介した通信を制御する通信ドライバを初期化する（ステップＳ２）。起動・停止制御部１４は、所定の初期化処理が完了したか否かを判定し（ステップＳ３）、完了していないときは（ＮＯ）、初期化処理を継続する。起動・停止制御部１４による所定の初期化処理が完了すると（ステップＳ３のＹＥＳ）、受信データ監視部１５は、ホスト機器３０および制御機器４０からの受信データＲｘＤを監視する（ステップＳ４）。
【００７７】
受信データ監視部１５は、受信データＲｘＤの監視の結果、ホスト機器３０と制御機器４０との間のパケット送信が完了したか否かを判定する（ステップＳ５）。受信データ監視部１５は、パケット送信が完了していないと判定すると（ステップＳ５のＮＯ）、引き続いてパケット送信が完了したか否かを判定する。また、受信データ監視部１５は、パケット送信が完了したと判定すると（ステップＳ５のＹＥＳ）、ホスト機器３０または制御機器４０からの何らかのデータがあるか否かを判定する（ステップＳ６）。受信データ監視部１５は、ステップＳ６において何らかのデータがあると判定すると（ＹＥＳ）、ステップＳ５の処理を行う。
【００７８】
受信データ監視部１５は、ステップＳ６において何らかのデータがないと判定すると（ＮＯ）、データがない状態を確認してから１０ｍｓが経過したか否かを判定する（ステップＳ７）。受信データ監視部１５は、ステップＳ７においてデータがない状態を確認してから１０ｍｓが経過していないと判定すると（ＮＯ）、ステップＳ５の処理を行う。
【００７９】
受信データ監視部１５がステップＳ７においてデータがない状態を確認してから１０ｍｓが経過していると判定すると（ＹＥＳ）、第１リレー８および第２リレー９は、切替制御部１８からの切替制御信号によって、中継接続状態に切り替える（ステップＳ８）。この状態では、バイパス接続が切断されている。
【００８０】
ホスト機器３０と制御機器４０との間でやり取りされるパケットの間隔は１０ｍｓである。このため、受信データ監視部１５は、パケットが確認できない期間が１０ｍｓを超えると、パケットの通信が無いものと判断することができる。なお、上記のパケットの間隔は、１０ｍｓに限らず、任意に設定することができる。
【００８１】
中継処理部１９は、この状態で、ホスト機器３０および制御機器４０の間と、データ管理機器７０および制御機器４０との間で、それぞれの通信を中継する処理を行う（ステップＳ９）。中継処理部１９は、データ管理機器７０からのデータ送信要求（割り込み要求）を受けたか否かを判定する（ステップＳ１０）。中継処理部１９は、ステップＳ１０においてデータ送信要求を受けていないと判定すると（ＮＯ）、ステップＳ９の処理を継続して行う。また、中継処理部１９は、ステップＳ１０においてデータ送信要求を受けたと判定すると（ＹＥＳ）、データ送信要求を基にパケットを生成して、シリアルポートＣＯＭ１に送出する（ステップＳ１１）。
【００８２】
中継処理部１９は、上記のようにしてパケットを優先度に応じて制御機器４０に送信する。制御システム１００の使用状況によっては、ホスト機器３０がほとんど操作されずにモニタとして使用されることがある。このような状況においては、ホスト機器３０と制御機器４０との間の主通信にはあまりリアルタイム性が要求されない。このような場合は、優先度変更部１９１がユーザの指示に応じて割込通信の優先度を高レベルに変更して、割込通信を頻繁に行うことができる。また、ある特定の時間帯では割込通信を控えることが望ましい場合がある。このような場合は、優先度変更部１９１がユーザの指示に応じて割込通信の優先度を低レベルに変更しておく。これにより、通信中継装置２０は、割込通信の頻度を下げて、主通信を優先させることができる。
【００８３】
このように、優先度変更部１９１は、制御システム１００の事情に応じて優先度を変更可能に設定する。ただし、ホスト機器３０から制御機器４０へのデータの書き込みは、最優先されることが望ましい。このため、データ管理機器７０からの読み出しの要求とホスト機器３０からの書き込みのコマンドとが競合する場合、書き込みのコマンドが優先される。例えば、製造ラインにおいて、製造品の品種が変更されるときには、レシピデータがホスト機器３０から制御機器４０に昼休みなどの時間を利用して一斉に送信されることがある。このような場合、割り込みの優先度が設定されていても、ホスト機器３０からの書き込み処理が優先される。
【００８４】
制御機器４０は、通信中継装置２０から送信されたパケットを受信すると、データ管理機器７０からのデータ送信要求に応じたデータを読み出して送信する。
【００８５】
中継処理部１９は、制御機器４０からのデータを受信すると、パケットを応答データに変換して、ＬＡＮインターフェース部１０を介してデータ管理機器７０に返信する（ステップＳ１２）。
【００８６】
上記のように、中継処理部１９が動作している状態では、図３の（ｂ）に示すように、ホスト機器３０および制御機器４０は、第１リレー８および第２リレー９を含んで中継処理部１９によってデータバス１２を介して形成される第１中継通信経路２６（前述のソフトウェア通信経路，第１通信経路）を通じて通信する。また、データ管理機器７０および制御機器４０は、中継処理部１９によってデータバス１２を介して形成される第２中継通信経路２７（第２通信経路）を通じて通信する。それゆえ、ホスト機器３０と制御機器４０との通信を行いながら、その合間にホスト機器３０とデータ管理機器７０との通信を行うことができる。したがって、制御機器４０が予備の通信ポートを有していなくても、データ管理機器７０との通信を行うことができる。
【００８７】
また、中継制御部１３の起動前には、バイパス接続状態が確保され、中継制御部１３の起動時には、バイパス接続状態から中継接続状態に切り替えられる。これにより、図３の（ａ）に示すように、中継制御部１３の動作が停止していても、ホスト機器３０および制御機器４０の間の通信が第１リレー８および第２リレー９を介したバイパス通信経路２５を介して維持される。したがって、中継制御部１３の動作が停止しているときに、ホスト機器３０および制御機器４０の間の通信が行なわれないという不都合は生じない。
【００８８】
また、バイパス接続状態から中継接続状態に切り替えられるときには、ホスト機器３０および制御機器４０の間で通信が行なわれていない状態で第１リレー８および第２リレー９の切り替え動作が行なわれる。中継接続状態からバイパス接続状態に切り替えられるときにも、ホスト機器３０および制御機器４０の間で通信が行なわれていない状態で第１リレー８および第２リレー９の切り替え動作が行なわれる。これにより、通信途中のデータが第１リレー８および第２リレー９の切り替え動作によって喪失されることを回避できる。
【００８９】
なお、電断時には、通信中継装置２０の電源が強制的にオフ状態となるので、切替制御部１８による第１リレー８および第２リレー９の切替制御が不能になる。このような不都合に対しては、第１リレー８における出力端子８ａと第２入力接点８ｃとの間、および第２リレー９における出力端子９ａと第２入力接点９ｃとの間の接点形式をｂ接点（ノーマリクローズ）としておく。これにより、電断時に切替制御部１８からの切替制御信号が無信号（ローレベル）になると、第１リレー８および第２リレー９がバイパス接続状態に強制的に切り替わる。あるいは、通信中継装置２０は、電源回路１１がオフすると第１リレー８および第２リレー９を強制的にバイパス接続状態に切り替える回路を別途備えていてもよい。これにより、電断時には、切替制御部１８が機能しなくなっても、上記の回路によって第１リレー８および第２リレー９がバイパス接続状態に切り替わる。
【００９０】
また、電断時にバイパス接続状態に切り替え可能な、第１リレー８に置き替わる半導体スイッチとしては、出力端子８ａと第１入力接点８ｂとの間にノーマリオフ型の第１トランジスタを配置し、出力端子８ａと第２入力接点８ｃとの間にノーマリオン型の第２トランジスタを配置するようなスイッチが考えられる。同様に、第２リレー９に置き替わる半導体スイッチとしては、出力端子９ａと第１入力接点９ｂとの間にノーマリオフ型の第１トランジスタを配置し、出力端子９ａと第２入力接点９ｃとの間にノーマリオン型の第２トランジスタを配置するようなスイッチが考えられる。このようなスイッチは、ゲート電圧が印加されないとき、第１トランジスタがオフする一方、第２トランジスタがオンし、ゲート電圧が印加されるとき、第１トランジスタがオンする一方、第２トランジスタがオフする。これにより、通信中継装置２０の電源回路１１が電断時にオフしているときには、スイッチにゲート電圧が印加されないので、第１トランジスタがオフする一方、第２トランジスタがオンすることでバイパス接続状態が得られる。
【００９１】
続いて、オフライン設定部１６によるオフライン設定時における通信中継の処理について説明する。
【００９２】
まず、オフライン設定部１６が、ＬＡＮ６０に接続された設定装置８０からのオフライン設定の指示を受けると、中継処理部１９はオフライン状態に移行する。オフライン状態に移行すると、中継処理部１９は、ホスト機器３０および制御機器４０の間の送受信処理を完了させる（ステップＳ２１）。受信データ監視部１５は、上記の送受信処理が完了すると、ホスト機器３０または制御機器４０からの何らかのデータがあるか否かを判定する（ステップＳ２２）。受信データ監視部１５は、ステップＳ２２において何らかのデータがあると判定すると（ＹＥＳ）、処理をステップＳ２１に戻す。
【００９３】
受信データ監視部１５は、ステップＳ２２において何らかのデータがないと判定すると（ＮＯ）、データがない状態を確認してから１０ｍｓが経過したか否かを判定する（ステップＳ２３）。受信データ監視部１５は、ステップＳ２３においてデータがない状態を確認してから１０ｍｓが経過していないと判定すると（ＮＯ）、処理をステップＳ２１に戻す。
【００９４】
受信データ監視部１５がステップＳ２３においてデータがない状態を確認してから１０ｍｓが経過していると判定すると（ＹＥＳ）、第１リレー８および第２リレー９は、切替制御部１８からの切替制御信号によって、バイパス接続状態に切り替える（ステップＳ２４）。
【００９５】
バイパス接続状態に移行すると、オフライン設定部１６は、設定装置８０からの操作に応じてオフライン設定の処理を実行する（ステップＳ２５）。
【００９６】
オフライン設定部１６は、Ｗｅｂサーバのような機能を有しており、オフライン設定のための画面をＨＴＭＬ（Hyper Text Markup Language）形式などで設定装置８０に提供する。当該画面には、ボーレートなどの通信設定、ＬＡＮ６０に対するＩＰアドレスの設定などを行う項目が設けられている。これにより、設定装置８０は、ＬＡＮ６０を介して通信中継装置２０にアクセスすると、Ｗｅｂブラウザで設定することができる。
【００９７】
オフライン設定部１６がオフライン設定を終了すると（ステップＳ２６）、受信データ監視部１５は、ホスト機器３０および制御機器４０からの受信データＲｘＤを監視する（ステップＳ２７）。
【００９８】
その後、受信データ監視部１５は、上述のステップＳ５〜Ｓ７と同じ処理を行う（ステップＳ２８〜Ｓ３０）。また、第１リレー８および第２リレー９は、ステップＳ３０の後、上述のステップＳ８と同じ処理を行う（ステップＳ３１）。これにより、中継処理部１９はオンライン状態に移行する（ステップＳ３２）。中継処理部１９は、この状態で、ホスト機器３０および制御機器４０の間と、データ管理機器７０および制御機器４０との間で、それぞれの通信を中継する処理を行う（ステップＳ３３）
このように、オフライン設定を行うときには、中継接続状態からバイパス接続状態に切り替えられる。これにより、中継処理部１９による中継動作が停止していても、ホスト機器３０および制御機器４０の間の通信が第１リレー８および第２リレー９を介したバイパス接続状態によって維持される。また、オンライン状態からオフライン状態へ移行するとき、およびオフライン状態からオンライン状態へ移行するときには、ホスト機器３０および制御機器４０の間で通信が行なわれていない状態で第１リレー８および第２リレー９の切り替え動作が行なわれる。これにより、通信途中のデータが第１リレー８および第２リレー９の切り替え動作によって喪失されることを回避できる。
【００９９】
引き続いて、例外エラー発生時およびウォッチドッグタイムアウトエラー発生時における通信中継の処理について説明する。
【０１００】
例外エラーが発生した場合、図６に示すように、まず、中継処理部１９は、ホスト機器３０および制御機器４０の間と、データ管理機器７０および制御機器４０の間とで、それぞれの通信を中継する処理を行う（ステップＳ４１）。エラー処理部１７は、例外エラーが発生したことを検知すると、例外エラーによる割り込み処理が必要となったことを切替制御部１８に通知する（ステップＳ４２）。第１リレー８および第２リレー９は、切替制御部１８からの切替制御信号によって、バイパス接続状態に切り替える（ステップＳ４３）。バイパス接続状態に切り替えられると、中継処理部１９による中継処理は終了する（ステップＳ４４）。
【０１０１】
中継制御部１３が通常に動作している場合、図７の（ａ）に示すように、中継処理部１９は、ホスト機器３０および制御機器４０の間と、データ管理機器７０および制御機器４０との間で、それぞれの通信を中継する処理を行う（ステップＳ５１）。ウォッチドッグタイマ１ａは、通信中継装置２０のシステム、すなわち中継制御部１３の全体の動作を監視するので、中継制御部１３によるデータ管理機器７０およびホスト機器３０と制御機器４０との通信が正常に行われていれば、タイマを更新する（ステップＳ５２）。
【０１０２】
中継処理部１９は、データ管理機器７０からのデータ送信要求を受けたか否かを判定する（ステップＳ５３）。中継処理部１９は、ステップＳ５３においてデータ送信要求を受けたと判定すると（ＹＥＳ）、前述のステップＳ１１，Ｓ１２の処理を行うことにより、制御機器４０から要求されたデータを取得してデータ管理機器７０に送信する処理を行う（ステップＳ５４）。
【０１０３】
次いで、ウォッチドッグタイマ１ａは、ステップＳ５２と同じく、通信正常時にタイマを更新する（ステップＳ５５）。また、中継処理部１９が、ステップＳ５３においてデータ送信要求を受けていないと判定すると（ＮＯ）、ウォッチドッグタイマ１ａによるステップＳ５５の処理が行われる。その後は、処理がステップＳ５１に戻る。
【０１０４】
中継制御部１３の動作に異常が生じた場合、図７の（ｂ）に示すように、通信経路の切り替えが行なわれる。まず、中継処理部１９は、ホスト機器３０および制御機器４０の間と、データ管理機器７０および制御機器４０の間とで、それぞれの通信を中継する処理を行う（ステップＳ６１）。
【０１０５】
ウォッチドッグタイマ１ａは、中継制御部１３の動作を監視しており、中継制御部１３からの反応が前回のタイマ更新からの規定時間の間に取得できなかったことでタイムアウトする。エラー処理部１７は、ウォッチドッグタイマ１ａのタイムアウトを検知すると、タイムアウトエラーによる割り込み処理が必要となったことを切替制御部１８に通知する（ステップＳ６２）。
【０１０６】
第１リレー８および第２リレー９は、切替制御部１８からの切替制御信号によって、バイパス接続状態に切り替える（ステップＳ６３）。バイパス接続状態に切り替えられると、中継処理部１９による中継処理は終了する（ステップＳ６４）。
【０１０７】
このように、中継制御部１３において例外エラーおよびウォッチドッグタイムアウトエラーが発生したときには、ホスト機器３０と制御機器４０との接続状態がバイパス接続状態に切り替えられる。これにより、中継制御部１３において何らかの問題が生じて中継処理部１９の動作が異常な状態に陥った場合に、ホスト機器３０と制御機器との間の通信が不能になるという不都合を回避することができる。
【０１０８】
なお、ウォッチドッグタイムアウトエラーが発生した場合、エラー処理部１７からの直接の制御によって、第１リレー８および第２リレー９がバイパス接続状態に切り替えられることもある。
【０１０９】
上記のようなバイパス接続状態へ切り替える機能が無い場合、通信中継装置２０の電源をオンしている状態で中継制御部１３に異常が生じれば、中継処理部１９による中継接続状態が維持できないので、通信に支障を来してしまう。
【０１１０】
〔実施形態２〕
本発明の実施形態２について図１、図８および図９に基づいて説明すると、以下の通りである。なお、本実施形態において、実施形態１における構成要素と同一の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【０１１１】
図８は、実施形態２に係る制御システム１００における通信中継装置２１の要部の構成を示すブロック図である。図９は、通信中継装置２１を介した制御システム１００におけるホスト機器３０および制御機器４０の間の通信の状態を示す図である。図９においては、縦軸が時間を表している。
【０１１２】
図１に示すように、制御システム１００は、通信中継装置２１と、ホスト機器３０と、制御機器４０と、デバイス５０と、ＬＡＮ６０と、データ管理機器７０とを備えている。
【０１１３】
図８に示すように、通信中継装置２１は、通信中継機能を実現するために中継制御部１３Ａを含んでいる。中継制御部１３Ａは、通信中継プログラムがＣＰＵ１によって実行されることで実現される、前述の通信中継機能を有する部分である。
【０１１４】
中継制御部１３Ａは、実施形態１の通信中継装置２０における中継制御部１３と同じく、起動・停止制御部１４と、受信データ監視部１５と、オフライン設定部１６と、エラー処理部１７と、切替制御部１８とを有している。また、中継制御部１３Ａは、中継処理部１９Ａを有している。中継処理部１９Ａは、中継制御部１３が有する中継処理部１９と同じく、優先度変更部１９１を有しているが、さらにボーレート変更部１９２（ボーレート設定部）を有している。
【０１１５】
ボーレート変更部１９２は、制御機器４０との通信のボーレートを、標準のボーレート（標準ボーレート）と、標準ボーレートよりも高速の高速ボーレートとの間で変更する。
【０１１６】
制御機器４０を構成するＰＬＣには、コマンドによって高速ボーレートに変更できる機種がある。そこで、ボーレート変更部１９２は、このようなＰＬＣとの通信速度を高めるために、上記コマンドをＰＬＣへ送り、標準ボーレートから高速ボーレートに変更する。
【０１１７】
これにより、図９に示すように、通信中継装置２１は、ボーレートを変更できないホスト機器３０と高速ボーレートに変更された制御機器４０との通信の中継において、ホスト機器３０とは標準ボーレートで通信し、制御機器４０とは高速ボーレートで通信する。したがって、トータルの通信時間を短くすることができる。
【０１１８】
例えば、実施形態１の通信中継装置２０では、ホスト機器３０との通信に１０ｍｓを要し、制御機器４０との通信に１０ｍｓ要しているとする。これに対し、制御機器４０のボーレートを５倍に高速化できる場合、通信中継装置２１は、制御機器４０との通信を２ｍｓで行うことにより、トータルの通信時間を通信中継装置２０に比べて８ｍｓ短縮することができる。これにより、通信中継装置２１の処理能力を向上させることができる。また、この短縮できた時間を、例えばデータ管理機器７０の通信に利用することで、ホスト機器３０および制御機器４０の間の通信を遅延させることなく、データ管理機器７０による割込通信を処理することができる。
【０１１９】
〔実施形態３〕
本発明の実施形態３について図１、図１０〜図１３に基づいて説明すると、以下の通りである。なお、本実施形態において、実施形態１における構成要素と同一の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【０１２０】
図１０は、実施形態３に係る制御システム１００における通信中継装置２２の要部の構成を示すブロック図である。図１１は、通信中継装置２２における第１共通メモリ２８および第２共通メモリ２９を介した通信の概念を示す図である。図１２の（ａ）は、通信中継装置２２を介したホスト機器３０および制御機器４０の間の通信の状態を示す図である。図１２の（ｂ）は、通信中継装置２２を介したホスト機器３０および制御機器４０の間の通信の他の状態を示す図である。図１３は、通信中継装置２２を介したホスト機器３０および制御機器４０の間の通信のさらに他の状態を示す図である。
【０１２１】
図１に示すように、制御システム１００は、通信中継装置２２と、ホスト機器３０と、制御機器４０と、デバイス５０と、ＬＡＮ６０と、データ管理機器７０とを備えている。ただし、通信中継装置２２は、図１に示されている第１ドライバ／レシーバ４および第２ドライバ／レシーバ５に加えて、図１１に示す第１共通メモリ２８と、第２共通メモリ２９とを備えている。
【０１２２】
第１共通メモリ２８は、ホスト機器３０および制御機器４０の通信に共通に用いられるメモリである。第１共通メモリ２８は、受信データＲｘＤを伝送する受信メモリ２８ａと、送信データＴｘＤを伝送する送信メモリ２８ｂとを有している。
【０１２３】
第２共通メモリ２９は、制御機器４０およびＬＡＮ６０の通信に共通に用いられるメモリである。第２共通メモリ２９は、受信データＲｘＤを伝送する受信メモリ２９ａと、送信データＴｘＤを伝送する送信メモリ２９ｂとを有している。
【０１２４】
図１０に示すように、通信中継装置２２は、通信中継機能を実現するために中継制御部１３Ｂを含んでいる。中継制御部１３Ｂは、通信中継プログラムがＣＰＵ１によって実行されることで実現される、前述の通信中継機能を有する部分である。
【０１２５】
中継制御部１３Ｂは、実施形態１の通信中継装置２０における中継制御部１３と同じく、起動・停止制御部１４と、受信データ監視部１５と、オフライン設定部１６と、エラー処理部１７と、切替制御部１８とを有している。また、中継制御部１３Ｂは、中継処理部１９Ｂを有している。中継処理部１９Ｂは、中継制御部１３が有する中継処理部１９と同じく、優先度変更部１９１を有しているが、さらに中継調整部１９３（要求分割部）を有している。
【０１２６】
また、中継処理部１９は、図１１に示すように、シリアルポートＣＯＭ１側のＣＯＭ１スレッドで、シリアルポートＣＯＭ１に対する制御機器４０との通信の処理を行う。また、中継処理部１９は、シリアルポートＣＯＭ２側のＣＯＭ２スレッドで、シリアルポートＣＯＭ２に対するホスト機器３０との通信の処理を行う。また、中継処理部１９は、ＬＡＮスレッドで、ＬＡＮ６０に対するデータ管理機器７０との通信の処理を行う。
【０１２７】
中継調整部１９３は、データ管理機器７０からの割込要求のサイズが所定値を超えるときに、割込要求を分割する。割込要求を分割するサイズは、予め設定されているが、ユーザによって設定できるようにしてもよい。中継処理部１９は、通信中継装置２２と制御機器４０との間で、ホスト機器３０の要求と、当該要求に対する制御機器４０の応答とが行われていない期間に、分割されたデータ送信要求を制御機器４０に送信する。ただし、上記の要求および応答は、一連の処理として行われる。
【０１２８】
上記のように構成される制御システム１００において、図１１に示すように、ホスト機器３０からの要求は、シリアルポートＣＯＭ２を介して受信された後、ＣＯＭ２スレッドで処理されて受信メモリ２８ａを介してＣＯＭ１スレッドに送出される。その要求は、ＣＯＭ１スレッドで処理された後、シリアルポートＣＯＭ１を介して制御機器４０に送信される。
【０１２９】
一方、制御機器４０からの応答は、シリアルポートＣＯＭ１を介して受信された後、ＣＯＭ１スレッドで処理されて送信メモリ２８ｂを介してＣＯＭ２スレッドに送出される。その応答は、ＣＯＭ２スレッドで処理された後、シリアルポートＣＯＭ２を介してホスト機器３０に送信される。
【０１３０】
また、データ管理機器７０からの要求は、ＬＡＮ６０を介して受信された後、ＬＡＮスレッドで処理されて受信メモリ２９ａを介してＣＯＭ１スレッドに送出される。その要求は、ＣＯＭ１スレッドで処理された後、シリアルポートＣＯＭ１を介して制御機器４０に送信される。
【０１３１】
一方、制御機器４０からの応答は、シリアルポートＣＯＭ１を介して受信された後、ＣＯＭ１スレッドで処理されて送信メモリ２９ｂを介してＬＡＮスレッドに送出される。その応答は、ＬＡＮスレッドで処理された後、ＬＡＮ６０を介してデータ管理機器７０に送信される。
【０１３２】
このように、中継処理部１９は、ＣＯＭ１スレッドおよびＣＯＭ２スレッドで、それぞれ制御機器４０側の通信処理とホスト機器３０側の通信処理とをマルチタスクで個別に行う。また、データ管理機器７０からの割り込み要求が発生したときに、中継処理部１９は、図１１において破線に示すように、ＣＯＭ１スレッドおよびＬＡＮスレッドで、それぞれ制御機器４０側の通信処理とデータ管理機器７０側の通信処理とをマルチタスクで個別に行う。しかも、ＣＯＭ１スレッドは、ホスト機器３０の要求とデータ管理機器７０からの割り込みの要求とを処理するが、 一方の要求を処理している間に他方の要求を処理しない（排他処理）。
【０１３３】
これにより、通信中継装置２２は、ホスト機器３０と通信している間に、制御機器４０に別の要求を送信することができる。この処理をシリアルに実行すると、一方の通信を行なってから他方の通信を行なうので、他方の通信が待たされる。これに対し、２つの通信を同時に行なうことで通信時間を短縮することができる。したがって、ホスト機器３０側と制御機器４０側とで処理を分離することにより、通信中継装置２２の処理能力を向上させることができる。
【０１３４】
また、通信中継装置２２を介してホスト機器３０および制御機器４０の間での通常の通信は、図１２の（ａ）に示すようにして行われる。通信中継装置２２（中継処理部１９Ｂ）は、ホスト機器３０からの要求を制御機器４０に転送し、その要求に対する制御機器４０からの応答をホスト機器３０に転送する。この結果、通信時間Ｔ１がタイムアウト時間以内に収まるので、タイムアウトは生じない。
【０１３５】
また、制御システム１００において、通信中継装置２２を介したホスト機器３０および制御機器４０の間での通信中にデータ管理機器７０からデータ送信要求が送信されたときの通信は、図１２の（ｂ）に示すようにして行われる。通信中継装置２２（中継処理部１９Ｂ）は、ホスト機器３０および制御機器４０の間で通信が行われているときに、データ管理機器７０からの割込要求ＲＥＱ（太い一点鎖線にて示す）を受ける。すると、通信中継装置２２は、制御機器４０との間で、ホスト機器３０の要求に対する制御機器４０の応答が行われていない期間に、細い一点鎖線で示すように、データ管理機器７０からのデータ送信要求に応じた割込通信を行う。そして、通信中継装置２２は、データ管理機器７０へ割込応答ＲＥＳ（太い一点鎖線にて示す）を返送する。
【０１３６】
割込通信が行われている間に、ホスト機器３０から次の要求が送信されると、当該要求が発されるタイミングによっては、通信中継装置２２から制御機器４０への、ホスト機器３０の要求の転送が、割込通信の終了まで待たされることがある。このような場合でも、通信時間Ｔ２がタイムアウト時間以内に収まっていれば、タイムアウトは生じない。
【０１３７】
ところが、割込要求ＲＥＱのサイズが大きすぎて、割込通信に長時間を要すると、ホスト機器３０の要求が通信中継装置２２から制御機器４０へ転送されるのに待たされる待機時間が長引く。この結果、上記の通信時間Ｔ２がタイムアウト時間を超えると、タイムアウトが生じてしまう。
【０１３８】
そこで、割込要求ＲＥＱのサイズが所定値を超えるときには、中継調整部１９３が、割込要求ＲＥＱを所定の分割サイズに分割する。これにより、分割された割込要求ＲＥＱの個々のサイズが小さくなるので、図１３に細い一点鎖線にて示すように割込通信が行われても、上記の待機時間を抑制できるか、あるいは無くすことができる。これにより、通信時間Ｔ３がタイムアウト時間以内に収まるので、タイムアウトは生じない。
【０１３９】
また、ホスト機器３０と制御機器４０との間の通信が頻繁に行なわれない場合、大きなサイズのデータの読み書きを要求しても、ホスト機器３０と制御機器４０との間の通信に及ぶ影響は小さい。そこで、このような場合は、その要求を分割せずにそのまま制御機器４０に送信する。これにより、割込通信に要する時間を短時間で行うことができる。したがって、データ管理機器７０の処理効率を向上させることができる。
【０１４０】
〔ソフトウェアによる実現例〕
通信中継装置２０〜２１の制御ブロック（特に中継制御部１３）は、上述のように、ＣＰＵ１を用いてソフトウェアによって実現される。
【０１４１】
通信中継装置２０〜２１は、ＣＰＵ１が通信中継プログラムをＲＯＭ３から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、ＲＯＭ３以外にも、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、通信中継プログラムは、該通信中継プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１４２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１４３】
８  第１リレー（通信経路切替部）
９  第２リレー（通信経路切替部）
１２  データバス（データ伝送路）
１５  受信データ監視部（通信監視部）
１６  オフライン設定部
１７  エラー処理部（エラー検知部）
１８  切替制御部
１９，１９Ａ，１９Ｂ  中継処理部
２０〜２１  通信中継装置
２５  バイパス通信経路
２６  第１中継通信経路（第１通信経路）
２７  第２中継通信経路（第２通信経路）
３０  ホスト機器
４０  制御機器
７０  データ管理機器
１９１  優先度変更部（優先度設定部）
１９２  ボーレート変更部（ボーレート設定部）
１９３  中継調整部（要求分割部）
【図１】
2018137573.tif 000003
【図２】
2018137573.tif 000004
【図３】
2018137573.tif 000005
【図４】
2018137573.tif 000006
【図５】
2018137573.tif 000007
【図６】
2018137573.tif 000008
【図７】
2018137573.tif 000009
【図８】
2018137573.tif 000010
【図９】
2018137573.tif 000011
【図１０】
2018137573.tif 000012
【図１１】
2018137573.tif 000013
【図１２】
2018137573.tif 000014
【図１３】
2018137573.tif 000015