时间:2022-03-05 22:40:57
序论:在您撰写数据采集论文时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
1.1采集系统方案采集系统方案如图2所示,系统由ST32F407单片机加FPGA结构组成,FPGA采用Altera公司的CYCLONEⅣ系列芯片EP4CE6E22C8N。单片机作为主控制器,用于控制FPGA采集,数据存储;电路包含以太网接口,GPS接口,SD卡存储器以及授时守时电路;FPGA部分用于产生AD同步时钟,控制六通道AD同步采集,并将采样值传入单片机中,电路包含6通道采集板和参考源;单片机与FPGA之间通过SPI接口与地址线A0进行通信。数字补偿晶体是整个系统的时钟源,该晶体的频率为16.384MHz,准确度为0.5×10-6,温漂为0.1×10-6。
1.2传感器选型本系统选用的传感器为ES-T型三分向力平衡式加速度计,传感器可以在±0.25gn到±4gn的范围内选择设定满量程,其动态范围优于155dB,带宽在DC-200Hz之间。
1.3信号调理与AD采集电路传感器输出为差分信号,信号动态范围为±5V,系统选用的AD芯片输入信号范围在±2.5V之间,所以传感器输出信号必须经过信号调理后才能进行采集,图3是其中一个通道的信号调理与AD采集电路,其余通道电路与该图完全一致。信号调理电路由全差动放大器OPA1632构成,该放大器的电压噪声密度为1.3nV/Hz1/2,在100Hz(高铁地震监测常用采样率为200sample/s)带宽范围内噪声有效值不超过15nV,满足地震信号采集要求。图中R2∶R1、R7∶R9均为2∶1,可将输入差分信号衰减2倍,实现将传感器输出的±5V信号衰减到±2.5V范围内,满足ADS1281的输入电压范围,图中二极管D1与D2是钳位二极管,将电压钳位在±3V左右,保护AD芯片。AD转换器是一款32bitΔ-Σ高精度模数转换器ADS1281,内部具有可编程FIR、IIR和SINC滤波器,0.6×10-6线性度,在250sample/s采样率下其SNR可达130dB,全速采样模式下功耗仅12mW,非常适用于电池供电的野外作业。通过配置PINMODE引脚,可将ADS1281设置为引脚控制模式(PINMODE=1)和寄存器控制模式(PINMODE=0),本系统将其配置成寄存器控制模式。系统为实现同步采样,将六通道ADS1281的低功耗控制PWDN,复位RST,同步SYNC,采样时钟CLK,SPI时钟SCLK,SPI数据输入DIN引脚分别连在一起,并由FPGA统一控制,达到时钟同步,统一配置AD的目的,从而实现同步采样;而ADS1281的数据输出引脚DOUT分别接在FPGA的6个不同IO口,用于读取六通道AD的数据。参考源是数据采集系统的关键部分,本系统利用DCDC产生-5V电压,低噪声LDO电源芯片LT1964产生-2.5V电压,作为六通道ADS1281的VREFN输入,LT1964噪声为30μVRMS(10Hz~100kHz);利用专用精准基准芯片LTC6655-2.5产生+2.5V电压,作为六通道ADS1281的VREFP输入,该芯片噪声0.25×10-6p-p(0.1Hz~10Hz),温飘为2×10-6/℃,经过试验,该方案是取得较好结果。
1.4FPGA采集控制与数据传输实现数据采集之前,STM32单片机需要通过FPGA对各通道采集卡(即ADS1281)进行配置;数据采集过程中,FPGA需要对六通道数据读取、打包并传入STM32单片机。控制线A0用于选择上述功能。当A0=0时,将STM32单片机与FPGA之间的SPI接口、FPGA与六通道采集卡之间的SPI接口直接相连,此时由STM32单片机直接完成采集卡配置;当A0=1,FPGA输出采样时钟CLK,六通道采集卡同时启动采样。FPGA数据采集与传输过程如图4所示。当六通道ADC数据准备就绪时,ADC_nDRDY信号将同时由高变低,FPGA收到下降沿信号后,将在ADC_SCLK引脚连续产生32个周期的SPI时钟,ADS1281在时钟上升沿输出数据(ADC_DOUT_1至ADC_DOUT_6),FPGA在时钟下降沿读取数据,六通道数据将被缓存在6个32bit寄存器ADC_DA-TA0至ADC_DATA5内;FPGA读取完六通道32bit数据后,在MCU_DRDY引脚产生一个高脉冲,通知STM32单片机读取数据,单片机在MCU_DRDY下降沿启动中断,并在中断中完成数据读取;数据读取过程中,单片机的SPI时钟MCU_SCLK连续产生时钟信号,FPGA在收到时钟信号时,将数据通过MCU_DIN输出,时钟信号共6×32=192个,正好读完六通道数据。
2预警系统C/S构架软件设计
2.1客服端LabVIEW编程PC机客服端界面与网络编程利用LabView软件实现。LabView是由美国国家仪器(NI)公司研制开发虚拟仪器开发软件,是一种图形化编程语言,使用较为方便[6-7]。LabView主界面包含采样率、量程设置,IP地址,端口,开始采集按钮,停止采集按钮和波形界面几个部分,其中波形界面由WaveChart控件实现,具体实现如下:将下位机上传的六通道数据绑定为簇,簇输出接到WaveChart控件的数据输入端,Wave-Chart控件的图形显示方式设置为分格显示曲线,由于簇输入是6个数组绑定而成,WaveChart自动将窗口分成6个子窗口,每个数据对应一个窗口;Wave-Chart界面更新模式设置为StripChart,此模式下波形从左至右绘制,达到右边边界时,旧数据从左边溢出,新数据从右边进入。LabView具有强大的网络编程功能,本系统客户端利用了其中的TCP/IP协议模块,主要涉及到以下几个函数:TCPOpen(打开),TCPRead(读取),TCPWrite(写入),TCPClose(关闭)。客户端程序工作流程如图5所示。从图中可以看出,从开始到结束采集一共用了两次TCP/IP连接,第1次用于发送采集命令,然后接收、处理、显示数据,当按下“停止采样”命令后,首先关闭第1次TCP/IP连接,此时服务器还在继续采集数据,但不发送,所以还需进行一次TCP/IP连接发送停止采集命令给服务器,服务器收到命令后即可停止采集,并进入低功耗模式。
2.2基于LWIP的服务器程序设计服务器的主控单片机是STM32F407,其内部集成了10/100M以太网MAC,结合PHY芯片DP83848即可完成以太网硬件搭建;以太网软件部分通过移植LWIP协议栈实现,已有较多文献或文档详细叙述了移植方法与过程,服务器接收命令、启动采样和传输数据等功能在tcp回调函数中实现。数据采集和传输是同时进行的,可在单片机中申请两个缓存,采用乒乓操作模式工作实现,即:其中一个用于中断采集数据存储,缓存满后,设置数据满标志,并查询另一个缓存的数据空标志,若为空,证明数据已经传输完成,可新的存储数据;另一个用于传输,传输完成后,设置数据空标志,并查询第1个缓存的数据满标志,若位满,证明数据可以传输;由于以太网的传输速度远大于数据采集的速度,以太网传输完成后会等待另一个缓存存满,所以整个过程中不会出现采样数据丢失的情况。
3采集系统性能测试
3.1噪声测试进行噪声测试时,将6通道输入短接,采样率设置为200sample/s;采集开始后,数据将以文本文档的形式实时存入SD卡。图6是由采集的一个通道数据用excel作图得到(取其中任意2000个点),从该图可以看出:该通道采集的输入短接噪声峰峰值在±1.5μV范围内。为进一步对噪声大小进行量化分析,分别进行了三次噪声测试,并在excel软件中利用STDEVA函数对每一次的六通道采集数据做均方差处理,处理结果如表1所示。从表中可以看出:每隔通道的噪声均方差低于0.5μV,噪声一致性较好;采集卡输入信号范围是±5V,按照ADC的信噪比计算公式可算出采集卡的信噪比优于140dB。
3.2地震信号采集实验实验时,把传感器放置于地面,传感器差分信号输出端接入采集卡第1通道,打开监测站电源,在PC机中启动LabVIEW界面,设定好采样率、量程、IP地址与端口,点击“启动采集”,在距传感器2m左右用硬物连续敲击地面,图7是截取的实时显示结果图,从图7可以看出,第1通道具有典型的地震波形输出,纵坐标单位为mV,第2通道~第6通道输出为随机噪声,纵坐标单位为μV。
4结束语
GPRS移动数据传输网络的主要作用就是对无线数据进行传输。在监控对象安装的数据采集点会对数据进行采集,然后经过GSM网络的空中接口模块,同时对数据进行解码处理,然后将其转换为可以在公网传输的格式,最后通过GPRS移动数据传输网络将数据传输至监控中心的服务器。在整个系统中,各个监控点的数据采集模块通过GPRS移动数据传输网络与监控中心相连,数据采集点同意使用STK卡,与此同时,监控中心会对各点进行登记,并在服务器中保存相关资料。各个监控点的数据采集模块中装有数据采集软件,该软件24h在线,对电网中的信息数据进行24h不间断的采集工作。关于信息的传输,使用的是JW0D2系列的GPRS无限透明数据传输终端。该终端基于移动网络,抗干扰能力较强,同时性能较高。此外,该传输终端还提供标准的RS232接口,以便实现与计算机的连接。在传输过程中,速率可以达到172kbps,能满足监控中心与各个监控点的数据采集与处理工作。由于电网数据传输的特殊性较强,因此本系统使用了安全保障,以保证系统运行的稳定性和可靠性。在网络安全方面,经过对信源加密、信道加密、登录防护、接入防护、访问防护等,能有效增强网络安全,加强安全防护。在硬件方面,使用VPN将公网接入到GPRS网中,成本低廉,不用租用专线。此外,使用VPN还可以增强安全性,客户端在链接应用服务器之前,要经过服务器的认证,而且整个数据传输过程均会加密,如此一来,安全性就得到了保障。另外,系统还对用户的SIM卡手机继续鉴别授权,在网络侧对SIM卡号和APN进行绑定处理,只有拥有权限的相关用户才能对专用APN进行访问,没经过授权的SIM卡将无法对APN网络进行访问。
2特点与优势
传输模块的特点主要有:①传输模块采用了工业级的GPRS模块,该模块性能较为稳定,而且其工作温度范围较大。另外,用了嵌入式的CPU作为处理器,功耗低、性能高,还能高速处理协议和大量的数据。②由于该模块的工作方式为multi-tasking,因此实时性较好。③其AT指令的预设简单方便。该模块的通信距离较远,而且具有覆盖面积广的特点,能使终端实时在线,能将无线电无法到达的区域采用GPRS通信的方式进行传输,真正实现了高效传输。此外,该系统还有组网灵活、扩展容易、维护简单、性价比高的特点。
与短消息服务相比,GPRS服务的实施性很强,而且系统不会出现延时的情况,可以对所有数据进行采集。此外,由于GPRS具有双向功能,还可以对采集设备进行反向控制,因此进一步提高了系统的便捷性。本系统的扩展性良好,是大面积覆盖的GPRS网络,所以该系统不存在盲区,而且由于该系统的输出容量较大,数据采集点较多,监控中心要与每一个监控点相连,因此需要系统能满足传输需求。该系统的传输容量较大,能满足突发性数据的传输要求,因此该系统的优点明显。
3结束语
对管内车站客票发售的运行数据进行采集统计分析的首要的条件就是要能联到地区客票中心的数据库,能从地区客票中心的数据库里取到相应的数据,PowerBuilder存取数据库的方式有如下两种:a、通过使用标准的数据接口ODBC(开放数据库连接);b、通过使用一个由Sybase公司提供的专用的直接与数据库相连的接口。本文选择a方式,但连接地区中心的数据库同时也给全地区的数据安全带来了极大的风险,因为地区中心数据库存放着整个地区中心的席位库、售票存根、计划调度命令,以及各种用于客运统计、财务统计和营销分析的所有数据,PowerBuilder作为前端数据库开发工具,提供了当前流行的大型数据库的连接接口同时,还提供一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,用户通过PowerBuilder很松的就可以修改数据库的内容,这无疑会给整个地区客票中心的数据安全带来严重的隐患,是绝对不允许的,所以在取得杭州电算站的同意下,另外开辟一台服务器作为金华车务段的数据库服务器,这样就隔离了对地区中心数据库的破坏,编写工作流脚本每天按时自动从杭州地区客票中心的数据库服务器上将车务段每天的售票存根和基础数据导出,再导入到地区中心车务段的数据库服务器,保持车务段数据库服务器和地区中心的数据库同步,通过铁路专用网,在车务段就可以利用一台PC机利用PowerBuilder通过ODBC接口轻松的连接到地区客票中心的车务段数据库服务器,这样就既不影响杭州地区客票中心数据库的数据安全,车务段还可以利用这些数据进行二次开发。通过PowerBuilder与地区客票中心的车务段数据库服务器连接的方法如图1所示。
2系统设计
2.1设计原则客票数据采集和分析系统是在实现业务需求的前提下,确保软件开发满足高质量软件系统的要求,因此,应该遵循以下设计原则。
2.1.1直观、使用方便用户界面友好、使用简单、操作方便、数据正确完整、分析功能强大。
2.1.2安全可靠考虑到了运输生产数据的敏感性,在代码编制过程中把信息安全放在了第一位,系统中对各个用户权限进行严格分级,并对所涉及的数据库的连接进行加密。确保客票系统核心数据不泄密,确保客票系统运行效率不降低,确保客票系统基础数据不被盗取。
2.1.3可维护性本系统通过ODBC连接到地区中心数据库,并采用Datawindow技术来处理多报表。
2.1.4可扩展性确保客票系统在数据量增长、用户增长以及业务增长时具有良好的可扩展性。
2.2系统构成
2.2.1硬件环境①服务器端:IBMSERVERX3850服务器一台,位于杭州地区客票中心机房,用于存放售票存根和基础数据。②客户端:可联入网络的个人电脑一台、打印机一台。
2.2.2软件环境①服务器端:操作系统采用Unix,数据库服务器采用Syabsel2.3.5数据库。②客户端:操作系统为WINDOWSXP、WIN7,浏览器为IE6.0及以上。
2.3关键技术与实现方法
2.3.1PowerBuilder连接到地区中心的车务段数据库服务器存放在地区中心的车务段数据库服务器是复制地区客票中心数据库服务器的基础数据库和运行数据库,用的都是Sybase数据库管理系统,在车务段可以利用一台安装有PowerBuilder并连入客票网的PC机通过正确配置PowerBuilder的DBprofile,可以连接位于地区客票中心的车务段服务器的Sybase数据库,最后的配置文件内容为。
2.3.2利用数据管道实现数据库之间的同步PB提供强大的数据管道技术,数据管道技术是实现两个数据库之间、数据库内部数据传输的一种常用方法,数据管道技术的调用主要有以下5个步骤:①创建应用程序所需对象;②执行数据管道初始化操作;③启动数据管道;④处理程式运行中移动数据的错误行;⑤执行数据移动完毕后的收尾操作。数据库管道可以在PowerBuilder提供的pipeline画板中创建并定义,需创建一个继承PB管道系统对象的用户对象,再通过这个对象来管理管道操作,编辑支撑对象的PipeMeter事件脚本,实现语句为:St_read.text=string(RowsRead)St_write.text=String(RowsWritten)St_wrong.text=String(RowsInError)保存用户对象,创建支撑用户对象命名为u_pipe,通过定义的u_pipe,可以实现地区客票中数据库中的数据通过稳定的数据管道安全、快速的传送到客票数据采集和分析系统的数据库中。
2.3.3利用DataWindow技术实现嵌套数据报表DataWindow技术是PowerBuilder最具特色最关键的一项技术,其FreeForm风格基本可以代替PB中所给的其他录入控件,达到以假乱真的地步。在数据窗口上显示数据步骤:①利用数据窗口绘图器绘制一个数据窗口对象(DataWindowObject)。②利用窗口绘图器绘制一个窗口对象(WindowObject),并且在窗口上放置一个数据窗口控件(DataWindowControl)。③指定数据窗口对象(DataWindowObject)给窗口上的数据窗口控件(DataWindowControl)。④将所要连接数据库的信息指定给交易对象(TransactionObject)。⑤利用Connect指令连接数据库和交易对象。⑥利用SetTransObject()函数连接数据窗口和交易对象。⑦利用Retrieve()从数据库读取数据PB数据窗口还具有嵌套报表的功能。所谓嵌套报表就是以一个报表为主体框架,根据需要在其中附加一个或多个报表,形成一个整体报表。其中主体框架的报表为主报表,附加的报表为辅报表。嵌套报表的功能体现在客票数据采集和分析系统中就是用户可以根据不同的筛选条件,可以任意组合,根据用户的不同要求展现不同的报表。
3功能模块分析
客票数据采集和分析系统主要有3大模块,分别是:数据采集模块、数据转换挖掘及定制模块、用户服务处理模块。下面就这3大模块分别进行分析说明。
3.1数据采集模块数据采集模块主要功能就是按用户不同的要求从地区客票中心的车务段数据库服务器中采集自己需要的数据并保存在本地数据库中,以供各种分析和统计,比如异地票的统计,按照路局要求异地票手续费收费标准:除动车组列车的返程票、联程票、低于30元的异地票、学生票以及管内动车组列车异地票免收5元手续费外,其余异地票均收5元异地手续费,用Select语句对数据库中sale_record表中的存根进行筛选,然后用Insert将采集到的数据存入到cen-ter库中的study_ydtj表中作为统计分析最基础的数据,当然这部分的工作都是通过运行PowerBuilder脚本在后成的。由于该模块具有数据传输量大、不可干扰性、准确性要求高和无人工干预等特点,因此,把这个模块设计为运行于数据库服务器中的一个后台进程,该进程通过中间件把客票数据采集和分析系统的数据库连接到地区中心Sybase数据库,然后利用数据管道技术定时批量的传输数据到客票数据采集和分析系统数据库中。为了防止数据传输过程中出现差错,该模块另一个功能是实时检查数据连接状态和数据管道的完整性,一旦发现错误,立即自动重启数据连接,并重建数据管道,有效的防止数据传输过程中差错的发生。
3.2数据转换、挖掘及定制模块数据转换、挖掘及定制模块主要功能是对传输到客票数据采集和分析系统数据库中的运输数据进行转换、挖掘及定制等操作,分别进行说明:①数据转换:将从地区客票中心的车务段数据库服务器的数据库获取的数据按照不同业务要求,转换成多种数据格式,满足不同的业务要求,并对错误、不一致的数据进行清洗和加工。②数据挖掘:通过对每个数据的定性和定量分析,从大量数据中寻找其规律的技术叫做数据挖掘技术。客票采集和分析系统存在着海量的历史数据,数据挖掘技术不仅能对历史数据进行查询和遍历,并且能够找出历史数据之间的潜在联系,分析客流,指明营销方向,帮助制定营销策略,给铁路决策层在运输生产决策中提供必要的建议。③数据定制:可以按照特定用户的特殊要求,把数据库中的相关数据进行抽取、分类和汇总,并存入特定数据表中,根据需要以Excel电子表格的形式提供给用户。
3.3用户服务处理模块用户服务处理模块主要用于资料分发,客票数据采集和分析系统给不同需求的用户提供齐全的客票信息和数据分类对比电子表格,用户服务处理模块将这些信息定时分发给需要的人,比如:站长、客运值班员等。
4结束语
硬件系统为:监控层、数据采集层、现场层〔2〕。
1.1监控层监控层采用总线形网络结构,在总线上挂接的设备主要有:数据采集I/O服务器、IH数据库服务器、关系型数据库服务器、APP服务器、Web服务器、调度操作站、工程师站等。1)数据采集I/O服务器,分为电力、动力、水三个系统,采用冗余配置,服务器安装IFIX5.1组态软件,在IFIX5.1的SCU中配置IGS、PFC、IEC驱动同数据采集站通讯,具体通讯方式如下,采集西门子PLC系统数据的,则以工业太网为桥梁,IFIX通过IGS驱动与其实现实时通讯;采用RTU采集系统数据的,IFIX通过PFC驱动与其实现实时通讯;采集申瑞765G综保管理机系统数据的,IFIX通过IEC驱动与其实现实时通讯。2)GPRS服务器,能控无线远传站通过柜内S7-200、SINAUTMD720-3GPRS调制解调器、天线和GPRS通信管理软件SINAUTMICROSC构成GPRS网络,最后通过OPC驱动与能控中心GPRS服务器实现通讯连接。3)IH数据库服务器,IH数据库服务器上安装GE公司的ProficyiHistorian实时数据库软件,IH通过配置Collector采集器软件从数据采集I/O服务器抓取数据,采集的数据周期以秒、分为单位刷新。4)关系型数据库服务器,安装有DB2和Oracle两种关系型数据库软件,完成数据的长期归档以及数据的压缩和数据的备份。5)APP服务器和Web服务器,APP服务器运行基础能源管理模块,Web服务器用于Web。6)调度操作站,通过调度操作站能控调度可以对能控系统的相关数据及设备的运行状态进行监控,而且能够通过B/S(客户端/服务器)的方式访问APP服务器的基础能源管理模块,使用自己权限所分配的功能。
1.2数据采集层数据采集层有124个数据采集站,包括西门子S7-300PLC82套、通讯柜41套,力控RTU(Remo-teTermialUite,远程终端单元)46套,覆盖工源厂区、东风厂区、南芬露天矿及歪矿,地域分散。同监控系统的通讯方式有有线方式和无线方式。其中有兴安解冻库、四水源等十个站点敷设电缆困难且条件恶劣,增加了建设和维护的成本,因此采用GPRS无线通信方式;有线方式采用环网加星形的网络结构,整个环网有7个主站,从EMS01到EMS07分别是能源中心、焦化仪表室、朱庄柜、六高炉主控室、4#转炉机房、维检中心、冷轧机房,环网将7个主站点连接起来,再由主站点以星形的结构向外辐射用于连接所有的数据采集站。
1.3现场层1)本钢现场层的设备现状现场一次仪表有电磁流量计、超声波流量计、差压流量计、涡街流量计,提供4~20mA标准信号,PLC和DCS系统有西门子S7、施耐德、AB、ABB、浙大中控JP-300XP、Honeywellpks系统HoneywellHC900等系统,电力综保系统有北京四方、上海申瑞、清华紫光等厂家,电度表有湖南威胜和黑龙江龙电两种型号。信号类型分为计量点和工艺点,计量点只对数据进行采集;工艺点包括数据的采集和设备的控制。2)采集方案的确定针对现场设备的实际情况确定了如下的数据采集方案:(1)RTU采集方式,此种方式只对数据进行采集。对于支持RS485协议的超声波流量计,例如本溪新宇超声波流量计,将该表通过串口通讯线接入到RTU的串口,通道协议选择ModbusMaster,端口选择Serial。采集原有西门子PLC系统数据的,将系统通过以太网方式接入RTU的网口,RTU配置软件中通道协议选取西门子PLC,通讯口:TCPClient,IP地址为所通讯的PLC地址,端口号为102。原有系统为DCS,例如十一加的HoneywellHC900,将系统通过以太网方式接入RTU的网口,通道协议为ModbusTCP,通讯口:TCPClient,IP地址为所通讯的DCS地址,端口号为502。浙大中控的JP-300XP系统,如发电厂32号机和氧气厂4#制氧机。将系统通过以太网方式接入RTU的网口,是通过OPC协议进行数据采集,在原有系统中安装OPCTunnellerServer,然后在另外一台计算机上使用OPCTunneller驱动进行采集,在RTU中通道协议中选择OpcTunnellerMaster。与电力综保通讯,将系统通过以太网方式接入RTU的网口,通道协议选择IEC104,需要说明的是采用此种通信方式的只有清华紫光和北京四方,不包括上海申瑞,申瑞通过综保管理机765G直接同电力服务器通信。智能电表的数据采集,威胜龙电两种电表都有网口,同威胜的电能采集器通讯,采集器通过以太网方式接入RTU的网口,通道协议选择威胜WFET2000s,IP地址为电能采集器端设置的IP,端口号为9001。(2)I/O采集方式,数据的采集和设备的控制。计量点,新增的或原有的需接入能管中心的点通过仪表提供4~20mA标准信号接入到PLC柜或I/O柜的AI输入模板。工艺点,例如燃气厂五加、六加、九加等煤气加压站既有采集数据的要求,还有对现场阀门进行控制要求的,系统则通过在原有西门子S7-300或400系统中加装CP模板的方式进行数据的采集和设备的控制。新增加的CP模块规划的IP地址同原有系统的IP地址不在同一个网段,为两个独立的网段,可以实现数据采集控制功能和对病毒隔离功能。
2系统功能
本钢能管中心数据采集监控系统从试运行以来,实现了以下功能:1)数据采集设备控制对电力系统的电量、电流、电压、功率、功率因数等,燃气系统、热电系统、氧氮氩系统的流量、压力、温度、柜位等,水系统的流量、压力、水位等进行采集,对电力系统的开关、燃气系统的加压机、水系统的泵等重要能源设备进行远方操作控制和实时调整。2)报警功能监控中心汇聚大量的数据,系统根据故障程度和重要性,设置了重故障、轻故障和事件三种报警类型,提示调度员进行相应的操作。3)操作记录对重要设备的操作进行记录,当故障发生后可以为事故的原因分析提供依据。4)数据处理包括流量累计、计算煤气热值、多个数据之和或差等,例如混合煤气的和。5)数据归档对于短时归档数据,提供过程曲线显示;长时归档数据,可按信号内容、起/讫时间、时间粒度(分钟/小时/天/月)、数值类型(Min/Max/Ave/Sum)进行历史数据查询,并可进行曲线显示。6)Web用户可通过IE浏览器来访问Web服务器,获取现场设备的状态和运行参数,在Web画面上不能进行参数设定等操作。内容包括各系统的工艺画面,重要的报警画面。
3结论
基于表层化方式的DeepWeb数据采集方法将DeepWeb数据采集问题建模为一个优化问题:已知一个DeepWeb数据库DB,对DB的采集可以表示为寻找一个查询集合Q={q1,q2,...,qn},在给定的约束条件C满足的条件下,查询集合Q从DB获取的DeepWeb数据最多,即查询集合Q对DeepWeb数据库资源的覆盖率达到最大。其中,C表示许向Web数据库提交查询请求的次数。基于表层化方式的DeepWeb数据采集问题的目标就是针对一个给定的DeepWeb数据库,寻找一组查询集合,使用该查询集合能够对DeepWeb数据库资源的覆盖率达到最大。基于表层化的方法的主要思想是通过向DeepWeb数据的查询接口提交查询把数据从Web数据库中挖掘出来。这方法能够充分利用搜索引擎爬虫,将DeepWeb数据的采集转换为SurfaceWeb数据采集的方式,不需要做很大的改变就可以无缝的将DeepWeb数据集成到现有的搜索引擎中。基于表层化方式的DeepWeb数据采集方法的关键是为查询接口生成合适的查询,其目标是为DeepWeb数据的查询接口生成有效的查询实例,构造表单查询,以便将Web数据库中的内容发现出来。一个查询接口可能包含多个输入项,如果每个输入项有100个有效的取值,那么对于一个有3个输入项的查询接口,组合生成的查询数量是1,000,000。因此,在迚行DeepWeb数据采集时,为每个查询接口生成所有可能的查询是不实际的。而且,对于查询接口中的一些文本输入项,其对应的有效的取值进不止100个,如图书查询接口的书名,作者等。基于表层化方法的DeepWeb数据采集的目标是以最小的查询数量达到最大的DeepWeb数据覆盖率。因此,如何为查询接口生成有效的查询是实现DeepWeb数据覆盖率最大化的重要环节。目前,针对这一问题的研究主要有基于词频的方法[11],基于集合覆盖的方法[12,13],基于强化学习(ReinforcementLearning,RL)的方法[14-16],面向领域的方法(HiWE[17]、DeepBot[18,19]),基于属性值图的方法[20],基于查询模板的方法[21],基于本体的方法[22-24]等。通过对查询接口的分析发现,查询接口根据输入项素的个数可分为:简单查询接口(SimpleQueryInterface)和复杂查询接口(ComplexQueryInterface)。简单查询接口包含一个输入项,即为简单的关键字查询接口,使用方式与搜索引擎接口一样;复杂查询接口则包含两个或多个输入项。因此,本文根据查询构造方法支持的接口类型将已有工作分为两类:简单查询接口查询构造方法,复杂查询接口查询构造方法。
1.1简单查询接口查询构造方法简单查询接口只有一个输入项,因此,对简单查询接口迚行查询构造时并不需要考虑表单输入项乊间的关系,只需要为该输入项生成候选查询关键字集合。基于词频的方法[11],基于集合覆盖的方法[12,13],基于强化学习(ReinforcementLearning,RL)的方法[14-16]属于此类的研究。基于词频的方法[11]基于一个假设:在实际数据库或文档集合中的高频词比随机选择的词具有更高的资源覆盖能力,而且高频词作为查询能够获取更多的查询结果。因此,该方法对简单搜索接口所在页面和查询返回的结果迚行抽样,然后在每一轮查询结果中选择高频词构造查询迚行资源采集。但是该方法有个明显的不足:在每次查询时,高频词无法确保获取更多的新页面。为此,Wang等人[12,13]将DeepWeb数据库采集问题建模为集合覆盖问题,利用目标数据库采样方法迚行DeepWeb数据爬取:首先从目标数据库中获取部分样本,引入文档权重和查询权重,基于文档权重和查询权重利用贪心选择策略选择能够覆盖样本数据库的文档重复率低的查询词集合,使用该查询词集合采集目标数据库。该方法将原始数据库的查询选择转换为对样本数据库的查询选择问题。但是该方法无法保证样本数据与目标数据库是同分布的,因此覆盖样本数据库的查询词集合可能不适用于整个目标数据库。为此,Jiang和Wu等人提出了基于强化学习(RL)的DeepWeb数据采集框架[14-16],该方法与以往方法的有很大的不同:乊前的方法大多是基于统计信息选择查询,如词频,文档频率,词频-逆文档频率:而该方法不仅利用统计信息,还利用语言特征(词性、词的长度、语)以及HTML本身的特征(关键词的标签、属性信息、位置信息等)[14]。RL方法许爬虫根据从已执行的查询中获取经验,自动学习查询选择策略,从而为每一轮查询选择收益最大的查询关键词迚行资源采集。该方法充分利用查询关键词的不同特征和爬虫的爬取经验,自动的确定当前最优的查询选择,减少了爬虫的采集负载和大量空结果集的出现。但是该方法学习过程相对复杂,并且仅能应用于GET提交方法的表单,无法应用于POST类型的提交表单。
1.2复杂查询接口查询构造方法不同于简单查询接口,复杂查询接口包含两个或多个输入项,对于表单中的选择输入项(如select,radio,checkbox)其输入值是确定的,但是文本输入项(如text)的值则是无法确定的,文本输入项可能只接受数值类型的输入值(如商品价栺)也可能只接受区间类型的输入值(如日期),而且表单不同的输入项乊间可能存在关联关系。值得注意的是,复杂查询接口并不一定为所有的输入项都准备输入值才能获得查询结果,因此,对复杂查询接口迚行查询构造时,首先需要确定输入项的值域或约束,然后选择迚行查询构造的输入项并为其准备输入值,生成表单查询实例。HiWE[17],DeepBot[18,19],基于属性值图的方法[20],基于查询模板的方法[21],基于本体的方法[22-24]等则属于此类工作。HiWE[17]是一面向特定领域(仸务)的采集方法,该方法需要人工提供领域属性及属性取值集合,并且通过查询接口属性集合与领域属性集合的相似性刞断,自动选择领域相关的查询接口;接着利用人工提供的属性取值填充表单,生成表单查询;然后迚行DeepWeb数据的采集,并根据采集经验利用表单选择输入项素的取值更新属性取值。但是该方法没有考虑自动为文本输入项产生新的查询词,只能依赖人工提供的知识。不同于HiWE,Wu[20]提出一基于属性值图的查询构造方法。该方法将基于查询的DeepWeb数据采集建模为图的遍历问题:定义基于属性值的图模型,将一个结构化的Web数据库看作是一个单一关系的数据表,每个属性值为图中的一个结点,边为两个不同的属性取值在一个数据实例中的共现关系。该工作得出结论认为结构化的数据库属性值图中结点的度分布与幂律分布(powerlaw)相似,并以此为依据采用贪心选择策略选择度大的结点生成表单查询。但是该方法需要将每一次的查询结果更新到已有的属性值图中,然后选择下一个新的待提交的查询词,这方法更新属性值图的代价较高。DeepBot[18,19]是一个基于浏览器内核开发的DeepWeb数据采集的框架,它与HiWE类似,都采用面向特定领域的方式。DeepBot接受一组领域定义集合作为输入,自动识别与该集合相关的表单;然后利用领域定义集合为匹配的表单素赋值,生成表单查询。其中,领域定义集合用于定义采集仸务。该方法通过领域定义与表单乊间的相似度计算自动选择匹配的表单,许表单素和领域定义乊间存在不完全匹配的情况。DeepBot采用浏览器内核解决网页客户端浏览器脚本解析问题,但是该方法完全依赖人工提供的领域定义集合,不能自动产生新的查询词。为此,Madhavan[21]提出了一基于查询模板的DeepWeb数据自动采集方法,该方法自动刞断查询接口中输入素接受的数据类型,选择查询接口中的输入项的一个子集作为约束项构造查询模板。在约束项乊间利用笛卡尔积的形式产生不同的查询请求。约束项的取值有两方式确定:对于选择输入项,则利用查询接口提供的取值集合;对于文本输入项,首先利用表单所在页面的信息构造刜始候选词,然后从查询结果文档中提取额外的关键词更新候选词列表,重复该步骤直到不能提取新的关键词为止或是达到停止条件,最后将这些查询词作为该文本输入项的取值集合。该方法通过表单查询返回结果验证查询模板的有效性,并且采用自底向上的有效模板的增量式算法构造查询模板。虽然该方法能够自动实现DeepWeb数据查询请求的生成,但是对于包含多个输入项的查询接口来说,其对应文本输入项取值集合的确定,查询模板有效性的验证过程复杂,导致DeepWeb数据采集的效率较低。基于本体的查询构造方法[22-24]与上述方法不同,该方法通过本体直接定义查询接口中每个素的类型和取值以及素乊间的依赖关系,将本体作为输入直接生成表单查询。[22]是一针对语义网环境的DeepWeb数据查询方法。[23]是一基于本体的属性自动抽取和查询转换方法,该方法将WordNet作为本体,利用本体在DeepWeb数据中加入语义层实现表单查询的生成。[24]是一基于面向实体DeepWeb数据查询的方法,该方法将Freebase作为本体知识,利用本体和查询日志(querylogs)产生实体查询,用于DeepWeb数据的采集。但是基于本体的方法与HiWE和DeepBot类似都依赖外部的人工指定的输入信息,自适应性差。
2DeepWeb数据采集查询构造方法分析
仸何一查询构造方法的一个非常重要的特征是其自动化程度,这是指在查询构造过程中需要用户完成的工作量。除此乊外,由于DeepWeb数据面向的领域广泛,类型多样,因此,查询构造方法最需要具备扩展性,如:在DeepWeb数据源的类型或领域发生变化时,该方法仍然能够正常工作。本节从支持的查询接口提交方法,查询词提供方式,自动化程度,扩展性角度对比分析目前已有的查询构造方法。表1是目前已有的查询构造方法定性比较的结果,在自动化程度一列,“AUTO”表示完全自动、“SEMI”表示半自动、“NO”表示人工完成。在扩展性方面,划分为三个层次,分别用“好”、“中”、“差”表示使用相关方法或工具的可扩展程度。基于表层化方法的DeepWeb数据采集的目标是以最小的查询数量达到最大的DeepWeb数据覆盖率,因此,构造的表单查询的好坏直接影响目标的实现。虽然已有的查询构造方法能够表明确实可以使大量的DeepWeb数据内容对用户可见,但它也存在一些局限性,如表2所示。从表1可以看出,这些查询构造方法只能处理提交方法是GET类型的DeepWeb数据库,不能应用于使用POST方法的DeepWeb数据库。除此乊外,从表2可以看出,已有的查询构造方法都存在不同程度的局限性。通过对相关工作的分析可以看出,目前,缺少一能够同时处理GET和POST提交方法,具备自动,可扩展应用到不同领域的表单查询构造方法。因此,DeepWeb数据采集的查询构造方法仍然需要做迚一步的研究。表层化的方法通过向DeepWeb数据的查询接口提交查询把数据从DeepWeb数据库中挖掘出来,得到的DeepWeb数据可以用于构造以数据分析和挖掘为目的的各应用或是数据集成应用。利用该方法迚行DeepWeb数据采集有以下优点:(1)该方法能够无缝的集成搜索引擎爬虫,不需要对搜索引擎爬虫做改动就可以实现DeepWeb数据的采集;(2)基于表层化方法的DeepWeb数据采集系统可以将对应的DeepWeb数据库的数据保存到本地,这样可以根据需求对得到的DeepWeb数据迚行预处理,如:连接来自不同DeepWeb数据库的数据,初除重复内容等;可以为DeepWeb数据预先创建索引,以便快速响应用户查询请求;(4)该方法可以使从DeepWeb数据库得到的内容和从SurfaceWeb得到的内容以相同方式采集。虽然基于表层化处理方式的DeepWeb数据采集方法确实可以使大量的DeepWeb数据内容对搜索引擎用户可见,但它也存在严重的局限性。(1)有很大一部分DeepWeb数据库的内容无法通过现有的DeepWeb数据采集技术爬取到,原因在于,目前的表层化处理方法只能处理查询接口的提交方法是GET类型的DeepWeb数据库,不能应用于使用POST方法的DeepWeb数据库;(2)该方法对保持采集的DeepWeb数据库的数据的时新性(datafreshness)非常困难,因为DeepWeb数据库的内容是动态,多变的,搜索引擎爬虫可能无法跟上快速变化的DeepWeb数据。表层化的方法面临的最大的挑战是如何为DeepWeb数据库的查询接口选择合适的查询,这涉及到两个主要问题:第一,需要为查询接口中的各表单输入项找出合适的输入值,对于表单中的选择输入项(如下拉、单选、多选等),它们的输入值是已知的,可以直接利用查询接口中提供的取值即可,但是对于表单中的文本输入项,则需要为其预测合适的输入值;第二,必须控制向查询接口提交查询请求的数量,以免对DeepWeb数据库的提供商(DeepWeb数据所在站点)带来不合理的负载。通过对表层化方式的DeepWeb数据采集方法分析,我们发现现有的表层化方法在解决DeepWeb数据采集的难题时,也存在不同程度的局限性,这导致现有的DeepWeb数据采集方法难满足大数据的规模性,多样性和高速性的特点,因此如何克服现有DeepWeb数据采集方法的局限性,在现有方法的基础上做出迚一步改迚是未来需要研究的问题。
3研究展望
CC2530射频模块通过外引24个引脚,包括普通IO引脚P00-P24和电源、复位引脚,实现与电路的连接。电路包括复位电路、开关电路、传感器接口电路、按键指示电路、通信调试电路、电源供电电路。主要电路功能介绍如下:按键指示电路:节点包括Led和蜂鸣器指示电路,用于本节点的指示功能;支持按键功能,进行节点工作模式的转换。开关电路:由三极管电路组成,用于实现传感器供电的通断。通信调试电路:由串口电路和JTAG调试接口组成;串口负责与PC上位机软件的连接,方便修改节点的参数;JTAG接口方便上位机集成环境IAR等调试用。电源供电电路:基本供电由外部USB接口电源5V通过AMS1117转3.3V以及直接电池3.3V供电组成;传感器可由内部3.3V供电,而大于3.3V则由外部电源直接提供。传感器接口电路:包括危化品物流车辆常见的几种信号(0-5V、4-20mA、开关量、数字量)采集电路,可同时接四种类型的传感器。其中数字量主要是DS18B20、DHT11温湿度传感器的输出信号;0-5V主要是气体泄露检测、光敏、真空度传感器的输出信号;4-20mA主要是压力、液位传感器的输出信号;开关量主要是红外、门开关、倾斜传感器的输出信号;信号接入后进行了信号隔离和二极管钳位保护电路。
2节点软件
2.1节点软件架构软件设计部分主要是基于TI公司的Z-stack协议栈进行应用程序的开发。Z-stack协议栈是一款稳定性强的Zigbee开发协议栈,是对Zigbee标准的具体实现。协议栈APL(应用层)包含了主要的API函数接口,方便进行应用开发,从而实现对CC2530芯片硬件资源的控制功能。具体软件框架设计如图4所示。应用层软件主要包括节点间数据的接收/发送、节点内应用层与底层的交互。应用层的数据经过应用层数据帧格式进行封装传给底层继续封装并发送出去;接收数据则由底层先进行解释,再由应用层进行解释,然后进行数据的计算、更新参数等步骤。应用层还可通过API控制接口对底层进行控制与信号、参数获取。
2.2数据帧格式Zigbee采集节点和主节点模块的数据传输格式采用字符串形式进行数据的发送/接收。由于是采用字符进行数据传输,所以可以利用上位机现有的字符串处理函数,很容易校验数据正确性,并从数据帧中提取有效信息,避免因帧长度判断引起的错误。另外,基于Zigbee传输速率较低、传感器数据量小、刷新速度慢的需求等特点尽量减小和限制了协议中各数据域的占位宽度,保证传输效率。具体数据格式如表1所示。帧头:本协议节点间的应用层交互主要有命令帧和数据帧。帧头是辨别命令帧和数据帧而设立的。帧头包括:Set、Get、Ack、Data4种。Set指的是主节点对采集节点进行参数设定,为命令帧,是主节点需要对子节点进行参数配置的时候发送的,子节点收到此类型帧后,发回Ack帧,说明参数设置成功与否;Get指的是其他节点需要获取本节点信息,为命令帧,本节点收到此类型帧后,发送数据帧;Ack指的是节点间通信应答状态帧,SUCC为成功、FAIL为失败;Data指的是数据帧,携带节点参数、传感器采集数据。如表2所示。目的地址:目的地址指的是Zigbee网络中的设备唯一标识的网络ID。为十六进制0X0000-0XFFFF之间值。其中有几个地址值有特殊的含义,0XFFFF表示广播地址;0XFFFE表示所有接收功能打开的设备;0XFFFC表示所有路由设备;其余地址为单一设备的网络地址。网络地址的获得过程是:主节点设备启动成功后,自设定为Zigbee网络的主网络ID0X0000,子节点设备在申请加入成功后获得一个网络身份标志ID。帧类型:在帧头为Set、Get、Data时,此帧位置都有意义,分别代表设置、获取、携带相应类型的节点信息。这些类型包括,传感器数据(Sensor)、节点网络地址(NAdr)、节点网络类型(NType)、采集周期(Cycle)、产品信息(Info)、发送方式(SWay)、功率模式(PMode)、信道选择(Channel)、AD参考电压(ADMode)、默认发送地址(DSAdr)。信道数据:DataChannel796F800\r\n(第11(0x0B)无线信号通道)载荷:载荷是整个通信帧中最重要的部分,包括了通信的主要内容。载荷的具体内容需要根据帧类型来确定。描述如下:(1)帧类型为传感器数据:此时载荷部分包括传感器类型、传感器ID、传感器值。传感器类型包括危化品物流车辆常见信号:1.温度、2.门开关、3.真空度、4.液位、5.压力、6.电压、7.湿度、8.气体、9.红外10.光敏、11.倾斜。传感器ID从0开始分配,表示同种类传感器的使用编号。(2)帧类型为非传感器数据:此时载荷部分携带网络地址、采集周期、发送地址等值。结尾符:本协议结尾符为字符“\r\n”,加上字符串结束符‘\0’,固定为3个字节。结尾符是一帧数据的界定符,上位机软件可以根据此结尾符很快能判定帧的长度,避免一些数据长度判读错误的发生。
2.3软件处理流程Z-stack协议栈基于轮询机制,事件是最小处理单元,每个事件都有相应的处理函数,当事件管理数据结构相应的位置位时,协议栈通过轮询机制就能发现并跳入相对应处理函数进行处理步骤,处理完再返回轮询大循环。这里主要设置了3个事件,分别是串口事件、无线事件和采集事件。串口事件主要处理与上位机的通信;包括根据上位机命令修改本节点参数、接收发送数据等;无线事件主要处理数据的无线发送和接收;采集事件主要处理传感器的数据读入、封装、发送或者接收、解析、转发等。处理流程图如图5所示。
2.4上位机配置软件Zigbee设备逻辑类型包括3种,分别是主节点、路由节点、终端节点。对于不同设备类型的具体处理流程,本设计编写了统一的参数配置服务函数,可通过上位机软件方便进行配置。比如,终端节点配置成具有传感器数据的采集功能,可选择无线和串口两种发送方式,而对于路由器或者协调器,基于功耗考虑,则配置成不具有传感器数据采集功能。通过设计节点上位机配置软件ZigConfig来实现参数的配置,简单的界面操作就能通过串口以上述数据格式下载到节点,并烧写到CC2530的flash中永久保存起来,节点下一次启动将以新的参数启动。上位机配置软件介绍如下:(1)配置软件由QtCreator开发。QtCreator是Qt被Nokia收购后推出的一款新的轻量级跨平台集成开发环境(IDE)。支持的系统包括Linux(32位及64位)、MacOSX以及Windows。开发人员能利用该应用程序框架更快速及轻易地完成开发任务。(2)该配置软件完成节点的设备类型、接口采集逻辑、入网参数等的配置。可直接通过串口线与待配置节点连接,也可以通过一个中间节点对待配置节点进行无线配置,中间节点通过串口线与上位机连接。操作界面如图6所示。(3)如图7,图8所示,通过上位机配置软件S1(实物图如图6所示)可方便地对待配置节点S2进行参数配置。对于待配置设备,如果是终端设备,配置前需先按下配置按键,指示灯亮后,装置即进入配置模式;而如果是路由设备或协调器设备则无需此步骤。(4)有线配置如图6所示:上位机通过串口线连接待配置设备,然后配置软件上收到待配置节点S2发送过来的设备信息,并显示在界面上,然后点击配置按钮,即发送配置帧到节点S2,点击读取配置按钮,则将节点S2各项参数显示在界面上,如果节点S2是数据透传模块,则可以直接接收数据或填写目标地址发送数据。配置完后再按一下按键,指示灯不亮,表示配置完成。可以配置设备类型为Zigbee终端设备、路由设备、协调器设备和点对点透传设备;可以配置入网参数,比如PANID值、信道、网络模型、网络层次等;可以配置传感器发送周期,使各传感器通道数据可以同一周期发送,也可以不相同周期发送等。(5)无线配置如图8所示,采用一个节点作为数据中转与上位机有线连接,通过这个节点无线发送指令到待配置节点进行配置,配置过程中的操作步骤与有线时类似。
3节点测试
3.1信号强度RSSI(ReceivedSignalStrengthIndication)是接收端的信号强度指示,可用来判定链接质量。实际应用中,普遍采用简化后的Shadowing模型,即如下公式计算RSSI值。其中Pr(d)为接收端接收信号强度,Pr(d0)为参考处接收端接收信号强度,d为接收端与发送端实际距离,d0为接收端与发送端参考距离,n为路径损耗指数,通常取2~4。取d0=1m,实测得Pr(d0)的值代入,并取n=3代入公式(1)得新的计算公式。实际测试中取两个节点,分别设为协调器节点和终端节点。将协调器节点固定,令终端节点远离,终端节点加入协调器节点网络后,每隔1s发送一次数据到协调器节点。协调器接收到数据包后,从TI协议栈Z-Stack的数据结构afIncom-ingMSGPacket_t中提取RSSI值记录下来。100M范围每隔5M记录一次RSSI值,每次记录100个值,然后取100个中的随机值和平均值分别作为本次终值绘制曲线。
3.1.1空旷环境下测得Pr(d0)=-28dbm,按照公式(2)与实际数据,绘制对比曲线。从图9和图10对比曲线可以看出,随着两节点间距离增大,RSSI值会逐渐衰减,符合一般规律。0-20m范围内,RSSI衰减较快,之后较为平缓。40m后信号质量普遍较理论值平缓,可能是受硬件条件影响,误差增大。图9由于每次记录取的随机值,存在较大误差,图10每次记录取100个数据的平均值,曲线较为平缓。误差因素包括硬件设计、周边环境影响等。
3.1.2危化品物流车辆环境下采用深圳市中集集团液化气罐(空罐)危化品物流车辆进行实地测试,测试车辆长度14m,宽度2.5m。将协调器节点放置在车驾驶座,终端节点自由放置于车厢体内部,加入网络并发送数据到协调器节点。测得Pr(d0)=-44dbm,根据公式(2)和实际数据的结果曲线如下:由图11和图12可以看出,在车辆环境下,节点信号普遍较空旷环境下差,这主要是因为接收节点被放进车辆箱体内部,信号一定程度上受到厢体衰减。大于40m距离后信号变得不稳定,通信断续和重连情况发生频繁,此时RSSI值普遍>82dbm,80m后多次测试接收端均接收不到数据。
3.2数据传输将协调器节点放置在车驾驶座,终端节点自由放置于车辆厢体内部,加入网络并发送数据到协调器节点。在协调器端统计接收数据包个数,并计算丢包情况和最大稳定通信距离(即数据通信情况良好,极少发生重连情况),结果如下。由表3可以看出,主节点在车驾驶室情况下,车正前方和侧面信号要好于车后方信号,节点丢包率较低,通信距离>=25M,满足一般危化品物流车辆要求。另外,通信的最大稳定传输RSSI值是极少断网重连情况发生下的统计值,所以普遍低于信号强度曲线中的极限值。随着距离增大,节点间的网络传输也会变得不稳定,常常发生断网重连,甚至无法重连状况。实际数据包传输受节点间不同阻挡物、不同车型、车体电磁干扰、程序执行等因素影响。
3.3功耗通过万用表、示波器和在程序中设计测试模块的结合进行功耗测试,测试结果如下。从表4的测试结果可以看出,节点满足低功耗要求,休眠情况下,节点功耗低至0.33uA。
4结语
NI-PCI6221是一款低价位多功能M系列数据采集板卡,具有单端16路/差分8路模拟输入,分辨率高达16bit,采样速率为250KS/s,输入最小电压范围为±200mV,最大电压范围为±10V,板上自带4095字节内存.
2系统软件设计
2.1系统功能设计软件设计是整个系统设计的核心,软件设计部分采用层次化和模块化思想,将整个系统划分分若干模块,模块化的程序结构不但使整个系统清晰明了,而且方便进行程序维护.基于LabVIEW的数据采集系统软件结构如图2所示.该系统软件部分包含了系统启动、用户登录、系统菜单、数据采集、数据处理、数据回放6个功能模块.
2.2系统界面设计本文针对6个功能模块分别开发了相应的界面.
2.2.1系统启动界面系统启动界面如图3所示.它包含了简单个人信息,绿色横条是系统启动条,显示启动进度,系统100%加载成功后,单击进入登录界面按钮可以跳转到用户登录界面,单击退出启动界面按钮则直接退出系统.
2.2.2用户登录界面用户登录界面如图4所示.它要求输入用户名和密码,功能是进行身份认证,认证通过后显示登录成功,一旦登录成功会自动进入到系统菜单界面,如果不能通过认证,只能通过退出按钮来退出系统.
2.2.3系统菜单界面系统菜单界面如图5所示.它由一列按钮构成,菜单程序运行后按钮被激活,分别单击数据采集、数据处理、数据回放按钮可跳转到对应界面,单击退出按钮返回到菜单按钮被激活前状态.
2.2.4数据采集界面数据采集界面如图6所示.它模拟实现了两路信号的采集,一路是电压信号,一路是温度信号.信号选择开关用于进行信号选择,通过信号选择开关既可以采集单路信号数据,也可以同时采集双路信号数据.针对温度信号设计了温度表盘,可精确显示温度值,另外还设定了温度下限和上限值,将温度限定在一个范围内,一旦超出这个范围,报警指示灯就会亮起来.数据采集界面包含了一些基本参数设置,此外还有返回和暂停两个按钮,单击暂停按钮,系统暂停连续采集数据,暂停中状态表现为数据信息停留在某一刻,单击返回按钮,可返回至系统菜单界面.李琳芳等院基于LabVIEW的数据采集与处理系统设计
2.2.5数据处理界面数据处理界面如图7所示.它包含了电压和温度两路信号,对电压信号分别进行了滤波、频谱分析、峰值压缩,对温度信号进行了均值压缩.此外还有温度表盘、一列选择开关、系统参数配置信息、暂停和返回按钮.滤波处理是信号处理中常用的一种手段,对于滤波处理,观察图7,可发现滤波后的电压信号清晰平滑,便于观察.频谱分析主要是求出信号的频域描述,有助于更全面地认知信号信息,进行信号特征提取.根据奈奎斯特准则,信号带宽小于采样频率的1/2,便能防止出现频谱混叠现象,恢复出原始信号,本文设置采样频率为1000Hz.观察图7发现电压幅度谱主要集中在0~50Hz,这是因为在实际工程中,为了恢复出高保真信号,要求信号带宽小于采样频率的1/10,加之软件仿真环境理想,因此信号幅度谱主要处于50Hz频段内.压缩采样是利用算法在保留信号信息的同时进行压缩处理,压缩处理可缩减数据体积,有利于传输.本文对电压信号进行了峰值压缩,对温度信号进行了均值压缩,设置压缩因子均为10,即对于电压信号,每10个采样值中标记出最大值,对于温度信号,每10个采样值中标记出平均值.电压信号峰值压缩后方便获取峰值信息,温度信号均值压缩后方便获取平均温度.
2.2.6数据回放界面数据回放界面如图8所示.可以读取之前存储的数据,实现数据再现.通过文件路径找到之前数据所在位置,并通过选择开关按钮选择回放的信号,接着运行系统回放程序,便可观察回放的数据.数据回放界面包含了电压和温度两路信号的回放,回放的数据结果以波形和表格数值两种形式呈现.观察图8发现在电压和温度波形始端有段空白区域,这是由于之前存储的文件中包含一些非数值的说明信息,是不能够被读取的.
3小结