昆仑通态脚本开发函数(7)

2019-03-15 16:27

0: 正常; 小于0: 错误,具体意义如下: -1:解析字符长度不足,至少长度为8字符 -2:解析字符长度一定为偶数个 -3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是整形 -5:其他错误

参 数:str,字符数据。 n,传址型,长整型;

Flag, 长整型,解析方式[0:32位无符号;1:32位有符号;2:32位BCD码] 实 例:! SvrGetIntFromHexStr (str,n,0),str为:“00000201030405060708” 则n = 513。

!SvrGetSingleFromHexStr(str, ByRef x, Flag)

函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为4字节数值型,从头取8个字符转换成4个字节单精度浮点值 返 回 值:整型,判断是输出是否正常: 0: 正常; 小于0: 错误,具体意义如下: -1:解析字符长度不足,至少长度为8字符 -2:解析字符长度一定为偶数个 -3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是浮点型变量 -5:其他错误

参 数:str,字符数据。 x,传址型,数值型;

Flag, 长整型,对应4种解码次序[数值范围:0~3]。 实 例:! SvrGetSingleFromHexStr (str,x,3),str为:“000080400102030405060708” 则x = 4.0。

!SvrByteArraySum(ByRef ByteArr,start, length)

函数意义: 从数组中start索引开始,连续length个字节,按求和方式计算返回校验结果 返 回 值:整型,返回正确的校验值/判断是输出是否正常: >=0: 校验结果; 小于0: 错误,具体意义如下: -1:启始索引start小于1 -2:启始索引start大于数组上限 -3:校验数组长度小于等于零 -4:字节数组长度不足 -5:其他错误

参 数:ByteArr,传址型,字节型数组。 start,长整型,检验数据的启始字节在数组中 length, 长整型,连续校验数据的个数

实 例:n = !SvrByteArraySum(ByteArr,1,4) ByteArr为:00 01 02 03 04 05 06 07 则n = 0x06。

!SvrStrSum(str,Flag)

函数意义:对字符串str按求和方式计算返回校验结果

返 回 值:字符型,返回正确的校验值/判断是输出是否正常: 错误返回值: ”-1”校验字符串长度为0 ”-2”校验的字符串长度必须为偶数 参 数:str,字符型,需要校验数据 Flag,长整型,0:按2个字符形成1BYTE HEX值进行校验;1:直接按ASCII字符值进行校验

实 例:strRe = !SvrStrSum(str,0), str为:\则strRe = “1C”。。

!SvrByteArrayXOR( ByRef ByteArr,start, length)

函数意义: 从数组中start索引开始,连续length个字节,按异或方式计算返回校验结果 返 回 值:整型,返回正确的校验值/判断是输出是否正常: >=0: 校验结果; 小于0: 错误,具体意义如下: -1:启始索引start小于1 -2:启始索引start大于数组上限 -3:校验数组长度小于等于零 -4:字节数组长度不足 -5:其他错误

参 数:ByteArr,传址型,字节型数组。 start,长整型,检验数据的启始字节在数组中 length, 长整型,连续校验数据的个数

实 例:n = !SvrByteArraySum(ByteArr,1,4) ByteArr为:00 01 02 03 04 05 06 07则n = 0。

!SvrStrXOR(str,Flag)

函数意义:对字符串str按异或方式计算返回校验结果

返 回 值:字符型,返回正确的校验值/判断是输出是否正常: 错误返回值: ”-1”校验字符串长度为0 ”-2”校验的字符串长度必须为偶数 参 数:str,字符型,需要校验数据 Flag,长整型,0:按2个字符形成1BYTE HEX值进行校验;1:直接按ASCII字符值进行校验

实 例:strRe = !SvrStrSum(str,0) str为:“0001020304050607”则strRe = “00”。

!SvrByteArrayModbusCRC(ByteArr,start, length)

函数意义: 从数组中start索引开始,连续length个字节,按ModbusCRC方式计算返回校验结果

返 回 值:整型,返回正确的校验值/判断是输出是否正常: >=0: 校验结果; 小于0: 错误,具体意义如下: -1:启始索引start小于1 -2:启始索引start大于数组上限

-3:校验数组长度小于等于零 -4:字节数组长度不足

参 数:ByteArr,传址型,字节型数组。

start,长整型,检验数据的启始字节在数组中 length, 长整型,连续校验数据的个数

实 例:nReturn = !SvrByteArrayModbusCRC(ByteArr,1,6) //ByteArr为:01 03 00 00 00 08 ByteArr[7] = !BitAnd(nReturn,&H000000FF) // nRetrun = 0xC44, ByteArr[7] = 0x44 nTmp = !BitAnd(nReturn,&H0000FF00)

ByteArr[8] = !BitRShift(nTmp ,8) //ByteArr[8] = 0x0C

!SvrStrModbusLRC(str,start, length)

函数意义: 对字符串str中start索引开始,连续length个字节,按LRC方式计算返回校验结果

返 回 值:字符型,返回正确的校验值/判断是输出是否正常: 错误返回值: “-1”:校验数组长度小于等于零 “-2”:启始索引start小于1 “-3”:启始索引start大于数组上限 “-4”:字节数组长度不足, 或者所校验的位数为奇数个 参 数:str,字符型,需要校验数据 start,长整型,检验数据的启始字节在数组中 length, 长整型,连续校验数据的个数 实 例:strRe = !SvrStrModbusLRC (str,1,12) str为:str为:\,则strRe = “F8”。

!SvrOpenLog()

函数意义: 启动日志功能,PC上自动在C盘根目录生成LOG文件,TPC上自动在HARDDISK盘根目录生成LOG文件。 返 回 值: 开关型,0:成功 -1失败 参 数: 无

实 例: !SvrOpenLog()。

!SvrCloseLog()

函数意义:关闭日志功能

返 回 值: 开关型,0:成功 -1失败 参 数: 无

实 例: !SvrCloseLog()。

!HStr2HByte(str, arByte)

函数意义: 将字符串转为字符数组 返 回 值:>=0: 转换字节个数 小于0: 错误,具体意义如下: -1:没有定义数组arByte -2:arByte不是数组类型 -3:str 必须为偶数个

-4:转换错误

参 数:str,字符型,需要校验数据 arByte,经过转换后的字节数组

实 例:!HStr2Hbyte(str,arByte), str = \则转换后 arByte值分别为 0x31 0x32。

!Hbyte2HStr(arByte,str)

函数意义: 将字符串转为字符数组

返 回 值:字符型,返回正确的校验值/判断是输出是否正常: 正确:返回校验值 错误:返回空字符串

参 数:str,字符型,需要校验数据 arByte,经过转换后的字节数组 实 例:!Hbyte2HStr(arByte,str), arByte值分别为 0x35 0x36 0x37 0x38 0x39 , 则转换后str = \。


昆仑通态脚本开发函数(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土木工程施工_习题集(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: