一种基于实时数据库的Modbus设备主从站通讯管理方法及系统的制作方法

文档序号:6312809阅读:336来源:国知局
一种基于实时数据库的Modbus设备主从站通讯管理方法及系统的制作方法
【专利摘要】本发明基于实时数据库的Modbus设备主从站通讯管理方法利用实时数据库存放有效数据,以衔接不同协议之间的转换,并通过对三种不同协议进行转换增强了Modbus设备通讯互联能力。可以将Modbus现场设备的过程信号集成到控制站中,将全部Modbus现场设备数据送入主控室的工程师站;同时,以实时数据库为媒介,Modbus通讯模件为载体,将控制站中接入的其他现场设备数据信号通过Modbus虚拟设备开放给第三方系统,实现开放互联。用户在控制室就能方便地远程查看、修改、配置现场设备的组态信息,所有的操作都会记录在数据库中,做到有据可查,提高了维护率,降低了生产成本。
【专利说明】一种基于实时数据库的Modbus设备主从站通讯管理方法及系统

【技术领域】
[0001]本发明涉及工业控制系统及装置Modbus通讯【技术领域】,尤其是涉及一种基于实时数据库的Modbus设备主从站通讯管理方法及系统。

【背景技术】
[0002]控制器局域网CAN(Controller Area Network),属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络,由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计,并能够检测出产生的任何错误,而越来越受到人们的重视,被广泛应用于诸多领域。当信号传输距离达到1km时,CAN仍可提供高达50kbit/s的数据传输速率。由于CAN总线具有很高的实时性能和应用范围,从位速率最闻可达IMbps的闻速网络到低成本多线路的50Kbps网络都可以任意搭配。因此,CAN在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用。
[0003]Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一 Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了 Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
[0004]目前Modbus设备主从站通讯管理方法都是Modbus设备主从站单方向通讯,一台Modbus主站只允许和Modbus从站通讯,而不能和第三方Modbus主站进行信息交互,不能实现开放互联,从而导致信息不能有效的共享利用。


【发明内容】

