多协议物联终端混合接入RS485总线的数据处理方法与系统与流程

文档序号:24242799发布日期:2021-03-12 13:18阅读:181来源:国知局
多协议物联终端混合接入RS485总线的数据处理方法与系统与流程

本发明属于工业物联网技术领域,更具体地,涉及一种多协议物联终端混合接入rs485总线的数据处理方法与系统。



背景技术:

工业物联网是将具有感知、监控能力的各类采集、控制传感器或控制器,以及移动通信、智能分析等技术不断融入到工业生产过程各个环节,从而大幅提高制造效率,改善产品质量,降低产品成本和资源消耗,最终实现将传统工业提升到智能化的新阶段。从应用形式上,工业物联网的应用具有实时性、自动化、嵌入式(软件)、安全性、和信息互通互联性等特点。

在工业物联网应用中,存在一种rs485总线。通过rs485总线,可以接入各种物联终端。rs485是一种物理层,数据链路层的连接。根据网络分层协议定义,网络层,应用层可以是各种工业协议。例如modbusrtu,modbusascii,cj/t188,dl/t698.45等。

在rs485总线上,包括主站和若干从站。在这里,工业物联网关作为主站,各种物联终端作为从站,通过rs485总线连接。在rs485总线上采取的是主站下发命令从站应答的模式,在命令中包含‘地址’字段,所有从站都可以收到命令,只有自己得地址与命令中‘地址’一致的物联终端才处理这个命令。但是这几种协议帧的格式不一致,导致在当前工业物联应用中,由于工业物联网关无法区分各种协议的应答帧,只能将各种协议的物联终端区分开来,通过不同的rs485总线接入工业物联网关。如果一个地方同时有多种协议的设备,那么就需要部署多条rs485总线,铺设多条rs485线缆造成浪费冗余。

在工业物联网应用中,主要是采集工业生产过程中各设备运行状态,数据等,再通过分析决策下发控制命令来进行工业生产的自动化控制。在rs485总线上,物联网关主要下发采集环境数据(如温度,湿度,烟雾等)采集设备运行状态(如转速,压力,功率,电压,电流等)采集生产数据(如产品个数,产品质量,产品重量等)下发控制命令(如启动,停止,重启,加速,减速等)。那么需要采集或控制的设备,有些是对工业生产至关重要的(如产线控制器),有些设备异常对生产安全影响很大(如过压,过流,起火),需要尽快采取措施来减小影响。而有些设备或控制命令对生产的影响则不是很大(如读取通风风扇的转速)。那么工业物联网关在上述2种情况下,下发的命令,肯定希望第一种命令尽快下达,第二种命令稍晚下达也不受影响。当rs485总线上接入多个物联终端且下发命令比较多,会造成rs485总线数据拥塞,导致重要指令不能及时发送给物联终端,会导致控制失效,造成生产活动重大损失。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种多协议物联终端混合接入rs485总线的数据处理方案,解决多种协议物联终端接入rs485总线的数据收发;通过优先级调度和协议帧排队,将重要的命令及时发送给物联终端。

为实现上述目的,按照本发明的一个方面,提供了一种多协议物联终端混合接入rs485总线的数据处理系统,在工业物联网关内设置rs485总线接口、rs485总线数据收发模块和各种协议处理模块,其中:

各种协议的物联终端通过rs485总线接口接入工业物联网关;所述rs485总线数据收发模块,与rs485总线接口和各种协议处理模块相连,用于完成各协议命令帧的排队和发送,以及应答帧的接收,并分发给对应的协议处理模块。

本发明的一个实施例中,所述各协议处理模块,根据业务需要组装数据帧,通过ipc通信方式发给rs485总线数据收发模块。

本发明的一个实施例中,所述数据帧包括如下信息:协议类型、优先级、时间戳以及协议帧。

本发明的一个实施例中,所述优先级为:

综合考虑该协议帧的目标设备在该工业物联应用场景中的关键程度、目标设备的当前运行状态、协议帧的类型、协议帧中命令的紧急程度综合判断,按照权重动态计算得到。

本发明的一个实施例中,所述优先级的计算方式为:优先级p=目标设备关键程度×设备关键权重+目标设备状态×设备状态权重+协议帧类型×协议帧类型权重+命令紧急程度×命令权重。

