谢锡锋 郑立玲 左江林
摘要:为满足变电站电压、电流、温度湿度参数测量与监控的需要,设计了一种基于STM32处理器的RTU系统,该设计实现了各功能模块并给出了相应的硬件电路及软件的实现方法,系统使用GPRS与远程监控主机进行通信,实现远程上位计算机数据实时监控的需要。
关键词:远动终端单元;通用分组无线服务技术;数据采集
中图分类号:TP338 文献标识码:A 文章编号:1009-3044(2014)01-0044-03
目前市场上的RTU终端大多采用8位或16位单片机,且数据通信大多采用串行通信,存在时钟频率低、位数小、指令执行时间长、内存小、传输速度慢等缺点,已不能满足对变电站实时监控的要求,因此,开发具有低成本、实时性好的RTU系统势在必行。
1 设计方案
STM32以其丰富的外围模块、高速的指令执行速度、方便的JTAG 调试方式和低功耗等特性为数据采集与处理的设计提供了一个较为完善的平台,而覆盖全国的GPRS网络已成为一种可持续利用和开发的资源,因而在此基础上开发出满足需求的无线接入产品就成为可能,将变电站监控应用系统架构于GPRS环境中,可以从许多方面改善监控系统的性能和扩展增强系统功能。
根据RTU功能和电压电流参数测量误差精度的需求,选用意法半导体公司推出的新型32位ARM处理器STM32F103VC为控制核心,由电压电流传感器、数据采集模块、采样信号调理单元、控制输出、通信单元、存储单元、LED显示单元、时钟单元、电源管理单元、掉电检测单元等部分组成,具有遥测、遥信、遥控、遥调等功能。在程序设计上除了完成数据快速处理工作以外,还针对系统温度及湿度的非线性失真进行了修正和补偿。
2 RTU硬件设计
2.1硬件结构框图
设计的RTU硬件结构如图1所示。
电压电流信号由电压互感器和电流互感器获取,送入信号采集电路,经前置放大、主放大、高低通滤波,得到符合要求的电信号,并送入到STM32的ADC进行AD转换,系统控制芯片采用STM32,LCD的触摸功能加上少量按键可以建立良好的人机交互环境,可以通过LCD实时显示和回放,数据通过以太网、GPRS可靠地传输到PC监控端,实现数据的实时传输,方便对电压电流数据做进一步的分析,并接受来自PC监控端的遥控遥调命令,输出控制电路主要是实现对继电器的控制。
2.2 主要单元模块设计
1)微处理器单元
微处理器系统,通过输入通道采集传感器信息,对数据进行处理并通过一定的算法输出,通过执行机构控制被控对象达到控制的指标,同时微处理器系统还包括存储器、通信接口等。处理器的选择主要从以下五个方面来考虑:处理器的处理速度, 处理器在完成任务的复杂程度, 尽可能简化外围电路的复杂程度, 尽可能简化外围电路的复杂程度和尽可能底的功耗,综合以上几个方面,最终选用了意法半导体公司推出的新型32位ARM处理器STM32F103VC(Cortex-M3内核,72MHz频率,256K Flash,48K RAM)。
2)电流电压采集模块
STM32F103VC内嵌2个12位的模拟/数字转换器(ADC), ADC可以使用DMA操作,16路通用输入接口,输入类别可选下面类型:12~24V光隔数字量或脉冲或计数输入(PNP方式),0-5V模拟量输入(12位),0-10V模拟量输入(12位),0-20mA模拟量输入(12位)。微处理器单元对电压电流信号采样值进行处理,通过对采样值的积分和软件滤波运算获得电压、电流值,通过对采样值的乘积运算获得对应的瞬时功率,然后通过对瞬时功率的积分,得到一段时间内的能量,通过傅立叶变换计算出基波电能及电压电流2~21次谐波含量数据。
3)通信模块
GPRS模块采用GU900无线模块,其是一款双频段900/1800MHZ 的GSM/GPRS 无线模块,有更小的体积,可以进行板级SMT,节省空间,降低成本。它支持标准的AT 命令及增强AT 命令,支持TCP/IP协议栈,支持高达10K大容量缓存,支持多链接;此外,还支持DTU功能,支持可配置的网络断线重连,支持可配置的外部电平触发短信功能。
3 监测系统软件设计
系統的软件编写分为上位机PC管理系统程序和下位机程序,上位机管理程序采用Visual Basic 6.0开发平台编写,下位机程序通过C语言来编写。
3.1 软件总体分析
从整体上看,该系统软件分为两个大的部分:
1)下位机软件即STM32应用程序,主要完成采集电信号、滤波电信号、输出控制信号、液晶显示LCD和GPRS通信等功能;当系统上电后,开始对整个下位机系统初始化,设置定时器和串口工作方式,然后控制器便总是处于等待状态,直到上位机发送控制指令给控制器后,控制器进入接受命令程序;每个功能模块对应一个子程序,通过在主程序中调用子程序完成所要实现的功能。
2)上位机软件即PC端监控管理软件,具有下达采集命令及回传实时数据的读取、数据显示、曲线绘图、传感器状态显示等功能,采用Visual Basic作为监控软件平台。监控软件的各项功能建立在以太网通信的基础上,通过Visual Basic中的Winsock控件来实现双机的点对点通信,并通过用户数据报文协议(UDP)或传输控制协议(TCP)进行数据交换。
3.2 信号采集程序设计
STM32的片内ADC是12位的模数转换器,使用前必须对ADC及DMA进行配置,DMA配置包括复位DMA通道、定义 DMA通道外设基地址、定义DMA通道存储器地址、指定外设为源地址、定义DMA缓冲区大小、设置当前外设寄存器地址、设置DMA的内存递增模式、定义外设数据宽度、定义存储器数据宽度、设置DMA通道操作模式为环形缓冲模式、设置DMA通道优先级、禁止DMA通道存储器到存储器传输和初始化DMA通道等,ADC配置包括:设置ADC1和ADC2工作在独立模式、使能扫描、设置ADC转换工作在连续模式、设置软件控制转换、设置转换数据右对齐、设置转换通道、初始化ADC、使能ADC1模块DMA、使能ADC1、重置ADC1校准寄存器、等待ADC1校准重置完成、开始ADC1校准、等待ADC1校准完成、使能DMA通道1、使能ADC1软件开始转换等,配置完以上的程序,那么AD每转换一次,DMA都会将转换结果搬到指定存储单元ADC1_DR_Address中,而无需每次都用赋值语句来取值AD转换的值,大大提高了数据的采集速度。
3.3 GPRS通信程序
上位机与主控通信模块的通信过程如下:通信端口成功打开后,上位机向主控通信模块发送询问当前状态帧,如果在1s之内主控通信模块有确认帧,说明通信初始化成功,通信通路建立;当主控通信模块收到上位机发过来的读取数据命令帧后,以数据包的形式上位机发送包含采样数据信息的数据帧,上位机通过VB程序中的Winsock组件实现数据的接收功能。
设计中要实现收发数据时,应用程序需要得到客户端或者服务器的确认信息,而且点对点通信要求通信质量高,所以选择TCP协议。图2为RTU往PC监控端发送遥测遥信信息程序流程。
其中,STM32使用AT命令对GPRS模块进行控制,所使用的AT命令包括:测试SIM 卡是否存在(AT+ESIMS ),查询信号质量(AT+CSQ),模块关机(AT+MSO),GPRS 网络注册状态(AT+CGREG),帐号配置命令(AT+CSTT),激活无线网络链接(AT+CIICR),设置多链接命令(AT+CIPMUX),设置数据透传模式命令(AT+CIPMODE),打开一条TCP 或者UDP 链接命令(AT+CIPSTART),发送数据命令(AT+CIPSEND),自动接收数据( +IPD),透传参数配置(AT+CIPCFG),关闭链接命令(AT+CIPCLOSE)等。
4 结束语
在充分考虑功能与成本的情况下,设计了一种基于GPRS的RTU系统,该系统具有体积小、功耗低、操作灵活的特点,其将工业控制、数据采集存储和无线通讯结合在一起,可实现RTU的控制功能,又带有数据采集仪的功能,十分的方便,满足一般小型变电站监控的所有需要,系统投入使用后,监控室值班人员可以实时查看各个电力设备的运行状态,并可根据调度指令及时启停断路器,同时值班人员可以及时发现各设备的故障,减少了不必要的损失。
参考文献:
[1] 杨黄华.基于DSP的电能质量监测系统的设计[J].水电能源科学,2010(11).
[2] 徐伟.基于Modbus RTU协议的智能型低压电器通信功能检测的实现[J].机床与液压,2011(15).
[3] 罗会玖.基于GPRS的输油管道实时监控系统[J].电脑知识与技术,2013(7).
[4] 崔利娜.S3C2410在電能质量监测分析仪中的应用研究[J].电测与仪表,2010(2).