首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卢阿-拜特斯

卢阿-拜特斯
EN

Stack Overflow用户
提问于 2022-04-13 09:48:20
回答 1查看 99关注 0票数 0

我想知道有没有人能帮我解决这件事。

我试着用LUA读取设备(modbus)的变量,它可以工作。但是我正在读取交换过的变量,我知道我需要交换字节,但是如何交换呢?

举个例子,我的设备的真实价值是1000,而我的纸条是59395。

谢谢你们。

这是我的代码:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

发布于 2022-04-13 18:47:16

您可以使用以下函数:

代码语言:javascript
运行
复制
function SwapValues(v)
     return (v-(math.modf(v/2^8)*2^8))*2^8+math.modf(59395/2^8)
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71855376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档