一种基于双向http服务的数据采集及其采集系统与采集方法与流程

文档序号:12473603阅读:344来源:国知局
一种基于双向http服务的数据采集及其采集系统与采集方法与流程

本发明涉及数据采集领域,尤指一种基于双向http服务的数据采集系统及其采集方法。



背景技术:

数据采集器是远程数据通讯系统中的关键性设备。在远程数据通讯系统中,安装在现场的各类传感器网络(或仪表网络),通过现场总线集中并连接到数据采集器,然后数据采集器通过有线或无线方式远程连接到上位机服务器,从而实现传感器网络(或仪表网络)和上位机服务器之间的数据双向通讯。随着国民经济的深入发展,数据采集器在越来越多的场合得到了广泛的应用,例如在供电、供气、供水等市政基础设施行业,数据采集器可将千家万户的电表、燃气表、水表等仪表数据实时汇总并发送到供电公司、燃气公司、自来水公司等,从而实现远程自动抄表。数据采集器与上位机服务器之间的连接,可以通过有线网络,也可以通过无线网络。在市面上,数据采集器与上位机服务器之间的连接方式以GPRS方式最为常见,这是因为GPRS无须现场布线且运行成本较低。数据采集器上电以后,启动GPRS模块,通过TCP/IP方式连接上位机服务器,从而实现上位机服务器与数据采集器之间的数据通讯。

为响应任意时间点都可能发起的数据通讯请求,数据采集器必须在上位机服务器上面保持实时在线或永远在线。实时在线的需求导致两方面的问题:首先,GPRS的信道资源有限度,当同一区域内有较多的GPRS设备需要联网时,暂时没有数据通讯的GPRS设备将被踢下线,因此,为保持实时在线,数据采集器不得不每隔一定时间间歇性地往上位机服务器发送心跳数据包,这样就会导致数据采集器的流量费用增加;其次,数量众多的数据采集器都实时登录在上位机服务器上面,对于上位机服务器的端口资源、线程资源等提出了较大的要求,因此往往需要很多台上位机服务器以集群的方式才能负载数量众多的数据采集器的实时在线,这样就直接导致了上位机服务器的建设成本和运营成本的大幅度提高。

为克服上述两方面问题,也有人提出一种非实时在线的数据采集器或方法。这类数据采集器,只在底层传感器网络(或仪表网络)有数据发送请求时,或者在事先规定的时间,才会主动向上位机服务器发起连接请求并发送数据,数据发送完毕以后立即主动断线,以此解决GPRS流量费用和降低对上位机服务器的性能要求。但是,这类数据采集器也存在一个较为严重的问题:当数据采集器不在线时,因为数据采集器的IP地址往往非静态且不固定,所以上位机服务器就无法通过IP寻址方式连接数据采集器,上位机服务器就无法主动连接数据采集器从而导致数据无法直接在远程数据通讯系统内部上传下达。



技术实现要素:

为解决上述问题,本发明提供一种基于双向http服务的数据采集器及其采集系统与采集方法,该数据采集器与上位机服务器之间的数据通讯通过双向http服务完成,无需在上位机服务器上保持实时在线或永远在线。

为实现上述目的,本发明采用的技术方案是:一种基于双向http服务的数据采集器,包括MCU芯片、电源模块、数字量输入接口、模拟量输入接口、串行接口、GPRS模块、现场总线接口,所述MCU芯片、数字量输入接口、模拟量输入接口、串行接口、GPRS模块、现场总线接口均与电源模块连接,所述电源模块外接电源,所述数字量输入接口、模拟量输入接口均设有采集接口,所述数字量输入接口、模拟量输入接口均通过采集接口与MCU芯片的IO口双向传输连接,所述串行接口、GPRS模块、现场总线接口均与MCU芯片的IO口双向传输连接。

具体地,所述数字量输入接口最多有四个,但同一时间只能有一个数字量输入接口处于工作状态,所述模拟量输入接口最多有八个,但同一时间只能有一个模拟量输入接口处于工作状态。