[0005]为了解决上述问题,使Modbus主站和第三方Modbus主站能够进行信息交互,实现开放互联及信息共享,本发明提供了如下技术方案:
[0006]一种基于实时数据库的Modbus设备主从站通讯管理方法,包括如下步骤:
[0007]S1:工程师通过控制工程应用软件平台,组态Modbus设备信息,将组态信息以工业以太网协议中的报文形式发送到控制站;
[0008]S2:控制站对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站实时数据库后以CAN协议中的报文形式打包发送到Modbus模件;
[0009]S3 =Modbus模件对所收到的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后构成Modbus协议请求巾贞形式发送到相应的Modbus从站;
[0010]S4:Modbus从站接收到Modbus协议请求巾贞后将响应信息返回给Modbus模件,Modbus模件解包所述响应信息获得有效响应数据,并将有效响应数据以CAN协议中的报文形式打包发送给控制站;
[0011]S5:控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效响应数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站;
[0012]还包括,
[0013]S6:Modbus模件自身可以虚拟Modbus从站,并连接第三方Modbus主站;第三方Modbus主站将有效信息发送给Modbus模件,Modbus模件解包所述有效信息获得有效数据,并将有效数据以CAN协议中的报文形式打包发送给控制站;控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0014]进一步的,步骤SI中,组态Modbus设备信息包括设备地址、通讯串口、寄存器表、通讯命令、实时数据库链接关系。
[0015]进一步的,所述控制站实时数据库设置有两个缓冲区分别用于暂存所述工业以太网协议报文和CAN协议报文。
[0016]进一步的,所述工业以太网协议报文的帧格式包括:目的地址、源地址、类型、数据、CRC,其中数据采用UDP数据报文格式,包括:IP头、UDP头、应用数据。
[0017]进一步的,所述应用数据的格式采用自定义数据帧格式,包括:校验信息一、用户数据和校验信息二。
[0018]进一步的,所述Modbus模件数据库设置有两个缓冲区分别用于暂存CAN协议报文和Modbus通讯调度命令。
[0019]本发明的另一目的在于提供一种基于实时数据库的Modbus现场设备管理系统,包括工程师站、控制站、Modbus模件、Modbus从站和Modbus主站;
[0020]所述工程师站将Modbus设备组态信息以工业以太网协议中的报文形式发送到控制站;
[0021]所述控制站对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站数据库后以CAN协议中的报文形式打包发送到Modbus模件;
[0022]所述Modbus模件对所收到的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后构成Modbus协议请求命令形式发送到相应的Modbus从站;
[0023]所述Modbus从站接收到Modbus协议请求巾贞后将响应信息返回给Modbus模件,Modbus模件解包所述响应信息获得有效响应数据,并将有效响应数据以CAN协议中的报文形式打包发送给控制站;
[0024]所述控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效响应数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0025]所述Modbus模件自身可以虚拟Modbus从站,进而连接第三方Modbus主站,将第三方Modbus主站的有效信息发送给Modbus模件,Modbus模件解包所述有效信息获得有效数据,并将有效数据以CAN协议中的报文形式打包发送给控制站;控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0026]进一步的,所述控制站设置有实时数据库模块,所述实时数据库模块设置有两个缓冲区分别用于暂存所述工业以太网协议报文和CAN协议报文。
[0027]进一步的,所述Modbus模件设置有数据库模块,所述数据库模块设置有两个缓冲区分别用于暂存CAN协议报文和Modbus协议请求帧。
[0028]本发明的有益效果如下:
[0029]利用实时数据库,存放有效数据,以衔接不同协议之间的转换,并通过对三种不同协议进行转换增强了 Modbus设备通讯互联能力;可以将Modbus现场设备的过程信号集成到控制站中,将全部Modbus现场设备数据送入主控室的工程师站;同时,以实时数据库为媒介,Modbus通讯模件为载体,将控制站中接入的其他现场设备数据信号通过Modbus虚拟设备开放给第三方系统,实现开放互联。从而使用户在控制室就能方便地远程查看、修改、配置现场设备的组态信息,并且所有的操作都会记录在数据库中,做到有据可查,提高了维护率,降低了生产成本。

【专利附图】

【附图说明】
[0030]图1为本发明一种基于实时数据库的Modbus设备主从站通讯管理方法的一个实施例的方法流程图;
[0031 ] 图2为图1中的实施例以太网协议、CAN协议、ModbusRTU协议转换图;
[0032]图3为图1中的实施例以太网协议、CAN协议、ModbusRTU协议帧数据流转换图;
[0033]图4为本发明一种基于实时数据库的Modbus设备主从站通讯管理系统的一个实施例的结构示意图。

