本发明属于设备通信,尤其涉及一种基于通用报文壳的现场总线报文传输方法、系统及存储介质。
背景技术:
1、现场总线是在过程控制保护领域被广泛应用的一种通讯网络,具备高度数字化、离散化、双向智能化、互联互通、多数据种类、多站点数量等特征。近年来,工业企业对现场总线设备的管理、预测性维护、统计分析等功能要求越来越迫切,现有技术中,采用现场设备工具(field device tool,fdt)和设备类型管理器(device type manager,dtm)实现一体化现场总线设备管理系统。设备管理系统经过程控制保护系统的控制器节点及现场总线io节点,与现场总线设备进行数据交互,其中现场总线io节点同时又是一类现场总线设备。
2、随着自动化技术的发展,现场总线种类不断扩充,各类别现场总线通讯机制、通讯协议各不相同,作为中间环节的控制器节点,需要根据不同的现场总线类型做针对性开发,控制系统程序频繁升级,不便于系统维护,系统扩展性较差。
3、此外,现有技术中的设备管理系统扫描现场总线设备时,需要每一个现场总线设备逐一进行报文响应,过程涉及到大量的报文读写及串行等待,时间消耗较长,尤其对于现场总线设备种类多、数量庞大的系统,系统的调试维护尤为不便。
技术实现思路
1、本发明在于提供一种基于通用报文壳的现场总线报文传输方法、系统及存储介质,通过设计第一通用报文壳和第二通用报文壳,分别包含报文传输所需的各类现场总线报文,可以适应各种类型协议的现场总线报文,解决了现有技术中现场总线协议种类增加造成的控制系统程序频繁升级及现场总线传输效率低下问题。
2、为达到上述目的,本发明是采用下述技术方案实现的:
3、第一方面,本发明提供了一种基于通用报文壳的现场总线报文传输方法,应用于现场总线系统中的控制器节点,所述报文传输方法的特征在于,包括:
4、接收现场设备工具下发的现场总线下行报文;
5、将所述现场总线下行报文装入预设的第二通用报文壳并下发至现场总线io节点,其中,所述第二通用报文壳中包含控制器节点与现场总线io节点之间传输现场总线报文所需的相关信息;
6、等待并接收所述现场总线io节点回复的现场总线上行报文;
7、将所述现场总线上行报文装入预设的第一通用报文壳并发送至现场设备工具,其中,所述第一通用报文壳中包含控制器节点与现场设备工具之间传输现场总线报文所需的相关信息。
8、可选地,所述预设的第一通用报文壳包括下行信息或上行信息,所述预设的第二通用报文壳包括下行信息或上行信息;
9、第一通用报文壳下行信息包括:报文编号、控制器节点编号、现场总线io节点信息、现场总线类型、现场总线下行报文长度、现场总线下行报文体;
10、第一通用报文壳上行信息包括:报文编号、控制器节点编号、现场总线io节点信息、现场总线类型、现场总线报文处理结果、现场总线上行报文长度、现场总线上行报文体;
11、第二通用报文壳下行信息包括:报文功能码、缓存区位置、现场总线io节点类型、现场总线类型、现场总线下行报文长度、现场总线下行报文体;
12、第二通用报文壳上行信息包括:报文功能码、缓存区位置、现场总线io节点类型、现场总线类型、现场总线报文处理结果、现场总线上行报文长度、现场总线上行报文体。
13、可选地,在所述接收现场设备工具下发的现场总线下行报文之后,还包括:
14、对接收到的第一通用报文壳下行信息进行校验;
15、若校验通过,在缓存区队列中查找状态为空闲的现场总线传输元素,根据所述现场总线下行报文将相关信息写入该现场总线传输元素中,该状态为空闲的现场总线传输元素切换为下行就绪态,若校验不通过,丢弃所述现场总线下行报文并回复错误原因,该状态为空闲的现场总线传输元素保持空闲状态,其中,单个所述现场总线传输元素中包括状态机、源端节点信息、现场总线io节点信息、现场总线信息、超时信息、现场总线下行信息以及现场总线上行信息,所述缓存区队列中包含多个现场总线传输元素。
16、可选地,所述根据所述现场总线下行报文将相关信息写入该现场总线传输元素中,包括:将源端节点信息、现场总线io节点信息、现场总线下行信息以及现场总线信息中的现场总线类型写入所述状态为空闲的现场总线传输元素中,并设置该现场总线传输元素超时信息的超时设定值。
17、可选地,所述将所述现场总线下行报文装入预设的第二通用报文壳并下发至现场总线io节点,包括:
18、对将要下发的目标io节点状态进行二次确认,若确认通过,将状态为下行就绪态的现场总线传输元素中的相关信息填入所述第二通用报文壳,并将第二通用报文壳内容补充完整,将补充后的第二通用报文壳下发至目标io节点,该状态为下行就绪态的现场总线传输元素切换为上行等待态,若确认不通过,丢弃所述现场总线下行报文,将该状态为下行就绪态的现场总线传输元素中的现场总线上行信息报文长度置为0,传输处理结果置为目标现场总线io节点二次确认失败,并将该状态为下行就绪态的现场总线传输元素切换为上行就绪态。
19、可选地,所述将状态为下行就绪态的现场总线传输元素中的相关信息填入所述第二通用报文壳,包括:在所述状态为下行就绪态的现场总线传输元素中取出现场总线信息中的类型、现场总线下行信息填入第二通用报文壳。
20、可选地,所述等待并接收所述现场总线io节点回复的现场总线上行报文,包括:
21、等待过程中实时更新超时信息中的累积处理时间;
22、若在累积处理时间累加到所述超时设定值之前未收到现场总线io节点的回复,将状态为上行等待态的现场总线传输元素中的现场总线上行信息报文长度置为0,传输处理结果置为目标现场总线io节点回复超时,并将该状态为上行等待态的现场总线传输元素切换为上行就绪态;
23、若在累积处理时间累加到所述超时设定值之前收到现场总线io节点的回复,对接收到的现场总线上行报文进行校验,若校验通过,在回复的现场总线上行报文中取出现场总线报文处理结果填入所述状态为上行等待态的现场总线传输元素中的现场总线信息,取出现场总线上行报文长度以及现场总线上行报文体填入该状态为上行等待态的现场总线传输元素中的现场总线上行信息,并将该状态为上行等待态的现场总线传输元素切换为上行就绪态,若校验不通过,丢弃本帧回复报文继续等待,该状态为上行等待态的现场总线传输元素保持上行等待态。
24、可选地,将所述现场总线上行报文装入预设的第一通用报文壳并发送至现场设备工具,包括:
25、在状态为上行就绪态的现场总线传输元素中取出源端节点信息、现场总线io节点信息、现场总线信息以及现场总线上行信息填入第一通用报文壳上行信息中,并根据源端节点信息发送出去。
26、第二方面,本发明提供一种基于通用报文壳的现场总线报文传输系统,包括:
27、第一处理模块,用于接收现场设备工具下发的现场总线下行报文,并用于将所述现场总线上行报文装入预设的第一通用报文壳并发送至现场设备工具,其中,所述第一通用报文壳中包含控制器节点与现场设备工具之间传输现场总线报文所需的相关信息;
28、第二处理模块,用于将所述现场总线下行报文装入预设的第二通用报文壳并下发至现场总线io节点,并用于等待并接收所述现场总线io节点回复的现场总线上行报文,其中,所述第二通用报文壳中包含控制器节点与现场总线io节点之间传输现场总线报文所需的相关信息。
29、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于通用报文壳的现场总线报文传输方法。
30、与现有技术相比,本发明所达到的有益效果:通过设计第一通用报文壳和第二通用报文壳,使控制器节点与现场设备工具以及现场io节点进行报文数据交互所需传输的各类现场总线报文均包含在通用报文壳的报文体中,控制器节点无需关心报文体具体内容,直接透传到目标节点即可,可以适应各种类型协议的现场总线报文,避免控制保护系统的频繁升级,提高系统扩展性;此外,通过可缓存多条报文的缓存区队列,使得第一处理模块及第二处理模块无需等待上帧现场总线上行报文即可处理新的现场总线下行报文,从而实现现场总线报文的并行处理,提高了报文传输效率。
1.一种基于通用报文壳的现场总线报文传输方法,应用于现场总线系统中的控制器节点,所述报文传输方法的特征在于,包括:
2.根据权利要求1所述的基于通用报文壳的现场总线报文传输方法,其特征在于,所述预设的第一通用报文壳包括下行信息或上行信息,所述预设的第二通用报文壳包括下行信息或上行信息;
3.根据权利要求2所述的基于通用报文壳的现场总线报文传输方法,其特征在于,在所述接收现场设备工具下发的现场总线下行报文之后,还包括:
4.根据权利要求3所述的基于通用报文壳的现场总线报文传输方法,其特征在于,所述根据所述现场总线下行报文将相关信息写入该现场总线传输元素中,包括:将源端节点信息、现场总线io节点信息、现场总线下行信息以及现场总线信息中的现场总线类型写入所述状态为空闲的现场总线传输元素中,并设置该现场总线传输元素超时信息的超时设定值。
5.根据权利要求4所述的基于通用报文壳的现场总线报文传输方法,其特征在于,所述将所述现场总线下行报文装入预设的第二通用报文壳并下发至现场总线io节点,包括:
6.根据权利要求5所述的基于通用报文壳的现场总线报文传输方法,其特征在于,所述将状态为下行就绪态的现场总线传输元素中的相关信息填入所述第二通用报文壳,包括:在所述状态为下行就绪态的现场总线传输元素中取出现场总线信息中的类型、现场总线下行信息填入第二通用报文壳。
7.根据权利要求6所述的基于通用报文壳的现场总线报文传输方法,其特征在于,所述等待并接收所述现场总线io节点回复的现场总线上行报文,包括:
8.根据权利要求7所述的基于通用报文壳的现场总线报文传输方法,其特征在于,将所述现场总线上行报文装入预设的第一通用报文壳并发送至现场设备工具,包括:
9.一种基于通用报文壳的现场总线报文传输系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的基于通用报文壳的现场总线报文传输方法。