一种基于Modbus协议的数据缓存方法、装置、系统及存储介质制造方法及图纸

技术编号:24334031 阅读:24 留言:0更新日期:2020-05-29 21:18
本发明专利技术公开了一种基于Modbus协议的数据缓存方法、装置、系统及存储介质,该缓存方法包括如下步骤:判断与数据库之间基于Modbus协议的通讯连接是否正常;当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件;判断与数据库之间的基于文件传输协议的通讯连接是否正常;当基于文件传输协议的通讯连接正常时,将历史文件通过文件传输协议发送至数据库。通过实施本发明专利技术,可以自动化实现数据库的断线缓存和历史导入功能。因此,本发明专利技术实施例提供的基于Modbus协议的数据缓存方法,可以解决现有技术中数据库与Modbus从站之间的连接断开导致出现重要数据丢失的技术问题。

A data caching method, device, system and storage medium based on Modbus Protocol

【技术实现步骤摘要】
一种基于Modbus协议的数据缓存方法、装置、系统及存储介质
本专利技术涉及通信
,具体涉及一种基于Modbus协议的数据缓存方法、装置、系统及存储介质。
技术介绍
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气SchneiderElectric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus最初是作为通过串行层传输数据的应用级协议实现的,现已扩展到包括通过串行、TCP/IP和用户数据报协议(UDP)的实现。因此,Modbus已经成为工业领域通信协议的业界标准(Defacto),并且现在是工业电子设备之间常用的连接方式。目前,在各类工业电子设备中,数据库可以基于Modbus协议从Modbus从站采集数据,然而当网络中断或其他原因导致数据库与Modbus从站之间的连接断开时,会使得数据库无法实时获取Modbus从站的数据,可能会出现重要数据丢失的情况。
技术实现思路
有鉴于此,本专利技术实施例提供了一种基于Modbus协议的数据缓存方法、装置、系统及存储介质,以解决现有技术中数据库与Modbus从站之间的连接断开导致出现重要数据丢失的问题。本专利技术提出的技术方案如下:本专利技术实施第一方面提供一种基于Modbus协议的数据缓存方法,该缓存方法包括如下步骤:判断与数据库之间基于Modbus协议的通讯连接是否正常;当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件;判断与所述数据库之间的基于文件传输协议的通讯连接是否正常;当基于文件传输协议的通讯连接正常时,将所述历史文件通过文件传输协议发送至所述数据库。可选地,判断与数据库之间基于Modbus协议的通讯连接是否正常,包括:每隔预设时间进行扫描,判断是否开启缓存;当开启缓存时,判断与数据库之间基于Modbus协议的通讯连接是否正常。可选地,将实时数据进行缓存,得到历史文件,包括:将实时数据写入缓冲区,当所述缓冲区写满时,将实时数据写入磁盘文件,得到历史文件。可选地,当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件之后,还包括:当基于Modbus协议的通讯连接正常时,判断上一时刻是否为故障状态;当上一时刻为故障状态时,判断与数据库之间的基于文件传输协议的通讯连接是否正常;当基于文件传输协议的通讯连接正常时,将缓存的历史文件通过文件传输协议发送至所述数据库。可选地,所述数据库为InSql数据库,所述历史文件为CSV格式的文件。可选地,所述文件传输协议为FTP协议。本专利技术实施例第二方面提供一种基于Modbus协议的数据缓存装置,该数据缓存装置包括:第一判断模块,用于判断与数据库之间基于Modbus协议的通讯连接是否正常;缓存模块,用于当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件;第二判断模块,用于判断与所述数据库之间的基于文件传输协议的通讯连接是否正常;传输模块,用于当基于文件传输协议的通讯连接正常时,将所述历史文件通过文件传输协议发送至所述数据库。本专利技术实施例第三方面提供一种基于Modbus协议的数据缓存系统,该数据缓存系统包括:数据库和Modbus从站,所述Modbus从站包括断线缓存模块,所述断线缓存模块执行如本专利技术实施例第一方面及第一方面任一项所述的基于Modbus协议的数据缓存方法;所述数据库包括缓存目录,所述缓存目录接收历史文件,将所述历史文件解析后保存。可选地,所述数据库还包括:文件传输服务器,所述文件传输服务器根据文件传输协议获取所述历史文件后传输至所述缓存目录。本专利技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本专利技术实施例第一方面及第一方面任一项所述的基于Modbus协议的数据缓存方法。本专利技术提出的技术方案,具有如下效果:本专利技术实施例提供了一种基于Modbus协议的数据缓存方法、装置、系统及存储介质,通过判断数据库和Modbus从站之间基于Modbus协议的连接是否超时,并在通讯超时时将实时数据进行缓存,得到历史文件,并将该历史文件通过文件传输协议传输至数据库,可以自动化实现数据库的断线缓存和历史导入功能。因此,本专利技术实施例提供的基于Modbus协议的数据缓存方法,可以解决现有技术中数据库与Modbus从站之间的连接断开导致出现重要数据丢失的技术问题。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的基于Modbus协议的数据缓存系统的结构框图;图2是根据本专利技术实施例的基于Modbus协议的数据缓存方法的流程图;图3是根据本专利技术另一实施例的基于Modbus协议的数据缓存方法的流程图;图4是根据本专利技术另一实施例的基于Modbus协议的数据缓存方法的流程图;图5是根据本专利技术实施例的基于Modbus协议的数据缓存装置的结构框图;图6是根据本专利技术实施例的基于Modbus协议的数据缓存终端的硬件结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1本专利技术实施例提供一种基于Modbus协议的数据缓存系统,如图1所示,该数据缓存系统包括:数据库10和Modbus从站20,Modbus从站20包括断线缓存模块21,断线缓存模块21可以在数据库10和Modbus从站20之间基于Modbus协议的连接断开时,将实时数据进行缓存,得到历史文件,并将该历史文件传输至数据库10;数据库10包括缓存目录11,缓存目录11接收历史文件,将历史文件解析后保存。可选地,该数据库10还可以包括:文件传输服务器12,文件传输服务器12根据文件传输协议获取历史文件后传输至缓存目录11。具体地,断线缓存模块21可以在得到历史文件后判断与文件传输服务器12之间的文件传输协议是否正常,当其正常时,断线缓存模块21可以将得到的历史文件通过文件传输协议传输至文件传输服务器12。可选地,该数据库10可以是InSql数据库,则保存的历史文件可以是CSV格式的文件。上述文件传输服务器12可以是FTP服务器。具体地,针对具有不同IP地址的InSql数据库,可以对应不同Modbus从站对象,即如图1所示的数据缓存系统可以包括多个。该数据库10可以设置在上位机1中,具有不同IP地址的数据库可以本文档来自技高网...

