User Manual

Table Of Contents
DME7リモートコントロールプロトコル仕様書 V1.0.0
37
4. コマンドシーケンス
操作対象機器の方が先に起動していた場合の例
OK devstatus runmode "normal"
devstatus runmode
起動中
SCP機能
起動中
SCP
通信可能
デバイス
起動中
デバイス
通常動作
操作対象機器リモートコントローラー
Notify devstatus runmode "booting"
Notify devstatus runmode "normal"
SCP接続不明
接続認知
devstatus runmode1回目の試行
で結果通知が返る。通常起動だと分
かれば以降の試行は不要。
物理接続済み
この場合は、操作対象機器側からの能動的な NOTIFY devstatus runmode はすでに通知失敗しているので、コントローラー側からの
devstatus runmode 要求を試行することで起動判断ができている。
なお、Ethernetのように論理的なセッション構築が必要な場合は、上記例の前にセッション構築の試行が入ることになる。
4.2. 各情報の一覧取得シーケンス
どんな機器が相手でも制御できるような高機能な汎用コントローラを作りたい場合は、相手機器のプロトコルバージョンやパラメーターセットバー
ジョンを取得したり各種アドレスの一覧やスナップショットの一覧などを動的に取得したりする必要がある。なお、アドレスには、パラメーターアドレ
スとメーターアドレスの2種類が存在し、それぞれコマンドが異なるが、シーケンスは同等である。
プロトコルバージョンを取得して動作を切り替えたい場合
プロトコル
バージョン不明
リモートコントローラー
devinfo protocolver
OK devinfo protocolver "1.0.0"
操作対象機器
プロトコル
バージョン認知
後述の通り、操作対象機器
のバージョンに応じて動作を
切り替えても良い。
コントローラが期待するプロトコルバージョンと操作対象機器が返してきたプロトコルバージョンが異なる場合は、以下のように対処すると良い。
コントローラが期待するバージョンより操作対象機器のバージョンが新しい場合、SCPプロトコルは原則として後方互換性が保たれているので、コ
ントローラは動作を継続すれば良い。
ただし、現実的にはSCPプロトコルで完全な後方互換性を保たれているわけではなく、プロトコルバージョンの改版に伴ってコマンドやタグ種別の
削減が起こることもあるので、コントローラが送ったコマンドに対してエラーが返っても、コントローラが適切に対応することが望ましい。「適切に対
応」とは、以下のような対処を指す。
get all でエラーが返ったら、代わりに個別の get コマンドを順次送る
単発の get コマンドでエラーが返ったらデフォルト値が返ったものと見なす
setコマンドでエラーが返ったら、単に無視する
など