一种从站自适应两种通信协议的通信方法技术

技术编号:14949859 阅读:69 留言:0更新日期:2017-04-02 02:30
本发明专利技术公开了一种从站自适应两种通信协议的通信方法,包括以下步骤:步骤1:串口初始化;包括初始化串口的数据位配置和通信的波特率;步骤2:同步主站通信波特率;步骤3:自动识别通信模式并处理串口数据;检验接收到的串口报文数据的前两个字节,如果前两个字节是OXFF和OXFF,则判定当前通信使用的是PROFIBUS-DP通信协议,调用PROFIBUS-DP处理模块对接收到数据报文进行处理;否则就调用MODBUS-RTU处理模块对接收到数据报文进行处理;该从站自适应两种通信协议的通信方法易于实施,能自动适配2种通信协议进行通信。

【技术实现步骤摘要】

本专利技术涉及一种从站自适应两种通信协议的通信方法
技术介绍
PROFIBUS现场总线是世界上应用最广泛的现场总线技术,PROFIBUS既适合于自动化系统与现场信号单元的通讯,也可用于可以直接连接带有接口的变送器、执行器、传动装置和其它现场仪表及设备,对现场信号进行采集和监控,并且用一对双绞线替代了传统的大量的传输电缆,大量节省了电缆的费用,也相应节省了施工调试以及系统投运后的维护时间和费用。根据统计,使用PROFIBUS可以使工程总造价降低20~40%。支持PROFIBUS的自控厂商已多达250家,产品2000多种,应用项目20万个,安装的节点达250多万个,设备总价值50亿美元。PROFIBUS产品的年增长率达25%,是增长最快的现场总线技术。1989年成立了用户组织,现已有650多个企业成员。Modbus现场总线是世界上应用最广泛的现场总线技术,modbus既适合于自动化系统与现场信号单元的通讯,也可用于可以直接连接带有接口的变送器、执行器、传动装置和其它现场仪表及设备,对现场信号进行采集和监控,并且用一对双绞线替代了传统的大量的传输电缆,大量节省了电缆的费用,也相应节省了施工调试以及系统投运后的维护时间和费用。Modbus以协议开放性,功能强大使用灵活著称。根据统计,使用modbus可以使工程总造价降低20~40%。目前国内智能仪表及智能传感器有50%以上的通讯接口采用modbus协议接口。可以说,PROFIBUS及modbus协议是世界上应用最广泛,产品覆盖面最广的两种现场总线协议。目前在工业控制及其他领域中的主站设备及从站设备都只一种通信协议(PROFIBUS-DP或MODBUS-RTU)。一条总线上主站是PROFIBUS-DP或MODBUS-RTU协议,所有的从站设备必须要适应主站的通信协议(PROFIBUS-DP或MODBUS-RTU),如果从站不能适应主站的通信协议。就要多铺设一条总线把所有与主站设备通信协议不匹配的从站设备连接到这条总线上,再通过协议转换器,把其转换成与主站相适应的协议。这样增加了设备成本及施工成本,增加了一个中间环节也使得系统的稳定性降低。因此,有必要设计一种从站自适应两种通信协议的通信方法。
技术实现思路
本专利技术所要解决的技术问题是提供一种从站自适应两种通信协议的通信方法,该从站自适应两种通信协议的通信方法易于实施,能自动适配2种通信协议进行通信。专利技术的技术解决方案如下:一种从站自适应两种通信协议的通信方法,两种通信协议是指PROFIBUS-DP通信协议和MODBUS-RTU通信协议,包括以下步骤:步骤1:串口初始化;包括初始化串口的数据位配置和通信的波特率;步骤2:同步主站通信波特率;使用当前波特率接收串口报文并对接收的串口报文进行偶校验,若连续出现N次校验错误,则依次轮询波特率表中的波特率重新设置串口的波特率来接收数据报文,N为大于2的整数;直到能通过偶校验,则完成从站与主站的波特率匹配,按照匹配后的波特率接收串口报文,进入步骤3;步骤3:自动识别通信模式并处理串口数据;检验接收到的串口报文数据的前两个字节,如果前两个字节是0XFF和0XFF,则判定当前通信使用的是PROFIBUS-DP通信协议,调用PROFIBUS-DP处理模块对接收到数据报文进行处理;否则就调用MODBUS-RTU处理模块对接收到数据报文进行处理;波特率表:序号通信波特率协议19600PROFIBUS-DP与MODBUS-RTU219200PROFIBUS-DP与MODBUS-RTU338400MODBUS-RTU445.45kPROFIBUS-DP593.75kPROFIBUS-DP6115200MODBUS-RTU7187.5kPROFIBUS-DP与MODBUS-RTU83MPROFIBUS-DP96MPROFIBUS-DP1012MPROFIBUS-DP波特率表如上表所示。步骤1中,将串口初始化为:1bit起始位、8bit数据位、1bit偶校验位、1bit停止位,以波特率表中序号为1的波特率作为当前的通信波特率。PROFIBUS-DP处理模块的处理过程为:根据PROFIBUS-DP协议数据采用累加和的方式检验接收到的数据报文是否正确【累加和的方式检验是一种校验方式,所有接收到的数据相或处理,再与校验码进行比较,相等校验通过,否则校验不正确】,再检验报文是不是以0x16(0X16表示16进制的16)结尾【即结尾字节是否等于0X16】,若正确再依据接收到的数据报文中的功能码按PROFIBUS-DP协议做出相应的处理后返回回送信息,回送信息通过串口传输给主站;若不正确,则不做任何处理。主站发送报文格式如下:MODBUS-RTU处理模块的处理过程为:根据MODBUS-RTU协议数据采用CRC循环的方式检验接收到的数据报文是否正确【CRC为常用校验方式,将接收到数据进行CRC循环校验计算,再与报文中的CRC码(两个字节)进行比较,若相等,则表示校验正确,否则表明接收到的数据错误。】若正确再根据接收到的数据报文中的功能码根据其协议做出相应的处理后返回回送信息,回送信息通过串口传输给主站,若不正确,则不做任何处理。N=5。PROFIBUS-DP与MODBUS-RTU使用了同样的物理层协议(RS-485);通信方式都是主从方式,通过主站来轮询每个从站,并都采用一问一答与广播机制。这两种通信协议物理层相同、通信机制雷同及通信接口都是串口,只是数据报文校验方式、报文格式及通信波特率不同。本专利技术的特点在于:1、同步主站通信波特率:将两种协议通信波特率建立在一张通信波特率表中,根据通信波特率表中的波特率来设置串口通信波特率并接收报文数据,依据PROFIBUS-DP与MODBUS-RTU的报文校验方式来检验接收到数据是否正确,不正确根据波特率表选择下一个波特率,这样依次轮询使用波特率表中的波特率来接收数据报文,直至接收到正确的数据报文,这个波特率设置成当前的通信波特率。使用当前通信波特率连续接收到3个错误数据报文时,重复上述过程来与主站重新匹配通信波特率。2、区分两种协议:依据两种协议的报文格式及校验本文档来自技高网
...

