基于S3C6410的闸门开度自动监测系统的设计与实现

2014-08-03 01:04
化工自动化及仪表 2014年7期
关键词:闸门开度上位

刘 凌

(公安消防部队昆明指挥学校训练部防火教研室,昆明 650231)

闸门开度监测系统是水工闸门启闭机的必要装置,其主要作用为监测闸门的起升高度、两侧钢丝绳的受力情况和记录闸门的运行情况[1],一般具有开度采集、开度显示、存储及传输等功能[2]。

闸门开启的大小直接影响水流量,因此闸门开度的准确性在水资源利用及防汛调度等方面至关重要[3]。随着时代的发展,特别是闸门高度测量和计算机应用的迅速发展,人们对闸门开度测量精度和自动化程度的要求也越来越高[4]。各种高精度、高自动化的闸门开度监测系统被提出,其中有基于光纤的闸门开度仪[5]、基于MSP430单片机的闸门开度仪[6]和基于GSM的闸门开度仪[7]。

基于S3C6410的闸门开度自动监测系统的工作主要是围绕开度值/荷重值的采集、显示、存储及传输等进行。该系统可实时监测闸门的开度状况,并根据开度状况及时将异常开度值传至总控台,并自动做出报警等反应,具有高度自动化特点。闸门开度自动监测系统通过MODBUS协议与上位机进行通信,通用性强、可靠性强。另外,该装置支持SPI、RS-232及无线等多种数据出传输方式,满足不同应用下的数据传输需求。

1 系统组成①

闸门开度自动监测系统结构如图1所示。整个系统的核心是S3C6410,系统的主要输入由开度编码器、荷重传感器、按键及上位机等完成;系统的输出由总控台、上位机、LCD液晶屏和SD卡完成。

图1 闸门开度自动监测系统结构示意图

开度编码器和和荷重传感器采集闸门的开度与荷重信息,经过转换后传给S3C6410;按键操作支持用户完成系统参数调整及显示界面菜单选择等;上位机通过RS-485与S3C6410通信,主要功能为接收S3C6410的数据、修改自动监测系统的系统参数;LCD液晶屏用于完成数据与参数显示功能(包括显示编码器和传感器采集的开度和荷重数据、整个自动监测装置的系统参数等);SD卡用于存储,完成开度数据、荷重数据的本地存储和系统运行日志的本地存储。

2 闸门开度自动监测系统的硬件设计

2.1 主控模块

闸门开度自动监测系统的主控模块是由三星公司推出的一款低功耗、高性能的RSIC处理器S3C6410。它基于ARM11内核,工作频率最高可达533MHz,功耗为200MW,共有八级流水线,且带两个周期的高度闪存访问,具有更快的实时响应和更低的中断延迟,支持矢量化中断,带可配置指令和数据高速闪存的存储器系统,外加专用DMA高速本地存储,同时内置强大的硬件加速器(包括2D加速、显示处理等)[8]。

在闸门开度自动监测系统中,S3C6410的主要工作有:接收来自开度编码器的闸门开度数据和来自荷重传感器的荷重数据;按照MODBUS协议利用RS485接收来自上位机的参数;读取时钟芯片的时间数据,用作系统时间;通过普通I/O,配合正确时序,通过串行方式将开度、荷重数据和参数送至LCD液晶屏显示;通过SPI,经过D/A转换后将数据传至总控台;遵循SPI协议将数据和系统运行日志送至SD卡存储;通过RS-485串口按照MODBUS协议格式将开度、荷重数据传至上位机。

2.2 数据显示部分

闸门开度自动监测系统开度、荷重数据和系统参数显示部分采用的是HS12864-15液晶显示屏。该屏幕是的主要特性由控制器ST7920决定。ST7920同时作为控制器和驱动器,可提供33路com输出和64路seg输出。在驱动器ST7921的配合下,最多可以驱动246×64点阵液晶[9]。数据显示电路如图2所示。

图2 数据显示电路

S3C6410接收到来自开度编码器的开度值和荷重传感器的荷重值,然后送到HS12864-15液晶屏实时显示。此外,用户可以通过屏幕配合按键操作查询系统时间、设备信息、显示方式、系统参数、报警阈值以及存储在片外Flash芯片内的数据、设备运行日志。

2.3 数据存储部分

闸门开度自动监测系统的开度和荷重数据、设备运行日志以及设备重要参数等存储在Kingston的SD卡内。SD卡是Secure Digital Card卡的简称,由日本松下公司、东芝公司和美国SANDISK公司共同开发研制的全新的存储卡产品,它是一个完全开放的标准系统,并且兼容MMC卡接口规范。SD卡有9个引脚,目的是通过把传输方式由串行变成并行提高传输速度。它的读写速度比MMC卡快,安全性也更高。SD卡最大的特点就是通过加密功能,可以保证数据资料的安全保密。它还具备版权保护技术,所采用的版权保护技术是DVD中使用的CPRM技术(可刻录介质内容保护)。闸门开度自动监测系统的数据存储电路如图3所示。

