我需要构建一个读取工业 modbus 数据的基于 NodeJS 服务器的原型。
我正在读取两个连续的 16 位十进制寄存器,它们为我提供了一个包含两个条目的数组:
// eg transaction = [ 17007, -2621 ]
或// eg transaction = [ 17007, 0000 ]
该值应转换为电频率,大约 = ~60.00 (hz)(如果我给出的数据是正确的,至少应该如此)
我知道我需要组合数组中的两个寄存器值并将数据转换为 32 位浮点数 .. 但如何:
a)如何组合它们而不将它们转换为它们不是的东西
b)如何将它们转换为 32 位浮点数
我想我需要使用某种类型的parseInt()
然后toString(10)
- 一个建议是使用将每个转换为十六进制parseInt(num, 10).toString(16)
,然后将连接的十六进制转换为字符串或可能使用浮点数,parseFloat()
但再次如何首先连接两个单独的部分。
令人惊讶的是,我还没有找到解决方案。