- 公開日:2019年07月09日
- | 更新日:2022年11月30日
リモートI/Oユニットで高信頼性の通信を実現する方法
- ライター:April
- インターフェース
突然ですが、高信頼性のシステムを作りたいと考えているとします。そのとき高性能CPU搭載の高価なコントローラを使用して、100Mbpsの高速ネットワークを採用すれば簡単に構築できるでしょうか。…そうとは限りませんよね。どんなにお金をかけたシステムでも、システム内にCPUが介在するということはそれだけでバグの要因になり得ます。
前回の予告で、CUnetの特性を活かした高信頼性ネットワークをお伝えする予定でしたので、今回はCUnetのリモートI/Oについてご紹介します。
リモートI/OをCUnetで構築するメリット
CUnetの一番の特長と言えば、簡単にメモリ共有ができて、CPUの隣に置くことで通信機能付きデュアルポートRAMのように扱える点ですが、CPUレスでも通信可能という点も大きな特長です。
CUnetのI/OモードICであるMKY46やMKY44シリーズ同士で通信させることで、ネットワークに全くCPUが関わらない状態が成り立ちます。どうしてそんなことが可能かと言えば、チップ自体にプロトコルを内蔵しているからですね。これにより、3つのメリットを実現します。
- プログラム開発不要で開発コストを大幅削減
- CPU不要だから部品コストを削減
- ハードウェアだけで通信するので高信頼性
具体的に見ていきましょう。
1. プログラム開発不要で開発コストを大幅削減
CUnetのI/OモードICのみでネットワークを構成すれば、デジタルI/OやアナログI/Oの制御をCPUレスの構成によって実現します。CPUレスの通信が可能ということで、通信プロトコル内蔵が実証されます。また、プログラムやCPUを必要としないため、開発コストを大幅に削減できます。
具体例で説明すると、CUnetの基本的な接続は図1のように、MKY43 + CPU搭載のマスターがあり、MKY46搭載のスレーブがマルチドロップでつながるHLSと同様の形です。(※MKY46は32ビットのI/O信号を扱えるCUnet ICです。)
システム内にプロセッサは存在していますが、通信に関してはCUnet ICが自動的に行なっており、プロセッサで制御する必要はありません。つまり、プログラム開発不要です。
2. CPU不要だから部品コストを削減
さらに、CUnetの場合は図1の状況からMKY43 + プロセッサがいなくなっても、ネットワークが成り立ちます。I/OモードICであるMKY46のみで通信できてしまいます。
これは他のフィールドバスでは類を見ないメリットです。ハードウェアだけで通信しているため、非常に信頼性が高いシステムだといえます。もちろん、CPUが要らない分の部品コストも浮きますね。
3. ハードウェアだけで通信するので高信頼性
図2の状態で、実際どのように通信しているのか気になったと思います。
MKY46は、出力に設定されたI/O端子へどのGM領域のデータを出力するかを、DOSA(Data Output Station Address)端子によって設定できます。極端に言えば、SA(Station Address)とDOSAの設定のみで通信が成立します。
図2の例で説明すると、左から順にSA=1, SA=2, SA=3とアドレスが振られており、それぞれDOSA=2, DOSA=3, DOSA=1となっています。この状態だと、一番左のSA=1の入力信号はSA=3のI/O端子から出力されます。次にSA=2への入力信号はSA=1のI/O端子から出力といった具合です。
つまりDOSAとは、どの入力データをもとに出力するか、データを受け取る側が決定するための端子です。したがって、DOSAはネットワーク内でかぶりがあっても問題ありません。1つのMKY46の入力信号を、複数のMKY46の端子へ出力させることも可能です。
また、MKY46にはSAとDOSAの他にも各種の設定端子(DOHL, IOS, IOSWAP, INV)があり、これらを操作することによって、入出力端子の信号論理を反転させたり、表のようにIOSの設定で入出力数を4ビット単位で変更できるなど、様々なパターンに適合させることが可能です。
IOS2 | IOS1 | IOS0 | 入力数 | 出力数 |
---|---|---|---|---|
Lo | Lo | Lo | 32 | 0 |
Lo | Lo | Hi | 28 | 4 |
Lo | Hi | Lo | 24 | 8 |
Lo | Hi | Hi | 20 | 12 |
Hi | Lo | Lo | 16 | 16 |
Hi | Lo | Hi | 12 | 20 |
Hi | Hi | Lo | 8 | 24 |
Hi | Hi | Hi | 0 | 32 |
MKY44シリーズを使った応用
CUnetにはデジタル信号だけでなく、アナログ信号も制御できるMKY44シリーズがあります。MKY44シリーズを、ステップテクニカではインテリジェントスレーブICと呼んでいます。
アナログ信号も自動送信、自動復元
アナログ信号を長距離伝送すると、ノイズの影響が懸念されます。そこで登場するのが、MKY44のADシリーズとDAシリーズです。
センサー入力などのアナログ入力信号を取り込み、CUnetのプロトコルで自動的にシリアル送信して、受信側は自動でシリアル信号を元の形に戻すことができるため、ON/OFF信号の束やアナログ信号もケーブル1本で測定側へ送ることができます。信号品質が気になる場所で、優秀なリピーターの役割を果たします。
応答速度を上げたいときはリサイズ
I/OモードICのみでの通信には欠点があります。それは、CUnetの最大ノード数である64ノードを接続した場合と同様の速度、つまり最大のサイクルタイムに固定されてしまうため、接続ノード数が少ないシステムでも応答速度が遅くなってしまうことです。
そこで、CPUレスかつ高速に通信させたいという場合は、MKY44-FS00Aという専用ICを使います。FSはFinal Stationの略で、サイクルの終わりを示すFinal Station=最終アドレスを設定することで、サイクルタイムを早めます。これをリサイズと呼んでいます。
出典:ステップテクニカ MKY43ユーザーズマニュアル Page4-39
FS値の設定無しではSA=0~SA=63のサイクルタイム(2.365ms)ですが、例えばFS値を15と設定することでSA=0~SA=15の短いサイクルタイム(501.0us)を繰り返すことになり、結果として応答速度が向上します。
FS値
(Final Station) |
サイクルタイム
|
||
---|---|---|---|
12Mbps | 6Mbps | 3Mbps | |
1 | 102.0us | 204.0us | 408.0us |
3 | 155.0us | 310.0us | 620.0us |
7 | 265.0us | 530.0us | 1.060ms |
15 | 501.0us | 1.002ms | 2.004ms |
31 | 1.037ms | 2.074ms | 4.148ms |
47 | 1.659ms | 3.317ms | 6.634ms |
63 | 2.365ms | 4.730ms | 9.460ms |
まとめ
今回はCUnetの特徴的な使い方を紹介しました。I/Oモードのみでの通信は非常に信頼性が高く、実際に医療機器やインフラ設備などでこの方式が採用されています。
アナログ信号を含め、長距離のシリアル-パラレル変換がCPUレスで可能と考えれば、いろいろとおもしろい用途が思い浮かびませんか?