ホーム >
汎用テレメトリエンジン > 多種多様な通信への対応
多種多様な通信端末・通信方式への対応を容易に行うことができること
課題・目的
多種多様な通信端末、通信機器があり、それらの新バージョン、新タイプのものが次々と出現しています。
- ・メータ
- ガス・水道・電気等、各種メータ、センサ
- ・端末側通信制御機器
- 端末NCU、集中盤
- ・センタ側通信制御機器
- センタ側NCU、TA、IPルーター
- ・通信網
- アナログ電話回線(ノーリンギング回線、リンギング回線)、ISDN電話回線、IPネットワーク(Dopa、携帯電話等)
- ・通信プロトコル
- TCP/IP、BASIC
現状では、新通信端末、新通信機器への対応は、そのつど個別に行っており、つぎはぎだらけのシステムになっています。また、そのため、保守性が悪くなっています。
実現方法
- ・通信部分の階層化設計とオブジェクト指向設計
- 通信部分は、下位層プロトコルの部分と、上位層プロトコルに階層化します。そして、下位層プロトコルの部分と、上位層プロトコルの部分は、独立したモジュールにし、入れ替えを行えるようにします。システムの構成定義によって、実行時にどのモジュールを使用するかを決めます。
- ・システムの構成定義
- 実行時にどのモジュールを使用するか等の構成をXML等のファイルに定義できるようにします。
- ・上位層プロトコルの定義
- 通信機器コマンド定義、通信シーケンス定義、通信経路情報定義等をXML等のファイルに定義できるようにします。
- ・設計ツール
- システムの構成定義、通信シーケンス作成ツール、通信機器コマンド定義を視覚的に作成するツールを用意します。
XMLファイルでの定義例
・通信機器コマンドの定義
通信機器毎にコマンドを定義します。例えば、メータのレジスタAを設定するのは、「S000+”設定値”」であるといった内容を定義します。
通信機器コマンド定義例
<?xml>
<ME>
<name>M1</name>
<Cmd Prop=A,Operator=Set>
<Send>S000%Value%</Send>
<Recv>D000%Value%</Recv>
</Cmd>
</ME>
・通信シーケンスの定義
ある通信で、どのような順番でコマンドを発行して行くかを定義します。エラー処理についても定義します。例えば、検針値読み出しのシーケンスは「レジスタ0設定 → レジスタ1読み出し …」であるといった内容を定義します。
通信シーケンス定義例
<?xml>
<Sequence>
<name>KENSHIN</name>
<Comm id='l1',OnError='l99'>Connect</Comm>
<Comm>MyData.A=ME.A</Comm> <
Comm>ME.B=MyData.B</Comm>
<Comm id='l99'>Disconnect</Comm>
</Sequence>
・通信経路情報の定義
あるメータに通信を行う場合、そのメータまでの通信経路を定義します。例えば、「CO → ノーリンギング回線 → 端末NCU」というような情報です。
経路定義例
<?xml>
<Route>
<CN>
<Ch>Auto</Ch>
</CN>
<NR>
<NRT>06-11119999</NRT>
<TELNO>06-1111-2222<TELNO>
<NRSNO>1</NRSNO>
</NR>
<TN>
<Type>E</Type>
<Port>PA</Port>
</TN>
</Route>