《MCGS脚本驱动开发工具使用指南手册》旨在为开发者提供详尽的操作指导和实用技巧,帮助其高效掌握并运用MCGS脚本驱动的各项功能。
### MCGS脚本驱动开发工具使用指导手册
#### 一、新脚本驱动介绍
在MCGS脚本驱动开发工具的使用指南中,详细介绍了版本2.0的相关特性和操作方法。下面将重点讲解脚本驱动的应用范围、适用设备以及新增的功能。
**1.1 脚本驱动应用范围**
- **MCGS嵌入式组态软件:** 版本号为6.5(01.0010)及以上的版本适用于新脚本驱动。
- **MCGS通用版的定制化组态软件**
- **MCGS网络版的定制化组态软件**
**1.2 脚本驱动适用设备**
- **独立板卡设备**
- **串口通信设备**
#### 二、脚本驱动兼容性
开发者在使用过程中需要特别注意的是,不同的组态软件版本可能对脚本驱动的支持程度不同。
- **旧版脚本驱动与新版组态软件的兼容:** 在大多数情况下,旧版的脚本驱动能够被新版本的组态软件所支持。
- **新版脚本驱动不适用于旧版组态软件:** 新版脚本驱动引入了一些新的特性或接口,导致无法在旧版的组态软件中使用。
#### 三、新增功能与函数
新版本脚本驱动不仅增加了多项实用功能,还提供了一系列的新函数以方便数据处理和协议解析。
**3.1 脚本驱动新增功能**
- **增加生成向导:** 此工具帮助用户快速创建常用的协议配置代码,提高开发效率。
**3.2 新增的脚本驱动函数**
**3.2.1 数据解析函数**
这些函数用于从字节数组或十六进制字符串中提取特定的数据类型:
- `!SvrGetByteFromByteArr(ByRefByteArr,start,ByRefn,Flag)`
- `!SvrGetShortFromByteArr(ByRefByteArr,start,ByRefn,Flag)`
- `!SvrGetIntFromByteArr(ByRefByteArr,start,ByRefn,Flag)`
- `!SvrGetSingleFromByteArr(ByRefByteArr,start,ByRefx,Flag)`
- `!SvrGetByteFromHexStr(str,ByRefn,Flag)`
- `!SvrGetShortFormHexStr(str,ByRefn,Flag)`
- `!SvrGetIntFromHexStr(str,ByRefn,Flag)`
- `!SvrGetSingleFromHexStr(str,ByRefx,Flag)`
**3.2.2 数据校验函数**
数据校验函数用于确保在传输过程中的准确性,包括计算校验和、异或校验等功能:
- `!SvrByteArraySum(ByRefByteArr,start,length)`
- `!SvrStrSum(str,Flag)`
- `!SvrByteArrayXOR(ByRefByteArr,start,length)`
- `!SvrStrXOR(str,Flag)`
- `!SvrStrModbusCRC(ByRefByteArr,start,length)`
- `!SvrStrModbusLRC(str,start,length)`
- `!OpenLog()`
- `!CloseLog()`
**3.2.3 字节数组操作函数**
这些函数主要涉及字节数组的转换操作,例如:
- `!HStr2HByre(str,arByte)`
- `!HByte2HStr(arByte,str)`
#### 四、基础概念讲解
本章节旨在介绍通讯协议的基础知识,帮助读者更好地理解如何选择和应用适合的通讯协议。
**4.1 通信协议**
- **ASCII码通信协议(字符型):** 此类协议采用ASCII编码方式解析数据,适用于需要清晰展示信息的情况。
- **HEX通信协议(字节数组类型):** 十六进制通信协议以字节数组的形式解析数据,适合高效传输大量数据的场景。
**4.2 ASCII码通信与HEX通信的区别**
- **传输效率:** ASCII码通信速度较慢但信息清晰;而HEX通信虽然不如ASCII直观,但是传输速度快。
- **字符占用空间:** 在ASCII编码中一个字需要占据四个字符的空间,而在十六进制格式下仅需两个字符。这意味着在相同的数据量下,HEX通讯所需的空间更小。
#### 五、向导使用说明
**5.1 完全适用的生成向导协议**
以ASCII码通信为例,通过具体示例展示如何利用脚本驱动的生成向导进行操作。
**5.1.1 ASCII码协议多条命令通信实例**
- **步骤一:分析通讯协议**
以下为模仿ADAM4018协议发送和接收命令的具体格式:
- 发送指令:`#xxr