【技术保护点】
1.一种基于Modbus协议的数据缓存方法,其特征在于,包括如下步骤:/n判断与数据库之间基于Modbus协议的通讯连接是否正常;/n当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件;/n判断与所述数据库之间的基于文件传输协议的通讯连接是否正常;/n当基于文件传输协议的通讯连接正常时,将所述历史文件通过文件传输协议发送至所述数据库。/n

【技术特征摘要】
1.一种基于Modbus协议的数据缓存方法,其特征在于,包括如下步骤:
判断与数据库之间基于Modbus协议的通讯连接是否正常;
当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件;
判断与所述数据库之间的基于文件传输协议的通讯连接是否正常;
当基于文件传输协议的通讯连接正常时,将所述历史文件通过文件传输协议发送至所述数据库。


2.根据权利要求1所述的基于Modbus协议的数据缓存方法,其特征在于,判断与数据库之间基于Modbus协议的通讯连接是否正常,包括:
每隔预设时间进行扫描,判断是否开启缓存;
当开启缓存时,判断与数据库之间基于Modbus协议的通讯连接是否正常。


3.根据权利要求1所述的基于Modbus协议的数据缓存方法,其特征在于,将实时数据进行缓存,得到历史文件,包括:
将实时数据写入缓冲区,当所述缓冲区写满时,将实时数据写入磁盘文件,得到历史文件。


4.根据权利要求1所述的基于Modbus协议的数据缓存方法,其特征在于,当基于Modbus协议的通讯连接超时时,将实时数据进行缓存,得到历史文件之后,还包括:
当基于Modbus协议的通讯连接正常时,判断上一时刻是否为故障状态;
当上一时刻为故障状态时,判断与数据库之间的基于文件传输协议的通讯连接是否正常;
当基于文件传输协议的通讯连接正常时,将缓存的历史文件通过文件传输协议发送至所述数据库。


5.根据权利要求1所述的基于Modbus协议的数据缓存...

【专利技术属性】
技术研发人员:王刚
申请(专利权)人:北京力控华康科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1