通信機能の活用
计器は485通信の形態をし、ボーレートは1200、2400bps、4800bps、9600bpsにできる。
同じ通信ラインは、最大32台の機器を同時に接続することができ、各機器は通信アドレスを設定することができ、通信接続は、銅メッシュシールドツイストペアを使用する必要があります0.5 mm 2以上のワイヤ直径。配線は、強い電気ケーブルまたはその他の強い電界環境から通信ラインを遠ざける必要があり、最大伝送距離は1200メートルであり、典型的なネットワーク接続方法は、ユーザーは特定の状況に応じて他の適切な接続方法を選択することができます。

DL/T 645-2007プロトコルをModBus-RTU通信プロトコルに切り替えるデータフレームは以下のとおりです。
FE FE FE FE 68 xx xx xx xx xx xx 68 14 0E 33 33 35 3D 35 33 33 33 33 33 33 33 33 33CS16
注意:xx xx xx xx xx xxは画面のアドレスで、番号が21 02 25 02 15 21なら21 15 02 25 02 21と記入し、入力するのは計器側のバーコード番号の逆書きです。

CSは68xx xx ~ 33 33 33のチェックサムの下位2桁で、最初の4つのFEを除く。
変更後、modbusアドレス、ボーレート、データビット、検証ビット、停止ビットがメーター画面に表示されます。
デフォルトのDL/T645接続パラメータは(8 n 2、2400bps)で、上記のコマンドを送信し、メーター画面を観察し、“DLT645”が“Modbus”になったときにハンドオーバー成功し、“Modbus”の後の画面の数字を観察します。この数字はメーターのmodbusスレーブアドレスで、10進数で表示されます。modbusのデフォルトボーレートは9600です。
メーターがModBus-RTU伝送モードに設定されている場合、ModBus-RTU通信プロトコルは1本の通信線上でマスター/スレーブ応答モードの通信接続モードを採用します。まず、ホストコンピュータからの信号が一意のアドレスを持つ端末装置(スレーブ)にアドレス指定され、端末装置からの応答信号が逆方向、すなわち半二重動作モードでホストに送信される。このプロトコルは、ホスト(PC、PLCなど)と端末デバイス間の通信のみを許可し、独立した端末デバイス間のデータ交換は許可しないため、各端末デバイスは初期化時に通信回線を占有せず、ローカルに到達するクエリ信号に応答することに限定されます。
メーターはModBus − RTU通信プロトコル(付録A参照)を提供し、以下の表に示すように、読み取り又は変更可能なパラメータ情報を通信する。
| パラメータアドレス | パラメータコード | パラメータの説明#パラメータノサクセイ# | データ型 | データ長Word | 読取りおよび書込みプロパティ |
| 0000H | UcodE | コードコードコードコード | int | 1 | R |
| 0001H | REV. | ソフトウェアのバージョン | int | 1 | R/W |
| 0002H | CLrE | 電力クリアCLr.E | int | 1 | R/W |
| 0003H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 0004H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 0005H | ChangeProtocol | プロトコル切り替え設定 | int | 1 | R/W |
| 0006H | Addr | このアドレスはModbus-ののみ有効です | int | 1 | R/W |
| 0007H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 0008H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 0009H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 000AH | RESERVED | 予約済み予約 | int | 1 | R/W |
| 000BH | RESERVED | 予約済み予約 | int | 1 | R/W |
| 000CH | BAud | ボーレート | int | 1 | R/W |
| 000DH | RESERVED | 予約済み予約 | int | 1 | R/W |
| 000EH | RESERVED | 予約済み予約 | int | 1 | R/W |
| 000FH | RESERVED | 予約済み予約 | int | 1 | R/W |
| 0010H | RESERVED | 予約済み予約 | int | 1 | R/W |
| 2000H | U | A 相の電圧 | float | 2 | R/W |
| 2002H | I | A 相の電流 | float | 2 | R/W |
| 2004H | P | 瞬時総有効電力 | float | 2 | R/W |
| 2006H | Q | 瞬時総無効電力 | float | 2 | R/W |
| 2008H | S | 瞬時にパワーアップ。 | float | 2 | R/W |
| 200AH | PF | 総仕事力率 | float | 2 | R/W |
| 200CH | RESERVED | 予約済み予約 | float | 2 | R/W |
| 200EH | Freq | 電力網の周波数 | float | 2 | R/W |
| 2010H | RESERVED | 予約済み予約 | float | 2 | R/W |
| 4000H | Ep | 有効電力の合計 | float | 2 | R/W |
ChangeProtocolプロトコル切り替えモードワード、データ2はModbus-プロトコル、データ1のDL/T 645-2007プロトコル;
CLr.Eパワークリア書き込み1の合計電力をクリアします。
Baudボーレート 0 ~ 1200bps、1 ~ 2400bps、2 ~ 4800bps、3 ~ 9600bps、
コミュニケーションの例
コード03H:リードレジスタ
ホストはスレーブアドレスが01H、スタートレジスタアドレスが0CHの2つのレジスタデータを読み取るため、ホストは以下を送信する。
| アドレスコードアドレス | 関数コードの特徴 | 開始レジスタアドレス | レジスタの数 | CRCチェックコード |
| 01 | 03 | 00 0C | 00 02 | 04 08 |
スレーブレジスタ0CH、0DHのデータが0000H、1388Hである場合、スレーブは次のように返します。
| アドレスコードアドレス | 関数コードの特徴 | Bytesの数 | レジスタ0CHデータ | レジスタ0DHデータ | CRCチェックコード |
| 01 | 03 | 04 | 00 00 | 13 88 | F7 65 |
関数コード10H:書き込みマルチプレクスレジスタ
例:ホストはデータ0002H、1388H、000AHをスレーブアドレスが01H、スタートレジスタアドレスが00Hの3つのレジスタに保存しようとする。
ホストからの送信:
| アドレスコードアドレス | 関数コードの特徴 | 開始レジスタアドレス | レジスタの数 | 書き込みバイト数 | 00Hレジスタ書き込み待ちデータ | 0 1 Hレジスタ書き込み待ちデータ | 0 2 Hレジスタ書き込み待ちデータ | CRCチェックコード |
| 01 | 10 | 00 00 | 00 03 | 06 | 00 02 | 13 88 | 00 0A | 9B E9 |
飛行機からの帰還:
| アドレスコードアドレス | 関数コードの特徴 | 開始レジスタアドレス | レジスタの数 | CRCチェックコード |
| 01 | 10 | 00 00 | 00 03 | 80 08 |
16ビットCRCチェックコード
ホストまたはスレーブで利用可能なチェックコードは、受信情報が正しいかどうかを判断します。電子ノイズやその他の干渉により情報が伝達される。
送信プロセス中にエラーが発生する可能性があり、チェックコードはホストまたはスレーブの通信情報が間違っているかどうかを確認できます。
16ビットCRCチェックコードはホストによって計算され、送信情報フレームの末尾に設定されます。スレーブ機は、受信したメッセージのCRCを再計算し、計算したCRCと受信したCRCとが一致するかどうかを比較し、一致しなければ、エラーを示す。CRC計算には8つのデータビットのみが使用され、開始ビットと停止ビットはCRC計算に関与しません。
CRCチェックコードの計算方法は次のとおりです。
1)16ビットのレジスタを16進FFFF(すなわち、すべて1)としてプリセットし、このレジスタをCRCレジスタと呼びます。
2)最初の8ビットバイナリデータ(通信情報フレームの1バイト目)を16ビットCRCレジスタの下位8ビットと異なるORにし、結果をCRCレジスタに格納します。
3)CRCレジスタの内容を1ビット右(下位)にシフトし、最上位ビットを0で埋め、右シフト後のシフトをチェックします。
4)移動位置が0の場合:ステップ3を繰り返します(右に1ビット移動します)。
シフトビットが1の場合:CRCレジスタは多項式A 001(1010 0000 0000 00 00 00 01)と排他的になります。
5)ステップ3)と4)を8回右シフトするまで繰り返し、8ビットのデータ全体が処理されます。
6)ステップ2)からステップ5)を繰り返し,通信情報フレームの次のバイトの処理を行う;
7)通信情報フレームのすべてのバイト(CRCチェックコードを除く)が上記の手順に従って計算された後、結果として得られるCRCレジスタの内容は16ビットCRCチェックコードとなります。
エラー処理
メーターがCRCチェックコードエラー以外のエラーを検出した場合、情報をホストに返送し、機能コードの最高位置は1です。つまり、ホストから送信された機能コードに128を加えたものです。スレーブから返されるエラーメッセージのフレームの形式は次のとおりです。
| アドレスコードアドレス | 機能コード(最大値は1) | エラー·コード | CRCチェックコード |
| 1バイト目 | 1バイト目 | 1バイト目 | 2バイト。 |
エラーコードは以下の通り。
| 01H | 違法な機能コード | 受信したファンクションコードメーターがサポートされていません |
| 02H | 不正なレジスタアドレス | 受信したレジスタアドレスが、メーターのレジスタアドレス範囲を超えています。 |
| 03H | 違法なデータ値 | 受信したデータ値が対応するアドレスのデータ範囲を超えている |
Modbus技術交流QQグループ

发表回复