0
レジスタにデータを書き込むためにModbusスレーブを作成しました。 スレーブ側からfloat値と整数値の両方を書き込むことができます。MODBUS-tkマスタのスレーブから浮動小数点値を読み込みます。
modbusマスターでは、整数値のみにアクセスできますが、浮動小数点値は読み取れません。
私はこのhttps://github.com/ljean/modbus-tk/issues/72を通過しましたが、それは私の問題を解決しませんでした。
整数値の読み取りについては、私は以下のコードを使用して値を読み取ることができます。
master = modbus_tcp.TcpMaster()
master.set_timeout(time_out_period)
result = master.execute(slave = 100, function_code = 3 , starting_address = 0, quantity_of_x = 25)
浮動小数点値については、上記のコードと以下のコードの両方を使用しました。
master = modbus_tcp.TcpMaster()
master.set_timeout(time_out_period)
result = master.execute(slave = 100, function_code = 3 , starting_address = 0, quantity_of_x = 25 , data_format='>f')
フロートを読みながら
アンパックは、xの量がフロートため2の倍数でなければならない長さ4
書き込みしようとしている浮動小数点値は何ですか? – Sanju