mcgs脚本驱动(8)

2019-09-02 13:40

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

4. 步骤4:进行调试

调试过程与ASCII码协议的调试相同,此处不再介绍。

- 36 -

北京昆仑通态自动化软件科技有限公司 第四章 新增函数使用说明

一. 数据解析函数

1.!SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量n中,输出格式为1个字节整数,字节数组位置计数从1开始。

返 回 值:整型,判断输出是否正常。

实 A=1。

数:

ByteArr:传址型,字节型数组。 start:整型,输出的首位置,从1开始。 n:传址型,长整型。

Flag:长整型,解析方式[0:8位无符号;1:8位有符号;2:8位BCD码]。 0:正常

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

-1:起始索引start小于1; -2:起始索引start大于数组上限; -3:字节数组长度不足; -4:n不是整型变量; -5:其他错误。

例: !SvrGetByteFromByteArr(BA, 2, A, 1),字节数组为:00 01 02 03 04 05 06 07 08 09 00,则

2.!SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量n中,输出的格式为2字节整型,字节数组位置计数从1开始。

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:启始索引start小于1; -2:启始索引start大于数组上限; -3:字节数组长度不足; -4:n 不是整型变量; -5:其他错误。

数:

ByteArr:传址型,字节型数组。 start:整型,输出的首位置,从1开始。 n:传址型,长整型。

Flag:长整型,解析方式[0:16位无符号;1:16位有符号;2:16位BCD码]。

实 A=513。

- 37 -

例:!SvrGetByteFromByteArr (BA, 2, A, 1),字节数组为:00 01 02 03 04 05 06 07 08 09 00 00,则

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

3.!SvrGetIntFromByteArr(ByRef ByteArr, start, ByRef n, Flag)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量n中,输出的格式为4字节整型,字节数组位置计数从1开始。

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:启始索引start小于1; -2:启始索引start大于数组上限; -3:字节数组长度不足; -4:n 不是整型变量; -5:其他错误。

参 数:

ByteArr:传址型,字节型数组。 start:整型,输出的首位置,从1开始。 n:传址型,长整型。

Flag:长整型,解析方式[0:32位无符号;1:32位有符号;2:32位BCD码]。

实 例:!SvrGetByteFromByteArr (BA, 2, A, 1),字节数组为:00 01 02 03 04 05 06 07 08 09 00 00,则A=513。

4.!SvrGetSingleFromByteArr(ByRef ByteArr, start, ByRef x, Flag)

函数意义:将字节数组ByteArr中从start位置开始的内容输出到变量x中,输出的格式为4字节数值型,字节数组位置计数从1开始。

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:启始索引start小于1; -2:启始索引start大于数组上限; -3:字节数组长度不足; -4:n 不是浮点型变量; -5:其他错误。

参 数:

ByteArr:传址型,字节型数组。 start:整型,输出的首位置,从1开始。 n:传址型,长整型。

Flag:长整型,对应4种解码次序[0:“”;1:“”;2:“”;3:“”]。

实 例:!SvrGetByteFromByteArr (BA, 1, x, 3),字节数组为:00 00 08 40 04 05 06 07 08 09 00 00,则A=4.0

5.!SvrGetByteFromHexStr(str, ByRef n, Flag)

函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为1字节数值型,从头取

- 38 -

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

2个字符转换成一个字节HEX值

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:解析字符长度不足,至少长度为2字符 -2:解析字符长度一定为偶数个

-3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是整形 -5:其他错误

参 数:

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

Flag, 长整型,解析方式[0:8位无符号;1:8位有符号;2:8位BCD码]

实 例:! SvrGetByteFromHexStr (str,n,0),str为:“0102030405060708” 则n = 1

6.!SvrGetShortFormHexStr(str, ByRef n, Flag)

函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为2字节数值型,从头取4个字符转换成2个字节短整型值

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:解析字符长度不足,至少长度为2字符 -2:解析字符长度一定为偶数个

-3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是整形 -5:其他错误

参 数:

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

Flag, 长整型,解析方式[0:16位无符号;1:16位有符号;2:16位BCD码]

实 例:!SvrGetShortFromHexStr (str,n,0),str为:“0102030405060708” 则n = 513

7.!SvrGetIntFromHexStr(str, ByRef n, Flag)

函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为4字节数值型,从头取8个字符转换成4个字节整型值

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:解析字符长度不足,至少长度为2字符 -2:解析字符长度一定为偶数个

- 39 -

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

-3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是整形 -5:其他错误

参 数:

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

Flag, 长整型,解析方式[0:32位无符号;1:32位有符号;2:32位BCD码]

实 例:! SvrGetIntFromHexStr (str,n,0),str为:“10200000030405060708” 则n = 513

8.!SvrGetSingleFromHexStr(str, ByRef x, Flag)

函数意义:获得将HEX表示的字符数据的内容输出到变量x中,输出的格式为4字节数值型,从头取8个字符转换成4个字节单精度浮点值

返 回 值:整型,判断是输出是否正常:

0:正常;

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

-1:解析字符长度不足,至少长度为2字符 -2:解析字符长度一定为偶数个

-3:解析字符长度大于2个,只取左边2字符解析 -4:变量类型,不是浮点型变量 -5:其他错误

参 数:

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

Flag, 长整型,对应4种解码次序[0:“”;1:“”;2:“”;3:“”]

实 例:! SvrGetSingleFromHexStr (str,x,3),str为:“000008400102030405060708” 则x = 4.0

二. 数据校验函数

1.!SvrByteArraySum(ByRef ByteArr, start, length)

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

>=0:校验结果;

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

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

参 数:

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

start,长整型,检验数据的启始字节在数组中

- 40 -


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

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

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

马上注册会员

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