发表于:2019/11/19 18:50:14
#0楼
此贴内容来自<120例>1.4.4章节
同自定义功能块,需要手动添加,添加方法见 光分享 50
在现场应用中,会经常用到很多第三方仪表,比如电磁流量计等.而其数据的格式为单精度浮点数
而其通讯回传数据是十六进制数据,因此,在接收到仪表的回传数据之后需要将十六进制数据
转换为单精度浮点数的格式,在常规PLC指令中,是无法实现这个功能的,
以下是根据这个功能块进行编写的一个库文件,在现场使用时,可以直接进行调用.
输入:dwhex 十六进制数据;
输出:rsinglefloating:转换后的浮点数.
下面以国产某品牌电磁流量计为例,讲解如何使用此功能块.
如下:
例:读取流量计的测试值.
请求数据:01 04 30 01 00 03 EE CB
响应数据:01 04 30 01 00 03 00 12
55 30 15 05 03 12
14 CA 61 41
45 87 D6 47
02 00 C8 42
3D FC
响应数据分析:
55 30 15 05 03 12:读取的当前时间 2012年3月5日 15:30:55;
14 CA 61 41 (转换时需要从右向左开始,即41 61 CA 14):瞬时流量=13.1118354m3/h;
45 87 D6 47 (转换时需要从右向左开始,即47 D6 87 45):正累计流量=109838.5390625m3;
02 00 C8 42 (转换时需要从右向左开始,即42 C8 00 02):反向累计流量=100.0000152m3;
程序如下如
本例库文件
同自定义功能块,需要手动添加,添加方法见 光分享 50
在现场应用中,会经常用到很多第三方仪表,比如电磁流量计等.而其数据的格式为单精度浮点数
而其通讯回传数据是十六进制数据,因此,在接收到仪表的回传数据之后需要将十六进制数据
转换为单精度浮点数的格式,在常规PLC指令中,是无法实现这个功能的,
以下是根据这个功能块进行编写的一个库文件,在现场使用时,可以直接进行调用.
输入:dwhex 十六进制数据;
输出:rsinglefloating:转换后的浮点数.
下面以国产某品牌电磁流量计为例,讲解如何使用此功能块.
如下:
例:读取流量计的测试值.
请求数据:01 04 30 01 00 03 EE CB
响应数据:01 04 30 01 00 03 00 12
55 30 15 05 03 12
14 CA 61 41
45 87 D6 47
02 00 C8 42
3D FC
响应数据分析:
55 30 15 05 03 12:读取的当前时间 2012年3月5日 15:30:55;
14 CA 61 41 (转换时需要从右向左开始,即41 61 CA 14):瞬时流量=13.1118354m3/h;
45 87 D6 47 (转换时需要从右向左开始,即47 D6 87 45):正累计流量=109838.5390625m3;
02 00 C8 42 (转换时需要从右向左开始,即42 C8 00 02):反向累计流量=100.0000152m3;
程序如下如
本例库文件
附件:
[本地下载]水平一般,能力有限.如有错误之处.欢迎并感谢指出.我一定认真学习积极改正.请勿DISS.