图3 数据存储电路

S3C6410接收到来自开度编码器的开度值和荷重传感器的荷重值送到HS12864-15液晶屏实时显示,会将数据送至SD卡内进行存储。同时用户还可以将系统参数等存储在SD卡内。用户可以通过自动监测系统和上位机查询、删除存储在SD卡内的数据,还可以通过上位机软件对存储数据进行复制和剪切。

3 闸门开度自动监测系统的软件设计

闸门开度自动监测系统的软件系统包括:程序初始化;实时显示开度/荷重值、系统时间及设备信息等系统参数;报警阈值的设置;数据和设备运行日志的存储、删除及查询等功能。

用户通过闸门开度自动监测系统的多级菜单实现上述各功能,开机菜单是一次性显示两路开度数值;主菜单的作用是为用户提供在数据显示方式、预值显示、系统设置和设备信息查询四者间做选择的界面;数据显示、预值显示、系统设置和设备信息查询作为主菜单的二级菜单;二级菜单根据各自需要实现功能下设三级甚至四级菜单。闸门开度自动监测系统的各级菜单关系如图4所示。

图4 闸门开度自动监测系统各级菜单关系示意图

开度自动监测系统的多级菜单通过窗口引擎实现。这种多级菜单实现方式引入Windows系统下的窗口和消息机制,该菜单的核心部分是一个不依赖于具体硬件和菜单内容的通用窗口引擎。这种多级菜单实现方式具有结构简单、使用方便、占用资算少及易于移植等优点。

从图4看出软件设计主要针对开度与荷重数据的显示、存储、查询和系统参数的设置进行的。

3.1 开度和荷重数据有关操作软件设计

为实现闸门开度自动监测系统软件中开度、荷重数据的实时显示、查询、存储和删除功能,该软件的主要工作有I/O读入、超限判断、SD卡读写、中断处理、按键操作和液晶屏显示。

闸门开度自动监测系统中数据存储逻辑流程如图5所示。S3C6410通过I/O获得来自开度编码器的开度值和荷重传感器的荷重值,并判断这些值是否超限,若超限控制蜂鸣器报警;然后将数据存入SD卡中;当有用户按键操作时,判断按键操作内容分,如果操作为读取SD卡存储数据,则S3C6410读取SD卡中存储的数据,并在液晶屏上显示。

图5 数据存储逻辑流程

3.2 参数设置软件设计

闸门开度自动监测系统中与系统参数设置有关的操作包括按键操作和液晶显示。开度阈值和荷重阈值在内的报警阈值设置与系统参数设置类似,这里介绍系统参数的设置,其逻辑流程如图6所示。

图6 系统参数逻辑流程

4 闸门开度自动监测系统通信协议

闸门开度自动监测系统并不是一个孤立的系统,它需要传输数据至总控台、上位机,并通过无线协议发送消息至闸门值班人员。其中与总控台的通信是通过RS-232实现;与值班人员的通信通过GSM实现;与上位机通信遵循Modbus协议,通过RS-485实现。由于RS-232比较简单,GSM相当普遍,笔者重点介绍开度自动监测系统与上位机间的通信。

1979年Modicon公司提出了Modbus协议,该协议成为世界上第一个真正实际用于工业现场的总线协议。Modbus协议定义了一个与基础通信层无关的简单协议数据单元,一个通用的Modbus帧由地址域、功能码、数据和差错校验4部分构成。通过Modbus协议,控制器相互之间、控制器经由通信网络和其他通信设备间均可以相互通信[10]。

无线测温装置采用Modbus的RTU传输模式,在该模式下数据单元的地址域占1Byte,Modbus寻址有256个不同的地址,其中地址0为广播地址,所以一个系统中最多支持255个温度采集模块。

Modbus协议有3类功能码,分别是公共用户功能码、用户自定义功能码和保留功能码。闸门开度自动监测系统中使用的功能码均是用户自定义功能码。

上位机和闸门开度自动监测系统作为通信双方,其中上位机为主机,向开度自动监测系统发送请求数据单元,自动监测系统作为从机根据请求数据单元生成响应数据单元返回给上位机。请求数据单元和响应数据单元的生成和发送都是在Modbus协议规则下进行的。

5 结束语

以S3C6410为核心设计的闸门开度自动监测系统集开度、荷重数据采集,数据本地显示与存储、数据远距离传输及数据异地显示与存储等功能于一体,具有测量误差小、自动化程度高及稳定可靠等特点。基于S3C6410的闸门开度自动监测系统已在实验室完成测试,各项功能均能正常实现。

猜你喜欢
闸门开度上位
掘进机用截止阀开度对管路流动性能的影响
增大某车型车门开度的设计方法
燃烧器二次风挡板开度对炉内燃烧特性的影响
重型F级燃气轮机IGV开度对压气机效率的影响
水利工程闸门的管理及维护措施
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
把住医保基金水池闸门
找准入口,打开思路的闸门