我想知道有没有人能帮我解决这件事。
我试着用LUA读取设备(modbus)的变量,它可以工作。但是我正在读取交换过的变量,我知道我需要交换字节,但是如何交换呢?
举个例子,我的设备的真实价值是1000,而我的纸条是59395。
谢谢你们。
这是我的代码:
modbus_tcp = getfenv(0).modbus_tcp -- load the library
modbus_tcp.open(2,'10.50.80.10',502) -- Open the Modbus TCP connection
-- Read from ID 1, holding register 4101, two value:
result,values=modbus_tcp.hr_read(2, 1799,10)
val1=values[1]
val2=values[2]
val3=values[3]
val4=values[4]
val5=values[5]
val6=values[6]
val7=values[7]
val8=values[8]
val9=values[9]
print(val1)
print(val2)
print(val3)
print(val4)
print(val5)
print(val6)
print(val7)
print(val8)
print(val9)
print(">------<")
modbus_tcp.close() -- Close the Modbus TCP connection
发布于 2022-04-13 18:47:16
您可以使用以下函数:
function SwapValues(v)
return (v-(math.modf(v/2^8)*2^8))*2^8+math.modf(59395/2^8)
end
https://stackoverflow.com/questions/71855376
复制相似问题