【技术保护点】
一种从站自适应两种通信协议的通信方法,两种通信协议是指PROFIBUS‑DP通信协议和MODBUS‑RTU通信协议,其特征在于,包括以下步骤:步骤1:串口初始化;包括初始化串口的数据位配置和通信的波特率;步骤2:同步主站通信波特率;使用当前波特率接收串口报文并对接收的串口报文进行偶校验,若连续出现N次校验错误,则依次轮询波特率表中的波特率重新设置串口的波特率来接收数据报文,N为大于2的整数;直到能通过偶校验,则完成从站与主站的波特率匹配,按照匹配后的波特率接收串口报文,进入步骤3;步骤3:自动识别通信模式并处理串口数据;检验接收到的串口报文数据的前两个字节,如果前两个字节是0XFF和0XFF,则判定当前通信使用的是PROFIBUS‑DP通信协议,调用PROFIBUS‑DP处理模块对接收到数据报文进行处理;否则就调用MODBUS‑RTU处理模块对接收到数据报文进行处理;波特率表:序号通信波特率协议19600PROFIBUS‑DP与MODBUS‑RTU219200PROFIBUS‑DP与MODBUS‑RTU338400MODBUS‑RTU445.45kPROFIBUS‑DP593.75kPROFIBUS‑DP6115200MODBUS‑RTU7187.5kPROFIBUS‑DP与MODBUS‑RTU83MPROFIBUS‑DP96MPROFIBUS‑DP1012MPROFIBUS‑DP波特率表如上表所示。...

【技术特征摘要】
1.一种从站自适应两种通信协议的通信方法,两种通信协议是指PROFIBUS-DP通信协
议和MODBUS-RTU通信协议,其特征在于,包括以下步骤:
步骤1:串口初始化;
包括初始化串口的数据位配置和通信的波特率;
步骤2:同步主站通信波特率;
使用当前波特率接收串口报文并对接收的串口报文进行偶校验,若连续出现N次校
验错误,则依次轮询波特率表中的波特率重新设置串口的波特率来接收数据报文,N
为大于2的整数;直到能通过偶校验,则完成从站与主站的波特率匹配,按照匹配
后的波特率接收串口报文,进入步骤3;
步骤3:自动识别通信模式并处理串口数据;
检验接收到的串口报文数据的前两个字节,如果前两个字节是0XFF和0XFF,则判定当
前通信使用的是PROFIBUS-DP通信协议,调用PROFIBUS-DP处理模块对接收到数据报文
进行处理;
否则就调用MODBUS-RTU处理模块对接收到数据报文进行处理;
波特率表:
序号
通信波特率
协议
1
9600
PROFIBUS-DP与MODBUS-RTU
2
19200
PROFIBUS-DP与MODBUS-RTU
3
38400
MODBUS-RTU
4
45.45k
PROFIBUS-DP
5
93.75k
PROFIBUS-DP
6
115200
MODBUS-RTU
7
187.5k

【专利技术属性】
技术研发人员:周晓峰邓君
申请(专利权)人:湖南先步信息股份有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1