一种基于双向http服务的数据采集系统,包括所述数据采集器、上位机服务器、现场总线、传感器或仪表,所述传感器或仪表与现场总线连接,所述现场总线通过现场总线接口与数据采集器双向传输连接,所述数据采集器通过GPRS模块与上位机服务器无线连接。

一种基于双向http服务的数据采集器的采集方法:

a.所述数据采集器通过现场总线接口与现场传感器网络或仪表网络连接,并且通过GPSR模块与上位机服务器连接,数据采集器启动http服务;

b.所述数据采集器向上位机服务器请求http服务,并将数据采集器自身的http服务地址发送给上位机服务器,完成上位机服务器内的注册和配置;

c.所述数据采集器定期通过上位机服务器http服务POST运行数据;

d. 所述上位机服务器有抄收现场传感器网络或仪表网络数据的需求时,所述上位机服务器Web应用系统向数据采集器发送http指令,数据采集器解析指令,并向上位机服务器返回结果;

e.当所述数据采集器内的GPRS模块从网络上掉线重连之后,重复执行步骤b过程。

具体地,所述数据采集器自身的http服务地址包括IP地址/域名、端口、服务名、数据上传间隔。

具体地,所述数据采集器内的MCU芯片通过现场总线并根据ID号逐个读取现场传感器或仪表的数据,然后把数据存储在MCU芯片内,再将数据装载在的上位机服务器的http服务请求内,通过GPRS模块向上位机服务器请求,当该http服务请求发送成功时,表示上位机服务器收到相关数据,当该http服务请求发送失败时,则MCU芯片继续重复上述步骤,直到该http服务请求发送成功为止。

本发明的有益效果在于:本发明数据采集器与上位机服务器之间均能主动发起数据连接,从而保证数据通讯系统可响应任意时间发起的数据上传或下达任务,无需在上位机服务器上保持实时在线或永远在线。与传统实时在线的数据采集器相比,本发明数据采集器对上位机服务器的性能资源要求大幅度降低,同时对GPRS流量要求更少,可大幅度降低数据采集器的运行费用。

附图说明

图1 是本发明数据采集器的结构示意图。

图2 是本发明的远程数据通讯系统方案示意图的图。

图3 是本发明的正极工作流程示意图。

附图标号说明:1. 数据采集器;11.MCU芯片;12.电源模块;13.数字量输入接口;14.模拟量输入接口;15.串行接口;16.GPRS模块;17.现场总线接口;2. 上位机服务器;3. 现场总线;4.传感器或仪表。

具体实施方式

请参阅图1-3所示,本发明关于一种基于双向http服务的数据采集器1,包括MCU芯片11、电源模块12、数字量输入接口13、模拟量输入接口14、串行接口15、GPRS模块16、现场总线接口17,所述MCU芯片11、数字量输入接口13、模拟量输入接口14、串行接口15、GPRS模块16、现场总线接口17均与电源模块12连接,所述电源模块12外接电源,所述数字量输入接口13、模拟量输入接口14均设有采集接口,所述数字量输入接口13、模拟量输入接口14均通过采集接口与MCU芯片11的IO口双向传输连接,所述串行接口15、GPRS模块16、现场总线接口17均与MCU芯片11的IO口双向传输连接。

采用上述方案,与现有技术相比,本发明数据采集器1无需在上位机服务器2上保持实时在线或永远在线,同时数据采集器1与上位机服务器2之间又均能主动发起数据连接,保证数据通讯系统可响应任意时间发起的数据上传或下达任务。与传统实时在线的数据采集器相比,本发明数据采集器1对上位机服务器2的性能资源要求大幅度降低,同时对GPRS流量要求更少,可大幅度降低数据采集器1的运行费用。

具体地,所述数字量输入接口13最多有四个,但同一时间只能有一个数字量输入接口13处于工作状态,所述模拟量输入接口14最多有八个,但同一时间只能有一个模拟量输入接口14处于工作状态。

