一种用于Modbus总线的本地报文记录系统的制作方法

文档序号:14862696发布日期:2018-07-04 08:36阅读:443来源:国知局
一种用于Modbus总线的本地报文记录系统的制作方法

本实用新型涉及Modbus总线的数据监测领域,尤其是涉及一种用于Modbus总线的本地报文记录系统。



背景技术:

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

随着Modbus通信协议的应用越发广泛,对于Modbus总线上报文的记录也显得越发重要,现有技术中,对于Modbus总线进行报文记录往往只是通过将总线中的数据转化为加有时间戳的报文后,通过处理器写入到与处理器连接的存储设备中,这种方法具有如下问题:首先是处理器往往只能与单一存储设备连接,因此对于报文的存储是极其有限的,在报文数据量大时会存在数据溢出的问题;另外在通过处理器将数据写入到存储设备时,由于处理器是通过外部电路进行供电,由于供电电压的不稳定,容易发生丢失报文数据的情况。



技术实现要素:

本实用新型的目的是针对上述问题提供一种用于Modbus总线的本地报文记录系统。

本实用新型的目的可以通过以下技术方案来实现:

一种用于Modbus总线的本地报文记录系统,包括依次连接的监听接口、信号解码器和CPU处理器,所述监听接口与Modbus总线连接,还包括供电接口,所述供电接口的输入端与外部供电电路,输出端与CPU处理器连接,所述系统还包括FPGA芯片、数据传输总线接口芯片和传输控制电路,所述FPGA芯片一端与CPU处理器连接,另一端上设有多个内置网口,每个内置网口均与一个存储器连接;所述数据传输总线接口芯片的一端与CPU处理器连接,另一端设有多个第一数据传输总线端口,每个第一数据传输总线端口均与一个存储子单元连接,所述传输控制电路的两端分别与供电接口的输出端和CPU处理器连接,所述供电接口的输出端还与FPGA芯片连接。

优选地,所述传输控制电路包括第一比较器、第二比较器、第一二极管和第二二极管,所述供电接口的输出端分别与第一比较器的正极输入端和第二比较器的负极输入端连接,所述第一比较器和第二比较器的输出端相接后共同连接CPU处理器。

优选地,所述供电接口与第一比较器的正极之间还设有第一电阻,所述供电接口与第二比较器的负极之间还设有第二电阻。

优选地,所述FPGA芯片上的内置网口数量不少于2个。

优选地,所述第一数据传输总线端口的数量不少于2个。

优选地,所述存储子单元包括相互连接的第二数据传输总线端口和总线适配卡,所述第二数据传输总线端口通过数据传输总线与第一数据传输总线端口连接,所述总线适配卡上设有多个外接网口,每个外接网口均与一个存储器连接。

优选地,所述外接网口的数量不少于2个。

优选地,所述存储器包括TF存储卡或SD卡。

优选地,所述监听接口为RS232接口。

与现有技术相比,本实用新型具有以下有益效果:

(1)通过将CPU处理器与具有多个网口的FPGA芯片连接,而FPGA芯片的每一个网口均可与一个存储器连接,从而可以有效地扩展存储容量,同时由于FPGA具有多个网口,可以实现报文数据的并行存储,从而在个别存储器故障无法实现数据存储的情况下,仍然能保证本地报文的正常记录;除了FPGA芯片以外,CPU处理器还与数据传输总线接口芯片连接,数据传输总线接口芯片上设有多个第一数据传输总线端口,每个端口还可以与一个存储子单元连接,因此进一步从外部扩展了数据存储的容量,与FPGA芯片配合,可以实现超大容量的报文数据存储;同时增加传输控制电路,该传输控制电路的输入端与供电接口的输出端连接,从而可以实现对供电接口输出电压的监控,在电压不在规定阈值范围内时,向CPU处理器输出高电平,提醒CPU处理器目前暂时停止报文的数据传输,避免由于供电电压不稳定而发生的报文传输出错等情况的发生。

(2)传输控制电路包含两个比较器,第一比较器的正极输入端和第二比较器的负极输入端均与供电接口连接,而第一比较强的负极输入端和第二比较器的正极输入端则分别可以与CPU处理器正常工作范围内的阈值电压的两个端点值电压连接,从而在供电接口的输出电压在阈值范围内时输出低电平,在超出阈值范围内时输出高电平,通过两个比较器构成的传输控制电路,可以将CPU处理器的工作电压监控在一个阈值范围内,既避免了CPU处理器的电压过低也避免了电压过高的情况发生。

(3)供电接口与第一比较器的正极之间还设有第一电阻,供电接口与第二比较器的负极之间还设有第二电阻,通过电阻的设置,避免了由于大电流的存在而烧坏比较器,从而导致的传输控制电路失效。

(4)FPGA芯片上的内置网口数量和第一数据传输总线端口的数量均不少于2个,可以保证数据存储的扩展功能的实现,不会造成硬件上的浪费。

(5)每一个存储子单元包括相互连接的第二数据传输总线端口和总线适配卡,第二数据传输总线端口通过数据传输总线与第一数据传输总线端口连接,从而实现了报文数据的稳定传输,在通过FPGA进行内部存储数据也接近溢出后,可以利用外部的存储子单元进行进一步存储,而且总线适配卡上设有多个外接网口,每个外接网口均与一个存储器连接,可以实现存储器的几何倍数增长,同时外接网口的数量也不少于2个,同样保证了不会造成硬件的浪费。

