通信マニュアルを読むと
今回使用するomoronの温調器(デジタル調節計)の通信マニュアルがomronのサイトからダウンロード出来ますので、まずそれを手に入れてください。そのマニュアルに通信仕様が掲載されてます。
マニュアルの内容をここに直接乗せたかったんですが、P3に「本書の内容の一部または全部を無断で転載、複製することは禁止されてます」って書いてありましたので、ページ数で以降表記していきます。(かったるいなぁ)
Manual.No(表紙左下に記載されている番号)は「SGTD-747B」で説明します。
以下、通信マニュアルのP●●を、MP●●みたいに記載します
文字が多くなります。すみません。以下マニュアルを片手にしながら読んでください。
通信マニュアルの解説
通信方式
- MP1-2
通信方式に、CompoWay/FとModbusの2種類あるみたいですが、CompoWay/Fがわかり易そうだったので、私が作成したプログラムではCompoWay/Fを選択しています。また同ページの通信仕様の表から可能な通信速度、誤り検出の形式が分かります。
- MP1-8
1-1-8通信設定項目
PSELどいう項目で通信プロトコルを選択できる。通信ユニットNoは初期設定で1(1台のみしか使用しないので初期のままとします)。
- MP2-2
ここにコマンドフレームが掲載されております。これは重要です。送る通信データがこのフォーマットに準拠する必要があります。
通信フレーム(テキスト)とマニュアルには書いてあるので文字列型が基本になります。
STX及びETXをByte型定数としてそれぞれ、&H2、&H3として定義して利用しております。
ノードNo、サブアドレス、SIDをString型の固定値としてそれぞれ、“00”, “00”、”0”として定義しております。(サブアドレスは仕様より”00”、SIDは仕様より必ず0)
さらに、BCC(ブロックチェックキャラクタ)に関する記載があり、この処理をプログラムで実現する必要があります。MP2-3にBCC計算例がありますのでこれを熟読してください。
- MP2-3
このページにレスポンスフレームの記載があります。通信が成功した場合、このフレームで返ってきますので、ここから欲しい情報を取り出す処理が必要になります。コマンドテキストに知りたい情報があるので、レスポンスフレームの8バイト目から読み出して、ETXの1バイト手前まで読み出します。
- MP2-6
ここに、レスポンスフレーム内のコマンドテキストの部分について詳細が記載されています。このMRC,SRCがポイントです。