版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、态kunluntongtai北京昆仑通态自动化软件科技有限公司脚本驱动V2.0使用指导手册版本号:0.1-i -态kunluntongtai北京昆仑通态自动化软件科技有限公司目 录错误!未找到图形项目表。-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司第一章新脚本驱动说明脚本驱动适用范围1. 脚本驱动适用的版本A. MCGS嵌入式组态软件;版本号:6.5(01.0010)注:此版本以上为新版本,以下为旧版本B. MCGS通用版的定制版组态软件C. MCGS网络版的定制版组态软件2. 脚本驱动适用的设备A. 独立板卡设备B. 串口通信设备3. 脚本驱动适用的协议脚本驱动兼容
2、性1. 旧版本脚本驱动兼容新版本组态软件2. 新版本脚本驱动不兼容旧版本的组态软件,旧版本组态软件无法识别新版本脚本驱 动脚本驱动新增内容1. 脚本驱动新增功能新增加生成向导功能,具体参照第三章内容。2. 脚本驱动新增函数(1) 数据解析函数1. !SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)2. !SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)3. !SvrGetlntFromByteArr(ByRef ByteArr, start, ByRef n
3、, Flag)4. !SvrGetSingleFromByteArr(ByRef ByteArr, start, ByRef x, Flag)5. !SvrGetByteFromHexStr(str, ByRef n, Flag)6. !SvrGetShortFormHexStr(str, ByRef n, Flag)7. !SvrGetlntFromHexStr(str, ByRef n, Flag)8. !SvrGetSingleFromHexStr(str, ByRef x, Flag)(2) 数据校验函数1. ! SvrByteArraySum(ByRef ByteArr, start
4、, length)2. !SvrStrSum(str, Flag)3. !SvrByteArrayXOR(ByRef ByteArr, start, length)4. !SvrStrXOR(str, Flag)5. !SvrStrModbusCRC(ByRef ByteArr, start, length)6. !SvrStrModbusLRC(str, start, length)7. !OpenLog()8. !CloseLog()(3) 字节数组操作函数1. !HStr2HByre(str, arByte)!HByte2HStr(arByte, str)-3 -态kunluntongt
5、ai北京昆仑通态自动化软件科技有限公司第二章基础概念讲解通讯协议1. ACSII码通讯协议(字符型协议)通讯信息按照ASCII码方式解析得到的参数信息称为 ASCII码通讯。比如:主站接收到从站发送的 4 个字符:0x31 0x34 0x2E 0x36,用 ASCII 码表示为 14.6。2. HEX通讯协议(字节数组协议)通讯信息按照十六进制方式解析得到的参数信息称为十六进制通讯。比如:主站接收到从站发送的 4 个字符:0x31 0x34 0x2E 0x36, 用 HEX 表示为 0x31342E363. ASCII码通讯与HEX通讯的区别1)ASCII码通讯传送的字符能清楚的了解发送命令和
6、接收信息,但是传送的信息速度量少;十六进制通讯发送的字符信息速度量大,但是发送命令和接收信息不明了。2)ASCII码的通讯帧1个字占4个字符,而HEX的通讯帧1个字占2个字符。女口:发送0x1427信息,ASCII码发送4个字符:0x31 0x34 0x32 0x37,而HEX只需要发送2个字符:0x14 0x27。-5 -态kunluntongtai北京昆仑通态自动化软件科技有限公司第三章向导使用说明一.完全适用向导的协议1. ASCII码协议,多条命令通讯示例1.1步骤1:协议分析通讯命令1:模仿ADAM40佃协议,协议格式如下:发送命令:#xxr帧头:长1个字符,固定为#地址:固定长2个
7、字符帧尾:长1个字符,为回车接收命令:#+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xx+xxx.xxr帧头:长1个字符,固定为#数据体:共8个数据体,每个数据体固定长7个字符,按ASCII码方式解析帧尾:长1个字符,为回车模拟数据:发送命令1: #01r接收命令 1: #+11.111+22.222+33.333+44.444+55.555+66.666+77.777+88.888r通讯命令2:自己定义,解析数据非等长通讯协议,分两种情况:数据长度已知;数据长度未知。下面以数据长度未知,数据之间用分隔符分离的协议,协议格式如下:发送命令:#x
8、xxxxxr帧头:长1个字符,固定为#,参与校验地址:固定长2个字符,参与校验校验:长2个字符,累加和校验结束符号:长1个字符,固定为回车接收命令:#xxAA,BBB,CCCC,DDDDD,EEEE,FFF,GG ,HHHHxxr帧头:长1个字符,固定为#数据体:8个数据体,以“,”分隔校验:长2个字符,累加和校验结束符号:长1个字符,固定为回车模拟数据:发送命令:#0184r接收命令:#11,222,3333,44444,5555,666,77,8888E3r-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司1.2步骤2:新建工程进入向导新建工程后进入新建工程模式,如图
9、3-1-1-1所示图 3-1-1-1-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司设置脚本驱动的 名称和注释内容一 一丿1. 选择“使用向导新建工程”,则进入向导界面,如图3-1-1-2所示。2. 选择“不使用向导新建工程”,流程和原来一样,直接生成示例脚本。图 3-1-1-2了整个脚本配' 置分为4个 步骤,前一 个步骤不执 行,不允执 行下个步骤1.3步骤3:配置驱动属性图 3-1-1-31. 添加属性,添加除“设备地址”和“通讯延时”以外的属性,当所添加属性的数据类型选择枚举型 时,属性
10、范围处填写枚举量,并用“;”隔开,如图3-1-1-4所示。2. 删除属性,对多余的属性进行删除,其中“设备地址”和“通讯延时”为默认属性,不允许删除。3. 设置属性,修改设置已添加的属性。图 3-1-1-4-9 -态kunluntongtai北京昆仑通态自动化软件科技有限公司1.4步骤4:配置通道a®通道名称通道类型丨通道注释n通讯狀态''AI01 r7AI02 7 AI033±I04 r'AI05r AI06rAI0T r'AIOE "'CHL_NE1000 "CHL.NEWOOl 'CHL_NEW002
11、 r:CHL_MEW003,;CHL_HEW0040CHL_NEVFOO5 "'CHL_NE1I006 fcCHL_HEW007开关型数値型勤值型勤值型数值型數值型数值型数值型勤值型勤H型数值型数值型數值型数値型勤值型数值型数荫型通讯狀态注释 浮点通道 浮点通道 浮点通道 浮点通道 浮点通道 浮点通道 浮点通道 浮点通道 新翟立通道新建立通道 新建立通道 新建立通道 新逢立通道 新建立通道 新建宣通道 新建立通道添加通适刪除通道谕置通道取消完成图 3-1-1-51. 添加通道,可进行批量添加操作。2. 删除通道,对多余的通道进行删除,可批量删除(按住 Ctrl键,选择要删除的
12、通道,点击“删除通 道”按钮即可),其中“通讯状态”为默认通道,不允许删除。设置通道,修改设置已添加的通道,设置通道中不能修改通道个数。-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司-11 -态kunluntongtai北京昆仑通态自动化软件科技有限公司1.5步骤5:配置通讯帧图 3-1-1-65.1添加收发通讯帧根据协议分析知,2组通讯帧结构信息配置分别如图3-1-1-7,图3-1-1-8所示。图 3-1-1-7-# -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司图 3-1-1-8-# -屋£邇态kunluntongtal北
13、京昆仑通态自动化软件科技有限公司-13 -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司5.2设置收发通讯帧图 3-1-1-9-# -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司对于ASCII码通讯帧的数据体设置主要有以下几种情况:1.无特别属性,数据内容为可见ASCII字符,如图图3-1-1-10所示。-# -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司-# -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司图 3-1-1-10厂数据类型:数据长度:数据属性:数据
14、内容:ASCII字符数据1字符当此数据体参与校验时,需要选择。-# -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司-15 -屋£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司2.无特别属性,数据内容为不可见ASCII字符,如图图3-1-1-11所示。图 3-1-1-11厂数据类型: 数据长度:数据内容:数据属性:注释:提供ASCII表,可以方便的直接 选择不可见的ASCII字符3.数值不确定的数据体,配置“设备属性”中的某个属性获得其值,如图图厂数据类型:图 3-1-1-12字节数据HEX格式1字节,用2个字符表示0D,注意一定以
15、HEX格式 填写,无空格无对于相同的数据体,设置 好一个后,其他可选择默 认设置,设置与前一个相 同的参数3-1-1-12 所示。ASCII字符数据数据长度:数据内容:2字符设备属性中的设备地址数据属性:-# -eifi 态kunluntongtai北京昆仑通态自动化软件科技有限公司4.数据解析图 3-1-1-131)可知长度的解析,如图3-1-1-13所示。数据类型:数据长度:数据内容:ASCII字符数据7字符解析数据中的ASCII数据属性:码数据可知长度2)未知长度的解析,如图3-1-1-14所示。图 3-1-1-14数据类型:ASCII字符数据数据长度:1字符,此处数据长度为“解析数据间
16、分隔符号”的长度数据内容:无数据属性:解析数据中的 ASCII码数据未知长度,解析数据间分隔ns-17 -©罷t縣北京昆仑通态自动化软件科技有限公司-19 -©罷t縣北京昆仑通态自动化软件科技有限公司5.校验,如果命令中的数据都是确定的,那么可以直接计算出校验值,如图3-1-1-15所示。图 3-1-1-15-# -©罷t縣北京昆仑通态自动化软件科技有限公司6.预览功能,命令信息设置完之后,可点击“命令预览”查看命令格式,如图3-1-1-16所示。-# -©罷t縣北京昆仑通态自动化软件科技有限公司-# -©罷t縣北京昆仑通态自动化软件科技有限公
17、司-发送命令1幀头数据数据底度;1数尿值津 数据厲性;无泰与校验;FALSE 地址数据粪型:ASCII数据长度:2数倨值:0】敷据JB性土无離与楼脸:FALSE 帧尾敷据埃埜HEK歎据他bl敷倨值5數据属性土无參与校劇FALSE -揍收命令Eln-# -©罷t縣北京昆仑通态自动化软件科技有限公司-# -©罷t縣北京昆仑通态自动化软件科技有限公司取消确认图 3-1-1-167.对于各属性同前一个的数据体,点击“默认设置”即可。-# -geifi 态kun I untongtai北京昆仑通态自动化软件科技有限公司1.6步骤6:配置预览在此预览通道和解析数据的匹配关系,并检查配置
18、是否正确,如果正确就可以,完成配置生成驱动, 否则不完成配置生成代码。通道解析配置預範口设备通道解析數据Ai通讯狀态通讯状态rlAioi接咬侖令1-数据000r'AI02接收命會1+数据体函1rjiioa接收命令1.数帼体皿2pL AI04接枚命令1”数据体03f'AIOB接收命令1.数据004pL AI06接收命令1”数据体加5"'AI07接收命令1-数据006r7AI08接枚命令1.数据体MT"CHL-WETOO接收侖令匕奴据体DDOr'CHL_WEW01接枚命令厶数据体Ml"CHL_ME2接收命令乙数据002r7CHL_nE3
19、接收命令比数据体孔了"CHL_ME4接收命令匕数据004rrCHL_HEW005接枚命令比数据体0丽V<i)ll确认取消图 3-1-1-17-# -©罷t縣北京昆仑通态自动化软件科技有限公司图 3-1-1-18发送命令帧并接 收数据,对接收数 据进行校验对接收的数据 进行解析,并 设置通道值1.7步骤7:完成配置,进行调试1.代码的生成与编译。3-1-1-18 所示。(1)配置都正确后,可以“完成配置”直接生成脚本代码,如图'第a帧枚发脚本str Tup 二 *00" + I I2Hex备地址)str Tup 二! right (strTmpj 2)
20、组建命令帧strSend = 甘 + strTmp +(Chr(ftHOD)丿'发送和接收数据按如下方式:nReturn = IDevWrit eAndReadStr (strSend strRec, 58,通讯延时) if nReturn < 58 thenI Set IntCharine 1ValueByName ("通讯狀态",2)esitendif'解析回收数据,并设置通道值nlndex = 0vrhile n Index < 8strTmp = ! mi d (at rRec, nlndex* +2J数宿数据二 IValCstrTp)开
21、关数据二数值数据! Set SingleChannelValueByNum (nlnd ex -hnCh 11 ndes+2,数值数据)nlndex = nlndex + 1endwhilenCh.1 Index 二 nChl Index + nlndex(2)编译生成的代码。选择“调试”“检查整个驱动”,若没有问题输岀窗口会提示“设备编辑检查通过”,如图3-1-1-19所示。愛出窗口正在磐译脚*函#;ExilDevice+“ S J± 设备编译楼査通过!图 3-1-1-192.配置“串口参数”。(1)创建虚拟串口,如图 3-1-1-20所示,串口 COM2和COM3虚拟串口图 3-
22、1-1-20(2)配置脚本驱动中的串口参数选择“设置”“串口父设备配置”,配置串口参数,如图3-1-1-21所示。串口号:渡持率:停止f立:校验方式;图 3-1-1-21(3)设置串口转发工具SmartCom.exe。首先,设置串口,如图3-1-1-22所示。除串口号外,其他需要与 脚本驱动中串口参数一致2.数据格式选择ASCII毓揑制选扌睪无谎控制金RTS/CTSj 控制xon/xoffE制數据格式(* ASCII C MEX图 3-1-1-22-# -©罷t縣北京昆仑通态自动化软件科技有限公司-23 -©罷t縣北京昆仑通态自动化软件科技有限公司其次,设置模拟设备,串口设
23、置完后,打开串口,选择“使能”,添加收发帧,如图3-1-1-23所示。搔收数据区串口设宣流控制选择无療控制rRTS/CTSii 控制r数据格式模拟设备17使能按收祯发垃送I图 3-1-1-23然后,将2组命令帧的模拟数据分别添加进去,选择启动,如图3-1-1-24所示。-# -©罷t縣北京昆仑通态自动化软件科技有限公司-# -©罷t縣北京昆仑通态自动化软件科技有限公司3.进行调试。在脚本驱动中,选择“调试”图 3-1-1-25“定时通道采集”进行调试,如图3-1-1-26所示。-# -©罷t縣北京昆仑通态自动化软件科技有限公司图 3-1-1-26-25 -态kun
24、luntongtai北京昆仑通态自动化软件科技有限公司2. HEX码协议,单条命令通讯示例2.1步骤1:协议分析通讯命令:模仿 ModbusRTU协议,协议格式如下:发送命令: 从4区寄存器地址0开始,连续读8个16位无符号二进制地址:长1BYTE,内容从属性“设备地址”中获得命令码:长1BYTE,固定为0x03起始地址:长 2BYTE,固定为0x0000连续元件个数:长 2BYTE,固定为0x0008校验:长2BYTE,CRC校验接收命令:地址:长1BYTE,内容不重要命令码长1BYTE,内容预计为0x03回收字节长度:长1BYTE,内容预计为0x10数据体00 :长 2BYTE,内容由回收
25、数据解析获得,解析方式为16位无符号二进制数据数据体01 :长 2BYTE,内容由回收数据解析获得,解析方式为16位无符号二进制数据数据体02 :长 2BYTE,内容由回收数据解析获得,解析方式为16位无符号二进制数据数据体03 :长 2BYTE,数据体03 :长 2BYTE,内容由回收数据解析获得,内容由回收数据解析获得,解析方式为解析方式为数据体05:长 2BYTE,内容由回收数据解析获得,解析方式为数据体06 :长 2BYTE ,内容由回收数据解析获得,解析方式为数据体07 :长 2BYTE ,内容由回收数据解析获得,解析方式为16位无符号二进制数据16位无符号二进制数据16位无符号二进
26、制数据16位无符号二进制数据16位无符号二进制数据-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司校验:长2BYTE,内容不重要-27 -geifi 态kun I untongtai北京昆仑通态自动化软件科技有限公司2.2步骤2:新建工程进入向导新建工程后进入新建工程模式,如图3-1-2-1所示。图 3-1-2-11. 选择“使用向导新建工程”,则进入向导界面,如图图 3-1-2-2所示。2. 选择“不使用向导新建工程,流程和原来一样,直接生成示例脚本。图 3-1-2-2-# -屋£邇态kun
27、luntongtal北京昆仑通态自动化软件科技有限公司2.3步骤3:配置驱动属性图 3-1-2-31. 添加属性,添加除“设备地址”和“通讯延时”以外的属性,当所添加属性的数据类型选择枚 举型时,属性范围处填写枚举量,并用“;”隔开,如图3-1-2-4所示。2. 删除属性,对多余的属性进行删除,其中“设备地址”和“通讯延时”为默认属性,不允许删 除。3. 设置属性,修改设置已添加的属性。图 3-1-2-42.4步骤4:配置通道图 3-1-2-51. 添加通道,可进行批量添加。2. 删除通道,对多余通道进行删除,可批量删除,其中“通讯状态”为默认通道,不允许删除设置通道,修改设置已添加的通道,设
28、置通道中不能修改通道个数。-29 -昌£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司-31 -昌£邇态kunluntongtal北京昆仑通态自动化软件科技有限公司2.5步骤5:配置通讯帧图 3-1-2-65.1添加收发通讯帧根据协议分析知,通讯帧结构信息配置分别如图3-1-2-7所示。图 3-1-2-7-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司5.2设置收发通讯帧-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司-# -态kunlunto
29、ngtal北京昆仑通态自动化软件科技有限公司-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司HEX格式)1.无特别属性,如图3-1-2-9所示。图 3-1-2-9图 3-1-2-8对于HEX格式命令帧的数据体设置主要有以下几种情况:(注释:对于HEX格式的命令帧,其各帧数据体的数据类型均为字节数据-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司-# -态kunluntongtal北京昆仑通态自动化软件科技有限公司3-1-2-10 所示。2.数值不确定的数据体,配置“设备属性”中的某个属性获得其值,如图-# -屋EiS态kunluntongtal北京昆
30、仑通态自动化软件科技有限公司图 3-1-2-103-1-2-11 所示。3.解析属性数据,数据内容为不需要填写,由回收数据解析获得,如图-33 -屋EiS态kunluntongtal北京昆仑通态自动化软件科技有限公司-# -屋EiS态kunluntongtal北京昆仑通态自动化软件科技有限公司3-1-2-12 所示。图 3-1-2-11校验,如果命令中的数据都是确定的,那么可以直接计算岀校验值,如图-# -罷t縣北京昆仑通态自动化软件科技有限公司-# -罷t縣北京昆仑通态自动化软件科技有限公司图 3-1-2-125.预览功能,命令信息设置完之后,可点击“命令预览”查看命令格式,如图3-1-2-
31、13 所示。图 3-1-2-13-# -北京昆仑通态自动化软件科技有限公司2.6步骤6:配置预览在此预览通道和解析数据的匹配关系,并检查配置是否正确,如果正确就可以,完成配置生成驱动, 否则不完成配置生成代码。图 3-1-2-14-35 -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司2.7步骤7:完成配置1. 代码的生成与编译。(1) 配置都正确后,可以“完成配置”直接生成脚本代码,如图3-1-2-15所示。第0帧收发脚本! Ar rayKesize (SendByt eArS)SendEyt eArr 1=设备地址、SendByteArr2 = H03Sen
32、dBjtaArr3 = &HD0组建命令帧发送命令帧并接 收数据,对接收数 据进行校验SendEyteArr4=妝EDOSendEyt eArr 5 = feHOOSendEyteArr6 = HOEnReturn = ISvrByteArrayModbusCRC(SendByteArr, lj 5)SendByteArrE? = IB it And(nRet urn, iHO 0DO0 OFF)nlmp = ?BitAnd(nReturn, 4HCOOOFFQD)iSendByteArr E = <BitRShift (nTmp ,8)J'爲送和接收数据按如下方式:、!
33、Arr ayResize(RecByt eArr, 21)'nRetum = IDevVfrit aAndReadByt eArr (SendByt eArr c, RecByt EArr, 21,通讯延时) if nKeturn <> 21 then! Sei SrngleCliannelValueByNajiue ("吗讯妆态"f 2)sxitendifnlndeK IA对接收的数据 进行解析,并 设置通道值! ArrayResize (Dat aByt eArrj 2)while nlndes 成 8DataByt eArr1 = RecByt e
34、Arrnlndex *2+_DartaByt eArr 2 = RecByt eArr nlndez*+41nReturn = ! SvrGet ShortFromEyteAr r (DataByteAr r, 1,开关數据,) 数值数据二开关数据! Set S ins 1 eChanne lalueByNum (nlndex+rtChl Index+數值数据) nlridex = rilnde + .endwhilenChlIndex = nChlIndex + nlndes' 置通讯标志,解析都正确! Set Sing 1 eChanns 1 ValueByNane ("
35、通讯状态",0)图 3-1-2-15(2 )编译生成的代码。选择“调试”“检查整个驱动”,若没有问题输岀窗口会提示“设备编辑检查通过”,如图3-1-2-16所示。筍1;窗口正在輪译脾本函K:ExhDevice+“通过 设备编译楼査通过!決输出窗口冒班査看图 3-1-2-162. 配置“串口参数”。(1)创建虚拟串口,如图 3-1-2-17所示,串口 COM2和COM3虚拟串口-37 -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司图 3-1-2-17-# -屋
36、3;邇态kunluntongtai北京昆仑通态自动化软件科技有限公司配置脚本驱动中的串口参数-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司3-1-2-18 所示。选择“设置”“串口父设备配置”,配置串口参数,如图-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司图 3-1-2-18(2) 设置 Modbus串口转发工具 mbslave.exeConnect”进行设置,如图 3-1-2-19所示。打开 mbslave.exe,选择“ C
37、onnection ”-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司图 3-1-2-19-39 -态'Sfes? kunluntongtal北京昆仑通态自动化软件科技有限公司A. 选择“ Setup”“Slave Definition "进行设置,如图 3-1-2-20 所示图 3-1-2-20B. 选择“ Connection”“Quick connect”运行,并设置各地址数据。3. 进行调试。在脚本驱动中,选择“调试”“定时通道采集”进行调试,如
38、图 3-1-2-22所示。图 3-1-2-22-# -态kunluntongtai北京昆仑通态自动化软件科技有限公司二. 不完全适用向导1. 步骤1:协议分析设备命令:模仿三菱 Q系列串口协议,协议格式如下:发送命令:从D寄存器地址0开始,连续读8个16位无符号二进制帧头:长1个字符,固定为 ENQ即0x05帧识别号:长2个字符,固定为FB本地站号:长2个字符,内容从设备属性中获得上位站号(即设备地址):长2个字符,内容从设备属性中获得命令码:长1个字符,固定为2寄存器地址:长2个字符,固定为D*起始地址:长6个字符,固定为000000软元件个数:长4个字符,固定为0008累加和校验:长2个字
39、符,通过自动计算获得接收命令:帧头:长1个字符,内容不重要帧识别号:长2个字符,内容不重要本地站号:长2个字符,内容不重要上位站号:长2个字符,内容不重要数据体0007 :长4个字符,内容由回收数据解析获得,解析方式为16位无符号二进制数据帧尾:长1个字符,内容不重要校验:长2个字符,内容不重要分析:由协议格式所知,脚本驱动向导无法生成此协议格式,但是此协议可以由脚本驱动实现,因此,我们 先通过脚本驱动向导生成框架,然后在生成的代码中修改即可。-41 -©罷t縣北京昆仑通态自动化软件科技有限公司2. 步骤2:根据向导生成模板向导使用步骤在此不在介绍,主要说明需注意的几部分:1.配置属
40、性由协议知,本地站号也需要通过设备属性获得,因此设备属性添加“本地站号”,如图3-2-1所示图 3-2-12.配置通讯帧A.配置通讯帧结构信息,如图3-2-2所示图 3-2-2-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司B.设置收发通讯帧,如图3-2-3所示-舄送命窖帧头救棍娄3!:HEK 删8世蟲11S:05践据属性:无参与按验:FALSE地址黛据卖型ASCII歎据枪匿:2歎据值:设备地址數惟屁性:悅备尽性馥与校卷:IEUE 盘务 魏据粪型:盘口 魏据长度:】魏据但诅 歎轄属性:无酸与検验:TRUE皴据000 他牖尖型:ASCII魏据长虞:2鞍齬信册
41、 败据厲'性:无奉与松验:TRUE】 数据体皿I 數需荚型:曲CII鼓据枫度洱僉拒佰:000000 SfttEJS性:无参与校翳:?RUE 釵据frD02 數祝荚型海口 I致据圧度:!皱据fiiOOOa劇民届性:无歩与校验:TEUE-標牧命督ifcll致据他黴据属性:橙瞪方穴酸与校脸:丁刖E敷据ftDOD软齬体JIH效据002蝕据低皿3釵据休D(M数据体E5歎据006魏据007【數据戋担;貼口 I救据夷型:舫口 T敷据荚型:ASCII歎据案型油丸口 型:ASCII數需夷型:ASCII Sftiei ASCII 敷据类型沌孔II 數据尖型曲丸育 数需夷型:ASCII致据长度沁 歎据长度沁
42、 魏轄长度起 竝据梅厦川 数据怅度:! 埶据怅度山 颠帰怅度沁数诉1B:mk 聂据IE:灯汕 数据值: 数剧S: st据 ta: 魏据值: 致据佰! 釵据值:歟帰俏: 鼓据頂;做摇庙性:无 寺与犊勁TRUE Sti&S'S:无参与校轅:TJilJE動据厲性:解析方或屢与校慫:TRUE 歎据屈性:堺析方式魁与校验:1血 魏裾馬性:堺析方式蚕与搐验:TRUE 鼓拒鹿性;解折方式 蚕与校验;帝兀 曲据屈性:解桁方或参与校验:TRUE 数据屈性:解極方战参与礎:IEUE 歎据脾性:堺析方武零与校绘:了应 蝕据鹿性;解析方武寺与校验;TRUE确认帧屋救据夷3!:HEK強(8忙淒畀
43、1;61815:03魏据属性:无参与梭骚:HUJEE越E蹈溜图 3-2-3注释:-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司1. 由于“本地站号”用向导无法生成,因此需要在代码中修改;帧识别号是固定值,可在向导中添加(合在帧头中),也可在代码中修改。2. 由于接收命令只需要各部分的数据长度,因此:帧头为帧头+帧识别号;地址为本地站号+设备地址3. 步骤3:修改向导生成的代码1.根据向导生成的代码如下所示。'第。帧牧发脚本st rTiftp =+ I I2Hex
44、 (设备地址)strTmp = !right(strTmp, 2)strSend = IChrtoO5) + st rTap + "2* + *000000* + *0008*st rTmp = !mid(str3endj 2, 15)st rTmp = ! Sur St r Sum Cst rTnipj 1)strSend = strSend + st rTinpstrSend - strSend'发送和接收数据按如下方式:nKet urn 二! DevVr it eAndReadSt r (st rSendj strRec, 4 ;通讯延时) 辻 nReturn <
45、 42 then15 et Int Channe lValueByNauie ("通讯状态2)ex丄丈endif'解析回收数据,并设置通道倩nlndex = 0while nlndex < 8st rTmp = ! jai d (st rRe c, nlndex *4+8,4)nReturn = I SvrGet ShortFrSt r (st rTmpj 开关数据,0)数值数据二开关數据! SetS lng 1 eChanne 1 ValueByNwn (nlndex+nChl IndBx+2,数值数据) nlndex 二 nlndex +endurhilenChlI
46、ndex = mChllndew + nlndex1 Set Int Channel Vai ueByName通讯状态0),修改完代码如下所2.根据步骤2所知,组帧部分代码需要修改,添加“本地站号”和“帧识别号”示。J第。帧枚发脚本str Tup = r 00" + !I2Hex (设备地址) str Imp = ! riffht (strTmp, 2)rTmpl = ' D0f' + I I2Hex 地站号 rfLtTjitpl = ! right (strTnp, 2)忝加“帧识别号"和“本地站号”茯取2字符的本地站号strSend = IChr(ftH
47、iJ?)十:上+ fftrTmpl+ strTmp + "2" + 5" + wOOOODDfr + *0008"-# -屋£邇态kunluntongtai北京昆仑通态自动化软件科技有限公司strTmp = !inid(strSend 2., 19)1,作用:桢头不参与校验'去掉帧头么命令帧中粛加了 '噸识别号和策本地站号” 卑了4个宇符,因此长度加4,即15+4=19strTmp = ISvfStrSm(strTmpj I) st rSend = si: rSend + st rTmp strSend = rSend-# -态
48、kunluntongtai北京昆仑通态自动化软件科技有限公司4.步骤4:进行调试调试过程与ASCII码协议的调试相同,此处不再介绍-45 -态kunluntongtai北京昆仑通态自动化软件科技有限公司第四章新增函数使用说明一. 数据解析函数1. !SvrGetByteFromByteArr(ByRef ByteArr, start, ByRef n, Flag)函数意义:将字节数组ByteArr中从start位置开始的内容输岀到变量 n中,输岀格式为1个字节整数, 字节数组位置计数从1开始。返回值:整型,判断输岀是否正常。0 :正常小于0 :错误,具体意义如下:-1 :起始索引start小于
49、1;-2:起始索引start大于数组上限;-3:字节数组长度不足;-4: n不是整型变量;-5:其他错误。参数:ByteArr :传址型,字节型数组。start:整型,输出的首位置,从1开始。n:传址型,长整型。Flag :长整型,解析方式0 : 8位无符号;1 : 8位有符号;2 : 8位BCD码。实 例:!SvrGetByteFromByteArr(BA, 2, A, 1),字节数组为:00 01 02 03 04 05 06 07 08 09 00,则 A=1。2. !SvrGetShortFromByteArr(ByRef ByteArr, start, ByRef n, Flag)函
50、数意义:将字节数组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码。实 例:!SvrGetByteFromByteArr (BA, 2, A, 1),字节数组为:00 01 02 03 04 05 06 07 08 09 00 00,则A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度牛奶质量安全追溯体系建设合同4篇
- 2025年度农产品质量追溯体系建设合同3篇
- 2025版新能源项目民工权益保障合同4篇
- 港口小学2025版炊事员劳动合同续签及更新协议3篇
- 2025年度农用车租赁与农业技术研发合作合同4篇
- 2025年度智能门窗安装与售后服务合同4篇
- 2025年度扩大劳务合同范本:核能产业劳务输出协议3篇
- 2025年度心理咨询与治疗个人劳务合同书2篇
- 南昌市二零二五年度租赁合同范本:公寓租赁规范版2篇
- 2025版企业年会场地租赁合同范本8篇
- 《企业人力资源管理师考试用书考试通过必备一级》
- 2023年高考英语考前必练-非谓语动词(含近三年真题及解析)
- 风电工程需要编写的专项施工方案及危大工程目录
- 商业计划书(BP)财务计划风险控制资本退出与附录的撰写秘籍
- 全国职工拔河比赛执行方案
- 冶金厂、轧钢厂工艺流程图
- 七年级下册《Reading 1 A brave young man》优质课教案牛津译林版-七年级英语教案
- 中国人婚恋状况调查报告公布
- 《木兰诗》第1第2课时示范公开课教学PPT课件【统编人教版七年级语文下册】
- GB/T 11144-2007润滑液极压性能测定法梯姆肯法
- 国家开发银行
评论
0/150
提交评论