-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 = \。