湛钊,赵晓军,周希思
河北大学 电子信息工程学院,河北 保定 071000
摘要:采用无线组网技术开发了一种小型的物位监测系统。以PIC32MX795F512L单片机为核心,运用68 G雷达物位计对物位进行测量,通过SI4432数传模块将数据信息传回,在应用Labview编写的平台软件上进行处理、显示与储存,实现对储罐中液体、浆料物位信息的实时监测。实验验证,整套系统简便、廉价、可靠,可满足小型厂房内物位监测的需求。
关键词:PIC32MX795;无线组网技术;物位监测;SI4432数传模块;Labview
0引言
目前,在实际的工业现场,大多应用工业总线进行厂房监控,但是其成本高昂。对于需求廉价物位监测信息的中小企业来说,更倾向于选择一种成本低廉、能够完成简单功能的高性价比小型监测系统。针对需求,本文利用无线组网技术,采用SI4432数传模块,设计了小型无线物位监测系统。系统应用稳定的PIC32MX795F512L单片机为核心,可以很好地适应各种工业生产环境,方便可靠地完成对于物位的监测工作。平台软件应用Labview编写,可以直接搭载于公司应用的装有Windows操作系统的计算机上。
1系统整体设计
小型无线物位监测系统包括终端硬件平台和上位机软件平台两部分,系统总体框图如图1所示,由一个数据中心搭配多个采集终端构成整个系统。数据中心与终端之间的通信通过搭建的二级无线局域数字网络完成。终端负责采集现场数据,存储并上传给数据中心。数据中心负责数据处理、数据信息实时显示,并对数据进行分类存储;如遇意外情况,通信终端恢复后可调取终端所存储历史数据。
2.1终端硬件结构
物位计终端以PIC32MX795F512L单片机为核心,总体框架如图2所示,由PIC控制处理模块、电源模块、SI4432数传模块、手动地址设置器、时钟模块、EEPROM、SD卡、ADS1256与物位传感器组成的测量模块以及环境采集模块构成。PIC控制处理模块负责数据处理以及各个模块之间的调度;电源模块为整个终端设备提供相应电压;测量模块负责采集储罐里的物位信息;SD卡用来存储终端采集到的历史数据;EEPROM负责存储终端初始化过程中所需要的所有参数信息;时钟模块用来确定终端工作的实时时钟;地址设置器用来设置系统中每个终端独有的ID地址;环境采集模块可以采集终端工作地点的环境参数;SI4432数传模块负责将采集到的数据传回软件平台。
2.2主要模块硬件选型
2.2.1PIC控制处理模块
PIC控制处理模块与各个模块之间进行数据交换,对接收数据进行处理和存储是整个终端的核心部分。设计中采用PIC32MX795F512L处理器。PIC32MX795F512L是MICROCHIP公司新推出的MIPS32 M4K内核的32位单片机。该款单片机具有超低功耗的特性,具有一系列能在工作时显著降低功耗的功能,主要包含动态时钟切换、休眠模式工作、基于指令的节能模式等[13];此外集成的两组各32 个32位内核文件寄存器可极大地减少中断延时。
2.2.2SI4432数传模块
SI4432是Silicon Labs公司新近推出的一款高度集成、低功耗、多频段的EZRadioPRO 系列无线收发芯片。SI4432 所具有的+20 dB的功率放大器( 它是目前唯一集成此功放的 Wa 芯片) 能够确保扩大通信范围和改进链路性能,它独有的支持频率跳变、TX/RX转换控制和内置天线分集转换控制功能能够进一步扩大通信距离、提高通信性能,素有“距离之王,穿墙之王”之称[45]。SI4432数传模块还具有多个信道,防止多个模块之间的相互干扰,提高其在无线组网过程中的通信稳定性。
2.2.3测量模块
测量模块由ADS1256与雷达物位计组成。ADS1256是由TI公司生产的工业级高精度串行模数转换器,可以提供23位的高精度模数转换,而且还拥有30 kS/s的高采样速率,适用于科学仪器、工业工艺控制、医疗设备等工业应用领域[6]。雷达物位计选用北京必达拓普科技发展有限公司生产的68 G雷达物位计。该款产品采用先进的非接触测量方式,可测量液体、固体介质的物位,DC24 V供电,测量范围为0~20 m,分辨率为1 mm,输出信号为4~20 mA,最高过程温度可达250℃。
3软件设计
3.1自定义传输协议数据包
图3数据包格式系统采用自定义的传输协议数据包进行数据通信。数据包格式如图3所示,数据包大小为30 B,包头2 B,包尾2 B,终端地址1 B,数据/指令部分24 B。包头为十六进制数0xFE、0xFD;包尾为十六进制数0x0D、0x0A;终端地址为十六进制数0x00~0xFF之间的一个数。数据/指令部分,当为数据时是字符串,前4 B为物位计传出的电压值,之后14 B为时间数据,之后2 B为12 V供电电源电压,再后4 B为现场温度,最后1 B为采样间隔(仅在设定或查询时应用);当为指令时是十六进制数,只应用第一字节,其他字节不计。
3.2采集终端程序设计
3.2.1设备参数初始化
采集终端初上电后,进行程序的初始化。在这个过程中,首先检验模块能否正常工作,调出EEPROM中的设备参数;初始化缓存数组,并向发送缓存数组中写入包头和包尾;然后,读取终端的设备地址编号写入发送数组相应位置;向数据中心发送通信验证包,等待回复,当接收到允许通信的指令后,向数据中心发送终端正常工作信号,进入工作状态,初始化结束。初始化流程图如图4所示。
3.2.2终端正常采集程序设计
终端采集程序流程图如图5所示,先读取采集数据,判别是否要保存所读取数据。正常工作时,要设定两次保存数据的时间间隔,当时间间隔到时后数据保存标志位置1,开始向下运行程序,否则标志位为0,循环等待,每保存一次数据标志位都会置0。之后,将读取的数据存入发送数组,并读取出供电电压值和环境温度值,将时钟芯片确定的采样时间添加到发送数组。把发送数组里的数据部分存到SD卡中,同时将发送数组发送给数据中心,等待数据中心的返回指令。这里设定的发送等待时间为20 ms,20 ms内发送成功则向下进行;若超出20 ms,则重新发送一遍数据,如此循环。如果循环3次都未发送成功,则认为此时网络通信不畅,取消发送,重新初始化,图5终端正常采集程序流程图等待下一次采集。值得关注的是,在每次读取采集数据后都会进行一次阈值比较,阈值所代表的是测量物位的高限值与低限值,只要采集到的数据在阈值范围内,就说明物位正常,可以按照正常的时间间隔来监测数据;如果采集到的数据超出阈值范围,则说明物位异常,这时要将数据保存标志位置1,及时上报物位的动态信息,以便及时处理发生的状况。
3.2.3采集终端接收指令程序设计
图6终端中断程序流程图终端接收指令程序流程图如图6所示。工作时,采集终端会随时等待接收数据中心发送来的指令中断。中断程序中,首先判断接收到的包头以及地址信息是否正确,若不正确则退出中断,若正确则向下运行。将数据包中的指令提取出来进行查询判别,控制指令选项包括查询终端时钟芯片运行时间、查询采样间隔、查询当前采集值、上调时间段内的历史记录、校正时钟芯片时间、设置采样间隔、设置紧急上报上下阈值等。指令设置的相关参数不仅会保存到RAM的相关位置,也会存储到外部的EEPROM中,以保证下电重启后设备的正常运行。
3.3数据中心软件平台设计
软件平台主体上分为两个部分,一部分为实时监测界面,另一部分为历史数据查询显示界面。实时监测界面主要图7实时监测界面程序结构框图负责对于现场各个终端采集的物位信息的实时处理以及动态显示,以直观地表现出各个储罐中的物位状况。程序结构框图如图7所示,终端传输回来的数据通过串口接入平台。根据地址信息找到相应的终端控件,将采集时间、采样间隔、电源电压、环境温度、物位信息分别装入,即可直观地显示出对应信息。欲控制终端修改或查询信息时也是通过串口将指令数据包发送出去。平台接收到的数据信息也会按规则添加到报表中。
历史数据查询显示界面主要负责将实时监测界面生成的列表文件中的数据根据时间轴x、物位信息轴y的规则显示出各个终端的曲线图,用来观察储罐内物位的长时间变化趋势。
4结论
本文介绍的系统可以实现中小厂房内的无线物位监测,系统结构简单,成本低廉,设备维护便捷,在中小型企业里具有很强的实用价值。
参考文献
[1] 王晨辉,孟庆佳.基于PIC32和ZigBee的地质灾害监测系统设计[J].电子技术应用,2014,40(2):6870.
[2] QUARTZDYNE, Inc. Operating manual for digital pressure transducer (DigitalTransProg201206) [Z]. 2012.
[3] TEXAS INSTRUMENTS. Safety Manual for TMS570LS12x and 11x HerculesTM ARMbased safety critical microcontrollers user’s guide (SPNU550A) [Z]. 2014.
[4] TEXAS INSTRUMENTS. HALCoGen TMS570LS31x help 040500 [N]. 2015.
[5] 杨帆.基于I2C接口EEPROM读写控制器设计[J].微型机与应用,2015,34(10):2224.