发明内容
本发明实施例的目的在于提供一种基于仪表的数据采集器及数据采集方法,以解决需要对不同仪表协议进行仪表数据采集、仪表数据在进行传输过程中存在数据丢失和大量的原始数据造成的网络资源浪费的问题。
本发明实施例是这样实现的,一种基于仪表的数据采集器,所述数据采集器通过RS485总线与仪表相连,所述数据采集器包括:
RS485接口,用于获取通过RS485总线采集到的仪表数据;
协议解析器,用于根据仪表通讯协议表将所述仪表数据解析为第一仪表数据;
数据处理器,用于根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据;
所述RS485接口分别于与所述RS485总线和所述协议解析器相连,所述数据处理器与协议解析器相连。
进一步地,所述数据采集器还包括:
存储器,用于存储所述第二仪表数据;
通讯器,用于判断与数据管理器是否已建立无线或有线的连接,若否,则记录待发送的所述第二仪表数据的断点,若是,则从所述第二仪表数据的断点开始发送所述存储器中的所述第二仪表数据至所述数据管理器;
所述存储器与所述数据处理器相连,所述通讯器与所述存储器相连。
进一步地,所述RS485接口采用RS485接口芯片U1,所述协议解析器采用协议解析芯片U2,所述数据处理器采用数据处理芯片U3,所述存储器采用存储芯片U4,以及,所述通讯器采用通讯芯片U5;
所述RS485接口芯片U1的发送引脚TXD和接收引脚RXD分别接所述RS485总线,所述RS485接口芯片U1的数据引脚DA1接所述协议解析芯片U2的数据引脚DA1,所述协议解析芯片U2的数据引脚DA2接所述数据处理芯片U3的数据引脚DA2,所述数据处理芯片U3的数据引脚DA3接所述存储芯片U4的数据引脚DA3,所述存储芯片U4的数据引脚DA4接所述通讯芯片U5的数据引脚DA4。
本发明的另一目的在于提供一种基于仪表的数据采集方法,所述方法包括:
RS485接口获取通过RS485总线采集到的仪表数据;
协议解析器根据仪表通讯协议表将所述仪表数据解析为第一仪表数据;
数据处理器根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据。
进一步地,在根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据的步骤之后,还包括以下步骤:
存储器存储所述第二仪表数据;
通讯器判断与数据管理器是否已建立无线或有线的连接,若否,则记录待发送的所述第二仪表数据的断点,若是,则从所述第二仪表数据的断点开始发送所述存储器中的所述第二仪表数据至所述数据管理器。
进一步地,在根据仪表通讯协议表将所述仪表数据解析为第一仪表数据的步骤之前,还包括以下步骤:
协议解析器更新所述仪表通讯协议表。
进一步地,所述仪表通讯协议表包括所述仪表通讯协议与仪表的映射关系。
本发明提供了一种基于仪表的数据采集器及数据采集方法,根据仪表通讯协议对通过RS485总线采集到的仪表数据进行解析,实现了一条RS485总线对不同仪表协议的仪表进行仪表数据的采集,然后根据用户的需要从解析后的第一仪表数据中获取所需的第二仪表数据;为了避免所述第二仪表数据在传输过程中造成丢失,本发明提供了存储器对第二仪表数据进行存储以及提供了通讯器对上次未传输数据的断点进行记录,待网络恢复正常后,再接着从所述断点处将所述存储器中的第二仪表数据发送至仪表数据管理器。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例提供的基于仪表数据的数据采集器的组成结构,为了便于描述,仅示出了与本发明实施例相关的部分。
本实施例提供了一种基于仪表数据的数据采集器,所述数据采集器通过RS485总线与仪表相连,所述数据采集器可以包括:
RS485接口1,用于获取通过RS485总线采集到的仪表数据;
协议解析器2,用于根据仪表通讯协议表将所述仪表数据解析为第一仪表数据;
数据处理器3,用于根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据;
所述RS485接口1分别于与所述RS485总线和所述协议解析器2相连,所述数据处理器3与协议解析器2相连。
优选的是,所述数据采集器还可以包括:
存储器4,用于存储所述第二仪表数据;
通讯器5,用于判断与数据管理器是否已建立无线或有线的连接,若否,则记录待发送的所述第二仪表数据的断点,若是,则从所述第二仪表数据的断点开始发送所述存储器4中的所述第二仪表数据至所述数据管理器;
所述存储器4与所述数据处理器3相连,所述通讯器5与所述存储器4相连。
优选的是,协议解析器2还用于更新所述仪表通讯协议表。
优选的是,所述仪表通讯协议表可以包括所述仪表通讯协议与仪表的映射关系。
在RS485总线组成的仪表数据采集网中,通过仪表对待检测设备进行检测,获取仪表数据;通常,一路RS485总线上可以携带32块不同仪表通讯协议的仪表。
本实施例中具有4路RS485总线接口1,通过RS485总线分别接了25块不同仪表通讯协议的仪表。为了随时能兼容新的仪表,若更换或增添不同协议的仪表,协议解析器2可以从仪表通讯协议服务器端下载仪表通讯协议表并进行及时更新和配置。
基于RS485总线上的不同仪表通讯协议的仪表,协议解析器2根据仪表通讯协议表将所述仪表数据解析为第一仪表数据。通常,协议解析器2中的第一仪表数据的数据量比较大,所述第一仪表数据存在大量冗余数据,用户可以根据需要建立预设数据处理规则,数据处理器3根据所述预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据;从而,提高了数据的传输效率,有效地节省了网络资源。
为了保证所述第二仪表数据的正确及完整的传输,预先将所述第二仪表数据存储在存储器4中,待某块仪表的第二仪表数据已确定发送完至所述数据管理器后,才进行所述某块仪表的第二仪表数据的删除。从而,在网络通讯阻塞和断网等情况下,有效地避免了所述第二仪表数据的丢失。
尤其是,仪表处于恶劣的采集环境下,网络非常差;为了保证所述第二仪表数据的有效地、正确地、完成地传输,通讯器5提供了记录第二仪表数据的断点的功能;在出现异常网络的情况下,通讯器5记录第二仪表数据的断点,在下次网络恢复时,再从所述第二仪表数据的断点出开始续传。同时,在传输所述第二仪表数据的数据包中增加了纠错码,从而保证了所述第二仪表数据的正确性。
图2是本发明实施例提供的基于仪表的数据采集器的内部电路,为了便于描述,仅示出了与本发明实施例相关的部分。
作为本发明一实施例,所述RS485接口采用RS485接口芯片U1,所述协议解析器采用协议解析芯片U2,所述数据处理器采用数据处理芯片U3,所述存储器采用存储芯片U4,以及,所述通讯器采用通讯芯片U5;
所述RS485接口芯片U1的发送引脚TXD和接收引脚RXD分别接所述RS485总线,所述RS485接口芯片U1的数据引脚DA1接所述协议解析芯片U2的数据引脚DA1,所述协议解析芯片U2的数据引脚DA2接所述数据处理芯片U3的数据引脚DA2,所述数据处理芯片U3的数据引脚DA3接所述存储芯片U4的数据引脚DA3,所述存储芯片U4的数据引脚DA4接所述通讯芯片U5的数据引脚DA4。
RS485接口芯片U1的接收引脚RXD从RS485总线上获取仪表数据并从RS485接口芯片U1的数据引脚DA1发送至协议解析芯片U2的数据引脚DA1,协议解析芯片U2根据仪表通讯协议表将所述仪表数据解析为第一仪表数据并将所述第一仪表数据从数据引脚DA2发送至数据处理芯片U3的数据引脚DA2,数据处理芯片U3根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据并将所述第二仪表数据从数据引脚DA3发送至存储芯片U4的数据引脚DA3,存储芯片U4存储所述第二仪表数据,存储芯片U4的数据引脚DA4接通讯芯片U5的数据引脚DA4,通讯芯片U5判断与数据管理器是否已建立无线或有线的连接,若否,则记录待发送的所述第二仪表数据的断点,若是,则通讯芯片U5通过数据引脚DA4从所述存储芯片U4获取从所述第二仪表数据的断点开始的第二仪表数据,并续传至所述数据管理器。
本实施例提供了一种基于仪表的数据采集器,协议解析器根据仪表通讯协议对RS485接口采集到的仪表数据进行解析,实现了一条RS485总线对不同仪表协议的仪表进行仪表数据的采集,然后数据处理器根据用户的需要从解析后的第一仪表数据获取所需的第二仪表数据;为了避免所述第二仪表数据在传输过程中造成丢失,本发明通过存储器对第二仪表数据进行存储,通过通讯器对上次未传输数据的断点进行保存,待网络恢复正常后,通讯器再从断点处开始接着将存储器中的第二仪表数据发送至仪表数据管理器。
实施例二:
图3示出了本发明实施例提供的基于仪表的数据采集方法的实现流程,其过程详述如下:
步骤S101,RS485接口获取通过RS485总线采集到的仪表数据。
在RS485总线组成的仪表数据采集网中,通过仪表对待检测设备进行检测,获取仪表数据;通常,一路RS485总线上可以携带32块不同仪表通讯协议的仪表。
步骤S102,协议解析器根据仪表通讯协议表将所述仪表数据解析为第一仪表数据。
基于RS485总线上的不同仪表通讯协议的仪表,协议解析器根据仪表通讯协议表将所述仪表数据解析为第一仪表数据。
在根据仪表通讯协议表将所述仪表数据解析为第一仪表数据的步骤之前,还包括以下步骤:
协议解析器更新所述仪表通讯协议表。
所述仪表通讯协议表包括所述仪表通讯协议与仪表的映射关系。
随着科技的发展或应用的需要,可能需要更换或增添不同协议的仪表,为了随时兼容新仪表,协议解析器具有即时更新所述仪表通讯协议表的功能。通过有线或无线的方式从仪表通讯协议服务器端下载最新的仪表通讯协议表并进行及时更新和配置。
步骤S103,数据处理器根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据。
通常,采集到的第一仪表数据的数据量比较大,所述第一仪表数据存在大量冗余数据,用户可以根据需要建立预设数据处理规则,数据处理器根据所述预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据;从而,提高了数据的传输效率,有效地节省了网络资源。
优选的是,在根据预设数据处理规则从所述第一仪表数据获取用户需要的第二仪表数据的步骤之后,还可以包括以下步骤:
存储器存储所述第二仪表数据;
通讯器判断与数据管理器是否已建立无线或有线的连接,若否,则记录待发送的所述第二仪表数据的断点,若是,则从所述第二仪表数据的断点开始发送所述存储器中的所述第二仪表数据至所述数据管理器。
为了保证所述第二仪表数据的正确及完整的传输,预先将所述第二仪表数据存储在存储器中,待某块仪表的第二仪表数据已确定发送完至所述数据管理器后,才删除所述某块仪表的第二仪表数据。从而,在网络通讯阻塞和断网等情况下,有效地避免了所述第二仪表数据的丢失。
尤其是,仪表处于恶劣的采集环境下,网络非常差;为了保证所述第二仪表数据的有效地、正确地、完成地传输,通讯器提供了记录第二仪表数据的断点的功能;在出现异常网络的情况下,通讯器记录第二仪表数据的断点,在下次网络恢复时,再从所述第二仪表数据的断点出开始续传,同时,在传输所述第二仪表数据的数据包中增加了纠错码,从而保证了所述第二仪表数据的正确性。
本实施例提供了一种基于仪表的数据采集方法,根据仪表通讯协议对通过RS485总线采集到的仪表数据进行解析,实现了一条RS485总线对不同仪表协议的仪表进行仪表数据的采集,然后根据用户的需要从解析后的第一仪表数据获取所需的第二仪表数据;为了避免所述第二仪表数据在传输过程中造成丢失,本发明对第二仪表数据以及上次未传输数据的断点进行保存,待网络恢复正常后,再从断点处开始接着将第二仪表数据发送至仪表数据管理器。
本发明实施例提供了一种基于仪表的数据采集器及数据采集方法,根据仪表通讯协议对通过RS485总线采集到的仪表数据进行解析,实现了一条RS485总线对不同仪表协议的仪表进行仪表数据的采集,然后根据用户的需要从解析后的第一仪表数据中获取所需的第二仪表数据;为了避免所述第二仪表数据在传输过程中造成丢失,本发明提供了存储器对第二仪表数据进行存储以及提供了通讯器对上次未传输数据的断点进行记录,待网络恢复正常后,再接着从所述断点处将所述存储器中的第二仪表数据发送至仪表数据管理器。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。