欢迎来到天天文库
浏览记录
ID:49501250
大小:183.50 KB
页数:10页
时间:2020-03-02
《北洋读写器通信协议v3 0(解释).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、BY读写器通信协议V3.20拟制:审核:批准:时间:年月曰威海北洋电气集团股份有限公司1查询消息结构帧数据格式如下表所示:帧头数据长度设备地址功能代码命令序号数据CRC校验1字节2字节2字节2字节1字节N字节2字节表2-1消息结构【注】:1、在后面的命令解释中功能代码和数据段将作为命令整体进行定义和说明。2、对于RS485组网方式连续的两条命令间间隔最少12个字节时间。1.1帧头帧头,表示一条消息的开始,没有实际的意义。本协议的帧头长度为1个字节,数值固定为OxIBo当有消息被接收到时,首先判断消息中的帧头,然后根据协议进行数据解析并进行消息合法性判断。1.2设
2、备地址设备地址为通信屮的从机地址,ID号取值范围为OxOOOrOxfffe,当为Oxffff时表示广播地址(所有读写器都对主机命令响应)使所有的设备都能识别。使用广播命令时需要注意采用网络的拓扑结构和具体硬件情况。1.3数据长度数据•长度为设备地址、功能代码、命令序号及数据的长度,不包含帧头和CRC校验,数据长度最大不应超过595个字节,整帧长度最大不应超过600个字节。1.4功能域功能字段由2个字节组成,第一个字节表示信息类型,第二个字节表示此类型设备的功能代码。信息类型的详细定义见下表2-2所示,而不同类型设备的具体功能代码将在后面各章中分别进行详细说明。信
3、息类型含义0x03读写器命令表2・2信息类型定义当消息从主设备发往从设备时,功能代码域将告知从设备需要执行哪些操作。例如:读取门禁控制器的门状态,对门禁控制器进行时间同步等操作。当从设备执行完主设备指定的行为后,返回消息时,功能域可以用来指示是正确回应,还是有错误发生的异常回应。当为正确回应时,信息类型字节的高半字节为数值8,当发生异常回应时,表示信息类型字节的高半字节为数值9。如:固件升级命令功能号为0x000x02贝IJ,正确应答是返回时为0x800x02;错误应答时为0x900x02。1.5命令序号表示命令发送的次数标志,发送一条新命令时此域数值增1。当在
4、预定的时间内未收到从机的应答时,则可认为接收异常,主机重新发送命令,此时序号数值不变,否则序号必须进行+1操作,如从机应答CRC错误,主机接收到后再次发送的命令序号需耍+1。当发送次数到达规定的重发次数后仍未接收到从机的应答时可以认为通信异常,主机可以进行相应的处理或显示。作为从机,回应主机查询命令时此域的数值应该与接收到的主机命令一致。注:主机序号从1开始,当255后序号继续累加时序号再从0开始,以此循环进行。当命令和ID号与上一次发送的指令相同时通道机将执行重发操作,即将上一次应答的数据作为本次应答数据。1.6数据域数据域将给出主机命令从机的具体对象或数据,
5、最大允许512字节。1.7错误检测域通信消息的错误检测使用CRC16进行数据校验。校验域从信息长度字段首字节开始,包括信息长度、读写器编号和信息部分(指功能代码、命令序号和数据3个域)。采用CRC.CCITT多项式xl6+xl2+x5+1二0x8408,初始值为0x00000以下例程为CRC校验的VC语言代码://功能:返回CRC16校验码//输入:pSrc-源字符串指针//nSrcLen-源字符串长度//输出:pDst-目标字符串指针//返回:校验位长度intGetCRC16(constBYTE*pSrc,BYTE*pDst,intnSrcLen){unsig
6、nedintcurrentValue二0x0000;//按位计算校验for(inti二0;i>1);}//校验位pDst[0]=(^currentValue»8)&OxOOFF;pDst[1]=^currentValue&OxOOFF;//返回
7、校验位长度return2;2应答消息结构应答消息结构与查询消息结构基本完全相同,见下表所示:帧头数据长度设备地址功能代码命令序号数据CRC校验1字节2字节2字节2字节1字节N字节2字节表3・1应答消息结构帧头域和命令序号域与查询消息完全相同,CRC校验域的计算也与查询消息相同,设置地址为本机地址。功能代码域的值,当为正确回应吋,功能代码段中的第一个字节即信息类型字节的高半字节为数值8,当发生异常回应时,表示信息类型字节的高半字节为数值9。3指令定义3.1系统命令指令列表如下所示:叩令功冃匕万含义数据长度数据0x000x00心跳0x000x000x01获得产品信息
8、0x00无0x000x0
此文档下载收益归作者所有