(57)【特許請求の範囲】
【請求項１】
制御システムの少なくとも一部を構成する制御装置であって、
マスター制御部と、
前記マスター制御部と通信ラインを介して接続される少なくとも１つのスレーブ制御部とを備え、前記通信ラインは、前記マスター制御部から前記スレーブ制御部へデータを伝送するためのダウンリンクと、前記スレーブ制御部から前記マスター制御部へデータを伝送するためのアップリンクとを含み、
前記マスター制御部は、
前記アップリンクを介した前記スレーブ制御部からのデータ送信が完了すると、前記アップリンクを非アクティブ化するための指令を、前記ダウンリンクを介して前記スレーブ制御部へ送信する手段と、
前記スレーブ制御部からデータを取得すべき場合に、前記アップリンクをアクティブ化するための指令を、前記ダウンリンクを介して前記スレーブ制御部へ送信する手段とを含み、
前記スレーブ制御部は、
前記ダウンリンクをアクティブに維持するとともに、前記ダウンリンクを介して送信される前記マスター制御部からの指令に従って、前記アップリンクをアクティブ化／非アクティブ化する手段を含む、制御装置。
【請求項２】
前記マスター制御部は、
前記アップリンクをアクティブ化するための指令に引き続いて、前記スレーブ制御部へ渡すデータを、前記ダウンリンクを介して前記スレーブ制御部へ送信する手段をさらに含む、請求項１に記載の制御装置。
【請求項３】
前記マスター制御部は、
前記アップリンクをアクティブ化するための指令を周期的またはイベント的に発生する手段をさらに含む、請求項１または２に記載の制御装置。
【請求項４】
前記通信ラインは、第１および第２のダウンリンクを含む複数の前記ダウンリンクと、第１および第２のアップリンクを含む複数の前記アップリンクとを含み、
前記スレーブ制御部は、
前記第１および第２のダウンリンクをいずれもアクティブに維持するとともに、前記第１または第２のダウンリンクを介して送信される前記マスター制御部からの指令に従って、対応するアップリンクをアクティブ化／非アクティブ化する手段を含む、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記スレーブ制御部は、前記アップリンクを伝送する信号を変換する変換回路を含み、
前記アップリンクを非アクティブ化は、前記変換回路への電源遮断を含む、請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
前記マスター制御部は、前記アップリンクを伝送する信号を受信する受信回路を含み、
前記マスター制御部は、前記アップリンクが非アクティブ化されている期間、前記受信回路の電源を遮断する、請求項１〜５のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械や設備などの動作を制御するために用いられる制御システムにおけるデータ通信に関する。
【背景技術】
【０００２】
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ（Programmable Logic Controller；以下「ＰＬＣ」とも称す）などからなる制御システムによって制御される。このような制御システムは、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するＩＯ（Input Output）ユニットを含む。このようなＩＯユニットは、生産現場の様々な場所に配置されることが予定されている。
【０００３】
このようなＩＯユニットは、プロセッサなどを含む処理ユニットとの間で所定の通信ラインを介して接続されている。このような通信ラインとしては、内部バスとして構成されることが多い。このような内部バスを用いた場合には、伝送能力（伝送速度および伝送帯域など）を高めるために、クロック周波数（伝送周波数）が比較的高いことが多い。
【０００４】
そのため、特開２０１１−１９２０６８号公報（特許文献１）には、データ通信をする場合にノイズの影響を考慮して、ＰＬＣを構成するユニット間の通信を確実かつ高速に行うための構成を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９２０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＰＬＣのシステムが大規模化すると、より多くのＩＯユニットを配置する必要がある。一方で、ＰＬＣのような産業用装置に対しても低消費電力化の要求が高まっている。
【０００７】
本発明の目的は、制御システムにおける消費電力を低減できる制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明のある局面によれば、制御システムの少なくとも一部を構成する制御装置が提供される。制御装置は、マスター制御部と、マスター制御部と通信ラインを介して接続される少なくとも１つのスレーブ制御部とを含む。通信ラインは、マスター制御部からスレーブ制御部へデータを伝送するためのダウンリンクと、スレーブ制御部からマスター制御部へデータを伝送するためのアップリンクとを含む。マスター制御部は、アップリンクを介したスレーブ制御部からのデータ送信が完了すると、アップリンクを非アクティブ化するための指令を、ダウンリンクを介してスレーブ制御部へ送信する手段と、スレーブ制御部からデータを取得すべき場合に、アップリンクをアクティブ化するための指令を、ダウンリンクを介してスレーブ制御部へ送信する手段とを含む。スレーブ制御部は、ダウンリンクをアクティブに維持するとともに、ダウンリンクを介して送信されるマスター制御部からの指令に従って、アップリンクをアクティブ化／非アクティブ化する手段を含む。
【０００９】
好ましくは、マスター制御部は、アップリンクをアクティブ化するための指令に引き続いて、スレーブ制御部へ渡すデータを、ダウンリンクを介してスレーブ制御部へ送信する手段をさらに含む。
【００１０】
好ましくは、マスター制御部は、アップリンクをアクティブ化するための指令を周期的および／またはイベント的に発生する手段をさらに含む。
【００１１】
好ましくは、通信ラインは、マスター制御部からスレーブ制御部へデータを伝送するための第１および第２のダウンリンクと、スレーブ制御部からマスター制御部へデータを伝送するための第１および第２のアップリンクとをさらに含む。マスター制御部は、第２のダウンリンクおよび第２のアップリンクをアクティブ化／非アクティブ化するための指令を、第１のダウンリンクを介してスレーブ制御部へ送信する手段をさらに含む。
【００１２】
好ましくは、通信ラインは、マスター制御部からスレーブ制御部へデータを伝送するための第１および第２のダウンリンクと、スレーブ制御部からマスター制御部へデータを伝送するための第１および第２のアップリンクとをさらに含む。スレーブ制御部は、第１および第２のダウンリンクをいずれもアクティブに維持するとともに、第１または第２のダウンリンクを介して送信されるマスター制御部からの指令に従って、対応するアップリンクをアクティブ化／非アクティブ化する手段を含む。
【００１３】
好ましくは、スレーブ制御部は、アップリンクを伝送する信号を変換する変換回路を含み、アップリンクを非アクティブ化は、変換回路への電源遮断を含む。
【００１４】
好ましくは、マスター制御部は、アップリンクを伝送する信号を受信する受信回路を含み、マスター制御部は、アップリンクが非アクティブ化されている期間、受信回路の電源を遮断する。
【発明の効果】
【００１５】
本発明のある局面に係る制御装置によれば、制御システムにおける消費電力を低減できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るＰＬＣシステムの全体構成を示す模式図である。
【図２】本発明の実施の形態に従うリモートＩＯ装置の接続構成を示す模式図である。
【図３】本発明の実施の形態に従うリモートＩＯ装置を構成するマスターユニットのハードウェア構成を示す模式図である。
【図４】本発明の実施の形態に従うリモートＩＯ装置のＩＯユニットのハードウェア構成を示す模式図である。
【図５】本発明の実施の形態に従うメイン処理装置の接続構成を示す模式図である。
【図６】本発明の実施の形態に従うメイン処理装置を構成するＣＰＵユニットのハードウェア構成を示す模式図である。
【図７】本発明の実施の形態１に従うリモートＩＯ装置における低消費電力化の実現方法を説明するための図である。
【図８】本発明の実施の形態１に従うリモートＩＯ装置における通信手順を示すタイムチャートである。
【図９】本発明の実施の形態１の変形例に従うリモートＩＯ装置における通信手順を示すタイムチャートである。
【図１０】本発明の実施の形態２に従うリモートＩＯ装置の接続構成を示す模式図である。
【図１１】本発明の実施の形態２に従うリモートＩＯ装置に実装される割込み用バス５５の転送に係る論理回路を示す模式図である。
【図１２】本発明の実施の形態２に従うリモートＩＯ装置における通信手順を示すタイムチャートである。
【図１３】本発明の実施の形態３に従うリモートＩＯ装置における通信手順を示すタイムチャートである。
【図１４】本発明の実施の形態４に従うメイン処理装置における通信手順を示すタイムチャートである。
【図１５】本発明の実施の形態５に従うメイン処理装置の接続構成を示す模式図である。
【図１６】本発明の実施の形態５に従うメイン処理装置における通信手順を示すタイムチャートである。
【図１７】本発明の実施の形態６に従うメイン処理装置の接続構成を示す模式図である。
【図１８】本発明の実施の形態６に従うメイン処理装置における通信手順を示すタイムチャートである。
【図１９】本発明の実施の形態５の転用例に係るリモートＩＯ装置の接続構成を示す模式図である。
【図２０】本発明のある実施の形態に従う低消費電力化の実現方法を説明するための図である。
【図２１】本発明のある実施の形態に従う低消費電力化の実現方法を説明するための図である。
【図２２】本発明のある実施の形態に従う低消費電力化の実現方法を説明するための図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００１８】
本発明の実施の形態においては、制御システムの一例として、ＰＬＣを中心とするシステムについて例示する。但し、このような制御システムとしては、ＰＬＣだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術の進展によって、新たな処理装置（演算装置）が開発された場合には、そのような新たな処理装置を採用することもできる。
【００１９】
＜Ａ．ＰＬＣシステムの全体構成＞
まず、本実施の形態に係るＰＬＣシステムの全体構成について説明する。図１は、本発明の実施の形態に係るＰＬＣシステム１の全体構成を示す模式図である。
【００２０】
図１を参照して、ＰＬＣシステム１は、メイン処理装置２と、１つ以上のリモートＩＯ装置３とを含む。メイン処理装置２は、フィールドバス４を介して、リモートＩＯ装置３と接続されている。リモートＩＯ装置３の各々は、フィールドバス４と接続するための通信モジュール１２を有している。
【００２１】
メイン処理装置２は、制御プログラムを実行し、外部のスイッチやセンサからの入力信号に応答して、外部のリレーやアクチュエータへの出力信号を算出する。
【００２２】
より具体的には、メイン処理装置２は、電源ユニット３０と、ＣＰＵユニット４０と、ＩＯユニット２０とを含む。ＣＰＵユニット４０およびＩＯユニット２０は、内部バス５を介して互いにデータ通信可能に接続されている。
【００２３】
電源ユニット３０は、ＣＰＵユニット４０およびＩＯユニット２０へ適切な電圧の電力を供給する。ＣＰＵユニット４０は、制御プログラムを実行するためのプロセッサおよびメインメモリを含む演算主体である。ＩＯユニット２０は、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当する。
【００２４】
ＣＰＵユニット４０は、フィールドバス４を介して、リモートＩＯ装置３との間でデータを遣り取りするための通信モジュール４２を含む。フィールドバス４は、予め定められた制御周期で通信可能な（リアルタイム通信可能な）通信方式が好ましい。言い換えれば、本実施の形態に従うフィールドバス４は、定時性が確保されていることが好ましい。
【００２５】
このようなフィールドバス４としては、典型的には、各種の産業用イーサネット（登録商標）を用いることができる。産業用イーサネット（登録商標）としては、例えば、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ  ＩＲＴ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、Ｐｏｗｅｒｌｉｎｋ、ＳＥＲＣＯＳ（登録商標）−ＩＩＩ、ＣＩＰ  Ｍｏｔｉｏｎなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット（登録商標）以外のフィールドネットワークを用いてもよい。例えば、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ／ＩＰ（登録商標）などを用いてもよい。
【００２６】
リモートＩＯ装置３は、ＰＬＣシステム１の少なくとも一部を構成する制御装置である。リモートＩＯ装置３は、外部のスイッチやセンサからの入力信号を受信し、フィールドバス４を介して、その受信した入力信号をメイン処理装置２へ送信するとともに、メイン処理装置２からフィールドバス４を介して受信した信号を、外部のリレーやアクチュエータへ出力する。
【００２７】
より具体的には、リモートＩＯ装置３は、マスターユニット１０と、１つ以上のＩＯユニット２０とを含む。マスターユニット１０およびＩＯユニット２０は、内部バス５を介して互いにデータ通信可能に接続されている。
【００２８】
マスターユニット１０は、主として、ＩＯユニット２０の動作（ＩＯデータの更新タイミングなど）を制御するとともに、メイン処理装置２との間のデータ通信を制御する。マスターユニット１０の詳細については、後述する。
【００２９】
ＩＯユニット２０は、マスターユニット１０（または、ＣＰＵユニット４０）と内部バス５を介してデータ通信する機能に加えて、一般的な入出力処理の機能を有する。典型的には、ＩＯユニット２０は、オン／オフといった２値化されたデータを入力／出力する。例えば、ＩＯユニット２０は、検出センサから、何らかの対象物を検出している状態（オン）および何らの対象物も検出していない状態（オフ）のいずれであるかという情報を収集する。また、ＩＯユニット２０は、リレーやアクチュエータといった出力先に対して、アクティブ化（活性化）するための指令（オン）および非アクティブ化（非活性化）するための指令（オフ）のいずれかを与える。
【００３０】
上述の説明では、ＩＯユニット２０の各々が入出力処理を行う構成について例示したが、入力処理に特化した構成（入力ユニット）または出力処理に特化した構成（出力ユニット）であってもよい。
【００３１】
＜Ｂ．本実施の形態における低消費電力化について＞
本実施の形態に従うＰＬＣシステム１の内部バス５では、機器同士がデジチェーン接続されている。より具体的には、内部バス５は、マスター／スレーブ構成になっており、マスター側からスレーブ側へデータを送信するダウンリンク（Down Link：以下「ＤＬ」とも記す。）と、スレーブ側からマスター側へデータを送信するアップリンク（Up Link：以下「ＵＬ」とも記す。）とが対になった通信チャネルからなる。なお、この通信チャネルは、１回線であってもよいし、さらに多くの回線が用意されていてもよい。
【００３２】
本実施の形態においては、アップリンク／ダウンリンクからなる通信チャネルの一方のリンクを非通信時には休止（非アクティブ）する。そして、通信時および非通信時にかかわらず、他方のリンクについては基本的にアクティブにしておき、必要に応じて、他方のリンクを使用して休止中の一方のリンクをアクティブ化する。マスター側からスレーブ側への指令の伝達の容易性から、一例として、アップリンクを必要に応じてアクティブ化する。
【００３３】
より具体的には、本実施の形態に従うＰＬＣシステム１において、マスターとして機能する装置は、アップリンクを介したスレーブである装置からのデータ送信が完了すると、アップリンクを非アクティブ化するための指令を、ダウンリンクを介してスレーブ側へ送信するとともに、スレーブ制御部からデータを取得すべき場合に、アップリンクをアクティブ化するための指令を、ダウンリンクを介してスレーブ側へ送信する。一方、スレーブとして機能する装置は、ダウンリンクをアクティブに維持するとともに、アップリンクを介して送信されるマスター側からの指令に従って、アップリンクをアクティブ化／非アクティブ化する。
【００３４】
このように非アクティブ化された期間は、通信に係る電力を消費しないので、低消費電力化を実現できる。
【００３５】
＜Ｃ．リモートＩＯ装置３のハードウェア構成＞
まず、本実施の形態に従うＰＬＣシステム１の一部を構成する制御装置であるリモートＩＯ装置３のハードウェア構成について説明する。
【００３６】
図２は、本発明の実施の形態に従うリモートＩＯ装置３の接続構成を示す模式図である。図３は、本発明の実施の形態に従うリモートＩＯ装置３を構成するマスターユニット１０のハードウェア構成を示す模式図である。図４は、本発明の実施の形態に従うリモートＩＯ装置３のＩＯユニット２０のハードウェア構成を示す模式図である。
【００３７】
《ｃ１：接続構成》
図２を参照して、リモートＩＯ装置３では、マスターユニット１０および１つ以上のＩＯユニット２０−１，２０−２，２０−３（以下「ＩＯユニット２０」と総称する場合もある。）が通信ラインである内部バス５（ダウンリンク５１およびアップリンク５２）を介して互いにデータ通信可能に接続されている。一例として、ダウンリンク５１およびアップリンク５２では、シリアル通信が採用されており、対象のデータは、時系列に一列に並べられた形で伝送する。すなわち、ダウンリンク５１では、マスター制御部として機能するマスターユニット１０からスレーブ制御部として機能するＩＯユニット２０へ向けて、ダウンリンク５１を介して一方向にデータが送信される。一方、アップリンク５２では、いずれかのＩＯユニット２０からマスターユニット１０へ向けて、アップリンク５２を介して一方向にデータが送信される。
【００３８】
ＩＯユニット２０の各々は、ダウンリンク５１またはアップリンク５２を伝送する信号列を受信すると、その信号列を復号した上で、必要な処理を実行する。そして、ＩＯユニット２０の各々は、信号列を再生成した上で、次段のＩＯユニット２０へ再送出（フォワード）する。このようなデータの順次転送を実現するために、各ＩＯユニット２０は、ダウンリンク５１に関して、受信部（以下「ＲＸ」とも記す。）２１０ａおよび送信部（以下「ＴＸ」とも記す。）２１０ｂを含むとともに、アップリンク５２に関して、受信部２２０ａおよび送信部２２０ｂを含む。
【００３９】
各ＩＯユニット２０は、プロセッサ２００を含み、プロセッサ２００がこれらのデータの処理を制御する。
【００４０】
マスターユニット１０は、プロセッサ１００と、フィールドバス制御部１１０と、受信部１１２と、送信部１１４と、内部バス制御部１３０とを含む。すなわち、マスターユニット１０は、内部バス５（ダウンリンク５１およびアップリンク５２）と接続されるだけではなく、受信部１１２および送信部１１４を介して、上位通信ネットワークであるフィールドバス４とも接続される。フィールドバス制御部１１０は、フィールドバス４を介したデータ通信を管理し、内部バス制御部１３０は、内部バス５を介したデータ通信を管理する。
【００４１】
《ｃ２：マスターユニット１０の構成》
図３を参照して、リモートＩＯ装置３のマスターユニット１０は、プロセッサ１００と、フィールドバス制御部１１０と、受信部１１２と、送信部１１４と、内部バス制御部１３０とを含む。
【００４２】
受信部１１２は、メイン処理装置２からフィールドバス４を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部１１０へ出力する。送信部１１４は、フィールドバス制御部１１０から出力されるデータから上位通信フレームを再構成してフィールドバス４を介して再送出（フォワード）する。
【００４３】
フィールドバス制御部１１０は、受信部１１２および送信部１１４と協働して、フィールドバス４を介して予め定められた制御周期（以下「制御周期Ｔ１」とする。）毎に他の装置（メイン処理装置２および他のリモートＩＯ装置３）との間でデータを送受信する。より具体的には、フィールドバス制御部１１０は、上位通信コントローラ１２０と、メモリコントローラ１２２と、ＦＩＦＯ（First In First Out）メモリ１２４と、受信バッファ１２６と、送信バッファ１２８とを含む。
【００４４】
上位通信コントローラ１２０は、メイン処理装置２からフィールドバス４を介して送信されるコマンドなどを解釈して、フィールドバス４を介した通信を実現するために必要な処理を実行する。また、上位通信コントローラ１２０は、ＦＩＦＯメモリ１２４に順次格納される上位通信フレームからのデータコピー、および上位通信フレームに対するデータ書込みの処理を行う。
【００４５】
メモリコントローラ１２２は、ＤＭＡ（Dynamic Memory Access）などの機能を実現する制御回路であり、ＦＩＦＯメモリ１２４、受信バッファ１２６および送信バッファ１２８などへのデータの書込み／読出しを制御する。
【００４６】
ＦＩＦＯメモリ１２４は、フィールドバス４を介して受信された上位通信フレームを一時的に格納するとともに、その格納された順序に従って上位通信フレームを順次出力する。受信バッファ１２６は、ＦＩＦＯメモリ１２４に順次格納される上位通信フレームに含まれるデータのうち、自装置に接続されているＩＯユニット２０の出力部から出力すべき状態値を示すデータ（以下「ＯＵＴデータ」とも称す。）を抽出して一時的に格納する。また、送信バッファ１２８は、ＩＯユニット２０の入力部で検出された状態値を示すプロセスデータであって、ＦＩＦＯメモリ１２４に順次格納される上位通信フレームの所定領域に書込むべきデータ（以下「ＩＮデータ」とも称す。）を一時的に格納する。
【００４７】
プロセッサ１００は、フィールドバス制御部１１０および内部バス制御部１３０に対して指示を与えるとともに、フィールドバス制御部１１０と内部バス制御部１３０との間のデータ転送などを制御する。すなわち、プロセッサ１００は、フィールドバス制御部１１０のバッファメモリと内部バス制御部１３０のバッファメモリとの間でデータ転送を制御する転送回路としても機能する。
【００４８】
内部バス制御部１３０は、フィールドバス４における制御周期（制御周期Ｔ１）より短い時間内で、内部バス５（ダウンリンク５１およびアップリンク５２）を介してＩＯユニット２０との間でデータを送受信する。例えば、制御周期Ｔ１は１２５μｓｅｃに設定され、内部バス５を介したマスターユニット１０とＩＯユニット２０との間でのデータ送信に要する時間は数〜１０数μｓｅｃである。
【００４９】
より具体的には、内部バス制御部１３０は、内部バス通信コントローラ１３２と、送信回路１４２と、受信回路１４４と、記憶部１６０とを含む。
【００５０】
内部バス通信コントローラ１３２は、内部バス５を介したデータ通信を主体的に（マスターとして）管理する。例えば、内部バス通信コントローラ１３２は、プロセッサ１００からの指示に従って、ＩＯユニット２０に対してＩＮデータを要求するコマンド（トリガー）を含むデータフレーム（以下「ＴＲＧ＿ｆｒａｍｅ（ＩＮ）」とも称す。）、または、ＩＯユニット２０に対して反映すべきＯＵＴデータを含むデータフレーム（以下「ＯＵＴ＿ｆｒａｍｅ」とも称す。）を内部バス５上に送出する。ＴＲＧ＿ｆｒａｍｅ（ＩＮ）に応答して、各ＩＯユニット２０は、自ユニットの入力部をリフレッシュした後、そのリフレッシュ後の状態値（ＩＮデータ）を含むデータフレーム（以下「ＩＮ＿ｆｒａｍｅ」とも称す。）を内部バス５を介して返送する。なお、ＴＲＧ＿ｆｒａｍｅ（ＩＮ）またはＯＵＴ＿ｆｒａｍｅは、特定のＩＯユニット２０に対して送信されてもよいし、内部バス５に接続されているすべてのＩＯユニット２０に対して送信（マルチキャスト／ブロードキャスト）されてもよい。
【００５１】
送信回路１４２は、内部バス通信コントローラ１３２からの指示に従って、内部バス５のダウンリンク上を流れるデータフレームを生成して送信する。受信回路１４４は、内部バス５のアップリンク上を流れるデータフレームを受信して、内部バス通信コントローラ１３２へ出力する。
【００５２】
記憶部１６０は、内部バス５を伝送するデータを格納するバッファメモリに相当する。より具体的には、記憶部１６０は、共有メモリ１６２と、受信バッファ１６４と、送信バッファ１６６とを含む。共有メモリ１６２は、フィールドバス制御部１１０と内部バス制御部１３０との間で遣り取りされるデータを一時的に格納する。受信バッファ１６４は、内部バス５を介してＩＯユニット２０から受信したＩＮデータを一時的に格納する。送信バッファ１６６は、フィールドバス制御部１１０で受信された上位通信フレームに含まれるＯＵＴデータを一時的に格納する。
【００５３】
《ｃ３：ＩＯユニット２０の構成》
図４を参照して、リモートＩＯ装置３のＩＯユニット２０の各々は、逆シリアル変換器（de-serializer：以下「ＤＥＳ部」とも称す。）２１２，２２２と、シリアル変換器（ＳＥＲ：serializer：以下「ＳＥＲ部」とも称す。）２１６，２２６と、リピート部２１４，２２４とを含む。さらに、ＩＯユニット２０の各々は、バス２５０を介して互いに接続された、受信処理部２３０と、送信処理部２４０と、プロセッサ２００と、共有メモリ２０２と、ＩＯモジュール２０６と、不揮発性メモリ２０８とを含む。
【００５４】
ＤＥＳ部２１２、リピート部２１４およびＳＥＲ部２１６は、図２に示すダウンリンク５１についての受信部２１０ａおよび送信部２１０ｂに対応する。すなわち、これらの部分は、ダウンリンク５１を流れるデータ（データフレーム）の送受信に係る処理を実行する。同様に、ＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６は、図２に示すアップリンク５２についての受信部２２０ａおよび送信部２２０ｂに対応する。
【００５５】
本実施の形態では、例えば、状況に応じて、ＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６の動作が停止される。特に、内部バス５のクロック周波数が相対的に高い（例えば、ＧＨｚオーダー）であれば、これらのコンポーネントでの消費電力が相対的に大きくなるので、停止することで電力消費を抑制する。後述するように、ダウンリンク５１を介して送信される指令に応答して、プロセッサ２００がこれらのコンポーネントに対して、動作および停止を指示する（active/standby指令）。
【００５６】
すなわち、スレーブ制御部として機能するＩＯユニット２０は、アップリンク５２を伝送する信号を変換する変換回路（ＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）を含む。そして、アップリンク５２の非アクティブ化は、これらの変換回路への電源遮断を含む。
【００５７】
より具体的には、受信処理部２３０は、復号部２３２と、ＣＲＣチェック部２３４とを含む。復号部２３２は、受信されたデータフレームを所定のアルゴリズムに従って復号しデータを生成する。ＣＲＣチェック部２３４は、復号されたデータに対して誤りチェック（例えば、ＣＲＣ（Cyclic Redundancy Check）符号）を行う。そして、誤りチェックで正常と判定されたデータは、プロセッサ２００などへ出力される。
【００５８】
送信処理部２４０は、リピート部２１４および２２４に接続され、プロセッサ２００などからの指示に従って、次段のＩＯユニット２０へ再送出（フォワード）するデータフレームの構成およびタイミングなどを制御する。より具体的には、送信処理部２４０は、ＣＲＣ生成部２４２と、符号化部２４４とを含む。ＣＲＣ生成部２４２は、プロセッサ２００などからのデータに対して誤り制御符号（ＣＲＣ）を算出して、当該データに付加する。符号化部２４４は、ＣＲＣ生成部２４２からのデータを符号化し、対応するリピート部へ出力する。
【００５９】
プロセッサ２００は、ＩＯユニット２０を主体的に制御する演算主体である。より具体的には、プロセッサ２００は、予め格納されたプログラムなどを実行することによって、受信処理部２３０を介して受信されたデータフレームを共有メモリ２０２に格納し、あるいは共有メモリ２０２から所定のデータを読み出してデータフレームを生成するために送信処理部２４０へ出力する。
【００６０】
共有メモリ２０２は、受信処理部２３０を介して受信されたデータフレームを一時的に格納するための受信バッファ２０３と、送信処理部２４０へ介して送信するためのデータフレームを一時的に格納するための送信バッファ２０４とを含む。また、共有メモリ２０２は、各種データを格納するための領域を含む。
【００６１】
ＩＯモジュール２０６は、外部のスイッチやセンサからの入力信号を受信し、その値を共有メモリ２０２に書込むとともに、共有メモリ２０２の対応する領域に書込まれた値に従って、その信号を外部のリレーやアクチュエータへ出力する。すなわち、ＩＯモジュール２０６は、外部入力される信号の状態値（ＩＮデータ）を収集する入力部、および、指定された状態値（ＯＵＴデータ）の信号を出力する出力部の少なくとも一方を含む。
【００６２】
不揮発性メモリ２０８は、各種データを不揮発的に格納する。より具体的には、不揮発性メモリ２０８は、各ＩＯユニット２０の設定値を記述する設定情報（configuration）などを保持する。
【００６３】
《ｃ４：その他》
リモートＩＯ装置３を構成するマスターユニット１０およびＩＯユニット２０の各コンポーネントは、処理高速化の観点から、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアなどを実現することが好ましい。但し、一部または全部のコンポーネントをソフトウェアとして実装してもよい。例えば、図２に示す受信部２１０ａ，２２０ａおよび送信部２１０ｂ，２２０ｂに相当する部分のみをＡＳＩＣなどの物理的な回路を用いて実装し、その他の部分については、プロセッサがプログラムを実行することで実現してもよい。
【００６４】
＜Ｄ．メイン処理装置２のハードウェア構成＞
次に、本実施の形態に従うＰＬＣシステム１の一部を構成する制御装置であるメイン処理装置２のハードウェア構成について説明する。
【００６５】
図５は、本発明の実施の形態に従うメイン処理装置２の接続構成を示す模式図である。図６は、本発明の実施の形態に従うメイン処理装置２を構成するＣＰＵユニット４０のハードウェア構成を示す模式図である。
【００６６】
《ｄ１：接続構成》
図５を参照して、メイン処理装置２においても、上述のリモートＩＯ装置３（図２参照）と同様に、ＣＰＵユニット４０および１つ以上のＩＯユニット２０−１，２０−２，２０−３が通信ラインである内部バス５（ダウンリンク５１およびアップリンク５２）を介して互いにデータ通信可能に接続されている。すなわち、ダウンリンク５１では、マスター制御部として機能するＣＰＵユニット４０からスレーブ制御部として機能するＩＯユニット２０へ向けて、ダウンリンク５１を介して一方向にデータが送信される。一方、アップリンク５２では、いずれかのＩＯユニット２０からＣＰＵユニット４０へ向けて、アップリンク５２を介して一方向にデータが送信される。
【００６７】
ＩＯユニット２０の各々は、ダウンリンク５１またはアップリンク５２を伝送するデータを受信すると、そのデータを復号した上で、必要な処理を実行する。そして、ＩＯユニット２０の各々は、データを再生成した上で、次段のＩＯユニット２０へ再送出（フォワード）する。このようなデータの順次転送を実現するために、各ＩＯユニット２０は、ダウンリンク５１に関して、受信部（ＲＸ）２１０ａおよび送信部（ＴＸ）２１０ｂを含むとともに、アップリンク５２に関して、受信部２２０ａおよび送信部２２０ｂを含む。
【００６８】
ＣＰＵユニット４０は、プロセッサ１５０と、フィールドバス制御部１１０と、受信部１１２と、送信部１１４と、内部バス制御部１３０とを含む。
【００６９】
《ｄ２：ＣＰＵユニット４０の構成》
図６を参照して、メイン処理装置２のＣＰＵユニット４０は、プロセッサ１５０と、主メモリ１５２と、不揮発性メモリ１５４と、フィールドバス制御部１１０と、受信部１１２と、送信部１１４と、内部バス制御部１３０とを含む。ＣＰＵユニット４０のデータ通信に係る基本的な構成は、上述のマスターユニット１０（図２）と同様であるので、対応する部分（同一の参照符号を付している）についての説明は繰り返さない。
【００７０】
一方で、ＣＰＵユニット４０のプロセッサ１５０は、対象の制御に係るユーザプログラムを実行する。より具体的には、ＣＰＵユニット４０は、不揮発性メモリ１５４などからユーザプログラム１５６を読み出すとともに、主メモリ１５２に展開して実行する。このユーザプログラムの実行によって、ＩＯユニット２０の入力部によって検出された状態値に基づいて、ＩＯユニット２０の出力部から出力すべき状態値が順次算出される。
【００７１】
《ｄ３：ＩＯユニット２０の構成》
メイン処理装置２のＩＯユニット２０の構成については、上述したリモートＩＯ装置３のＩＯユニット２０の構成（図４参照）と同様であるので、詳細な説明は繰り返さない。
【００７２】
《ｄ４：その他》
メイン処理装置２を構成するＣＰＵユニット４０およびＩＯユニット２０の各コンポーネントについても、処理高速化の観点から、ＡＳＩＣやＦＰＧＡなどのハードウェアなどを実現することが好ましい。但し、一部または全部のコンポーネントをソフトウェアとして実装してもよい。
【００７３】
＜Ｅ．内部バスにおける転送方式＞
本実施の形態に従う内部バス５においては、典型的には、以下のような転送方式が可能である。
【００７４】
（１）マスター制御部に接続されているすべてのスレーブ制御部に対して、一斉にデータを転送する方式（マルチキャストまたはブロードキャスト）。この転送方式では、マスター制御部がダウンリンク５１を介して送信したデータフレームは、すべてのスレーブ制御部の間で転送される。上述した、ＴＲＧ＿ｆｒａｍｅ（ＩＮ）およびＯＵＴ＿ｆｒａｍｅをこの方法で転送することが可能である。
【００７５】
（２）マスター制御部に接続されている特定のスレーブ制御部に対して、データを転送する方式（宛先指定転送）。この転送方式では、マスター制御部がダウンリンク５１を介して送信したデータフレームは、宛先のスレーブ制御部に到達するまで転送され続けるが、宛先のスレーブ制御部に到達した時点で、次段のスレーブ制御部へは転送されない。上述した、ＴＲＧ＿ｆｒａｍｅ（ＩＮ）およびＯＵＴ＿ｆｒａｍｅをこの方法で転送することが可能である。また、メッセージなどもこの方法で転送される（メッセージ転送）。
【００７６】
（３）マスター制御部からの要求に応答して、スレーブ制御部がマスター制御部に対して、データを転送する方式（通常転送）。この転送方式では、いずれかのスレーブ制御部がアップリンク５２を介して送信したデータフレームは、マスター制御部まで転送される。
【００７７】
（４）マスター制御部から送信権を与えられたことを条件として、スレーブ制御部がマスター制御部に対して、データを転送する方式（メッセージ転送）。なお、マスター制御部からスレーブ制御部に対して送信権を与えるコマンド（トリガー）を含むデータフレーム（以下「ＴＲＧ＿ｆｒａｍｅ（ＭＳＧ）」とも称す。）が送信される。この転送方式では、先にマスター制御部がいずれかのスレーブ制御部に対してアップリンク５２についての送信権を付与する。送信権を付与されたスレーブ制御部がアップリンク５２を介して送信したデータフレームは、マスター制御部まで転送される。
【００７８】
以下、内部バスを低消費電力化するための手順について説明する。
＜Ｆ．実施の形態１＞
実施の形態１として、内部バス５が１チャネル（１つのダウンリンク５１および１つのアップリンク５２）で構成される例について説明する。実施の形態１では、リモートＩＯ装置３の内部バス５に適用した例を説明する。
【００７９】
実施の形態１においては、ダウンリンク５１をアクティブに維持するともに、アップリンク５２（図２に示す受信部２２０ａおよび送信部２２０ｂ）を必要な期間に限ってアクティブにする方法を説明する。
【００８０】
図７は、本発明の実施の形態１に従うリモートＩＯ装置３における低消費電力化の実現方法を説明するための図である。図７（ａ）には、ダウンリンク５１およびアップリンク５２のいずれもがアクティブである状態を示し、図７（ｂ）には、ダウンリンク５１がアクティブに維持される一方で、アップリンク５２が休止している状態を示す。
【００８１】
このとき、マスター制御部として機能するマスターユニット１０は、アップリンク５２を伝送する信号を受信する受信回路（内部バス制御部１３０内の受信回路１４４）を含み、アップリンク５２が非アクティブ化されている期間、当該受信回路１４４の電源も遮断される。これによって、ＩＯユニット２０だけでなく、マスターユニット１０においても消費電力を低減できる。
【００８２】
実施の形態１においては、可能な限り図７（ｂ）に示すような状態を維持することで、消費電力を低減する。一方で、ダウンリンク５１については、アクティブな状態に維持することで、アップリンク５２のアクティブ化／休止の制御を容易化する。
【００８３】
リモートＩＯ装置３は、上位通信ネットワークであるフィールドバス４を通じて、メイン処理装置２からＯＵＴデータを受信するとともに、自装置の入力部で収集した状態値（ＩＮデータ）をメイン処理装置２へ送信する。また、フィールドバス４上では、上位通信フレームが周期的に伝送される。
【００８４】
実施の形態１においては、この上位通信フレームが到達するタイミングを基準として、データ更新を行う。より具体的には、到達した上位通信フレームに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６（図４）の出力値が更新される（以下「ＯＵＴデータリフレッシュ」とも称す。）。また、次の上位通信フレームが到達する前に、ＩＯモジュール２０６（図４）で検出されている最新の状態値（ＩＮデータ）がマスターユニット１０へ転送される（以下「ＩＮデータリフレッシュ」とも称す。）。これによって、上位通信フレームが到達したときに、最新の状態値（ＩＮデータ）をその上位通信フレームに書込むことができる。
【００８５】
上述のようなアップリンク５２のアクティブ／非アクティブについては、マスター制御部がダウンリンク５１を介して制御する。より具体的には、マスター制御部として機能するマスターユニット１０は、ダウンリンク５１を介して、休止状態の受信部２２０ａおよび送信部２２０ｂをアクティブ化するための指令を含むデータフレーム（以下「ＷａｋｅＵＰ＿ｆｒａｍｅ」とも称す。）、および、アクティブ状態の受信部２２０ａおよび送信部２２０ｂを休止するための指令を含むデータフレーム（以下「ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ」とも称す。）をスケジュールに従って送信する。いずれかのデータフレームを受信したＩＯユニット２０は、指定された処理（受信部２２０ａおよび送信部２２０ｂのアクティブ化／休止）を実行する。
【００８６】
以下、タイムチャートを参照しつつ、実施の形態１における内部バス５における通信スケジュールについて説明する。
【００８７】
図８は、本発明の実施の形態１に従うリモートＩＯ装置３における通信手順を示すタイムチャートである。図８には、上位通信フレーム３００の到着ごとに、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行される場合の通信手順を示す。そのため、図８に示す通信手順は、フィールドバス４の制御周期であるＴ１ごとに繰り返される。上位通信フレーム３００の到着直前においては、アップリンク５２は休止状態であるとする。
【００８８】
図８（ａ）は、上位通信ネットワークであるフィールドバス４を伝送されるデータフレームを示す。図８（ｂ）は、マスターユニット１０と１番目のＩＯユニット２０−１との間のダウンリンク５１を伝送されるデータフレームを示す。図８（ｃ）は、１番目のＩＯユニット２０−１とマスターユニット１０との間のアップリンク５２を伝送されるデータフレームを示す。図８（ｄ）は、１番目のＩＯユニット２０−１と２番目のＩＯユニット２０−２との間のダウンリンク５１を伝送されるデータフレームを示す。図８（ｅ）は、２番目のＩＯユニット２０−２と１番目のＩＯユニット２０−１との間のアップリンク５２を伝送されるデータフレームを示す。
【００８９】
まず、上位通信フレーム３００が到着し、その受信が完了すると、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。すなわち、マスターユニット１０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。このＷａｋｅＵＰ＿ｆｒａｍｅ４０２は、マルチキャストまたはブロードキャストで送信される。そのため、図８（ｂ）および（ｄ）に示すように、マスターユニット１０からＩＯユニット２０−１へ転送された後、ＩＯユニット２０−１からＩＯユニット２０−２へさらに転送される。なお、図８においては、転送に要する時間は極めて短いとして、無視している。
【００９０】
図８（ｃ）および（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、近接するマスターユニット１０またはＩＯユニット２０の受信部２２０ａまたは送信部２２０ｂに対して自ユニットの存在を通知するために、トレーニング信号５０２を送信する。このトレーニング信号５０２は、基本的には意味の無い雑音信号であり、自ユニットがアクティブ化していることを他のユニットに知らせるためのものである。すなわち、ＩＯユニット２０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に応答して、予め定められた期間に亘ってアップリンク５２上にダミー信号を送信する。
【００９１】
続いて、図８（ｂ）に示すように、マスターユニット１０は、ダウンリンク５１を介してＯＵＴ＿ｆｒａｍｅ４０４を送信する。このＯＵＴ＿ｆｒａｍｅ４０４は、上位通信フレームから取り出されたＯＵＴデータを含む。ＯＵＴ＿ｆｒａｍｅ４０４を受信したＩＯユニット２０は、それに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６の出力値を更新する。
【００９２】
さらに、マスターユニット１０は、特定のＩＯユニット２０に対して、メッセージ４０６を送信する。このメッセージ４０６がＩＯユニット２０−１に向けられたものである場合には、ＩＯユニット２０−１はこのメッセージ４０６を次段へは転送しない（図８（ｄ）参照）。
【００９３】
このように、マスターユニット１０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に引き続いて、ＩＯユニット２０へ渡すデータを、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【００９４】
一方、ＩＯユニット２０の各々は、トレーニング信号の送信が完了（トレーニング期間が終了）すると、マスターユニット１０へのデータ転送を開始する。例えば、ＩＯユニット２０−１に対して送信権が与えられていれば、図８（ｂ）に示すように、ＩＯユニット２０−１は、メッセージ５０４をマスターユニット１０へ送信する。
【００９５】
続いて、ＩＯユニット２０の各々は、ＩＮデータリフレッシュを実行する。すなわち、ＩＯユニット２０の各々は、ＩＯモジュール２０６に入力されている最新の状態値を取得し、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５０６をマスターユニット１０へ送信する。このＩＮ＿ｆｒａｍｅ５０６は、それぞれのＩＯユニット２０からマスターユニット１０へ順次送信される。
【００９６】
ＩＮ＿ｆｒａｍｅ５０６を受信したマスターユニット１０は、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュの実行が完了したと判断し、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を休止させる。すなわち、マスター制御部として機能するマスターユニット１０は、アップリンク５２を介したスレーブ制御部として機能するＩＯユニット２０からのデータ送信が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【００９７】
このアップリンク５２の休止状態は、後続の上位通信フレームが到着するまで継続される。
【００９８】
上述のように、実施の形態１においては、マスターユニット１０は、アップリンク５２を介したＩＯユニット２０からのデータ受信（ＩＮデータリフレッシュ）が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【００９９】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるマスターユニット１０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１００】
＜Ｇ．実施の形態１の変形例＞
上述の実施の形態１においては、アップリンク５２がアクティブ化された後、ＩＯユニット２０からのメッセージ５０４の送信後、続けてＩＮ＿ｆｒａｍｅ５０６が送信される例を示した。しかしながら、メッセージ５０４の送信は必ずしも必要ではなく、またメッセージ５０４とＩＮ＿ｆｒａｍｅ５０６とを連続して送信する必要もない。
【０１０１】
以下に示す実施の形態１の変形例においては、メッセージ５０４およびＩＮ＿ｆｒａｍｅ５０６をそれぞれ異なるタイミングで送信する場合について説明する。
【０１０２】
図９は、本発明の実施の形態１の変形例に従うリモートＩＯ装置３における通信手順を示すタイムチャートである。図９には、上位通信フレーム３００の到着ごとに、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行される場合の通信手順を示す。上位通信フレーム３００の到着直前においては、アップリンク５２は休止状態であるとする。
【０１０３】
図９（ａ）は、上位通信ネットワークであるフィールドバス４を伝送されるデータフレームを示す。図９（ｂ）は、マスターユニット１０と１番目のＩＯユニット２０−１との間のダウンリンク５１を伝送されるデータフレームを示す。図９（ｃ）は、１番目のＩＯユニット２０−１とマスターユニット１０との間のアップリンク５２を伝送されるデータフレームを示す。図９（ｄ）は、１番目のＩＯユニット２０−１と２番目のＩＯユニット２０−２との間のダウンリンク５１を伝送されるデータフレームを示す。図９（ｅ）は、２番目のＩＯユニット２０−２と１番目のＩＯユニット２０−１との間のアップリンク５２を伝送されるデータフレームを示す。
【０１０４】
図８に示す通信手順に比較して、図９に示す通信手順においては、ある上位通信フレームが到着すると、その直後にＩＮデータリフレッシュが実行されるのではなく、後続の上位通信フレームの到着に間に合うようにＩＮデータリフレッシュが実行される点が異なっている。
【０１０５】
まず、上位通信フレーム３００が到着し、その受信が完了すると、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。すなわち、マスターユニット１０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１０６】
図９（ｃ）および（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、近接するマスターユニット１０またはＩＯユニット２０の受信部２２０ａまたは送信部２２０ｂに対して自ユニットの存在を通知するために、トレーニング信号５０２を送信する。すなわち、ＩＯユニット２０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に応答して、予め定められた期間に亘ってアップリンク５２上にダミー信号を送信する。
【０１０７】
図９（ｂ）に示すように、マスターユニット１０は、続いて、ダウンリンク５１を介してＯＵＴ＿ｆｒａｍｅ４０４を送信する。このＯＵＴ＿ｆｒａｍｅ４０４は、上位通信フレームから取り出されたＯＵＴデータを含む。ＯＵＴ＿ｆｒａｍｅ４０４を受信したＩＯユニット２０は、それに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６の出力値を更新する。さらに、マスターユニット１０は、特定のＩＯユニット２０に対して、メッセージ４０６を送信する。
【０１０８】
このように、マスターユニット１０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に引き続いて、ＩＯユニット２０へ渡すデータを、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１０９】
一方、ＩＯユニット２０の各々は、トレーニング信号の送信が完了（トレーニング期間が終了）すると、マスターユニット１０へのデータ転送を開始する。例えば、ＩＯユニット２０−１に対して送信権が与えられていれば、図９（ｂ）に示すように、ＩＯユニット２０−１は、メッセージ５０４をマスターユニット１０へ送信する。
【０１１０】
ＩＯユニット２０からのメッセージ５０４を受信したマスターユニット１０は、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を一旦休止させる。
【０１１１】
その後、マスターユニット１０は、後続の上位通信フレームの到着に間に合うように、ＩＮデータリフレッシュを実行させる。すなわち、図９（ｂ）に示すように、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度アクティブ化する。図９（ｃ）および（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、トレーニング信号５０２を送信する。続いて、ＩＯユニット２０の各々は、ＩＮデータリフレッシュを実行する。すなわち、ＩＯユニット２０の各々は、ＩＯモジュール２０６に入力されている最新の状態値を取得し、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５０６をマスターユニット１０へ送信する。このＩＮ＿ｆｒａｍｅ５０６は、それぞれのＩＯユニット２０からマスターユニット１０へ順次送信される。
【０１１２】
ＩＮ＿ｆｒａｍｅ５０６を受信したマスターユニット１０は、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度休止させる。
【０１１３】
このアップリンク５２の休止状態は、後続の上位通信フレームが到着するまで継続される。
【０１１４】
上述のように、実施の形態１の変形例においては、マスターユニット１０は、アップリンク５２を介したＩＯユニット２０からのデータ送信（ＯＵＴデータリフレッシュ）が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１１５】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるマスターユニット１０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１１６】
＜Ｈ．実施の形態２＞
上述の実施の形態１およびその変形例においては、アップリンク５２は可能な限り休止状態に維持される。アップリンク５２が休止状態に維持されている場合、いずれかのＩＯユニット２０において何らかの事象が発生したときには、それをマスターユニット１０へ伝達する手段がない。
【０１１７】
そこで、実施の形態２においては、いずれかのＩＯユニット２０で割込み要因（イベント）が発生したことに応答して、マスターユニット１０で何らかの処理を実行させることができる構成について説明する。
【０１１８】
図１０は、本発明の実施の形態２に従うリモートＩＯ装置３の接続構成を示す模式図である。図１０を参照して、実施の形態２に従うリモートＩＯ装置３においては、図２に示す接続構成に比較して、割込み用バス５５が追加されている点が異なっている。この割込み用バス５５は、各ＩＯユニット２０において発生した割込み要因をマスターユニット１０へ伝送するための通信ラインである。
【０１１９】
図１１は、本発明の実施の形態２に従うリモートＩＯ装置３に実装される割込み用バス５５の転送に係る論理回路を示す模式図である。図１１を参照して、実施の形態２において、各ＩＯユニット２０は、割込み用バス５５に対して挿入された論理和回路（ＯＲ回路）を含む。すなわち、この論理和回路の一方の入力ポートには割込み用バス５５を介して転送される信号が入力され、他方の入力ポートには対応するＩＯユニット２０で割込み要因の発生を示す信号が入力される。そして、割込み用バス５５の終端は、マスターユニット１０の内部バス制御部１３０にあるバス割込み入力ポートに接続される。このような構成を採用することで、それぞれのＩＯユニット２０で発生した割込み要因の論理和を示す情報がマスターユニット１０へ入力されることになる。すなわち、いずれのＩＯユニット２０で割込み要因が発生しても、その発生したことがマスターユニット１０へ通知される。マスターユニット１０は、この割込み要因の発生を示す信号に応答して、イベント的に処理を実行することができる。
【０１２０】
割込み用バス５５をアップリンク５２とは別に設けているので、アップリンク５２を休止した状態であっても、いずれかのＩＯユニット２０で発生した割込み要因を検知することができる。割込み用バス５５は、ＯＮ／ＯＦＦの信号を伝達できればよいので、内部バス５のようにクロック周波数（伝送周波数）を高める必要はない。そのため、割込み用バス５５を設けた場合であっても、アップリンク５２を休止することにより低消費電力化の効果が得られる。
【０１２１】
図１２は、本発明の実施の形態２に従うリモートＩＯ装置３における通信手順を示すタイムチャートである。図１２には、いずれかのＩＯユニット２０で割込み要因が生じたことが割込み用バス５５を介して伝達されると、マスターユニット１０が割込み処理を実行する例を想定している。
【０１２２】
より具体的には、図１２に示すタイムチャートは、図８に示すタイムチャートに比較して、割込み用バス５５上がＯＮに駆動された場合の処理が異なっている。そのため、主として、これらに関する処理について説明し、図８と同様の処理についての詳細な説明は繰り返さない。
【０１２３】
図１２に示すように、先行の上位通信フレームが到着し、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行されて、アップリンク５２が休止状態になった後に、割込み用バス５５がＯＮに駆動されたとする。この割込み用バス５５がＯＮに駆動されたことに応答して、マスターユニット１０では、割込み処理が実行される。この割込み処理の一例としては、フィールドバス４を介してメイン処理装置２へイベント的に情報を通知するような処理である。
【０１２４】
この割込み処理の実行にあわせて、ＩＯユニット２０では割込み処理に係るＩＮデータおよびＯＵＴデータが更新される。以下、これらのデータ更新をイベント的に発生することから、「都度リフレッシュ」とも称す。
【０１２５】
より具体的には、割込み用バス５５上がＯＮに駆動されると（図１２（ｄ）参照）、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。すなわち、マスターユニット１０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１２６】
図１２（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、トレーニング信号５０２を送信する。すなわち、ＩＯユニット２０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に応答して、予め定められた期間に亘ってアップリンク５２上にダミー信号を送信する。
【０１２７】
続いて、ＩＯユニット２０は、ＩＮデータの都度リフレッシュを実行する。すなわち、ＩＯユニット２０は、ＩＯモジュール２０６に入力されている特定の入力に関する最新の状態値を取得し、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５１０をマスターユニット１０へ送信する。
【０１２８】
一方、ＩＮ＿ｆｒａｍｅ５１０を受信したマスターユニット１０は、ＯＵＴデータの都度リフレッシュを実行する。すなわち、マスターユニット１０は、ダウンリンク５１を介して、割込み処理に係るＯＵＴデータを含むＯＵＴ＿ｆｒａｍｅ４１０を送信し、続いて、ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度休止させる。
【０１２９】
このアップリンク５２の休止状態は、後続の上位通信フレームが到着するまで継続される。
【０１３０】
上述のように、実施の形態２においては、マスターユニット１０は、アップリンク５２を介したＩＯユニット２０からのデータ受信（ＩＮデータリフレッシュ）が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。図１２に示すように、マスターユニット１０は、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を周期的および／またはイベント的に発生する。
【０１３１】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるマスターユニット１０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１３２】
＜Ｉ．実施の形態３＞
実施の形態３においては、マスター制御部とスレーブ制御部との間で、一種のコマンド／レスポンス方式のような遣り取りを行う構成について例示する。実施の形態３においては、スレーブ制御部がＷａｋｅＵＰ＿ｆｒａｍｅを受信してアクティブ化した場合であっても、アップリンク５２上にダミー信号を送信しない。それに代えて、マスター制御部から何らかのコマンド（指令）を正しく受信した場合には、スレーブ制御部は肯定応答（ＡＣＫ：acknowledgement）を返答する。このような方式を採用することで、予め定められた通信手順を確実に行うことができる。
【０１３３】
図１３は、本発明の実施の形態３に従うリモートＩＯ装置３における通信手順を示すタイムチャートである。図１３には、一例として、上述の図１０に示す実施の形態２に従うリモートＩＯ装置３における通信手順を示す。より具体的には、図１３には、上述の実施の形態２と同様に、いずれかのＩＯユニット２０で割込み要因が生じたことが割込み用バス５５を介して伝達されると、マスターユニット１０が割込み処理を実行する例を想定している。すなわち、図１３に示すタイムチャートでは、上位通信フレーム３００の到着ごとに、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが周期的に実行されるとともに、割込み要因が生じたことで、メッセージ転送がイベント的に実行される例を示す。
【０１３４】
図１３（ａ）を参照して、まず、上位通信フレーム３００が到着し、その受信が完了すると、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し（図１３（ｂ）参照）、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する（図１３（ｃ）参照）。すなわち、マスターユニット１０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１３５】
図１３（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、肯定応答であるＡＣＫ５２２をマスターユニット１０へ送信する。ＡＣＫ５２２を受信したマスターユニット１０は、図１３（ｂ）に示すように、ダウンリンク５１を介してＯＵＴ＿ｆｒａｍｅ４０４を送信する。続いて、マスターユニット１０は、ＩＮデータリフレッシュを実行するためのＴＲＧ＿ｆｒａｍｅ（ＩＮ）４２０を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１３６】
図１３（ｃ）に示すように、ＴＲＧ＿ｆｒａｍｅ（ＩＮ）４２０を受信したＩＯユニット２０は、ＩＯモジュール２０６に入力されている最新の状態値を取得し、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５０６をマスターユニット１０へ送信する。
【０１３７】
図１３（ｂ）に示すように、ＩＮ＿ｆｒａｍｅ５０６を受信したマスターユニット１０は、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュの実行が完了したと判断し、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を休止させる。
【０１３８】
その後、割込み用バス５５上がＯＮに駆動されると（図１３（ｄ）参照）、マスターユニット１０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。すなわち、マスターユニット１０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１３９】
図１３（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、肯定応答であるＡＣＫ５２２をマスターユニット１０へ送信する。ＡＣＫ５２２を受信したマスターユニット１０は、図１３（ｂ）に示すように、ダウンリンク５１を介してメッセージ４０６を送信する。続いて、マスターユニット１０は、ＩＯユニット２０からのメッセージ５０４を要求するためのＴＲＧ＿ｆｒａｍｅ（ＭＳＧ）４２４を、ダウンリンク５１を介してＩＯユニット２０へ送信する。ＴＲＧ＿ｆｒａｍｅ（ＭＳＧ）４２４を受信したＩＯユニット２０は、メッセージ５０４をマスターユニット１０へ送信する（図１３（ｃ）参照）。
【０１４０】
メッセージ５０４を受信したマスターユニット１０は、メッセージ転送が完了したと判断し、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し（図１３（ｂ）参照）、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度休止させる。
【０１４１】
このように、マスター制御部として機能するマスターユニット１０は、アップリンク５２を介したスレーブ制御部として機能するＩＯユニット２０からのデータ送信が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１４２】
このアップリンク５２の休止状態は、後続の上位通信フレームが到着するまで継続される。
【０１４３】
上述のように、実施の形態３においては、マスターユニット１０は、アップリンク５２を介したＩＯユニット２０からのデータ受信（ＩＮデータリフレッシュ）が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。図１３に示すように、マスターユニット１０は、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を周期的および／またはイベント的に発生する。
【０１４４】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるマスターユニット１０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１４５】
＜Ｊ．実施の形態４＞
上述の実施の形態１〜３においては、リモートＩＯ装置３の内部バス５における通信手順について例示したが、メイン処理装置２の内部バス５にも適用することが可能である。以下、メイン処理装置２の内部バス５における通信手順について説明する。
【０１４６】
メイン処理装置２の内部バス５についても、リモートＩＯ装置３の内部バス５と同様の通信手順を実行可能であるが、メイン処理装置２では、ＣＰＵユニット４０におけるユーザプログラムの実行タイミングが基準となって、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行される点が異なっている。
【０１４７】
実施の形態４に従うメイン処理装置２の接続構成については、図５を参照して説明したので、同様の説明は繰り返さない。また、メイン処理装置２のＣＰＵユニット４０のハードウェア構成については、図６を参照して説明したので、同様の説明は繰り返さない。
【０１４８】
図１４は、本発明の実施の形態４に従うメイン処理装置２における通信手順を示すタイムチャートである。図１４には、ＣＰＵユニット４０でユーザプログラム８００の実行が完了するごとに、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行される場合の通信手順を示す。そのため、図１４に示す通信手順は、ユーザプログラム８００の実行周期であるＰＬＣ演算サイクルＴ２ごとに繰り返される。このユーザプログラム８００の実行直前および実行中においては、アップリンク５２は休止状態であるとする。
【０１４９】
図１４（ａ）は、ＣＰＵユニット４０でのプログラム実行状態を示す。図１４（ｂ）は、ＣＰＵユニット４０と１番目のＩＯユニット２０−１との間のダウンリンク５１を伝送されるデータフレームを示す。図１４（ｃ）は、１番目のＩＯユニット２０−１とＣＰＵユニット４０との間のアップリンク５２を伝送されるデータフレームを示す。図１４（ｄ）は、１番目のＩＯユニット２０−１と２番目のＩＯユニット２０−２との間のダウンリンク５１を伝送されるデータフレームを示す。図１４（ｅ）は、２番目のＩＯユニット２０−２と１番目のＩＯユニット２０−１との間のアップリンク５２を伝送されるデータフレームを示す。
【０１５０】
まず、図１４（ａ）に示すように、ＣＰＵユニット４０でのユーザプログラムの実行が完了すると、図１４（ｂ）に示すように、ＣＰＵユニット４０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信する。すなわち、マスター制御部として機能するＣＰＵユニット４０は、ＩＯユニット２０からデータを取得すべき場合に、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１５１】
図１４（ｃ）および（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、近接するＣＰＵユニット４０またはＩＯユニット２０の受信部２２０ａまたは送信部２２０ｂに対して自ユニットの存在を通知するために、トレーニング信号５０２を送信する。すなわち、ＩＯユニット２０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に応答して、予め定められた期間に亘ってアップリンク５２上にダミー信号を送信する。
【０１５２】
続いて、図１４（ｂ）に示すように、ＣＰＵユニット４０は、ダウンリンク５１を介してＯＵＴ＿ｆｒａｍｅ４０４を送信する。このＯＵＴ＿ｆｒａｍｅ４０４は、ユーザプログラムの実行によって得られた算出結果などのＯＵＴデータを含む。ＯＵＴ＿ｆｒａｍｅ４０４を受信したＩＯユニット２０は、それに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６の出力値を更新する。
【０１５３】
さらに、図１４（ｂ）に示すように、ＣＰＵユニット４０は、特定のＩＯユニット２０に対して、メッセージ４０６を送信する。
【０１５４】
このように、ＣＰＵユニット４０は、アップリンク５２をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）に引き続いて、ＩＯユニット２０へ渡すデータを、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１５５】
一方、ＩＯユニット２０の各々は、トレーニング信号の送信が完了（トレーニング期間が終了）すると、ＣＰＵユニット４０へのデータ転送を開始する。例えば、ＩＯユニット２０−１に対して送信権が与えられていれば、図１４（ｂ）に示すように、ＩＯユニット２０−１は、メッセージ５０４をＣＰＵユニット４０へ送信する。
【０１５６】
続いて、ＩＯユニット２０の各々は、ＩＮデータリフレッシュを実行する。すなわち、ＩＯユニット２０の各々は、ＩＯモジュール２０６に入力されている最新の状態値を取得し、図１４（ｃ）および（ｅ）に示すように、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５０６をＣＰＵユニット４０へ送信する。
【０１５７】
ＩＮ＿ｆｒａｍｅ５０６を受信したＣＰＵユニット４０は、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュの実行が完了したと判断し、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を休止させる。
【０１５８】
このアップリンク５２の休止状態は、次のＰＬＣ演算サイクルが開始されるまでは継続される。
【０１５９】
図１４に示す通信手順に代えて、上述の図９に示すような通信手順を採用することもできる。すなわち、アップリンク５２がアクティブ化された後、ＩＯユニット２０からのメッセージ５０４の送信と、ＩＮ＿ｆｒａｍｅ５０６の送信とを別々に行うようにしてもよい。
【０１６０】
上述のように、実施の形態４においては、ＣＰＵユニット４０は、アップリンク５２を介したＩＯユニット２０からのデータ受信（ＩＮデータリフレッシュ）が完了すると、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。
【０１６１】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるＣＰＵユニット４０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１６２】
＜Ｋ．実施の形態５＞
上述の実施の形態４においては、内部バス５が１チャネル（１つのダウンリンク５１および１つのアップリンク５２）で構成される例について説明した。これに対して、実施の形態５においては、内部バス５が複数チャネルで構成される例について説明する。
【０１６３】
図１５は、本発明の実施の形態５に従うメイン処理装置２＃の接続構成を示す模式図である。図１５を参照して、実施の形態５に従うメイン処理装置２＃においては、図５に示す接続構成に比較して、ダウンリンク５１およびアップリンク５２に加えて、ダウンリンク５３およびアップリンク５４が追加されている点が異なっている。以下の説明では、便宜上、ダウンリンク５１およびアップリンク５２を１チャネル（１ｃｈ）と称し、ダウンリンク５３およびアップリンク５４を２チャネル（２ｃｈ）と称する。すなわち、実施の形態５に従う通信ラインは、マスター制御部として機能するＣＰＵユニット４０＃からスレーブ制御部として機能するＩＯユニット２０＃へデータを伝送するための２つのダウンリンク５１，５３と、ＩＯユニット２０＃からＣＰＵユニット４０＃へデータを伝送するための２つのアップリンク５２，５４とを含む。
【０１６４】
このように内部バス５が複数チャネルで構成されることに伴って、ＩＯユニット２０＃−１，２０＃−２，２０＃−３の各々は、２チャネル用の受信部（ＲＸ）２３０ａ，２４０ａおよび送信部（ＴＸ）２３０ｂ，２４０ｂをさらに含む。その他の構成については、上述したので、詳細な説明は繰り返さない。
【０１６５】
実施の形態５においては、１チャネルおよび２チャネルを併用して、データ通信を行う。この際、それぞれのチャネルにおいて、アップリンク５２，５４は可能な限り休止状態に維持される。そして、ＣＰＵユニット４０＃は、１チャネルのダウンリンク５１を介して、１チャネルのアップリンク５２をアクティブ化／非アクティブ化するための指令を送信し、２チャネルのダウンリンク５３を介して、２チャネルのアップリンク５４をアクティブ化／非アクティブ化するための指令を送信する。
【０１６６】
内部バス５を複数チャネル化することによって、内部バス５におけるデータ通信の速度を複数倍にすることができる。
【０１６７】
図１６は、本発明の実施の形態５に従うメイン処理装置２＃における通信手順を示すタイムチャートである。図１６には、２つのチャネルを使用して、周期的なＯＵＴデータリフレッシュおよびＩＮデータリフレッシュを並列的に行う例を示す。ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュは、ＰＬＣ演算サイクルＴ２ごとに繰り返される。実施の形態５においては、ＯＵＴデータリフレッシュにおいて、ＩＯユニット２０＃は、ＯＵＴデータを含むＯＵＴ＿ｆｒａｍｅの受信が成功すると、ＣＰＵユニット４０＃に対して、肯定応答（ＡＣＫ）を返答する。
【０１６８】
ユーザプログラム８００の実行開始直前においては、アップリンク５２および５４は休止状態であるとする。
【０１６９】
図１６（ａ）は、ＣＰＵユニット４０＃でのプログラム実行状態を示す。図１６（ｂ）は、ＣＰＵユニット４０＃とＩＯユニット２０＃との間のダウンリンク５１（１チャネル）を伝送されるデータフレームを示す。図１６（ｃ）は、ＩＯユニット２０＃とＣＰＵユニット４０＃との間のアップリンク５２（１チャネル）を伝送されるデータフレームを示す。図１６（ｄ）は、ＣＰＵユニット４０＃とＩＯユニット２０＃との間のダウンリンク５３（２チャネル）を伝送されるデータフレームを示す。図１６（ｅ）は、ＩＯユニット２０＃とＣＰＵユニット４０＃との間のアップリンク５４（２チャネル）を伝送されるデータフレームを示す。
【０１７０】
まず、ＣＰＵユニット４０＃でのユーザプログラム８００の実行が完了すると、図１６（ｂ）に示すように、ＣＰＵユニット４０＃は、１チャネルのダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態の１チャネルのアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。並行して、図１６（ｄ）に示すように、ＣＰＵユニット４０＃は、２チャネルのダウンリンク５３を介してＷａｋｅＵＰ＿ｆｒａｍｅ６０２を送信し、休止状態の２チャネルのアップリンク５４（受信部２４０ａおよび送信部２４０ｂ）をアクティブ化する。
【０１７１】
すなわち、ＣＰＵユニット４０＃は、ＩＯユニット２０＃からデータを取得すべき場合に、アップリンク５２および５４をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２および６０２）を、ダウンリンク５１および５３を介してＩＯユニット２０＃へそれぞれ送信する。
【０１７２】
続いて、図１６（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０＃は、その受信部２２０ａおよび送信部２２０ｂをアクティブ化するとともに、近接するＣＰＵユニット４０＃またはＩＯユニット２０＃の受信部２２０ａまたは送信部２２０ｂに対して自ユニットの存在を通知するために、トレーニング信号５０２を送信する。並行して、図１６（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ６０２を受信したＩＯユニット２０＃は、その受信部２４０ａおよび送信部２４０ｂをアクティブ化するとともに、近接するＣＰＵユニット４０＃またはＩＯユニット２０＃の受信部２４０ａまたは送信部２４０ｂに対して自ユニットの存在を通知するために、トレーニング信号７０２を送信する。
【０１７３】
すなわち、ＩＯユニット２０＃は、アップリンク５２および５４をアクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２および６０２）に応答して、予め定められた期間に亘ってアップリンク５２および５４上にダミー信号をそれぞれ送信する。
【０１７４】
図１６（ｂ）に示すように、ＣＰＵユニット４０＃は、続いて、１チャネルのダウンリンク５１を介してＯＵＴ＿ｆｒａｍｅ４０４を送信するとともに、２チャネルのダウンリンク５３を介してＯＵＴ＿ｆｒａｍｅ６０４を送信する。
【０１７５】
ＯＵＴ＿ｆｒａｍｅ４０４を受信したＩＯユニット２０＃は、それに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６の出力値を更新する。並行して、ＯＵＴ＿ｆｒａｍｅ６０４を受信したＩＯユニット２０＃は、それに含まれるＯＵＴデータに基づいて、ＩＯモジュール２０６の出力値を更新する。
【０１７６】
続いて、図１６（ｃ）および（ｅ）に示すように、ＩＯユニット２０＃は、ＡＣＫ５２０およびＡＣＫ７２０をＣＰＵユニット４０＃へそれぞれ送信する。ＡＣＫ５２０を受信したＣＰＵユニット４０＃は、図１６（ｂ）に示すように、１チャネルのダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を一旦休止させる。並行して、ＡＣＫ７２０を受信したＣＰＵユニット４０＃は、図１６（ｄ）に示すように、２チャネルのダウンリンク５３を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ６０８を送信し、アクティブ状態のアップリンク５４（受信部２４０ａおよび送信部２４０ｂ）を一旦休止させる。
【０１７７】
その後、ＣＰＵユニット４０＃は、後続の上位通信フレームの到着に間に合うように、ＩＮデータリフレッシュを実行させる。すなわち、図１６（ｂ）に示すように、ＣＰＵユニット４０＃は、１チャネルのダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態の１チャネルのアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度アクティブ化する。並行して、図１６（ｄ）に示すように、ＣＰＵユニット４０＃は、２チャネルのダウンリンク５３を介してＷａｋｅＵＰ＿ｆｒａｍｅ６０２を送信し、休止状態の２チャネルのアップリンク５４（受信部２４０ａおよび送信部２４０ｂ）を再度アクティブ化する。
【０１７８】
図１６（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０＃は、その受信部２２０ａおよび送信部２２０ｂを再度アクティブ化するとともに、トレーニング信号５０２を送信する。並行して、図１６（ｅ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ６０２を受信したＩＯユニット２０＃は、その受信部２４０ａおよび送信部２４０ｂをアクティブ化するとともに、近接するＣＰＵユニット４０＃またはＩＯユニット２０＃の受信部２４０ａまたは送信部２４０ｂに対して自ユニットの存在を通知するために、トレーニング信号７０２を送信する。
【０１７９】
そして、図１６（ｂ）および（ｄ）に示すように、ＣＰＵユニット４０＃は、１チャネルのダウンリンク５１を介してＩＯユニット２０＃に対してＩＮデータを要求するＴＲＧ＿ｆｒａｍｅ（ＩＮ）４２０を送信するとともに、２チャネルのダウンリンク５３を介してＩＯユニット２０＃に対してＩＮデータを要求するＴＲＧ＿ｆｒａｍｅ（ＩＮ）６２０を送信する。
【０１８０】
ＴＲＧ＿ｆｒａｍｅ（ＩＮ）４２０および６２０をそれぞれ受信したＩＯユニット２０＃は、対応するＩＮデータリフレッシュをそれぞれ実行する。すなわち、ＩＯユニット２０＃は、ＩＯモジュール２０６に入力されている最新の状態値を取得し、その最新の状態値を含むＩＮ＿ｆｒａｍｅ５３０および７３０をＣＰＵユニット４０＃へ送信する。
【０１８１】
ＩＮ＿ｆｒａｍｅ５３０を受信したＣＰＵユニット４０＃は、１チャネルのダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し、アクティブ状態の１チャネルのアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度休止させる。並行して、ＩＮ＿ｆｒａｍｅ７３０を受信したＣＰＵユニット４０＃は、２チャネルのダウンリンク５３を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ６０８を送信し、アクティブ状態の２チャネルのアップリンク５４（受信部２４０ａおよび送信部２４０ｂ）を再度休止させる。
【０１８２】
上述のように、実施の形態５においては、通信ラインとしての内部バス５は、マスター制御部であるＣＰＵユニット４０＃からスレーブ制御部であるＩＯユニット２０＃へデータを伝送するためのダウンリンク５１および５３と、ＩＯユニット２０＃からＣＰＵユニット４０＃へデータを伝送するためのアップリンク５２および５４とを含む。ＩＯユニット２０＃は、ダウンリンク５１および５３をいずれもアクティブに維持するとともに、アップリンク５２または５４を介して送信されるＣＰＵユニット４０＃からの指令に従って、対応するアップリンクをアクティブ化／非アクティブ化する。
【０１８３】
実施の形態５において、ＣＰＵユニット４０＃は、２チャネルのアップリンク５２およびアップリンク５４をアクティブ化／非アクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２，６０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８，６０８）を、ダウンリンク５１，５３を介してＩＯユニット２０＃へそれぞれ送信する。図１６に示すように、ＣＰＵユニット４０＃は、アップリンク５２，５４を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を周期的および／またはイベント的に発生する。
【０１８４】
また、ＩＯユニット２０＃は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるＣＰＵユニット４０＃からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２，６０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８，６０８）に従って、アップリンク５２，５４をアクティブ化／非アクティブ化する。
【０１８５】
＜Ｌ．実施の形態６＞
上述の実施の形態５においては、アップリンク５２は可能な限り休止状態に維持される。アップリンク５２が休止状態に維持されている場合、いずれかのＩＯユニット２０において何らかの事象が発生したときには、それをＣＰＵユニット４０へ伝達する手段がない。
【０１８６】
そこで、実施の形態６においては、いずれかのＩＯユニット２０で割込み要因（イベント）が発生したことに応答して、ＣＰＵユニット４０で何らかの処理を実行させることができる構成について説明する。
【０１８７】
図１７は、本発明の実施の形態６に従うメイン処理装置２の接続構成を示す模式図である。図１７を参照して、実施の形態６に従うメイン処理装置２においては、図５に示す接続構成に比較して、ＩＲＱバス５６が追加されている点が異なっている。このＩＲＱバス５６は、各ＩＯユニット２０において発生した割込みをＣＰＵユニット４０へ伝送するための通信ラインである。いずれのＩＯユニット２０で割込みが発生すると、割込みを示す特定のＩＲＱがＣＰＵユニット４０へ通知される。ＣＰＵユニット４０は、このＩＲＱの入力に応答して、イベント的に処理を実行することができる。
【０１８８】
図１８は、本発明の実施の形態６に従うメイン処理装置２における通信手順を示すタイムチャートである。図１８には、いずれかのＩＯユニット２０で割込みが生じたことがＩＲＱバス５６を介して伝達されると、ＣＰＵユニット４０が割込み処理を実行する例を想定している。
【０１８９】
より具体的には、図１８に示すタイムチャートは、図１６に示すタイムチャートに比較して、ＣＰＵユニット４０が予めプログラムされた割込み処理８２２をイベント的に実行するのではなく、ＩＲＱバス５６を介した割込みが通知されることで、割込み処理が実行される点が異なっている。そのため、主として、これらに関する処理について説明し、図１６と同様の処理についての詳細な説明は繰り返さない。
【０１９０】
図１８に示すように、ＣＰＵユニット４０においてユーザプログラム８００の実行完了に応答して、ＯＵＴデータリフレッシュおよびＩＮデータリフレッシュが実行されて、アップリンク５２が休止状態になった後に、ＩＲＱバス５６を介して割込みが入力されたとする。このＩＲＱバス５６を介して割込みが入力されたことに応答して、ＣＰＵユニット４０は、ＩＲＱに係る割込み入力処理８２２を実行するとともに、指定された割込み処理８２２を実行する。
【０１９１】
この割込み入力処理８２２の実行にあわせて、ＣＰＵユニット４０と特定のＩＯユニット２０との間で都度リフレッシュが実行される。より具体的には、ＩＲＱバス５６を介して割込入力が与えられると（図１８（ｄ）参照）、ＣＰＵユニット４０は、ダウンリンク５１を介してＷａｋｅＵＰ＿ｆｒａｍｅ４０２を送信し、休止状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）をアクティブ化する。
【０１９２】
図１８（ｃ）に示すように、ＷａｋｅＵＰ＿ｆｒａｍｅ４０２を受信したＩＯユニット２０は、その受信部２２０ａおよび送信部２２０ｂ（図４に示すＤＥＳ部２２２、リピート部２２４およびＳＥＲ部２２６）をアクティブ化するとともに、近接するＣＰＵユニット４０またはＩＯユニット２０の受信部２２０ａまたは送信部２２０ｂに対して自ユニットの存在を通知するために、トレーニング信号５０２を送信する。
【０１９３】
続いて、図１８（ｂ）に示すように、ＣＰＵユニット４０は、ＩＯユニット２０からのメッセージ５０４を要求するためのＴＲＧ＿ｆｒａｍｅ（ＭＳＧ）４２４を、ダウンリンク５１を介してＩＯユニット２０へ送信する。ＴＲＧ＿ｆｒａｍｅ（ＭＳＧ）４２４を受信したＩＯユニット２０は、メッセージ５０４をＣＰＵユニット４０へ送信する（図１８（ｃ）参照）。
【０１９４】
メッセージ５０４を受信したＣＰＵユニット４０は、メッセージ転送が完了したと判断し、ダウンリンク５１を介してＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８を送信し（図１８（ｂ）参照）、アクティブ状態のアップリンク５２（受信部２２０ａおよび送信部２２０ｂ）を再度休止させる。
【０１９５】
上述のように、実施の形態６においては、ＣＰＵユニット４０は、アップリンク５２をアクティブ化／非アクティブ化するための指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２）を、ダウンリンク５１を介してＩＯユニット２０へ送信する。図１８に示すように、ＣＰＵユニット４０は、アップリンク５２を非アクティブ化するための指令（ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ）を周期的および／またはイベント的に発生する。
【０１９６】
また、ＩＯユニット２０は、ダウンリンク５１をアクティブに維持するとともに、ダウンリンク５１を介して送信されるＣＰＵユニット４０からの指令（ＷａｋｅＵＰ＿ｆｒａｍｅ４０２／ＰｏｗｅｒＤｏｗｎ＿ｆｒａｍｅ４０８）に従って、アップリンク５２をアクティブ化／非アクティブ化する。
【０１９７】
＜Ｍ：実施の形態５の転用例＞
上述の実施の形態５において説明した複数チャネルからなる内部バス５の構成については、実施の形態１〜３に示すリモートＩＯ装置にも転用が可能である。
【０１９８】
図１９は、本発明の実施の形態５の転用例に係るリモートＩＯ装置の接続構成を示す模式図である。図１９に示すように、本転用例に係るリモートＩＯ装置３＃は、図２に示す接続構成に比較して、ダウンリンク５１およびアップリンク５２に加えて、ダウンリンク５３およびアップリンク５４が追加されている点が異なっている。実施の形態５の転用例に係る通信ラインは、マスター制御部として機能するマスターユニット１０＃からスレーブ制御部として機能するＩＯユニット２０＃へデータを伝送するための２つのダウンリンク５１，５３と、ＩＯユニット２０＃からマスターユニット１０＃へデータを伝送するための２つのアップリンク５２，５４とを含む。
【０１９９】
このように内部バス５が複数チャネルで構成されることに伴って、ＩＯユニット２０＃−１，２０＃−２，２０＃−３の各々は、２チャネル用の受信部（ＲＸ）２３０ａ，２４０ａおよび送信部（ＴＸ）２３０ｂ，２４０ｂをさらに含む。
【０２００】
その他の構成および通信手順などについては、上述したので、詳細な説明は繰り返さない。
【０２０１】
＜Ｎ．その他の形態＞
上述した実施の形態１〜６以外、または実施の形態１〜６と組み合わせることで、さらに消費電力を低減できる構成を以下に示す。
【０２０２】
《ｎ１：ダウンリンクの一部休止》
上述の実施の形態１〜６においては、ダウンリンクについては基本的にアクティブに維持される。但し、本実施の形態に従う内部バス５は、典型的には、機器同士がデジチェーン接続された構成が採用されるので、各ＩＯユニットの次段側（送信部）については、動作を停止してもよい。すなわち、各種の指令やデータは、前段側から伝送されるので、前段側からの信号を受信する受信部だけをアクティブに維持しておけば、何らかの指令やデータが送信されたことを検知できる。この検知に応答して、次段側の送信部をアクティブ化することで、本来の状態に容易に復帰できる。
【０２０３】
図２０は、本発明のある実施の形態に従う低消費電力化の実現方法を説明するための図である。図２０（ａ）には、ダウンリンク５１およびアップリンク５２がアクティブである状態を示し、図２０（ｂ）には、ダウンリンク５１の一部が休止するとともに、アップリンク５２が休止している状態を示す。
【０２０４】
図２０（ｂ）に示すように、ＩＯユニット２０の各々においては、ダウンリンク５１の受信部２１０ａのみが動作しており、前段側からのデータフレームの受信有無を監視する。マスターユニット１０がダウンリンク５１を介して何らかのデータフレームを送信すると、まず、当該データフレームは、１番目のＩＯユニット２０−１の受信部２１０ａによって受信される。ＩＯユニット２０−１は、マスターユニット１０からのデータフレームを受信すると、送信部２１０ｂの動作を開始して、後段のＩＯユニット２０−１へ受信したデータフレームを、次段のＩＯユニット２０へ再送出（フォワード）する。ＩＯユニット２０の各々は、以下同様の動作を行って、本来の状態へ復帰する。
【０２０５】
また、マスターユニット１０からのデータフレームがアップリンク５２に対するＷａｋｅＵＰ＿ｆｒａｍｅであった場合には、ＩＯユニット２０の各々は、アップリンク５２に係る受信部２２０ａおよび送信部２２０ｂについてもその動作を開始する。
【０２０６】
このような手続きによって、図１０（ａ）に示すような本来の動作状態へ復帰できる。
なお、図２０には、典型例として、リモートＩＯ装置３の内部バス５に適用した場合の動作を示すが、メイン処理装置２の内部バス５にも同様に適用できる。
【０２０７】
《ｎ２：ＷａｋｅＵＰバスの利用》
上述の実施の形態１〜６においては、ダウンリンクを介して、アップリンクをアクティブ化／非アクティブ化するための指令を送信する構成について例示したが、これらの指令を送信するための専用の回路（バス）を設けてもよい。このような構成を採用することで、ＩＯユニット２０の送信部および受信部のアクティブ／非アクティブをより高い自由度で制御することができる。例えば、図２１および図２２に示すような構成を採用することができる。
【０２０８】
図２１および図２２は、本発明のある実施の形態に従う低消費電力化の実現方法を説明するための図である。より具体的には、図２１および図２２には、マスターユニット１０と複数のＩＯユニット２０との間にＷａｋｅＵＰバス５７を配置した構成を示す。このＷａｋｅＵＰバス５７を介して、マスターユニット１０から各ＩＯユニット２０に対して、休止状態の送信部および／または受信部をアクティブ化するための指令が送信される。このようなＷａｋｅＵＰバス５７を用いて、図２１（ｂ）に示すように、ダウンリンク５１およびアップリンク５２のいずれもが休止している状態から、図２１（ａ）に示すように、ダウンリンク５１およびアップリンク５２をアクティブ化させることができる。
【０２０９】
あるいは、図２２（ｂ）に示すように、アップリンク５２をアクティブに維持するとともに、ダウンリンク５１を休止してもよい。図２２（ｂ）に示すような状態では、ＩＯユニット２０の各々が自立的に（マスターユニット１０からの指示なく）ＩＮデータを送信するような場合に好適である。
【０２１０】
ＷａｋｅＵＰバス５７を用いて、図２２（ｂ）に示すような状態から図２２（ａ）に示すような状態へ容易に復帰できる。
【０２１１】
なお、図２１および図２２には、典型例として、リモートＩＯ装置３の内部バス５に適用した場合の動作を示すが、メイン処理装置２の内部バス５にも同様に適用できる。
【０２１２】
＜Ｏ．利点＞
本実施の形態によれば、内部バス５を介してデジチェーン接続されたマスター制御部（マスターユニット１０／ＣＰＵユニット４０）と１つ以上のＩＯユニット２０とからなるＰＬＣシステムにおいて、消費電力を低減することができる。
【０２１３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２１４】
１  ＰＬＣシステム、２  メイン処理装置、３  リモートＩＯ装置、４  フィールドバス、５  内部バス、１０  マスターユニット、１２，４２  通信モジュール、２０  ＩＯユニット、３０  電源ユニット、４０  ＣＰＵユニット、５１，５３  ダウンリンク、５２，５４  アップリンク、５５  割込み用バス、５６  ＩＲＱバス、５７  ＷａｋｅＵＰバス、１００，１５０，２００  プロセッサ、１１０  フィールドバス制御部、１１２，２１０ａ，２２０ａ，２３０ａ，２４０ａ  受信部、１１４，２１０ｂ，２２０ｂ，２３０ｂ，２４０ｂ  送信部、１２０  上位通信コントローラ、１２２  メモリコントローラ、１２４  ＦＩＦＯメモリ、１２６，２０３  受信バッファ、１２８，２０４  送信バッファ、１３０  内部バス制御部、１３２  内部バス通信コントローラ、１４２  送信回路、１４４  受信回路、１５２  主メモリ、１５４，２０８  不揮発性メモリ、１５６  ユーザプログラム、１６０  記憶部、１６２，２０２  共有メモリ、１６４  受信バッファ、１６６  送信バッファ、２０６  ＩＯモジュール、２１２，２２２  ＤＥＳ部、２１４，２２４  リピート部、２１６，２２６  ＳＥＲ部、２３０  受信処理部、２３２  復号部、２３４  ＣＲＣチェック部、２４０  送信処理部、２４２  ＣＲＣ生成部、２４４  符号化部、２５０  バス、３００  上位通信フレーム。
【図１】
0006051547.tif 000002
【図２】
0006051547.tif 000003
【図３】
0006051547.tif 000004
【図４】
0006051547.tif 000005
【図５】
0006051547.tif 000006
【図６】
0006051547.tif 000007
【図７】
0006051547.tif 000008
【図８】
0006051547.tif 000009
【図９】
0006051547.tif 000010
【図１０】
0006051547.tif 000011
【図１１】
0006051547.tif 000012
【図１２】
0006051547.tif 000013
【図１３】
0006051547.tif 000014
【図１４】
0006051547.tif 000015
【図１５】
0006051547.tif 000016
【図１６】
0006051547.tif 000017
【図１７】
0006051547.tif 000018
【図１８】
0006051547.tif 000019
【図１９】
0006051547.tif 000020
【図２０】
0006051547.tif 000021
【図２１】
0006051547.tif 000022
【図２２】
0006051547.tif 000023