0

GE-PQM II エネルギー メーターからデータを読み取ろうとしています。エネルギー メーターは、2 線 RS-485 MODBUS 接続によるリアルタイム監視をサポートします。c で libmodbus ライブラリを使用して、modbus レジスタを読み取ります。

GE コミュニケーション ガイド ( https://www.ccontrols.com/support/dp/GEK-113532.pdf ) では、レジスタのアドレスは 16 進数で示されています。16 進数を 10 進数に変換しました。

Modbus レジスタ (02F0,02F1) から値を読み取ろうとしています - 対応する 10 進数値は 752,753 です

GE-PQM サンプル

私のコード:

rc = modbus_read_registers(ctx, 752, 753, clock);

出力:

ERROR Too many registers requested (753 > 125)
Too many data

16進変換で何か問題がありますか? または他のどこか?

4

1 に答える 1

0

このlibmodbusを使用する場合は、関数呼び出しで

int modbus_read_registers(modbus_t *ctx, int addr, int nb , uint16_t *dest);
パラメーターnbは読み取り用のレジスターの番号であり、753 ではなく 2 でなければなりません。 – imbearr

于 2016-07-21T09:42:22.373 に答える