新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于C8051F930的管道温度压力远程监测系统

基于C8051F930的管道温度压力远程监测系统

作者: 时间:2010-12-14 来源:网络 收藏


2.2 远程终端RTU的硬件设计
远程终端RTU位于计量站中,协调多个现场仪表的工作,收集现场仪表所采集的数据转发到中控室上位机系统,同时接收上位机指令并回传给现场仪表。RTU与现场仪表进行一对多通信,并随时准备接收上位机指令,不可进行休眠操作,故选择计量站中电源供电。RTU与上位机通信使用Q2406A型号GPRS模块,利用GPRS服务,设备可采用互联网Internet标准方式与互联网上的服务器进行数据交换,结构图如图4所示。



3 系统软件设计
3.1 现场仪表的软件设计

本设计采用低功耗软件设计方法,优化系统时钟,外部接32 768 Hz晶振作为MCU休眠辅助时钟;优化工作时序,由于无线通信模块SM41B待机时功耗远大于正常工作功耗,所以采用非通信状态下随时关闭SM41B的方式来最大限度降低功耗。现场仪表的软件流程如图5所示。


现场仪表在上电之后对系统进行初始化,并检测是否第1次使用,若为第1次使用,便请求远程终端RTU分配地址,待地址分配结束之后进入正常工作流程。在仪表定时唤醒后,检查信道是否繁忙,若繁忙则休眠一个随机时间,若不繁忙,则通知RTU准备接收数据。在一定时间内得到RTU应答信号后开始采集数据,经打包处理后发送给RTU,发送结束得到RTU应答后进入休眠状态,等待定时唤醒。由于MCU仅带有10位A/D转换器,则采用过采样技术,将每4次采集的数据进行叠加,产生与12位A/D转换器数据采集相同效果。为防止休眠唤醒时电压不稳定造成数据采集误差,连续100次A/D转换采集数据取其平均。
3.2 远程终端RTU的软件设计
远程终端RTU程序开始运行后首先进行系统的初始化,之后等待接收上位机指令和现场仪表的请求。在接收到上位机指令后,对指令类型进行判断并向现场节点转发。在接到现场仪表的请求后判断请求类型并做响应,现场仪表第1次使用时为其分配地址;现场仪表请求发送数据时响应其请求并接收其采集数据,之后将数据打包转发到上位机。远程终端RTU的程序流程如图6所示。


3.3 上位机的软件设计
上位机软件开发使用Delphi7环境。上位机与GPRS模块通过网络端口连接,在Delphi7环境中,通过SocketClient控件实现网络访问和数据传输。在接收到GPRS中数据之后,对数据格式进行校验,若有误码则将数据包丢弃;校验正确后判断所采集数据是否异常,出现异常则报警处理,之后存储至SQLServer2000数据库中并在图形界面中绘图显示。在历史数据查询过程中,首先选择查询方式(按时间查询、按现场仪表地址查询或组合查询)和查询条件,在数据库中筛选出符合条件的结果在DBGrid控件中显示。可将查询结果以Excel文件形式保存或者绘制历史曲线。上位机软件流程如图7所示。



评论


相关推荐

技术专区

关闭