python在modbus浮点数_python最小modbus写浮点字交换

我正在尝试使用最小modbus写入_float的PLC需要交换单词。在

我已经用Modbus轮询测试了硬件。

最小Modbus write_float也可以使用,但使用错误的语序。

我检查了文档解决方案中的read_float,它可以处理工作区。在"Workaround for floats with wrong byte order"

When I try to swap the words before the write_float

I get values that generate an error:

"raise TypeError('The {0} must be numerical.

Given: {1!r}'.format(description, inputvalue))

TypeError: The input value must be numerical.

Given: array([-9.8611155e+32], dtype=float32)"

尝试使用单个write_寄存器作弊也会产生负值错误:

^{pr2}$

例如:Decimal float value of 123.456

with plc1.write_float(28672, 123.456, 2)

我需要:Word register 28672 dec-5767 hex word(42 F6)

Word register 28673 dec17142 hex word(E9 79)

我得到:Word register 28672 dec 17142 hex word(E9 79)

Word register 28673 dec-5767 hex word(42 F6)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值