本发明的一个实施例中,所述rs485总线数据收发模块将收到的数据帧按照优先级和时间戳进行排队,首先按照优先级排队,优先级高的排在前面,同一优先级内部按照时间戳排队,时间戳小的排在前面。

本发明的一个实施例中,所述rs485总线数据收发模块根据排队的顺序发送数据帧并等待应答帧,收到物联终端应答帧后,立即转发给对应的协议处理模块。

本发明的一个实施例中,如果接收物联终端应答帧超时,则rs485总线数据收发模块直接回复对应协议处理模块失败应答。

本发明的一个实施例中,所述rs485总线数据收发模块处理完成一帧后,再处理队列中下一帧数据。

按照本发明的另一方面,还提供了一种多协议物联终端混合接入rs485总线的数据处理方法,在工业物联网关内设置rs485总线接口、rs485总线数据收发模块和各种协议处理模块,其中:

各种协议的物联终端通过rs485总线接口接入工业物联网关;所述rs485总线数据收发模块,与rs485总线接口和各种协议处理模块相连,用于完成各协议命令帧的排队和发送,以及应答帧的接收,并分发给对应的协议处理模块。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:

可以实现多种协议物联终端接入rs485总线,优化多种协议终端时rs485总线的部署铺设,节省成本;

通过优先级调度和协议帧排队,将重要的命令及时发送给物联终端,满足工业物联应用中的时效性。

附图说明

图1是本发明中一种多协议物联终端混合接入rs485总线的数据处理系统的结构示意图;

图2是本发明中一种数据帧排队顺序示意图;

图3是本发明中一种多协议物联终端混合接入rs485总线的数据处理方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

针对现有技术存在的问题,本发明要解决的技术问题是:解决多种协议物联终端接入rs485总线的数据收发;通过优先级调度和协议帧排队,将重要的命令及时发送给物联终端。

为了实现上述目的,如图1所示,本发明提供了一种多协议物联终端混合接入rs485总线的数据处理系统,包括rs485总线接口、rs485总线数据收发模块和各种协议处理模块,其中:

在工业物联网关设置rs485总线接口。各种协议的物联终端通过rs485总线接口接入工业物联网关。

在工业物联网关内部,设置rs485总线数据收发模块和各种协议处理模块。

例如,协议处理模块可包括如图1中的modbusrtu协议处理模块,modbusascii协议处理模块,dl/t698.45协议处理模块,cj/t188协议处理模块;可以根据业务需要增加其他支持运行在rs485总线的协议处理模块。

所述rs485总线数据收发模块,主要完成各协议命令帧的排队,发送,应答帧的接收,分发给对应的协议处理模块。

各协议处理模块与rs485总线数据收发模块之间,一般采用现代操作系统常见的ipc(inter-processcommunication,进程间通信)通信方式,如tcp/udp,ubus,mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)等。

各协议处理模块,根据业务需要(例如修改工业设备的配置,读取工业设备的运行信息,控制工业设备运行状态,运行参数等)组装数据帧,通过ipc通信方式发给rs485总线数据收发模块。

数据帧包括如下信息:

协议类型:modbusrtu

优先级:2

时间戳:189784788

协议帧:xxxxxxxxxxxx

其中:

时间戳表示生成该协议帧的时间,数字越大表示生成时间越晚。

优先级:根据大数据分析,综合考虑该协议帧的目标设备在该工业物联应用场景中的关键程度(例如核心设备,关键设备,安全设备,一般设备,辅助设备等),目标设备的当前运行状态(例如故障,告警,正常等),协议帧的类型(例如控制帧,读状态帧,读数据帧,写数据帧等)、协议帧中命令的紧急程度(如发生安全事故时需要第一时间停止电机运行等)综合判断,按照权重动态计算出一个优先级。典型的计算优先级的方法如下:

p优先级=目标设备关键程度×设备关键权重+目标设备状态×设备状态权重+协议帧类型×协议帧类型权重+命令紧急程度×命令权重;

其中设备关键程度,按照核心设备,关键设备,安全设备,一般设备,辅助设备分类,分别用1,2,3,4,5来代表。数字越小表示该设备对工业物联系统正常运行的重要性越大。

目标设备状态,分为故障,告警,正常运行,未运行等,分别用1,2,3,4代表。数字越小表示设备当前越需要紧急干预。