【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]如图1实施例所示,一种基于实时数据库的Modbus设备主从站通讯管理方法,包括如下步骤:
[0036]S1:工程师站I通过控制工程应用软件平台,组态Modbus设备信息,具体的,包括设备地址、通讯串口、寄存器表、通讯命令、实时数据库链接关系等;将组态信息以工业以太网协议中的报文形式发送到控制站2。
[0037]S2:控制站2对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站实时数据库后以CAN协议中的报文形式打包发送到Modbus模件3。
[0038]其中,工业以太网(SNET)协议与CAN协议之间的转换过程具体如下:
[0039]如图3所示,以太网协议报文的帧格式包括:目的地址、源地址、类型、数据、CRC这五部分,其中数据我们采用UDP数据报文形式:IP头、UDP头、应用数据。对应用数据格式,我们作了改进,自定义数据帧格式,在用户数据前后增加了校验信息I和校验信息2,这样降低了误码率,从而形成了 SNET协议原理。
[0040]CAN协议扩展帧格式包括:命令字、目的地址、源地址、数据指针、用户数据这五部分。
[0041]在控制站内,我们建立了一个操作站数据库,所述操作站数据库设置有两个缓冲区分别用于暂存所述工业以太网协议报文暂存于和CAN协议报文。将工业以太网(SNET)协议与CAN协议隔离,同时两者使用不同的缓冲区暂存,有效的解决两种协议速度不匹配问题;因为相互隔离,互不影响,也避免了一个协议通信出问题时,引起另一个协议的问题。而使用不同的缓冲区,有效的解决了速度不匹配问题。同时,规定在一个地方统一操作数据库,这样在同一时间内只能有一个对象处理数据库,从而避免了多个对象同时处理数据而产生的操作冲突,提高程序运行的效率。工业以太网协议报文解包后,将用户数据放在对应操作站数据库的相应位置,根据CAN主站协议X3的规范,数据库I内对应的用户数据以CAN协议中的报文形式进行封装打包。
[0042]S3 =Modbus模件3对所收到的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后构成Modbus协议请求巾贞形式发送到相应的Modbus从站4。
[0043]CAN协议与Modbus协议间的转换过程具体如下:
[0044]Modbus协议帧格式包括:起始、地址域、功能码、有效数据、差错校验、结束这六部分信息。其中功能码、有效数据这两部分属于Modbus应用层数据;地址域、差错校验这两部分属于Modbus数据链路层数据;起始、结束属于Modbus物理层数据。
[0045]在Modbus模件内使用的是Modbus主站协议,以及CAN的从站协议。我们建立了一个Modbus模件数据库,将CAN协议与Modbus通讯协议隔离,同时两者使用不同的缓冲区暂存;因为相互隔离,互不影响,也避免了一个协议通信出问题时,引起另一个协议的问题。
[0046]CAN协议报文解包后,将用户数据放在对应Modbus模件数据库的相应位置,依据Modbus协议中帧格式要求,Modbus模件数据库内对应的用户数据以Modbus帧格式进行封装,构成一个完整的Modbus协议请求帧形式,完成了 CAN协议与Modbus协议之间的转换。
[0047]S4:Modbus从站4接收到Modbus协议请求巾贞后将响应信息返回给Modbus模件3,Modbus模件3解包所述响应信息获得有效响应数据,并将有效响应数据以CAN协议中的报文形式打包发送给控制站2。
[0048]S5:控制站2对所收到的Modbus模件3发出的CAN协议报文进行解包,将有效响应数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站
1
[0049]S6:Modbus模件自身可以虚拟Modbus从站,以便连接第三方Modbus主站,将第三方Modbus主站的有效信息发送给Modbus模件,Modbus模件解包所述有效信息获得有效数据,并将有效数据以CAN协议中的报文形式打包发送给控制站;控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0050]在图2实施例中,我们为Modbus设备建模,将Modbus设备抽象成一个数据模型,便于统一管理。这个过程不依赖于Modbus协议。
[0051]在工程师站,通过基于实时数据库的Modbus设备主从站通讯管理控制平台接口服从以太网接收协议XI,组态Modbus设备信息(包括设备地址、通讯串口、寄存器表、通讯命令、实时数据库链接关系等),将组态信息以工业以太网协议中的报文形式发送到控制站2。同时,接收控制站反馈回来的响应信息,此信息是以太网协议中报文形式返回的。此报文并不是一个完整的Modbus协议请求帧信息,是标准的以太网协议数据帧,传递的是Modbus设备模型的有效数据。相对HART协议命令来说,数据量少很多,并且与Modbus设备无关。
[0052]在控制站,根据以太网发布协议X2,控制站接收到操作站发出的工业以太网协议报文后,将之解包,将有效数据放在对应实时数据库的相应位置。同时按照CAN主站协议X3的规范,控制站取出对应的有效数据以CAN协议中的报文形式,打包发送到Modbus模件。同时,依照CAN主站协议X3,控制站接收到Modbus模件发出的CAN协议报文后,将之解包,将有效数据放在对应实时数据库的相应位置。按照以太网发布协议X2的具体规范要求,控制站取出对应的有效数据以工业以太网协议中的报文形式,打包发送到工程师站中基于实时数据库的Modbus设备主从站通讯管理控制平台。
[0053]在Modbus模件,按照CAN从站协议X4规范内容,Modbus模件收到控制站发出的CAN协议报文,将之解包,将有效数据放在对应数据库的相应位置。按照Modbus主站协议X5的内容,Modbus模件从对应数据库中取出相应的有效数据,并依据Modbus协议中帧格式要求构成一个完整Modbus协议请求帧并发送到相应的Modbus从站。CAN协议报文是自定义的CAN数据巾贞,用于高速的Modbus设备模型的有效数据传递。并且与Modbus设备无关。同时,Modbus模件按照Modbus主站协议X5规范,接收来自Modbus从站的响应信息。Modbus模件将响应信息解包,将有效数据存以CAN协议中的报文形式,打包发送给控制站。
[0054]另外,Modbus模件自身可以虚拟Modbus从站,按照Modbus从站协议X6规范,接收来自第三方Modbus主站的第三方有效信息。Modbus模件将第三方有效信息解包,将有效数据存以CAN协议中的报文形式,打包发送给控制站。
[0055]在Modbus从站,按照Modbus从站协议X7的内容,Modbus从站接收来自Modbus模件的Modbus协议请求巾贞,成功接收到后将对应的从站响应信息返回给Modbus模件。
[0056]在第三方Modbus主站,按照Modbus主站协议X8的内容,第三方Modbus主站发送第三方Modbus协议请求巾贞给Modbus模件。
[0057]相应于本发明的一种基于实时数据库的Modbus设备主从站通讯管理方法,还提供一种基于实时数据库的Modbus设备主从站通讯管理系统,图4是本发明基于实时数据库的Modbus设备主从站通讯管理系统的一个实施例的结构示意图,如图4所示,所述系统,包括工程师站、控制站、Modbus模件、Modbus设备和第三方Modbus主站;
[0058]所述工程师站将Modbus设备组态信息以工业以太网协议中的报文形式发送到控制站;
[0059]所述控制站对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站数据库后以CAN协议中的报文形式打包发送到Modbus模件;
[0060]所述Modbus模件对所收到的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后构成Modbus协议请求命令形式发送到相应的Modbus从站;
[0061]所述Modbus从站接收到Modbus协议请求巾贞后将响应信息返回给Modbus模件,Modbus模件解包所述响应信息获得有效响应数据,并将有效响应数据以CAN协议中的报文形式打包发送给控制站;
[0062]所述控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效响应数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0063]所述Modbus模件自身可以虚拟Modbus从站,以便连接第三方Modbus主站,将第三方Modbus主站的有效信息发送给Modbus模件,Modbus模件解包所述有效信息获得有效数据,并将有效数据以CAN协议中的报文形式打包发送给控制站;控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
[0064]其中,所述控制站设置有数据库模块,所述实时数据库模块设置有两个缓冲区分别用于暂存所述工业以太网协议报文暂存于和CAN协议报文。所述Modbus模件设置有数据库模块,所述Modbus模件数据库设置有两个缓冲区分别用于暂存CAN协议报文和Modbus协议请求帧。
【权利要求】
1.一种基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,包括如下步骤: S1:工程师通过控制工程应用软件平台,组态Modbus设备信息,将组态信息以工业以太网协议中的报文形式发送到控制站; S2:控制站对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站实时数据库后以CAN协议中的报文形式打包发送到Modbus模件; 53=Modbus模件对所收到的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后构成Modbus协议请求巾贞形式发送到相应的Modbus从站; 54:Modbus从站接收到Modbus协议请求巾贞后将响应信息返回给Modbus模件,Modbus模件解包所述响应信息获得有效响应数据,并将有效响应数据以CAN协议中的报文形式打包发送给控制站; 55:控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效响应数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站; 还包括, 56:Modbus模件自身虚拟Modbus从站,并连接第三方Modbus主站;第三方Modbus主站将有效信息发送给Modbus模件,Modbus模件解包所述有效信息获得有效数据,并将有效数据以CAN协议中的报文形式打包发送给控制站;控制站对所收到的Modbus模件发出的CAN协议报文进行解包,将有效数据储存于Modbus模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
2.根据权利要求1所述基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,所述步骤SI中,组态Modbus设备信息包括设备地址、通讯串口、寄存器表、通讯命令、实时数据库链接关系。
3.根据权利要求1所述基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,所述控制站实时数据库设置有两个缓冲区分别用于暂存所述工业以太网协议报文和CAN协议报文。
4.根据权利要求3所述基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,所述工业以太网协议报文的帧格式包括:目的地址、源地址、类型、数据、CRC,其中数据采用UDP数据报文格式,包括:IP头、UDP头、应用数据。
5.根据权利要求4所述基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,所述应用数据的格式采用自定义数据帧格式包括:校验信息一、用户数据和校验信息--O
6.根据权利要求1-5任一项所述基于实时数据库的Modbus设备主从站通讯管理方法,其特征在于,所述Modbus模件数据库设置有两个缓冲区分别用于暂存CAN协议报文和Modbus协议请求中贞。
7.一种基于实时数据库的Modbus设备主从站通讯管理系统,其特征在于,包括工程师站、控制站、Modbus模件、Modbus从站和Modbus主站; 所述工程师站通过控制工程应用软件平台,组态Modbus设备信息,将组态信息以工业以太网协议中的报文形式发送到控制站; 所述控制站对所收到的工业以太网协议报文进行解包,将有效数据储存于控制站实时数据库后以协议中的报文形式打包发送到10此1!8模件; 所述10此118模件对所收到的0^协议报文进行解包,将有效数据储存于10此118模件数据库后构成10(113118协议请求巾贞形式发送到相应的10(113118设备; 所述10(1)3118从站接收到10(1)3118协议请求巾贞后将响应信息返回给10(1)3118模件,10(113118模件解包所述响应信息获得有效响应数据,并将有效响应数据以协议中的报文形式打包发送给控制站; 所述控制站对所收到的10此1!8模件发出的协议报文进行解包,将有效响应数据储存于10此118模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。 所述10(1)3118模件自身可以虚拟10(1)3118从站,进而连接第三方10(1)3118主站,将第三方10*118主站的有效信息发送给10(11X18模件,10此118模件解包所述有效信息获得有效数据,并将有效数据以协议中的报文形式打包发送给控制站;控制站对所收到的10此1!8模件发出的协议报文进行解包,将有效数据储存于10此1!8模件数据库后以工业以太网协议中的报文形式打包发送到工程师站。
8.根据权利要求6所述基于实时数据库的10此118设备主从站通讯管理系统,其特征在于,所述工程师站通过控制工程应用软件平台,组态10此118设备信息包括设备地址、通讯串口、寄存器表、通讯命令、实时数据库链接关系。
9.根据权利要求6所述基于实时数据库的10此118设备主从站通讯管理系统,其特征在于,所述控制站实时数据库设置有两个缓冲区分别用于暂存所述工业以太网协议报文和他协议报文。
10.根据权利要求6所述基于实时数据库的!1/^1现场设备管理系统,其特征在于,所述10*118模件设置有数据库模块,所述数据库模块设置有两个缓冲区分别用于暂存协议报文和10(113118协议请求中贞。
【文档编号】G05B19/418GK104407591SQ201410705619
【公开日】2015年3月11日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】王文海, 张稳稳, 张益南 申请人:杭州优稳自动化系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1