IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特許7415824拡張モジュール、CPUモジュール、システム、及び通信方法
<>
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図1
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図2
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図3
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図4
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図5
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図6
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図7
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図8
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図9
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図10
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図11
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図12
  • 特許-拡張モジュール、CPUモジュール、システム、及び通信方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】拡張モジュール、CPUモジュール、システム、及び通信方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20240110BHJP
【FI】
G05B19/05 L
【請求項の数】 11
(21)【出願番号】P 2020113186
(22)【出願日】2020-06-30
(65)【公開番号】P2022011810
(43)【公開日】2022-01-17
【審査請求日】2022-10-31
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100188307
【弁理士】
【氏名又は名称】太田 昌宏
(74)【代理人】
【識別番号】100187078
【弁理士】
【氏名又は名称】甲原 秀俊
(72)【発明者】
【氏名】池田 哲
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2013-191132(JP,A)
【文献】特開2004-280303(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
複数のシリアルバスに接続される拡張モジュールであって、
外部信号の入出力を行うインターフェースと、
第1のシリアルバス及び第2のシリアルバスを介して通信する通信回路と、
を備え、
前記通信回路は、前記第1のシリアルバスを介して通信する第1のスレーブ通信機能と、前記第2のシリアルバスを介して通信する第2のスレーブ通信機能と、前記第1のシリアルバス及び前記第2のシリアルバスを束ねて通信する第3のスレーブ通信機能と、前記第2のシリアルバスを介して通信するマスタ通信機能とを、それぞれ有効/無効の切り替えが可能な態様で有し、
前記第1のスレーブ通信機能及び前記第3のスレーブ通信機能のそれぞれは、CPUモジュールから受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュールから受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、
前記第2のスレーブ通信機能は、前記CPUモジュール又は他局から受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュール又は他局から受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、
前記マスタ通信機能は、他局に対してコマンドを送信し、前記他局からの応答を受信する機能を含む、拡張モジュール。
【請求項2】
請求項1に記載の拡張モジュールであって、
前記第2のシリアルバスを分離する分離回路を更に備える、拡張モジュール。
【請求項3】
請求項1又は2に記載の拡張モジュールであって、
前記通信回路は、前記第2のスレーブ通信機能、前記第3のスレーブ通信機能、及び前記マスタ通信機能のうち、何れか1つの機能を有効にすると他の2つの機能を無効にする、拡張モジュール。
【請求項4】
請求項1から3の何れか一項に記載の拡張モジュールであって、
プログラムを実行する演算回路を更に備え、
前記マスタ通信機能が有効であるときに、前記演算回路は、コマンドの送信先である他局から前記第2のシリアルバスを介して受信した応答に対して演算処理を実行して出力値を決定する、拡張モジュール。
【請求項5】
請求項4に記載の拡張モジュールであって、
前記マスタ通信機能が有効であるときに、前記通信回路は、前記第2のシリアルバスを介して前記出力値を他局へ送信する、拡張モジュール。
【請求項6】
複数のシリアルバスに接続されるCPUモジュールであって、
第1のシリアルバス及び第2のシリアルバスを介して通信する通信回路を備え、
前記通信回路は、前記第1のシリアルバスを介して通信する第1のマスタ通信機能と、前記第2のシリアルバスを介して通信する第2のマスタ通信機能と、前記第1のシリアルバス及び前記第2のシリアルバスを束ねて通信する第3のマスタ通信機能とを、それぞれ有効/無効の切り替えが可能な態様で有し、
前記第1のマスタ通信機能、前記第2のマスタ通信機能、及び前記第3のマスタ通信機能のそれぞれは、他局に対してコマンドを送信し、前記他局からの応答を受信する機能を含む、CPUモジュール。
【請求項7】
第1のシリアルバスと、第2のシリアルバスと、CPUモジュールと、複数の拡張モジュールと、を備えるシステムであって、
前記CPUモジュール及び前記複数の拡張モジュールのそれぞれは、前記第1のシリアルバス及び前記第2のシリアルバスに接続されており、
前記複数の拡張モジュールのそれぞれは、前記第1のシリアルバスを介して通信する第1のスレーブ通信機能と、前記第2のシリアルバスを介して通信する第2のスレーブ通信機能と、前記第1のシリアルバス及び前記第2のシリアルバスを束ねて通信する第3のスレーブ通信機能と、前記第2のシリアルバスを介して通信するマスタ通信機能とを、それぞれ有効/無効の切り替えが可能な態様で有し、
前記第1のスレーブ通信機能、前記第2のスレーブ通信機能、及び前記第3のスレーブ通信機能のそれぞれは、前記CPUモジュールから受信した他局宛てのコマンドを中継する機能を含み、
前記マスタ通信機能は、他局に対してコマンドを送信する機能を含む、システム。
【請求項8】
請求項7に記載のシステムの通信方法であって、
1つの前記拡張モジュールが、前記第2のシリアルバスを2つに分離するステップと、
前記CPUモジュールが、前記第1のシリアルバスを介して前記複数の拡張モジュールと通信するステップと、
前記CPUモジュールが、分離された一方の前記第2のシリアルバスを介して、前記一方の第2のシリアルバスに接続された拡張モジュールと通信するステップと、
分離された他方の前記第2のシリアルバスに接続された2つ以上の拡張モジュールが、前記他方の前記第2のシリアルバスを介して互いに通信するステップと、
を含む、通信方法。
【請求項9】
請求項7に記載のシステムの通信方法であって、
前記CPUモジュール及び前記複数の拡張モジュールが、前記第1のシリアルバス及び前記第2のシリアルバスを束ねるステップと、
前記CPUモジュール及び前記複数の拡張モジュールが、束ねられた前記第1のシリアルバス及び前記第2のシリアルバスを介して通信するステップと、
を含む、通信方法。
【請求項10】
請求項7に記載のシステムであって、
前記第1のスレーブ通信機能及び前記第3のスレーブ通信機能のそれぞれは、CPUモジュールから受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュールから受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、
前記第2のスレーブ通信機能は、前記CPUモジュール又は他局から受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュール又は他局から受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、
前記マスタ通信機能は、他局に対してコマンドを送信し、前記他局からの応答を受信する機能を含む、システム。
【請求項11】
第1のシリアルバスと、第2のシリアルバスと、CPUモジュールと、複数の拡張モジュールと、を備え、前記CPUモジュール及び前記複数の拡張モジュールのそれぞれは、前記第1のシリアルバス及び前記第2のシリアルバスに接続されているシステムの通信方法であって、
1つの前記拡張モジュールが、前記第2のシリアルバスを2つに分離するステップと、
前記CPUモジュールが、前記第1のシリアルバスを介して前記複数の拡張モジュールと通信するステップと、
前記CPUモジュールが、分離された一方の前記第2のシリアルバスを介して、前記一方の第2のシリアルバスに接続された拡張モジュールと通信するステップと、
分離された他方の前記第2のシリアルバスに接続された2つ以上の拡張モジュールが、前記他方の前記第2のシリアルバスを介して互いに通信するステップと、
を含む、通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張モジュール、CPUモジュール、システム、及び通信方法に関する。
【背景技術】
【0002】
従来、例えばPLC(Programable Logic Controller)等の、バスを介して通信可能に接続された複数のモジュールを備えるシステムが知られている。例えば特許文献1には、PLCモジュールとオプションモジュールとから成り、オプションモジュールのデータを定周期の通信によって制御機器へ送信するPLCが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2003-202907号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
バスを介して通信可能に接続された複数のモジュールを備えるシステムにおいて、例えばフィールド機器等の外部機器とのI/Oの拡張性向上など、性能の向上が望まれている。
【0005】
かかる事情に鑑みてなされた本開示の目的は、バスを介して通信可能に接続された複数のモジュールを備えるシステムの性能を向上することにある。
【課題を解決するための手段】
【0006】
幾つかの実施形態に係る拡張モジュールは、複数のシリアルバスに接続される拡張モジュールであって、外部信号の入出力を行うインターフェースと、第1のシリアルバス及び第2のシリアルバスを介して通信する通信回路と、を備え、前記通信回路は、前記第1のシリアルバスを介して通信する第1のスレーブ通信機能と、前記第2のシリアルバスを介して通信する第2のスレーブ通信機能と、前記第1のシリアルバス及び前記第2のシリアルバスを束ねて通信する第3のスレーブ通信機能と、前記第2のシリアルバスを介して通信するマスタ通信機能とを、それぞれ有効/無効の切り替えが可能な態様で有し、前記第1のスレーブ通信機能及び前記第3のスレーブ通信機能のそれぞれは、CPUモジュールから受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュールから受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、前記第2のスレーブ通信機能は、前記CPUモジュール又は他局から受信した自局宛てのコマンドに対して応答を返送し、前記CPUモジュール又は他局から受信した他局宛てのコマンドを中継し、他局から受信した応答を中継する機能を含み、前記マスタ通信機能は、他局に対してコマンドを送信し、前記他局からの応答を受信する機能を含む。幾つかの実施形態に係る拡張モジュールによれば、拡張モジュールが用いられるシステムにおいて、外部機器とのI/Oの拡張性が向上する点で、性能が向上する。
【0007】
一実施形態において、前記拡張モジュールは、前記第2のシリアルバスを分離する分離回路を更に備えてもよい。このように、第2のシリアルバスが分離されると、分離された一方のバスを流れるデータが他方のバスに入ってくることがないので、通信が競合したときの待ち時間を低減することができ、入出力応答を高速化できる。
【0008】
一実施形態において、前記通信回路は、前記第2のスレーブ通信機能、前記第3のスレーブ通信機能、及び前記マスタ通信機能のうち、何れか1つの機能を有効にすると他の2つの機能を無効にしてもよい。このように、第2のシリアルバスを用いる複数の機能のうち、1つの機能が有効になると他の機能が無効になるので、例えば誤設定によって第2のシリアルバスを介する通信ができなくなる等の不都合の発生する蓋然性が低減する。
【0009】
一実施形態において、プログラムを実行する演算回路を更に備え、前記マスタ通信機能が有効であるときに、前記演算回路は、コマンドの送信先である他局から受信した応答に対して演算処理を実行して出力値を決定してもよい。このように、拡張モジュールが演算回路を備えることによって、CPUモジュールなしに、入出力応答等の処理ができるようになる。
【0010】
一実施形態において、前記マスタ通信機能が有効であるときに、前記通信回路は、前記第2のシリアルバスを介して前記出力値を他局へ送信してもよい。このように、通信回路が出力値を他局へ送信することによって、出力値を含む出力信号を他局のインターフェースを介して外部機器へ出力できるので、外部機器とのI/Oの拡張性が向上する。
【0011】
幾つかの実施形態に係るCPUモジュールは、複数のシリアルバスに接続されるCPUモジュールであって、第1のシリアルバス及び第2のシリアルバスを介して通信する通信回路を備え、前記通信回路は、前記第1のシリアルバスを介して通信する第1のマスタ通信機能と、前記第2のシリアルバスを介して通信する第2のマスタ通信機能と、前記第1のシリアルバス及び前記第2のシリアルバスを束ねて通信する第3のマスタ通信機能とを、それぞれ有効/無効の切り替えが可能な態様で有し、前記第1のマスタ通信機能、前記第2のマスタ通信機能、及び前記第3のマスタ通信機能のそれぞれは、他局に対してコマンドを送信し、前記他局からの応答を受信する機能を含む。幾つかの実施形態に係るCPUモジュールによれば、通信回路のコンフィグレーションを切り替えるだけで、複数のシリアルバスの使用形態を容易に変更可能となるので、CPUモジュールが用いられるシステムの性能が向上する。
【0012】
幾つかの実施形態に係るシステムは、第1のシリアルバスと、第2のシリアルバスと、CPUモジュールと、複数の拡張モジュールと、を備えるシステムであって、前記CPUモジュール及び前記複数の拡張モジュールのそれぞれは、前記第1のシリアルバス及び前記第2のシリアルバスに接続されている。幾つかの実施形態に係るシステムによれば、複数のシリアルバスの使用可能であるので、例えば単一のシリアルバスしか使用できない構成と比較して、システムの性能が向上する。
【0013】
一実施形態において、上記システムにより実行される通信方法は、1つの前記拡張モジュールが、前記第2のシリアルバスを2つに分離するステップと、前記CPUモジュールが、前記第1のシリアルバスを介して前記複数の拡張モジュールと通信するステップと、前記CPUモジュールが、分離された一方の前記第2のシリアルバスを介して、前記一方の第2のシリアルバスに接続された拡張モジュールと通信するステップと、分離された他方の前記第2のシリアルバスに接続された2つ以上の拡張モジュールが、前記他方の前記第2のシリアルバスを介して互いに通信するステップと、を含んでもよい。このように、第2のシリアルバスが分離されると、分離された一方のバスを流れるデータが他方のバスに入ってくることがないので、通信が競合したときの待ち時間を低減することができ、入出力応答を高速化できる。
【0014】
一実施形態において、上記システムにより実行される通信方法は、前記CPUモジュール及び前記複数の拡張モジュールが、前記第1のシリアルバス及び前記第2のシリアルバスを束ねるステップと、前記CPUモジュール及び前記複数の拡張モジュールが、束ねられた前記第1のシリアルバス及び前記第2のシリアルバスを介して通信するステップと、を含んでもよい。このように、束ねられた複数のシリアルバスを介して通信するので、例えば単一のシリアルバスを介して通信する構成と比較して通信速度が向上する。
【発明の効果】
【0015】
本開示によれば、バスを介して通信可能に接続された複数のモジュールを備えるシステムの性能が向上する。
【図面の簡単な説明】
【0016】
図1】比較例に係るPLCの第1例を示すブロック図である。
図2】比較例に係るPLCの第2例を示すブロック図である。
図3】比較例に係るPLCの第3例を示すブロック図である。
図4】比較例に係るPLCの通信スケジュールの例を示す図である。
図5】本開示の一実施形態に係るシステムの構成例を示すブロック図である。
図6】本開示の一実施形態に係るシステムの拡張モジュール間通信モードのコンフィグレーションの例を示す図である。
図7】本開示の一実施形態に係るシステムが拡張モジュール間通信モードに設定して通信を開始する動作例を示すフローチャートである。
図8】本開示の一実施形態に係るシステムの拡張モジュール間通信の動作例を示すフローチャートである。
図9】本開示の一実施形態に係るシステムにおいて、通常通信又は高速通信の動作例を示すフローチャートである。
図10】本開示の一実施形態に係るシステムの高速通信モードのコンフィグレーションの例を示す図である。
図11】本開示の一実施形態に係るシステムが高速通信モードに設定して通信を開始する動作例を示すフローチャートである。
図12】本開示の一実施形態に係るシステムのI/O通信モードのコンフィグレーションの他の例を示す図である。
図13】本開示の一実施形態に係るシステムのコンフィグレーションの変形例を示す図である。
【発明を実施するための形態】
【0017】
(比較例)
最初に比較例に係るPLCについて説明し、その問題点について述べる。
【0018】
PLCのバスは大きく2つに分類される。具体的には、例えば図1に示すパラレルバス型と、図2に示すシリアルバス型が知られている。また、PLCの拡張モジュールとして、汎用のモジュールの他に、例えば図3に示すように専用外部インターフェースと専用演算回路を備えた特殊拡張モジュールが用いられる場合がある。特殊拡張モジュールは、パラレルバス型及びシリアルバス型の両方で使用され得る。
【0019】
・パラレルバス型
図1に示すように、パラレルバス型では、一般的にベースモジュール上にCPUモジュール及び拡張モジュールが実装される。各モジュールは、ベースモジュール上に配線されたパラレルバスで接続される。CPUモジュールが通信マスタとなり、パラレルバスを介して拡張モジュールへリード/ライトアクセスを行う。パラレルバスは、双方向に通信可能なバスである。
【0020】
・シリアルバス型
図2に示すように、シリアルバス型では、一般的にベースモジュールが不要で、隣り合ったモジュール同士がシリアルバスで接続される。CPUモジュールが通信マスタとなって、拡張モジュールへコマンドを送信する。自局宛てのコマンドを受け取った拡張モジュールは、CPUモジュールへ応答を返送する。シリアルバスは、片方向のバスであり、コマンドと応答は決まった方向へ伝送される。各拡張モジュールは、他局宛てのコマンドと応答を受け取ると、それを次の拡張モジュールへ送信する。このようにして、コマンドと応答が伝送される。
【0021】
・特殊拡張モジュール
通常、入出力応答の処理は、CPUモジュールが入力モジュールから入力値を読み出し、CPUモジュールで処理を行った後に出力モジュールへ出力値を書き込むことで実行される。一方、特定の高速アプリケーションにおいて、例えば汎用の拡張モジュールを使用する等の従来の方法では、応答時間の要求を満たせない場合がある。その場合、図3に示すように、専用外部インターフェースと専用演算回路を備えた特殊拡張モジュールを使用し、CPUモジュールを介さずに特殊拡張モジュール内で入出力応答の処理を行うことで、応答時間の高速化が図られる。
【0022】
(比較例の問題点)
・パラレルバス型
パラレルバスはマルチドロップ型の回路トポロジである。このため、アクセス中はバス全体が占有されてしまい、1つのアクセスが終了するまでは次のアクセスを開始することができない。また、パラレルバスに接続されるモジュール数が増えると、信号波形が乱れやすくなるので、転送速度を上げることが困難である。
【0023】
・シリアルバス型
シリアルバスは、point-to-point型の回路トポロジである。このため、シリアルバスに接続されるモジュール数に関係なく安定した信号波形が得られるので、転送速度を上げやすい。また、パラレルバスと比較すると、転送される信号数も少ない。これらの理由により、近年ではシリアルバスが採用される傾向がある。また、シリアルバスは、パラレルバスのようにアクセス中にバス全体が占有されることがない。このため、シリアルバス上で一度に複数のコマンドと応答を送受信することで、パラレルバスよりもバスの使用効率を上げることができる。
【0024】
しかしながら、バスの使用効率を上げたとしても、例えば優先度の高い通信と低い通信が混在する場合は、優先度の高い通信の時間的要求を満たせない場合がある。これに対して、例えば図4に示すように、通信をスケジューリングすることによって、優先度毎に時間帯を分ける方法(すなわち、時分割)が用いられ得るが、例えばCPUモジュールでのスケジュール管理が煩雑になる等の不都合が生じ得る。
【0025】
・特殊拡張モジュール
特殊拡張モジュール内での入出力応答の処理に使用できるI/Oは、当該特殊拡張モジュール自体に備えられた専用外部インターフェースに接続されるI/Oだけである。このため、I/Oの点数を増やしたい場合には、専用の特殊拡張モジュールを新規に開発する必要があり、外部機器とのI/Oの拡張性に乏しい。
【0026】
(本開示のシステム)
本開示の目的は、上述の問題点に鑑み、バスを介して通信可能に接続された複数のモジュールを備えるシステムにおいて、外部機器とのI/Oの拡張性を向上することである。以下、本開示の一実施形態に係るシステムについて添付図面を参照して説明する。
【0027】
図5に示すように、システムAは、複数のシリアルバス1、2と、CPUモジュール10と、複数の拡張モジュール20、30、40、50、60と、を備える。システムAが備えるシリアルバスの数は2以上であればよい。また、システムAが備える拡張モジュールの数は1以上であればよい。CPUモジュール10及び複数の拡張モジュール20~60は、第1のシリアルバス1及び第2のシリアルバス2に接続されている。システムAは、例えばPLC又はデータロガー等として機能する。
【0028】
シリアルバス1は、ダウンストリーム1a及びアップストリーム1bを含む。
【0029】
シリアルバス2は、ダウンストリーム2a及びアップストリーム2bを含む。
【0030】
CPUモジュール10は、演算回路11と、マスタ通信回路12と、を有する。
【0031】
演算回路11は、任意の制御プログラムを実行するプロセッサと、当該プロセッサがアクセス可能なメモリと、を含んでもよい。プロセッサは、例えばMCU(Micro Controller Unit)又はMPU(Micro Processor Unit)等であるが、これらに限られない。或いは、演算回路11は、ASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)等の論理回路を含んでもよい。
【0032】
マスタ通信回路12は、シリアルバス1及び2を介して通信を行う通信回路を含む。詳細には、マスタ通信回路12は、シリアルバス1及び2を介して拡張モジュール20~60へ読み書きを行う通信回路を含む。本実施形態において、マスタ通信回路12は、マスタ通信機能[0]13、マスタ通信機能[1]14、及びマスタ通信機能[0,1]15を、それぞれ有効/無効の切り替えが可能な態様で有する。
【0033】
マスタ通信機能[0]13は、シリアルバス1を用いたチャネルにおいて、拡張モジュール20~60へ読み書きを行う機能である。
【0034】
詳細には、マスタ通信機能[0]13は、シリアルバス1を用いたチャネルを介して通信する機能、他局に対してコマンドを送信する機能、及び、他局からの応答を受信する機能を含む。
【0035】
マスタ通信機能[1]14は、シリアルバス2を用いたチャネルを介して通信する機能である。
【0036】
詳細には、マスタ通信機能[1]14は、シリアルバス2を用いたチャネルを介して通信する機能、他局に対してコマンドを送信する機能、及び、他局からの応答を受信する機能を含む。
【0037】
マスタ通信機能[0,1]15は、シリアルバス1及び2を束ねたチャネルにおいて、拡張モジュール20~60へ読み書きを行う機能である。
【0038】
詳細には、マスタ通信機能[0,1]15は、シリアルバス1及び2を束ねたチャネルを介して通信する機能、他局に対してコマンドを送信する機能、及び、他局からの応答を受信する機能を含む。
【0039】
拡張モジュール20は、例えば、基本的なデジタル入力モジュール、デジタル出力モジュール、アナログ入力モジュール、アナログ出力モジュール、又は一般的にPLC(Programable Logic Controller)で使用される高機能なモジュール(例えば、サブCPUモジュール、通信モジュール、又は位置決めモジュール等)であるが、これらに限られない。拡張モジュール20は、外部インターフェース21と、演算回路22と、マスタ/スレーブ通信回路23と、分離回路28と、を備える。
【0040】
外部インターフェース21は、例えばフィールド機器等の外部機器への入出力を行うインターフェースを含む。外部インターフェース21を介して、単純な入出力信号の他、外部通信の信号が入出力されてもよい。
【0041】
演算回路22は、任意のプログラムを実行することによって拡張モジュール20内での演算を実行するプロセッサと、当該プロセッサがアクセス可能なメモリと、を含んでもよい。プロセッサは、例えばMCU又はMPU等であるが、これらに限られない。或いは、演算回路22は、ASIC又はFPGA等の論理回路を含んでもよい。
【0042】
マスタ/スレーブ通信回路23は、CPUモジュール又は他の拡張モジュール30~60との間で通信を行う通信回路を含む。マスタ/スレーブ通信回路23は、スレーブ通信機能[0]24、スレーブ通信機能[1]25、スレーブ通信機能[0,1]26、及びマスタ通信機能[1]27を、それぞれ有効/無効の切り替えが可能な態様で有する。
【0043】
スレーブ通信機能[0]24は、シリアルバス1を用いたチャネルにおいて、CPUモジュール10から自局宛ての読み書きへ応答し、他局宛てのコマンドと応答を次のモジュールへ送信する機能である。
【0044】
詳細には、スレーブ通信機能[0]24は、シリアルバス1を用いたチャネルを介して通信する機能、CPUモジュール10から受信した自局宛てのコマンドに対して応答を返送する機能、CPUモジュール10から受信した他局宛てのコマンドを中継する機能、及び、他局から受信した応答を中継する機能を含む。
【0045】
スレーブ通信機能[1]25は、シリアルバス2を用いたチャネルにおいて、CPUモジュール10又は他の拡張モジュール30~60から自局宛ての読み書きへ応答し、他局宛てのコマンドと応答を次のモジュールへ送信する機能である。
【0046】
詳細には、スレーブ通信機能[1]25は、シリアルバス2を用いたチャネルを介して通信する機能、CPUモジュール10又は他局から受信した自局宛てのコマンドに対して応答を返送する機能、CPUモジュール10又は他局から受信した他局宛てのコマンドを中継する機能、及び、他局から受信した応答を中継する機能を含む。
【0047】
スレーブ通信機能[0,1]26は、シリアルバス1及び2を束ねたチャネルにおいて、CPUモジュール10から自局宛ての読み書きへ応答し、他局宛てのコマンドと応答を次のモジュールへ送信する機能である。
【0048】
詳細には、スレーブ通信機能[0,1]26は、シリアルバス1及び2を束ねたチャネルを介して通信する機能、CPUモジュール10から受信した自局宛てのコマンドに対して応答を返送する機能、CPUモジュール10から受信した他局宛てのコマンドを中継する機能、及び、他局から受信した応答を中継する機能を含む。
【0049】
マスタ通信機能[1]27は、シリアルバス2を用いたチャネルにおいて、他の拡張モジュール30~60へ読み書きを行う機能である。
【0050】
詳細には、マスタ通信機能[1]27は、シリアルバス2を用いたチャネルを介して通信する機能、他局に対してコマンドを送信する機能、及び、他局からの応答を受信する機能を含む。
【0051】
また、マスタ/スレーブ通信回路23は、上記4つの機能のうち、通信に用いるシリアルバスが共通する複数の機能が同時に有効とならないように制御する。例えば、マスタ/スレーブ通信回路23は、通信にシリアルバス1を用いるスレーブ通信機能[0]24及びスレーブ通信機能[0,1]26のうち、何れか1つの機能を有効にすると他の機能を無効にする。また例えば、マスタ/スレーブ通信回路23は、通信にシリアルバス2を用いるスレーブ通信機能[1]25、スレーブ通信機能[0,1]26、及びマスタ通信機能[1]27のうち、何れか1つの機能を有効にすると他の機能を無効にする。
【0052】
或いは、マスタ/スレーブ通信回路23は、スレーブ通信機能[0]24及びスレーブ通信機能[1]25を有効にすると他の機能を無効にしてもよい。またマスタ/スレーブ通信回路23は、スレーブ通信機能[0]24及びマスタ通信機能[1]27を有効にすると他の機能を無効にしてもよい。またマスタ/スレーブ通信回路23は、スレーブ通信機能[0,1]26を有効にすると他の機能を無効にしてもよい。
【0053】
分離回路28は、隣接する1つのモジュールとの間でシリアルバス2を論理的に分離する回路を含む。本実施形態において、分離回路28がONになると、拡張モジュール20のアップストリーム側(図5では左側)、すなわちCPUモジュール10側でシリアルバス2が論理的に分離される。かかる状態において、拡張モジュール20と、CPUモジュール10側に隣接する他のモジュール(図5ではCPUモジュール10)との間で、シリアルバス2を介する通信が行われない。一方、分離回路28がOFFになると、拡張モジュール20のアップストリーム側でシリアルバス2が論理的に接続される。なお、分離回路28によって、拡張モジュール20のアップストリーム側ではなくダウンストリーム側(図5では右側)、すなわちCPUモジュール10とは反対側で、シリアルバスが論理的に分離/接続される実施形態も実現可能である。
【0054】
拡張モジュール30~60は、それぞれ拡張モジュール20と同様の構成及び機能を有する。当該同様の構成及び機能については、拡張モジュール20の構成及び機能と同一の名称とし、符号を変えて表記する。例えば、拡張モジュール30、40、50、及び60が備える「外部インターフェース」は、それぞれ外部インターフェース31、41、51、及び61と表記する。
【0055】
次に、本開示の一実施形態に係るシステムAの動作について説明する。本開示の一実施形態に係るシステムAは、拡張モジュール間通信モード及び高速通信モードを含む、複数のモードで動作可能である。以下、各モードについて説明する。
【0056】
(拡張モジュール間通信モード)
まず、拡張モジュール間通信モードについて説明する。拡張モジュール間通信モードでは、シリアルバス1を用いて通常通信が行われ、2つに分離されたシリアルバス2の一方を用いて通常通信が行われ、他方を用いて拡張モジュール間通信が行われる。通常通信では、CPUモジュール10がマスタとなり、他のモジュールがスレーブとなる。拡張モジュール間通信では、特定の拡張モジュールがマスタとなり、他の拡張モジュールがスレーブとなる。
【0057】
図6を参照して、システムAを拡張モジュール間通信モードで動作させるためのコンフィグレーションの例について説明する。本例では、拡張モジュール間通信において拡張モジュール50がマスタとなり、拡張モジュール40及び60がスレーブとなる。拡張モジュール40には、外部機器からの入力信号が入力される。拡張モジュール60は、出力信号を外部機器へ出力する。
【0058】
・CPUモジュールのマスタ通信回路のコンフィグレーション
CPUモジュール10のマスタ通信回路12は、マスタ通信機能[0]13及びマスタ通信機能[1]14を有効にし、他の機能(マスタ通信機能[0,1]15)を無効にする。図6においては説明の簡便のため、無効とされた機能の図示を省略した。
【0059】
・拡張モジュールのマスタ/スレーブ通信回路のコンフィグレーション
拡張モジュール50のマスタ/スレーブ通信回路53は、スレーブ通信機能[0]54及びマスタ通信機能[1]57を有効にし、他の機能(スレーブ通信機能[1]55及びスレーブ通信機能[0,1]56)を無効にする。また、その他の拡張モジュール20、30、40、及び60のマスタ/スレーブ通信回路23、33、43、及び63は、スレーブ通信機能[0]24、34、44、及び64、並びにスレーブ通信機能[1]25、35、45、及び65をそれぞれ有効にし、他の機能(スレーブ通信機能[0,1]26、36、46、及び66、並びにマスタ通信機能[1]27、37、47、及び67)を無効にする。図6においては説明の簡便のため、無効とされた機能の図示を省略した。
【0060】
・拡張モジュールの分離回路のコンフィグレーション
拡張モジュール40の分離回路48は、動作状態をONに設定し、シリアルバス2を拡張モジュール30と40との間で論理的に分離する。また、その他の拡張モジュール20、30、50、及び60の分離回路28、38、58、及び68は、動作状態をOFFに設定し、それぞれシリアルバス2に接続する。図6においては説明の簡便のため、動作状態がOFFである分離回路28、38、58、及び68の図示を省略した。
【0061】
上記のコンフィグレーションにより、シリアルバス1を用いて通常通信用のチャネルが形成される。シリアルバス1を用いた通常通信用のチャネルは、シリアルバス2から独立して使用可能である。また、分離されたシリアルバス2の一方(ここでは、CPUモジュール10から拡張モジュール30までの部分)を用いて通常通信用のチャネルが形成される。分離されたシリアルバス2の当該一方を用いた通常通信用のチャネルは、シリアルバス1から独立して使用可能である。また、分離されたシリアルバス2の他方(ここでは、拡張モジュール40から60までの部分)を用いて拡張モジュール間通信用のチャネルが形成される。分離されたシリアルバス2の当該他方を用いた拡張モジュール間通信用のチャネルは、通常通信用のチャネルから独立して使用可能である。
【0062】
図7を参照して、システムAを拡張モジュール間通信モードに設定して通信を開始する動作例について説明する。
【0063】
ステップS100:CPUモジュール10のマスタ通信回路12がコンフィグレーションを実施する。具体的には、図6に示す例においてマスタ通信回路12は、マスタ通信機能[0]13及びマスタ通信機能[1]14を有効にし、他の機能(マスタ通信機能[0,1]15)を無効にする。
【0064】
ステップS101:拡張モジュール20~60のマスタ/スレーブ通信回路23~63が、それぞれコンフィグレーションを実施する。具体的には、図6に示す例において拡張モジュール50のマスタ/スレーブ通信回路53が、スレーブ通信機能[0]54及びマスタ通信機能[1]57を有効にし、他の機能(スレーブ通信機能[1]55及びスレーブ通信機能[0,1]56)を無効にする。また、その他の拡張モジュール20、30、40、及び60のマスタ/スレーブ通信回路23、33、43、及び63が、スレーブ通信機能[0]24、34、44、及び64、並びにスレーブ通信機能[1]25、35、45、及び65をそれぞれ有効にし、他の機能(スレーブ通信機能[0,1]26、36、46、及び66、並びにマスタ通信機能[1]27、37、47、及び67)を無効にする。
【0065】
ステップS102:拡張モジュール20~60の分離回路28~68が、それぞれコンフィグレーションを実施する。具体的には、図6に示す例において拡張モジュール40の分離回路48が、動作状態をONに設定し、シリアルバス2を拡張モジュール30と40との間で論理的に分離する。また、その他の拡張モジュール20、30、50、及び60の分離回路28、38、58、及び68が、それぞれ動作状態をOFFに設定してシリアルバス2に接続する。
【0066】
ステップS103:システムAが、シリアルバス1を用いた通常通信、分離されたシリアルバス2の一方(ここでは、CPUモジュール10から拡張モジュール30までの部分)を用いた通常通信、及び、分離されたシリアルバス2の他方(ここでは、拡張モジュール40から60までの部分)を用いた拡張モジュール間通信を開始する。
【0067】
図8を参照して、拡張モジュール間通信モードにおけるシステムAの拡張モジュール間通信の動作例について説明する。
【0068】
ステップS200:図6に示す例において拡張モジュール40が、外部インターフェース41を介して入力された入力信号49から入力値を取得する。
【0069】
ステップS201:拡張モジュール50が、拡張モジュール40から入力値を読み出す。具体的には、図6に示す例において拡張モジュール50のマスタ/スレーブ通信回路53が、マスタ通信機能[1]57によって、シリアルバス2のアップストリーム2bを介して読み出しのコマンド74を拡張モジュール40へ送信する。拡張モジュール40のマスタ/スレーブ通信回路43が、スレーブ通信機能[1]45によって、シリアルバス2のダウンストリーム2aを介して応答75を返送する。
【0070】
ステップS202:拡張モジュール50が、演算回路52で入出力応答処理の演算を行い、出力値を決定する。
【0071】
ステップS203:拡張モジュール50が、拡張モジュール60へ出力値を書き込む。具体的には、図6に示す例において拡張モジュール50のマスタ/スレーブ通信回路53が、マスタ通信機能[1]57によって、シリアルバス2のダウンストリーム2aを介して書き込みのコマンド76を拡張モジュール60へ送信する。拡張モジュール60のマスタ/スレーブ通信回路63が、スレーブ通信機能[1]65によって、シリアルバス2のアップストリーム2bを介して応答77を返送する。
【0072】
ステップS204:拡張モジュール60が、外部インターフェース61を介して、出力値を含む出力信号69(図6参照)を出力する。
【0073】
図9を参照して、拡張モジュール間通信モードにおけるシステムAの通常通信の動作例について説明する。
【0074】
ステップS300:CPUモジュール10が、拡張モジュール宛てにコマンドを送信する。具体的には、図6に示す例においてCPUモジュール10のマスタ通信回路12が、マスタ通信機能[0]13によって、シリアルバス1のダウンストリーム1aを介してコマンド70を拡張モジュール40へ送信する。また、マスタ通信回路12が、マスタ通信機能[1]14によって、シリアルバス2のダウンストリーム2aを介してコマンド72を拡張モジュール30へ送信する。
【0075】
ステップS301:コマンドを受信した拡張モジュールが、応答を返送する。具体的には、図6に示す例において拡張モジュール40のマスタ/スレーブ通信回路43が、スレーブ通信機能[0]44によって、シリアルバス1のアップストリーム1bを介して応答71を返送する。また、拡張モジュール30のマスタ/スレーブ通信回路33が、スレーブ通信機能[1]35によって、シリアルバス2のアップストリーム2bを介して応答73を返送する。
【0076】
(高速通信モード)
次に、高速通信モードについて説明する。高速通信モードでは、シリアルバス1及び2を束ねたチャネルを介して高速通信が行われる。詳細には、シリアルバス1及び2を束ねたチャネルのダウンストリームとして、シリアルバス1のダウンストリーム1a及びシリアルバス2のダウンストリーム2aが用いられる。シリアルバス1及び2を束ねたチャネルのアップストリームとして、シリアルバス1のアップストリーム1b及びシリアルバス2のアップストリーム2bが用いられる。したがって、高速通信では、上述した通常通信と比較して、ダウンストリーム及びアップストリームそれぞれのビット幅が2倍になる。高速通信では、CPUモジュール10がマスタとなり、他のモジュールがスレーブとなる。
【0077】
図10を参照して、システムAを高速通信モードで動作させるためのコンフィグレーションの例について説明する。本例では、CPUモジュール10がマスタとなり、拡張モジュール20~60がスレーブとなる。
【0078】
・CPUモジュールのマスタ通信回路のコンフィグレーション
CPUモジュール10のマスタ通信回路12は、マスタ通信機能[0,1]15を有効にし、他の機能(マスタ通信機能[0]13及びマスタ通信機能[1]14)を無効にする。図10においては説明の簡便のため、無効とされた機能の図示を省略した。
【0079】
・拡張モジュールのマスタ/スレーブ通信回路のコンフィグレーション
拡張モジュール20~60のマスタ/スレーブ通信回路23~63は、スレーブ通信機能[0,1]26~66をそれぞれ有効にし、他の機能(スレーブ通信機能[0]24~64、スレーブ通信機能[1]25~65、及びマスタ通信機能[1]27~67)をそれぞれ無効にする。図10においては説明の簡便のため、無効とされた機能の図示を省略した。
【0080】
・拡張モジュールの分離回路のコンフィグレーション
拡張モジュール20~60の分離回路28~68は、動作状態をOFFに設定し、それぞれシリアルバス2に接続する。図10においては説明の簡便のため、動作状態がOFFである分離回路28~68の図示を省略した。
【0081】
上記のコンフィグレーションにより、シリアルバス1及び2を束ねて高速通信用のチャネルが形成される。
【0082】
図11を参照して、システムAを高速通信モードに設定して通信を開始する動作例について説明する。
【0083】
ステップS400:CPUモジュール10のマスタ通信回路12がコンフィグレーションを実施する。具体的には、図10に示す例においてマスタ通信回路12は、マスタ通信機能[0,1]15を有効にし、他の機能(マスタ通信機能[0]13及びマスタ通信機能[1]14)を無効にする。
【0084】
ステップS401:拡張モジュール20~60のマスタ/スレーブ通信回路23~63が、それぞれコンフィグレーションを実施する。具体的には、図10に示す例においてマスタ/スレーブ通信回路23~63が、スレーブ通信機能[0,1]26~66をそれぞれ有効にし、他の機能(スレーブ通信機能[0]24~64、スレーブ通信機能[1]25~65、及びマスタ通信機能[1]27~67)をそれぞれ無効にする。
【0085】
上記のステップS400及びS401の動作は、換言すると、CPUモジュール10及び拡張モジュール20~60が、シリアルバス1及び2を束ねて高速通信用のチャネルを形成する動作である。
【0086】
ステップS402:拡張モジュール20~60の分離回路28~68が、それぞれコンフィグレーションを実施する。具体的には、図10に示す例において拡張モジュール20~60の分離回路28~68が、それぞれ動作状態をOFFに設定してシリアルバス2に接続する。
【0087】
ステップS403:システムAが、シリアルバス1及び2を束ねたチャネルを介して高速通信を開始する。
【0088】
続いて、高速通信モードにおけるシステムAの高速通信の動作例について説明する。高速通信では、上述した通常通信と比較して、コンフィグレーションの細部、及び通信に使用するチャネルが異なるが、動作のフローは同一である。このため、高速通信の動作例についても、上述した図9を参照して説明する。
【0089】
ステップS300:CPUモジュール10が、拡張モジュール宛てにコマンドを送信する。具体的には、図10に示す例においてCPUモジュール10のマスタ通信回路12が、マスタ通信機能[0,1]15によって、シリアルバス1及び2のダウンストリーム1a及び2aを介してコマンド80を拡張モジュール40へ送信する。また、マスタ通信回路12が、マスタ通信機能[0,1]15によって、シリアルバス1及び2のダウンストリーム1a及び2aを介してコマンド82を拡張モジュール60へ送信する。
【0090】
ステップS301:コマンドを受信した拡張モジュールが、応答を返送する。具体的には、図10に示す例において拡張モジュール40のマスタ/スレーブ通信回路43が、スレーブ通信機能[0,1]46によって、シリアルバス1及び2のアップストリーム1b及び2bを介して応答81を返送する。また、拡張モジュール60のマスタ/スレーブ通信回路63が、スレーブ通信機能[0,1]66によって、シリアルバス1及び2のアップストリーム1b及び2bを介して応答83を返送する。
【0091】
・拡張モジュール間通信モードの効果
図6の例では、拡張モジュール間通信においてマスタとして機能する拡張モジュール50は、スレーブとして機能する拡張モジュール40及び60に対して直接読み書きすることができる。これにより、拡張モジュール50は、CPUモジュール10なしに、演算回路52を使用して高速でインテリジェントな入出力応答処理ができるようになる。また、コンフィグレーションに応じて任意の拡張モジュールの外部インターフェースを使用できるので、例えば図3に示す特殊拡張モジュールを採用する構成と比較してI/O点数の不足を補うことができる。
【0092】
更に、分離回路を用いてシリアルバス2を分離することで、拡張モジュール間通信専用のチャネルを確保できる。
【0093】
例えば、図12に示す例は、図6に示す実施形態と比較して、分離回路48がOFFになっている(すなわち、シリアルバス2が分離されていない)点で相違している。当該比較例において、コマンド90は、CPUモジュール10から全拡張モジュール20~60へ一括して送信されるブロードキャストコマンドである。このブロードキャスト通信は、通常通信の一部と考えることができる。この場合、ブロードキャスト通信と拡張モジュール間通信のタイミングが重なると競合が発生し、入出力応答時間が長くなる。また、コマンド91は、拡張モジュール50から送信された誤通信のコマンドである。コマンドの誤通信は、例えば装置の開発時等に発生し得る。この場合、分離されていない側(アップストリーム側)のチャネルに誤ったコマンドが入り込み、余計なエラー処理が発生し得る。
【0094】
これに対して、図6に示す例のように本実施形態では、分離された側(ダウンストリーム側)のチャネルに拡張モジュール間通信以外のコマンドが入ってくることがないので、通信が競合したときの待ち時間を低減することができる。これにより、入出力応答を高速化できる。また、分離されていない側(アップストリーム側)のチャネルにおいても、分離された側のチャネルから不要なコマンド又は応答が入ってくることを防ぐことができる。
【0095】
・高速通信モードの効果
図10に示す例では、シリアルバス1及び2を1つの高速通信用のチャネルに束ねることによって、通常通信の2倍の速度で通信を行うことができる。したがって、高速通信モードは、例えば高速なデータ収集のアプリケーションなど、データ量が比較的多い場合、又は要求される転送時間が比較的短い場合に有効である。
【0096】
・コンフィグレーションの効果
図6及び図10に示す例のように本実施形態によれば、CPUモジュール10のマスタ通信回路12、並びに拡張モジュール20~60のマスタ/スレーブ通信回路23~63及び分離回路28~68のコンフィグレーションを行うだけで、シリアルバスの使用形態を変更できる。
【0097】
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形及び修正を行ってもよいことに注意されたい。したがって、これらの変形及び修正は本開示の範囲に含まれることに留意されたい。例えば、各構成又は各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成又はステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
【0098】
(シリアルバスの応用/変形)
例えば、シリアルバスのダウンストリーム及びアップストリームの信号は1ビットに限られず、2ビット以上であってもよい。また、シリアルバスの数は2つに限られず、3つ以上であってもよい。また、シリアルバス1及び2の役割が入れ替わってもよい。
【0099】
(拡張モジュール間通信モードの応用/変形)
拡張モジュールの数は、1つ以上あればよい。また、拡張モジュール間通信のマスタとなる拡張モジュールの数は、2つ以上であってもよい。また、分離回路28~68によって、シリアルバスが1カ所だけでなく、複数カ所で分離されてもよい。また、分離できるシリアルバスが2つ以上あってもよい。
【0100】
(高速通信モードの応用/変形)
拡張モジュールの数は、1つ以上あればよい。また束ねられるシリアルバスの数は2つ以上であってもよい。
【0101】
(拡張モジュールの応用/変形)
システムAに備えられる一部の拡張モジュールが外部インターフェースを備えなくてもよい。また、一部の拡張モジュールが演算回路を備えなくてもよい。また、一部の拡張モジュールが分離回路を備えなくてもよい。また、一部の拡張モジュールがマスタ通信機能[1]を有さなくてもよい。
【0102】
(コンフィグレーションの応用/変形)
図6の変形例として、拡張モジュール間通信を行わない場合のコンフィグレーションと動作例を図13に示す。
【0103】
・CPUモジュールのマスタ通信回路のコンフィグレーション
CPUモジュール10のマスタ通信回路12は、マスタ通信機能[0]13及びマスタ通信機能[1]14を有効にし、他の機能(マスタ通信機能[0,1]15)を無効にする。図13においては説明の簡便のため、無効とされた機能の図示を省略した。
【0104】
・拡張モジュールのマスタ/スレーブ通信回路のコンフィグレーション
拡張モジュール20~60のマスタ/スレーブ通信回路23~63は、スレーブ通信機能[0]24~64、及びスレーブ通信機能[1]25~65をそれぞれ有効にし、他の機能(スレーブ通信機能[0,1]26~66、及びマスタ通信機能[1]27~67)を無効にする。図13においては説明の簡便のため、無効とされた機能の図示を省略した。
【0105】
・拡張モジュールの分離回路のコンフィグレーション
拡張モジュール20~60の分離回路28~68は、動作状態をOFFに設定し、それぞれシリアルバス2に接続する。図13においては説明の簡便のため、動作状態がOFFである分離回路28~68の図示を省略した。
【0106】
・変形例での動作
上記のコンフィグレーションにより、全ての通信が通常通信のみとなる。この場合、CPUモジュール10が通信のマスタとなり、全ての拡張モジュール20~60がスレーブとなる。CPUモジュール10が宛先の拡張モジュールへコマンドを送信し、コマンドを受信した拡張モジュールがCPUモジュール10へ応答を返送する。シリアルバス1を用いた通常通信用のチャネルと、シリアルバス2を用いた通常通信用のチャネルとは、互いに独立して使用可能である。
【0107】
・シリアルバス1の通常通信の例
図13に示す例において、CPUモジュール10のマスタ通信回路12が、マスタ通信機能[0]13によって、シリアルバス1のダウンストリーム1aを介してコマンド70を拡張モジュール40へ送信する。拡張モジュール40のマスタ/スレーブ通信回路43が、スレーブ通信機能[0]44によって、シリアルバス1のアップストリーム1bを介して応答71を返送する。
【0108】
・シリアルバス2の通常通信の例
図13に示す例において、CPUモジュール10のマスタ通信回路12が、マスタ通信機能[1]14によって、シリアルバス2のダウンストリーム2aを介してコマンド78を拡張モジュール60へ送信する。拡張モジュール60のマスタ/スレーブ通信回路63が、スレーブ通信機能[1]65によって、シリアルバス2のアップストリーム2bを介して応答79を返送する。
【0109】
・変形例の効果
変形例では、シリアルバス1を用いた通常通信用のチャネルと、シリアルバス2を用いた通常通信用のチャネルとは、互いに独立して使用可能である。かかる構成は、例えば外部機器を制御しながら同時にデータ収集を行いたい場合等に有効である。例えば、シリアルバス1を制御用に割り当て、シリアルバス2をデータ収集用に割り当てることで、制御周期に影響を与えることなく、外部機器の制御とデータ収集を同時に実施可能である。
【符号の説明】
【0110】
A システム
1、2 シリアルバス
1a、2a ダウンストリーム
1b、2b アップストリーム
10 CPUモジュール
11 演算回路
12 マスタ通信回路
13 マスタ通信機能[0]
14 マスタ通信機能[1]
15 マスタ通信機能[0,1]
20~60 拡張モジュール
21~61 外部インターフェース
22~62 演算回路
23~63 マスタ/スレーブ通信回路
24~64 スレーブ通信機能[0]
25~65 スレーブ通信機能[1]
26~66 スレーブ通信機能[0,1]
27~67 マスタ通信機能[1]
28~68 分離回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13