js实现modbus_JavaScript将4字节的数组转换为modbusTCP读取的浮点值

I'am trying to convert a array of 4 bytes to a float value. Here is the thing:

I get an answer from my request via ModbusTCP, this looks something like this:

{ "data": [ 16610, 40202 ], "buffer": { "type": "Buffer", "data": [ 64, 226, 157, 10 ] } }

This string is converted into a json-object, parsed and accessed with

var ModbusArray = JSON.parse(msg.payload);

var dataArray = ModbusArray.buffer.data;

(the msg.payload comes from node red)

Until here it works find. The Array represents a floating value. In this case it should be a value of around 7.0.

So, here is my Question: how can I get a float from this dataArray?

解决方案

You could adapt the excellent answer of T.J. Crowder and use DataView#setUint8 for the given bytes.

var data = [64, 226, 157, 10];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Modbus是一种通信协议,常用于工业自动化领域,用于设备之间的数据通信和控制。而Modbus TCP是基于TCP/IP网络的Modbus协议。 Python是一种功能强大的编程语言,提供了许多库和工具来简化开发过程。其中,modbus_tk是Python中的一个库,用于实现Modbus TCP通信。 使用modbus_tk库实现Modbus TCP可以通过以下步骤进行: 1. 安装modbus_tk库:使用pip命令在Python环境中安装modbus_tk库。例如:pip install modbus_tk 2. 导入modbus_tk库:在Python代码中导入所需的modbus_tk库。例如:import modbus_tk 3. 创建Modbus Master对象:使用modbus_tk库提供的函数,创建一个Modbus Master对象,用于与Modbus TCP设备进行通信。 4. 连接到Modbus TCP设备:使用Modbus Master对象的connect()函数,指定Modbus TCP设备的IP地址和端口号,与设备建立连接。 5. 读取或写入数据:使用Modbus Master对象的read_coils()、read_discrete_inputs()、read_holding_registers()、read_input_registers()等函数,可以读取Modbus TCP设备的不同类型的寄存器或线圈中的数据,也可以使用write_single_coil()、write_single_register()等函数写入数据到设备。 6. 关闭连接:使用Modbus Master对象的close()函数,关闭与设备的连接。 通过以上步骤,在Python中使用modbus_tk库可以实现Modbus TCP通信。需要根据具体的需求和设备的寄存器结构,使用适当的函数进行读写操作,以完成数据的通信和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值