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 = \。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库昆仑通态脚本开发函数(7)在线全文阅读。
相关推荐: