一种基于DeviceNet-Modbus的协议转换装置的制作方法

文档序号:7851794阅读:174来源:国知局
专利名称:一种基于DeviceNet-Modbus的协议转换装置的制作方法
技术领域
本发明属于工业自动控制与数据通讯技术领域,涉及到两种工业通讯协议DeviceNet和Modbus之间协议转换的装置,适用于Modbus设备接入DeviceNet网络的应用。
背景技术
现场总线技术满足了工业控制系统的智能化、网络化 的要求,并且以其开放性、高效率与高可靠性引起了越来越多的现场总线用户和自动化设备厂商的密切关注,多家公司和机构推出了各自的现场总线协议,并且均占有一定的市场份额。然而,各个现场总线之间是互不兼容的,这给用户和生产商对现场总线技术的推广应用带来了很大的负面影响。近年来,已经有好多机构尝试推出一种统一的现场总线标准或者将某一种现场总线标准作为统一标准的计划,但是由于每种现场总线都有一个或者几个大公司在背后支持,这些公司为了各自的商业利益,都把自己提出的现场总线协议当做优先的标准。因此,提出一种统一的现场协议标准逐渐成为理论上的可能。目前国际上有40多种开放型的现场总线标准,但只有少数几种优异的现场总线获得了较广泛的应用,这其中就包括DeviceNet和Modbus。近年来,国内工业现场的许多设备都具有RS-232、RS-485或者是RS-422串行通信硬件接口,采用自定义的简单通信协议或者Modbus协议来实现通信功能,但其中多数并不具备作为DeviceNet从站进行通信的功能。所以研究设计一种把Modbus协议转换成DeviceNet协议的装置具有重要的研究意义和应用价值。

发明内容
本发明目的是解决如何将带有Modbus接口设备接入DeviceNet网络中,使之具有作为DeviceNet从站通信功能的问题,提出一种实时、高速、高效可实现DeviceNet总线与Modbus总线间报文转换的协议转换装置。本发明提供的基于DeviceNet-Modbus的协议转换装置,包括DeviceNet接口电路用于接收、发送并分析处理DeviceNet主站和DeviceNet接口电路中的微处理器转换过来的DeviceNet数据信息;Modbus接口电路用于接收DeviceNet接口电路中的微处理器转换后发送来的Modbus命令,并且发送Modbus设备响应报文给DeviceNet接口电路中的微处理器;参数设置电路用于设置通信装置的通信波特率及总线节点号,并实时反映通信装置的工作状态及通信状态;其中,所述的DeviceNet接口电路部分包括微处理器用于向Modbus接口电路发送Modbus命令并且回应Modbus命令给DeviceNet接口电路,接收参数设置电路中的拨码开关电路所提供的数据,并控制参数设置电路中的模块与网络状态电路的指示灯状态;初始化通信对象并有效处理报文信息,解析所接收的DeviceNet总线报文并对将要发送的报文打包,以符合DeviceNet协议规范;独立式CAN控制器与微处理器双向连接,用于接收总线报文并向总线发送符合CAN协议的报文;按照CAN规范对总线数据进行和过滤,提高本装置的通信效率。CAN总线收发器通过光耦与独立式CAN控制器双向连接,用于实现通信装置与总线电平之间的转换;数据扩展存储器与微处理器双向连接,用于存储大量的通信过程数据及I/O数据。所述的Modbus接口电路部分包括RS-485总线收发器SN75LBC184 :与DeviceNet接口电路中的微处理器通过TXD和RXD双向连接,用于接收DeviceNet接口电路中的微处理器发送来的Modbus命令,并且发送 Modbus设备响应报文给DeviceNet接口电路中的微处理器以便进行协议的转换。所述的参数设置电路包括拨码开关电路与DeviceNet接口电路中的微处理器双向连接,用于设置通信装置的通信波特率及总线节点号;模块与网络状态电路与DeviceNet接口电路中的微处理器双向连接,用于实时反映通信装置的工作状态及通信状态。其中所述的基于DeviceNet-Modbus协议转换装置提出了协议转换工作的总体流程,并且提出了访问协议转换应用对象的显式报文处理方法和处理由于两种总线通信速率不同导致的节点频繁超时的软件设计方法,并基于该方法设计了软件功能块,使本装置可以可靠的实现两种协议的转换。本发明的优点和有益效果本发明基于DeviceNet-Modbus协议转换装置,在DeviceNet侧充当从站,可实现仅限组2报文的处理,完成基于DeviceNet现场总线实时数据的通信功能;在Modbus侧充当Modbus主站向Modbus设备发送命令报文,实现Modbus报文数据的收发。在硬件设计中,采用的是单CPU结构,即利用一块微处理器实现两种协议报文的转换接口单元中采用独立式CAN控制器SJA1000作为控制本装置总线行为的专用芯片,从而使总线报文处理与单片机其他任务相分离,为今后的功能扩展提供了较大空间,同时增强了系统的可移植性。在软件设计中,采用了基于对象化编程方法,便于系统的调试、维护与功能扩展。


