乐于分享
好东西不私藏

昆仑技创Mcgspro组态软件_16进制转浮点数

昆仑技创Mcgspro组态软件_16进制转浮点数
上一篇我们介绍了浮点数如何转化成16进制字符串,与之对应的就是16进制字符串如何转化为浮点数。本篇就介绍一下如何把16进制字符串还原成浮点数。要求:提供的字符串必须合法【8位】,下面就来介绍一下如何实现。还是先上函数说明

一  函数介绍

1 函数名称:!SvrGetSingleFromHexStr(str,x,Flag),具体说明如下:

!SvrGetSingleFromHexStr(str,x,Flag)函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为4字节浮点数,从头取8个字符转换成4个字节单精度浮点值参    数: str,字符串,16进制字符串x,浮点数,输出变量Flag,整数,对应4种解码次序,数值范围:0~3[0:1234,1:2143,2:3412,3:4321]返 回 值: 整数,判断是输出是否正常:0:正常<0:错误-1:解析字符长度不足,至少长度为8字符-2:解析字符长度一定为偶数个-3:解析字符长度大于8个,只取左边8字符解析实    例: !SvrGetSingleFromHexStr (str,x,3),str为:“430004400102030405060708” 则x = 128.0

二  使用方法

1 在实时数据库创建如下变量

浮点数2   浮点数类型strHex2   字符串类型flag     整数

添加2个标签,2个输入框

第一个输入框关联浮点数变量【strHex2】,第二个输入框关联【浮点数12】用来显示转化结果,如下图:

3 添加一个按钮,用来执行转化脚本:

按钮上右键--脚本程序,脚本如下:

Flag=0!SvrGetSingleFromHexStr(strHex2,浮点数2,Flag)

三  最终效果

结合上一篇的功能,正好测试一下,浮点数和16进制字符串互转结果是否一致,上图是模拟运行实测效果。

赶紧打开组态软件测试一下吧!