一种基于RS232的通讯协议
文献发布时间:2023-06-19 10:54:12
技术领域
本发明涉及通信领域,特别涉及一种基于RS232的通讯协议。
背景技术
RS232是一种串行通讯的物理接口标准,是控制系统各模块之间进行数据交换的常用接口。
RS232标准仅对物理总线的电气特性和链路层协议做出约束规范,但控制系统各模块在基于RS232接口作数据通讯时,除了要遵守RS232链路层的协议,同时还必须遵守一定的应用层通讯协议。而应用层通讯协议的规范直接决定了总线的数据传输效率和数据交换的鲁棒性。
若应用层协议规范过于复杂,则数据传输效率会降低;若应用层协议规范过于简单,则数据交换的鲁棒性会变差。
发明内容
本发明目的是:提供一种基于RS232的通讯协议,实现一种灵活性好、数据传输效率高,同时鲁棒性能较好的应用层通讯协议规范,在该应用层通讯协议规范的基础上,可按实际需求扩充协议内容。
本发明的技术方案是:
一种基于RS232的通讯协议,包括链路层协议和应用层协议;
RS232链路层波特率设置为57600或115200,8个数据位,一个停止位,无奇偶校验位;
RS232应用层的通讯报文分为点对点报文和全局广播报文;所述点对点报文仅限目标地址匹配的终端接收,且接收后需应答;所述全局广播报文,任何终端均可接收,且接收后无需应答;
任一个网络终端发送点对点报文后,若50ms后仍无应答,需再次补发该报文,以此循环,直到接收到正确的应答信息;若连续发送50次,仍未收到应答则超时退出,并反馈通讯超时报警。
优选的,所述通讯报文包括起始帧1、起始帧2、命令字、源地址、数据域、优先级、校验和。
优选的,所述通讯报文的每一帧报文长度固定为14个字节,其中:
起始帧1:Byte0,始终为0xAA;
起始帧2:Byte1,始终为0x55;
命令字:Byte2,为目标终端执行的动作指令;
源地址:Byte3,为报文发送终端的ID;
数据域:Byte4~Byte11,为8字节的数据信息,多字节数据则低字节在前;
优先级:Byte12,默认为0x0C,为扩展报文优先级的功能做预留;
校验和:Byte13~Byte14,为Byte0~Byte12做求和运算后,取低八位。
优选的,任一个网络终端都有唯一的身份标识ID。
优选的,基于RS232的通讯协议,通过扩展协议内容,实现第一网络终端对第二网络终端的控制指令协议。
优选的,基于RS232的通讯协议,通过扩展协议内容,实现第二网络终端对第一网络终端控制指令的应答协议。
本发明的优点是:
1.本发明实现了一种灵活性好、数据传输效率高,同时鲁棒性能较好的应用层通讯协议规范,在该应用层通讯协议规范的基础上,可按实际需求扩充协议内容;
2.经过实际产品验证,本通讯协议规范具有极佳的通用性、稳定性。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为标准报文格式表;
图2为实施例中主机对电机控制器的启停控制指令协议表;
图3为实施例中电机控制器对主机启停控制指令的应答协议表。
具体实施方式
本发明的基于RS232的通讯协议,包括链路层协议和应用层协议,其中:
RS232链路层波特率设置为57600或115200,8个数据位,一个停止位,无奇偶校验位;
RS232应用层的通讯报文分为点对点报文和全局广播报文;所述点对点报文仅限目标地址匹配的终端接收,且接收后需应答;所述全局广播报文,任何终端均可接收,且接收后无需应答;任一个网络终端都有唯一的身份标识ID。
任一个网络终端发送点对点报文后,若50ms后仍无应答,需再次补发该报文,以此循环,直到接收到正确的应答信息;若连续发送50次,仍未收到应答则超时退出,并反馈通讯超时报警。
任何标准通讯报文包括起始帧1、起始帧2、命令字、源地址、数据域、优先级、校验和。如图1所示,所述通讯报文的每一帧报文长度固定为14个字节,其中:
起始帧1:Byte0,始终为0xAA;
起始帧2:Byte1,始终为0x55;
命令字:Byte2,为目标终端执行的动作指令;
源地址:Byte3,为报文发送终端的ID;
数据域:Byte4~Byte11,为8字节的数据信息,多字节数据则低字节在前;
优先级:Byte12,默认为0x0C,为扩展报文优先级的功能做预留;
校验和:Byte13~Byte14,为Byte0~Byte12做求和运算后,取低八位。
实施例1
在一个电机控制系统中,由主机和电机控制器组成。主机下发控制指令给电机控制器,电机控制器收到主机下发的控制指令后,执行相关的运动动作。其中:
(a)起始帧1:0xAA;
(b)起始帧2:0x55;
(c)命令字:0x03;
(a)主机的ID地址为:0x27。
(b)电机控制器的ID地址为:0xEF。
(c)如图2所示,基于RS232的通讯协议,通过扩展协议内容,实现主机对电机控制器的启停控制指令协议。
(d)如图3所示,基于RS232的通讯协议,通过扩展协议内容,实现电机控制器对主机启停控制指令的应答协议。
实施例2
在一种电子显微镜中,有多个RS232网络节点,比如主机PC、多轴电机控制器、照明LED驱动器等。当电子显微镜工作时,主机PC通过RS232下发控制指令,控制电机控制器进行多方向的位移动作,或者控制照明LED驱动器进行不同亮度、不同颜色的补光照明。
基于此通讯协议规范,根据电子显微镜的功能需求,可快速实现主机PC、多轴电机控制器、照明LED驱动器之间的控制协议,经过产品验证,遵守此通讯协议规范的控制协议,数据传输稳定,高效。同时,该控制协议迭代升级简单,具有极佳的可扩展性。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
- 一种基于RS232的通讯协议
- 一种基于RS232通讯协议的PLC上位机链接命令过滤方法及装置