(6)存储器既可以是TF存储卡也可以说SD卡,根据用户的实际需要进行选择,而且由于各网口之间互不干扰,也可以部分网口连接TF存储卡,部分网口连接SD卡,配置灵活。

(7)监听接口为RS232接口,覆盖的通讯距离长而且数据的处理传输速度好,同时由于RS232接口较为常见,因此成本低,性价比高。

附图说明

图1为用于Modbus总线的本地报文记录系统的结构示意图;

图2为存储子单元的结构示意图;

其中,1为Modbus总线,2为监听接口,3为信号解码器,4为CPU处理器,5为FPGA芯片,6为内置网口,7为存储器,8为供电接口,9为传输控制电路,10为外部供电电路,11为数据传输总线接口芯片,12为第一数据传输总线端口,13为存储子单元,14为第二数据传输总线端口,15为总线适配卡,16为外接网口。

具体实施方式

下面结合附图和具体实施例对本实用新型进行详细说明。本实施例以本实用新型技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本实用新型的保护范围不限于下述的实施例。

如图1所示,本实施例提供了一种用于Modbus总线的本地报文记录系统,包括依次连接的监听接口2、信号解码器3和CPU处理器4,监听接口2与Modbus总线1连接,还包括供电接口8,供电接口8的输入端与外部供电电路10,输出端与CPU处理器4连接,系统还包括FPGA芯片5、数据传输总线接口芯片11和传输控制电路9,FPGA芯片5一端与CPU处理器4连接,另一端上设有多个内置网口6,每个内置网口6均与一个存储器7连接;数据传输总线接口芯片11的一端与CPU处理器4连接,另一端设有多个第一数据传输总线端口12,每个第一数据传输总线端口12均与一个存储子单元13连接,传输控制电路9的两端分别与供电接口8的输出端和CPU处理器4连接,供电接口8的输出端还与FPGA芯片5连接。

其中,传输控制电路9包括第一比较器、第二比较器、第一二极管和第二二极管,供电接口8的输出端分别与第一比较器的正极输入端和第二比较器的负极输入端连接,第一比较器和第二比较器的输出端相接后共同连接CPU处理器4。供电接口8与第一比较器的正极之间还设有第一电阻,供电接口8与第二比较器的负极之间还设有第二电阻。FPGA芯片5上的内置网口6数量不少于2个。第一数据传输总线端口12的数量不少于2个。

存储子单元13的结构如图2所示,包括相互连接的第二数据传输总线端口14和总线适配卡15,第二数据传输总线端口14通过数据传输总线与第一数据传输总线端口12连接,总线适配卡15上设有多个外接网口16,每个外接网口16均与一个存储器7连接。外接网口16的数量不少于2个。无论是FPGA芯片5连接的存储器7还是存储子单元13内的存储器7,均可以灵活的采用TF存储卡或SD卡以及其他的存储硬件,不同网口之间连接的存储器7,可以相同也可以不同。而本实施例中,监听接口2为RS232接口。

该系统的工作原理如下:首先监听接口2对Modbus总线1上的报文数据进行采集,在采集的同时将报文数据转化成TTL电平信号,转化后的TTL电平信号进入信号解码器3,信号解码器3对其进行解析后再转化为报文数据,同时在报文数据中加入时间戳从而得到带有时间的报文log文件,CPU处理器4将该log文件的内容通过FPGA芯片5的多个内置网口6,并行的写入到与每个内置网口6连接的存储器7中,在CPU处理器4进行报文的写入操作时,供电接口8将外部供电电路10提供的电压分别传输到CPU处理器4和FPGA芯片5内,为其供电。由于外部供电电路10一般提供的电压不稳,为了保证数据写入的稳定性,传输控制电路9中的两个比较器通过与供电接口8的输出端相连进行电压的比较,从图中可以看出,在供电接口8的输出电压在U2和U1之间时,第一二极管和第二二极管输出低电平至CPU处理器4,此时CPU处理器4正常进行数据向存储器7内的写入,而在供电接口8的输出电压低于U2或高于U1时,第一二极管和第二二极管输出高电平至CPU处理器4,此时CPU处理器4停止进行数据向存储器7内的写入,直至接收到传输控制电路9输出的低电平为止。

如果FPGA芯片5内置网口6所连接的存储器7均不包含足够的存储空间时,则可以调用与CPU处理器4连接的数据传输总线接口芯片11,该芯片的读写性能略低于FPGA芯片5,因此在存储的优先级上低于FPGA芯片5,在通过该芯片进行报文的传输时,首先在数据传输总线接口芯片11上多个第一数据传输总线端口12进行并行的数据传输,每个第一数据传输总线端口12均与一个存储子单元13连接,而数据通过数据传输总线进入到存储子单元13内的第二数据传输总线端口14后,经由总线适配卡15上的外接网口16,最终进入到每个与外接网口16连接的存储器7内,实现报文的本地存储。

通过上述操作,一方面FPGA内置网口6连接多个存储器7且数据传输总线接口芯片11通过外接网口16也连接多个存储器7的设置可以使得在报文数据量过大时也可以尽量避免数据的溢出,实现了大容量的数据存储;另一方面通过传输控制电路9,可以保证CPU处理器4只有在供电电压在阈值内时才会进行数据的写入,避免了由于供电电压超范围时进行数据写入而导致的报文数据丢失的情况。

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