协议帧类型,分为控制帧,写数据帧,读状态帧,读数据帧等,分别用1,2,3,4代表。数字越小表示这一类协议帧的优先级高。

命令紧急程度,是根据业务场景赋值。例如当发动机运行过程中起火时,需要切断电源,启动消防设施,那么这几条命令赋值最高优先级。可以根据业务需要定义1,2,3,4,5级,数字越小代表命令越紧急。

上述各种权重,表示上述优先级考虑因素,在判断优先级中起多大作用。各权重的大小根据经验和分析来调节。所有权重的总和为1。即:设备关键权重+设备状态权重+协议帧类型权重+命令权重=1。

按照上述算法计算出来的p优先级数字越小表示优先级越高。

如图2所示,rs485总线数据收发模块将收到的数据帧,按照优先级和时间戳进行排队。首先按照优先级排队,优先级高的排在前面。同一优先级内部,按照时间戳排队,时间戳小的排在前面。

rs485总线数据收发模块根据排队的顺序发送数据帧并等待应答帧,收到物联终端应答帧后,立即转发给对应的协议处理模块。如果接收物联终端应答帧超时(一般为2~3个字符时间),则rs485总线数据收发模块直接回复对应协议处理模块失败应答。

rs485总线数据收发模块处理完成一帧后,再处理队列中下一帧数据。

进一步地,如图3所示,本发明提供了一种多协议物联终端混合接入rs485总线的数据处理方法,包括:

s1、各协议处理模块,根据业务需要(例如修改工业设备的配置,读取工业设备的运行信息,控制工业设备运行状态,运行参数等)触发,需要发送命令给物联终端。

s2、协议处理模块组装协议帧,生成时间戳,计算优先级。

s3、协议处理模块将上述信息按照一定格式组装成数据帧,通过进程间通信方式发送给rs485总线数据收发模块。

s4、rs485总线数据收发模块根据优先级,时间戳排队。首先看优先级,高优先级的排在前面,同一优先级,看时间戳。时间戳小的排前面。

s5、rs485总线数据收发模块从队列头取出协议帧通过rs485总线发送给物联终端。

s6、rs485总线数据收发模块启动一个应答超时定时器。

s7、如果在定时器超时前,收到物联终端的应答帧,则停止定时器,并根据命令帧来源发送给对应的协议处理模块,返回步骤s5,如此循环往复,将队列里的所有协议帧处理完毕。

s8、如果定时器超时,则rs485总线数据收发模块自己组装一个应答失败帧返回给协议处理模块,返回步骤s5,如此循环往复,将队列里的所有协议帧处理完毕。

进一步地,本发明提供了一种多协议物联终端混合接入rs485总线的数据处理方法,在工业物联网关内设置rs485总线接口、rs485总线数据收发模块和各种协议处理模块,其中:

各种协议的物联终端通过rs485总线接口接入工业物联网关;所述rs485总线数据收发模块,与rs485总线接口和各种协议处理模块相连,用于完成各协议命令帧的排队和发送,以及应答帧的接收,并分发给对应的协议处理模块。

进一步地,所述各协议处理模块,根据业务需要组装数据帧,通过ipc通信方式发给rs485总线数据收发模块。

进一步地,所述数据帧包括如下信息:协议类型、优先级、时间戳以及协议帧。

进一步地,所述优先级为:综合考虑该协议帧的目标设备在该工业物联应用场景中的关键程度、目标设备的当前运行状态、协议帧的类型、协议帧中命令的紧急程度综合判断,按照权重动态计算得到。

进一步地,所述优先级的计算方式为:优先级p=目标设备关键程度××设备关键权重+目标设备状态×设备状态权重+协议帧类型×协议帧类型权重+命令紧急程度×命令权重。

进一步地,所述rs485总线数据收发模块将收到的数据帧按照优先级和时间戳进行排队,首先按照优先级排队,优先级高的排在前面,同一优先级内部按照时间戳排队,时间戳小的排在前面。

进一步地,所述rs485总线数据收发模块根据排队的顺序发送数据帧并等待应答帧,收到物联终端应答帧后,立即转发给对应的协议处理模块;

进一步地,如果接收物联终端应答帧超时,则rs485总线数据收发模块直接回复对应协议处理模块失败应答。

进一步地,所述rs485总线数据收发模块处理完成一帧后,再处理队列中下一帧数据。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1