一种基于双向http服务的数据采集系统,包括所述数据采集器1、上位机服务器2、现场总线3、传感器或仪表4,所述传感器或仪表4与现场总线3连接,所述现场总线3通过现场总线接口17与数据采集器1双向传输连接,所述数据采集器1通过GPRS模块16与上位机服务器2无线连接。

一种基于双向http服务的数据采集器的采集方法:

a.所述数据采集器1通过现场总线接口17与现场传感器或仪表4网络连接,并且通过GPSR模块16与上位机服务器2连接,数据采集器1启动http服务;

b.所述数据采集器1向上位机服务器2请求http服务,并将数据采集器1自身的http服务地址发送给上位机服务器2,完成上位机服务器2内的注册和配置;

c.所述数据采集器1定期通过上位机服务器2http服务POST运行数据;

d. 所述上位机服务器2有抄收现场传感器网络或仪表网络数据的需求时,所述上位机服务器2Web应用系统向数据采集器1发送http指令,数据采集器1解析指令,并向上位机服务器2返回结果;

e.当所述数据采集器1内的GPRS模块16从网络上掉线重连之后,重复执行步骤b过程。

具体地,所述数据采集器1自身的http服务地址包括IP地址/域名、端口、服务名、数据上传间隔。

具体地,所述数据采集器1内的MCU芯片11通过现场总线3并根据ID号逐个读取现场传感器或仪表4的数据,然后把数据存储在MCU芯片11内,再将数据装载在的上位机服务器2的http服务请求内,通过GPRS模块16向上位机服务器2请求,当该http服务请求发送成功时,表示上位机服务器2收到相关数据,当该http服务请求发送失败时,则MCU芯片11继续重复上述步骤,直到该http服务请求发送成功为止。

下面通过具体实施例对本发明作进一步的说明。

参阅图1所示,本具体实施例数据采集器1内部主要包括MCU芯片11、电源模块12、数字量输入接口13、模拟量输入接口14、串行接口15、GPRS模块16、现场总线接口17,其中MCU芯片11是数据采集器1的核心处理单元和控制单元,现场总线3对外与底层传感器或仪表4网络的现场总线3相连接,对内与MCU芯片11的IO口相连接,根据实际应用情况,现场总线接口17与现场总线3能够遵循M-Bus协议、Moubus协议、Can总线等。

数字量输入接口13对外可采集底层传感器或仪表4产生的各类数字量或开关量,然后在通过MCU芯片11的IO口,将各类数字量和开关量输送到MCU芯片11进行进一步的运算和处理。本发明提出的数据采集器1,其内部的数字量输入接口13最多可以有四个,但同一时间只能有一个数字量输入接口13处于工作状态,四个数字量输入接口13按照顺序依次轮询式工作。同理,其内部的模拟量输入接口14对外可采集底层传感器或仪表4产生的各类模拟量信号,然后在通过MCU芯片11的IO口,将各类模拟量信号输送到MCU芯片11进行进一步的运算和处理。数据采集器1内部的模拟量输入接口14最多可以有八个,但同一时间只能有一个模拟量输入接口14处于工作状态,八个模拟量输入接口14按照顺序依次轮询式工作。

GPRS模块16连接到MCU芯片11的IO口,并通过SPI方式与MCU芯片11进行通讯,将MCU芯片11需要发送的数据以透明传输的方式发送到上位机服务器2,同样也以透明传输的方式将上位机服务器2下发的指令发送给MCU芯片11。与此类似,串行接口15对内与MCU芯片11带串口功能的IO口相连,对外与带串口功能的设备相连,以实现外部串口设备,如现场调试设备或生产测试设备对数据采集器的调试或测试。

