mcgs脚本驱动(9)

2019-09-02 13:40

北京昆仑通态自动化软件科技有限公司

length, 长整型,连续校验数据的个数

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

2.!SvrStrSum(str, Flag)

函数意义:

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

错误返回值:

-1:校验字符串长度为0

-2:校验的字符串长度必须为偶数

参 数:

str,字符型,需要校验数据

Flag,长整型,0:按2个字符形成1BYTE HEX值进行校验;

1:直接按ASCII字符值进行校验。

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

3.!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

4.!SvrStrXOR(str, Flag)

函数意义:

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

错误返回值:

-1:校验字符串长度为0

-2:校验的字符串长度必须为偶数

参 数:

str,字符型,需要校验数据

Flag,长整型,0:按2个字符形成1BYTE HEX值进行校验;

1:直接按ASCII字符值进行校验

- 41 -

北京昆仑通态自动化软件科技有限公司

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

5.!SvrStrModbusCRC(ByRef ByteArr, start, length)

函数意义: 从数组中start索引开始,连续length个字节,按异或方式计算返回校验结果 返 回 值:整型,返回正确的校验值/判断是输出是否正常:

>=0:校验结果;

小于0:错误,具体意义如下:

-1:启始索引start小于1 -2:启始索引start大于数组上限 -3:校验数组长度小于等于零 -4:字节数组长度不足 -5:其他错误

参 数:

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

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

实 例:n = ! SvrStrModbusLRC (ByteArr,1,4) ByteArr为:010300000008则n = 0x0c44

6.!SvrStrModbusLRC(str, start, length)

函数意义:

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

错误返回值:

-1:启始索引start小于1 -2:启始索引start大于数组上限 -3:校验数组长度小于等于零 -4:字节数组长度不足

参 数:

str,字符型,需要校验数据

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

实 例:strRe = !SvrStrModbusLRC (str,2,12) str为:“:010300000004”则strRe = “F8”

7.!OpenLog()

函数意义:启动日志功能,PC上自动在C盘根目录生成LOG文件,TPC上自动在HARDDISK盘根目录生成LOG文件。

返 回 值:开关型,0:成功 -1失败 参 数:无 实 例:!OpenLog()

8.!CloseLog()

函数意义:关闭日志功能

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

- 42 -

北京昆仑通态自动化软件科技有限公司

参 数:无 实 例:!CloseLog()

三. 字节数组操作函数

1.!HStr2HByre(str, arByte)

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

>=0:转换字节个数

小于0:错误,具体意义如下:

-1:没有定义数组arByte -2:arByte不是数组类型 -3:str 必须为偶数个 -4:转换错误

参 数:

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

实 例:!HStr2Hbyte(str,arByte), str = ”123456” 则转换后 arByte值分别为 0x31 0x32 0x33 0x34 0x35 0x36

2.!HByte2HStr(arByte, str)

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

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

正确:返回校验值 错误:返回空字符串

参 数:

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

实 例:!Hbyte2HStr(arByte,str), arByte值分别为 0x35 0x36 0x37 0x38 0x39 , 则转换后str = ”56789”

- 43 -

北京昆仑通态自动化软件科技有限公司 第五章 故障分析

一. 无法通讯

1. 检查串口父设备参数是否正确 2. 检查串口是否被其他程序占用 3. 检查通讯电缆是否正确连接

4. 检查设备,使用厂家测试程序确保通讯正常 5. 检查设备属性设置是否与实际设备属性一致 6. 适当延长“通讯等待时间” 7. 读取地址是否超出范围

二. 通讯有跳变

1. 检查父设备串口校验位是否正确 2. 适当延长“通讯等待时间” 3. 设备断电,重新上电,使初始化设备 4. 通讯电缆太长,做短距离测试 5. 现场干扰太大,避免周围环境干扰 6. 通讯信号变弱,使用有源RS232/485模块

7. 读取数据超出范围(添加某通道后,导致通讯状态变为非0)

三. 通讯正常,数据不正确

1. 新建工程测试驱动 2. 检测通道是否连接变量 3. 检测工程是否对数据进行处理

四. 检测驱动

出现上述错误都无法解决,则需要检测驱动是否正确。 1. 截获数据帧查看是否与协议相同 i. ii. iii. i. ii. i. ii. iii.

检查帧结构是否与命令一致

对于需要校验的协议,检查是否不参与校验的数据体参与了校验 对于不完全适用向导的协议,检查修改后的代码组帧是否正确 检查接收的数据长度是否正确 检查结束符是否正确

检查接收的数据长度是否与读写函数中的相同 检查结束符是否与读写函数中的相同 若自己额外添加校验函数,则检查是否正确

2. 检查读写串口函数是否正确

3. 检查校验部分是否正确

4. 检查数据解析部分是否正确

- 44 -


mcgs脚本驱动(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:兴趣是最好老师论文

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

马上注册会员

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