概述
前段时间有个项目,要读取流量计的总流量,走的MODBUS RTU通讯,200PLC,流量计是厂家指定好的。因为MODBUS做的多了,心想没什么难度,且仪表还没采购,就先把程序做好了。等仪表到了之后傻眼了,总流量是DOUBLE型的浮点数,PLC只支持32位呀。于是网上各种找,也找到了一些资料,同是也看到了很多网友也有这方面的问题,于是自已写了一段程序(用300写的,方便模拟)。
32位浮点数和64位浮点数的结构,如下图:
程序:
FUNCTION "LREAL2REAL_XXD" : REAL
TITLE =
VERSION : 0.1
VAR_INPUT
IN : ARRAY [1 .. 2 ] OF DWORD ;
END_VAR
VAR_TEMP
E : DWORD ;
MT : REAL ;
S : DWORD ;
TEMP0 : DWORD ;
MM : DWORD ;
TEMP1 : DWORD ;
M1 : REAL ;
TEMP_1 : REAL ;
M2 : REAL ;
REAL1 : REAL ;
REAL2 : REAL ;
REAL3 : REAL ;
M_REAL : REAL ;
END_VAR
BEGIN
NETWORK
TITLE =
L 0;
T #M1;
NETWORK
最后
以上就是专一爆米花为你收集整理的matlab 读取 串口 64位浮点型,【分享】关于MODBUS DOUBLE型数据读取问题(64位浮点数)...的全部内容,希望文章能够帮你解决matlab 读取 串口 64位浮点型,【分享】关于MODBUS DOUBLE型数据读取问题(64位浮点数)...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复