图I为基于DeviceNet-Modbus的协议转换装置总体结构图;图2为单片机与独立式CAN控制器的接口电路图;图3为独立式CAN控制器、光耦和总线收发器之间的接口电路图;图4为单片机与RS-485收发芯片SN75LBC184的接口电路图;图5为拨码开关(设置节点MAC及通信波特率)电路图;图6为模块与网络状态指示灯电路图;图7为数据扩展存储器连接电路图;图8为系统总体程序流程图9为访问Modbus对象的显式报文的软件处理流程图。
具体实施例方式如图I所示基于DeviceNet-Modbus的协议转换装置总体结构图,该装置包括DeviceNet接口电路用于接收发送并分析处理DeviceNet主站和协议转换模块的数据信息;Modbus接口电路用于接收协议转换模块发送来的Modbus命令,并且发送Modbus设备响应报文给协议转换模块; 参数设置电路用于设置通信装置的通信波特率及总线节点号,并实时反映通信装置的工作状态及通信状态;其中所述的DeviceNet接口电路部分包括微处理器用于向Modbus接口电路发送Modbus命令并且回应Modbus命令给DeviceNet接口电路,接收拨码开关电路所提供的数据,并控制模块与网络状态指示灯电路的状态;初始化通信对象并有效处理报文信息,解析所接收的总线报文并对将要发送的报文打包,以符合DeviceNet协议规范。独立式CAN控制器与微处理器双向连接,用于接收总线报文并向总线发送符合CAN协议的报文;按照CAN规范对总线数据进行和过滤,提高本装置的通信效率,具体连接电路参见图2。CAN总线收发器通过光耦与独立式CAN控制器双向连接,用于实现通信装置与总线电平之间的转换,具体连接电路参见图3。数据扩展存储器与微处理器双向连接,用于存储大量的通信过程数据及I/O数据,具体连接电路参见图7。其中所述的Modbus接口电路部分包括RS-485总线收发器SN75LBC184 :与微处理器通过TXD和RXD双向连接,用于接收微处理器发送来的Modbus命令,并且发送Modbus设备响应给微处理器的响应数据,具体连接电路参见图4。其中所述的参数设置电路包括拨码开关电路与微处理器双向连接,用于设置通信装置的通信波特率及总线节点号,具体连接电路参见图5。模块与网络状态电路与微处理器双向连接,用于实时反映通信装置的工作状态及通信状态,具体连接电路参见图6。工作过程如图8所示,启动系统后,首先初始化整个软件系统;在经过重复MAC ID检测以后,判定系统是否上线;当连接建立后,主站和设计的DeviceNet-Modbus协议转换装置就可以正常的通信了。当主站发送给从节点一个请求报文,DeviceNet-Modbus协议转换装置马上解析该请求报文,来检测这个命令是否是发给自己的,若是,则接收命令报文,同时CAN接收中断产生。中断处理程序将根据类型报文的不同把请求报文存放到不同的缓冲区中去,报文的类型是根据接收到的报文标识符来判断的,然后将报文接收标志置位,最后回到主程序中。主程序将根据不同报文的类型调用对应不同的子程序处理函数来处理该报文。如果主站获取的数据是关于Modbus设备的信息,则把DeviceNet报文转换成相应的Modbus请求报文,然后发给Modbus设备。当Modbus设备收到Modbus请求命令后,正确响应Modbus数据给微处理器,微处理器把Modbus回应的数据转换为DeviceNet报文数据存放在发送缓冲区中,并将发送标志置位,对访问Modbus对象的显式报文的处理如图9所示。若获取标识对象的属性,那么直接把所要获取的标识对象类的属性值放到发送缓冲区中,并将发送标志置位。最后回到主程序,主程序检测到发送标志置位,调用发送子程序把数据发送给主站。至此,就完成了一次DeviceNet主站与Modbus设备数据交换。由于Modbus通信速率范围为1200b/s-38400b/s,DeviceNet通信速率范围为125kb/s-500kb/so当DeviceNet主站发送轮询报文需要获取Modbus设备的属性时,Modbus 设备需要花较长的时间来响应DeviceNet请求报文。如果DeviceNet发送很多条获取Modbus设备属性命令时,设备就需要花较长的时间来响应这些报文,但在DeviceNet网络中,对报文响应的时间是很快的,这样DeviceNet节点超时的现象就会频繁的发生。为了有效的解决节点频繁超时的问题,在软件设计当中做了如下处理在微处理器处于空闲状态时,通过发送Modbus命令报文给Modbus设备,读取DeviceNet轮询可能需要的Modbus设备属性数据,并把设备回应的数据放在缓冲区中;当DeviceNet主站通过协议转换模块向Modbus设备发送获取设备属性数据的DeviceNet轮询命令时,协议转换模块就可以马上把之前存放在缓冲区中的Modbus设备回应的数据发送给DeviceNet主站作为DeviceNet回应的报文,这样从站就可以很快的响应主站发送的报文命令,可以避免节点超时的问题。图9所示为处理通信速率匹配的具体方法。
权利要求
1.一种基于DeviceNet-Modbus的协议转换装置,其特征在于该装置包括 DeviceNet接口电路用于接收、发送并分析处理DeviceNet主站和DeviceNet接口电路中的微处理器转换过来的DeviceNet数据信息; Modbus接口电路用于接收DeviceNet接口电路中的微处理器转换后发送来的Modbus命令,并且发送Modbus设备响应报文给DeviceNet接口电路中的微处理器; 参数设置电路用于设置通信装置的通信波特率及总线节点号,并实时反映通信装置的工作状态及通信状态; 其中,所述的DeviceNet接口电路部分包括 微处理器用于向Modbus接口电路发送Modbus命令并且回应Modbus命令给DeviceNet接口电路,接收参数设置电路中的拨码开关电路所提供的数据,并控制参数设置电路中的模块与网络状态电路的指示灯电路的状态;初始化通信对象并有效处理报文信息,解析所接收的DeviceNet总线报文并对将要发送的报文打包,以符合DeviceNet协议规范; 独立式CAN控制器与微处理器双向连接,用于接收总线报文并向总线发送符合CAN协议的报文;按照CAN规范对总线数据进行和过滤,提高本装置的通信效率。
CAN总线收发器通过光耦与独立式CAN控制器双向连接,用于实现通信装置与总线电平之间的转换; 数据扩展存储器与微处理器双向连接,用于存储大量的通信过程数据及I/O数据; 所述的Modbus接口电路部分包括 RS-485总线收发器SN75LBC184 与DeviceNet接口电路中的微处理器通过TXD和RXD双向连接,用于接收DeviceNet接口电路中的微处理器发送来的Modbus命令,并且发送Modbus设备响应报文给DeviceNet接口电路中的微处理器; 所述的参数设置电路包括 拨码开关电路与DeviceNet接口电路中的微处理器双向连接,用于设置通信装置的通信波特率及总线节点号; 模块与网络状态电路与DeviceNet接口电路中的微处理器双向连接,用于实时反映通信装置的工作状态及通信状态。
全文摘要
一种基于DeviceNet-Modbus协议转换装置,包括DeviceNet接口电路,用于接收发送并分析处理DeviceNet主站和微处理器转换过来的DeviceNet数据信息;Modbus接口电路,用于接收协议转换模块发送来的Modbus命令,并且发送Modbus设备响应报文给微处理器以便进行协议转换;参数设置电路,用于设置通信装置的通信波特率及总线节点号,并实时反映通信装置的工作状态及通信状态。通过本发明提供的硬件结构,可以实现带有Modbus接口的设备接入到DeviceNet网络中。
文档编号H04L29/06GK102710622SQ20121016077
公开日2012年10月3日 申请日期2012年5月22日 优先权日2012年5月22日
发明者贾超, 陈在平 申请人:天津理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1