参阅图2所示的采用本发明的远程数据通讯系统方案示意图, 由数量众多的底层传感器或仪表4组成的传感器网络或仪表网络,通过现场总线3集中并连接到本发明的数据采集器1内部的数字量输入接口13或模拟量输入接口14,然后通过数据采集器1内部的GPRS模块16以无线方式远程登陆到上位机服务器2,从而实现底层传感器或仪表将各类信号或仪表数据通过数据采集器1发送给上位机服务器2,同时也可将各类操作命令和控制命令通过数据采集器1发送给底层传感器或仪表4。本具体实施例数据采集器1可在需要数据采集和设备控制的工业领域、民用物联网领域、市政基础设施领域等应用。

参阅图3所示,本具体实施例整机的工作流程所对应的软件程序,都是在MCU芯片11运行的。其中整机的工作流程如下:

1)数据采集器1在现场安装完毕且打开电源上电之后,其内部各个模块首先会完成初始化工作,包括控制各个模块的各类参数和寄存器的初始化。接着,数据采集器1内的GPRS模块16将启动,并同时启动http服务。然后,数据采集器1向上位机服务器2请求http服务,将数据采集器1自身的http服务地址,包含IP地址/域名、端口、服务名和数据上传间隔发送给上位机服务器2,数据采集器1便完成了在上位机服务器2内的注册和配置。数据采集器1在上位机服务器2完成注册和配置以后,数据采集器1即主动断开与上位机服务器2的连接(这是由http的工作原理和运行方式决定的),释放服务器端口和线程资源。但与此同时,数据采集器1与internet网络仍保持连接,即数据采集器1在internet网上的IP保持不变。当GPRS模块16发生断线重连的情况之后,由于重新连接上线的GPRS模块16的IP地址已经发生变化,因此此时数据采集器1将重复上述启动http服务和配置http地址的步骤。

2)完成上述步骤之后,数据采集器1将运行MCU芯片11内部的时钟模块,并以循环的方式继续运行程序,等预先设定的时间到达以后完成相应的动作。数据采集器1预先会设定两类时间间隔,即向下读取底层传感器或仪表4数据的时间间隔,以及向上位机服务器2发送数据的时间间隔。这两类时间间隔根据实际需要而定,一般为1小时到24小时之间。

3)当读取底层传感器或仪表4数据的时间间隔到达时,MCU芯片11会首先从其内部的存储模块读取第一个传感器或仪表的ID号,然后根据该传感器或仪表的通讯协议,向其发送读取数据的一串命令帧。收到该传感器或仪表返回的数据以后,MCU芯片11再将数据存储在该传感器或仪表ID号所对应的存储空间内。然后,MCU芯片11将装载下一个传感器或仪表的ID号,并重复发送命令和存储数据的过程,直到将所有传感器或仪表的数据全部读完为止,然后MCU芯片11将重新返回到循环等待过程中。

4)当向上位机服务器2发送数据的时间间隔到达时,MCU芯片11会首先将存储模块内相应的数据都读出来,然后将这些数据都装载在想上位机服务器2的http服务请求之内,然后通过GPRS模块16向上位机服务器2发送http服务请求,当该请求发送成功时,即意味着上位机服务器2已收到相关数据,此时MCU芯片11会重新返回到循环等待过程中。如果http服务请求发送失败,则MCU芯片11会重复上述步骤,直到http服务请求发送成功为止。

5)当数据采集器1收到上位机服务器2的http服务请求时,此时数据采集器1将首先解析该http请求,从中提取上位机服务器2想要获得数据的信息类型,然后从MCU芯片11存储模块内将相应数据读出来,并将这些数据装载成http服务请求后发送给上位机服务器2。

从整机工作流程可知,与传统的数据采集设备或模块相比较,本发明提出的数据采集器1无需永远地实时登录在上位机服务器2上面,但同时又通过双向http服务保证了数据采集器1和上位机服务器2均能主动发起数据连接。因此,使用本发明提出的数据采集器,不仅可响应远程数据通讯系统任意时间点发起的数据上传任务或数据下达任务,还可以大幅度降低对上位机服务器2的性能资源要求,同时降低GPRS模块16的流量和运行费用。

以上实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

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