摘 要:设计了一种基于PLC+STM32的智能实验室SCADA系统。RTU硬件采用分散式的结构,将原来由一个MCU完成的复杂任务分散给多个MCU共同完成,系统可靠性和数据处理速率得到大幅度提高。RTU软件遵循可配置性原则,每个GPIO可以针对不同的用途重新配置成,提高了软件的开发效率。调试结果表明,该系统运行稳定,保证实验室各环境参数满足设定要求。
关键词:SCADA; 实验室;监控系统; 分散式
实验室是进行各种实验工作的特殊环境。为了保证整个实验室系统安全可靠地运行,实时检测、监控实验室各项环境参数,保证实验室状态稳定,并在发生意外或者系统出现故障时,自动采取一定的保护措施,设计一种智能实时监控系统是非常必要的。
本文提出一种分散式结构的SCADA智能实验室系统,将原本由一个MCU处理的复杂任务分散给多个MCU共同处理,从而使系统的可靠性、稳定性及处理数据速度、系统效率大幅度提高,增强了系统的可扩展性和可改造性。
数据采集与监控系统SCADA(Supervisory Control And Data Acquisition)是以计算机、通信网络为基础的生产过程控制与调度自动化系统。通过对现场的运行设备进行监视和控制,实现数据采集、设备控制、测量、参数调节及各类信号报警等功能[1]。根据SCADA系统结构,该智能实验室SCADA系统由RTU、HMI、TCOM 3个层次构成。远程控制单元RTU(Remote Terminal Unit)(即传统的下位机),主要负责实验室参数采集和控制;人机接口HMI(Human Machine Interface),主要负责提供良好的人机接口;远程通信网TCOM(Telecommunication),用于HMI与各RTU之间的通信。
1 总体架构
智能实验室总体架构由房间控制系统、气流控制系统(即通风柜控制系统和阀控制系统)、远程控制系统及人机接口部分组成。如图1所示。
房间控制部分是实验室监控系统的核心,连接着PLC、阀控制器、通风柜控制器以及触摸屏,主要负责采集房间参数,并发送命令给PLC、阀控制器、通风柜控制器,以控制整个实验室的正常运行。气流控制部分和阀控制器主要根据房间控制器发送参数和命令,PID调节房间送/排风,在保证房间最小换气次数的前提下,保证房间的负压环境。远程控制部分由远程PC和PLC组成,用户可以通过PC机的上位机软件发送命令给PLC和房间控制器,从而达到远程控制整个系统的效果。
人机接口除了远程PC外,每个房间控制器都配有一台7英寸液晶触摸屏,用户可以通过触摸屏发送命令给房间控制器,控制整个系统的运行。此外,监控系统还包含报警装置,当房间参数超出设定值,或者出现毒气泄漏等危险情况时即刻发出报警信号。
2 房间控制部分
房间控制部分由房间控制器和传感器组成。房间控制器以STM32F105RB处理器为主控制MCU,通过AI模块采集温度、湿度、压力、风量等信息,并通过DI模块采集开关量信息,通过AO模块调节系统的送/排风量和温度,通过DO模块改变系统各开关量的输出状态,房间控制部分结构如图2所示。
STM32F105RB是基于ARM CORTEX-M3核的32位RISC处理器,相比ARM7速率提高1/3,功耗降低3/4,最高运行频率可以达到72 MHz。配备CAN模块、RS485串口模块、电源模块、8位DI及6位DO模块。不仅涵盖了现有的STM32F103的功能,而且在此基础上增加了网络功能[2]。
温度检测模块采用瑞士伟拓Vector室内温度传感器SRA-T1,EEPROM自动保存最值记录,具有掉电存储功能。SRA-T1室内温度变送器感温敏感元件是NTC电阻,变送器电路的微处理器每秒对温度采样一次。滤波时间计算信号平均值,并且根据湿度量程做线性变换,然后产生信号输出,保证外部干扰对此变送器影响最小。默认滤波平均时间10 s,测量范围0~+50℃(+32~+122°F)。本系统每个房间配置一个SRA-T1室内温度传感器,采用24 V直流供电,输出0~10 V电压,接入房间控制器的AI模块。房间控制器将电压转换为温度,储存在RAM中,最后在上位机上显示。
3 气流控制部分
无论应用于何种行业,实验室气流控制系统对于实验室人员的人身安全都是至关重要的。必须确保实验室有毒气体从通风柜安全排放,维持合适的温/湿度环境和实验室负压。因此实验室通风系统在智能实验室系统中具有很重要的作用。
监控系统送排风采用全新风直流式装置及压差和温差控制,响应快速。送风空调机将室外风处理至送风状态,然后送入实验室内,补充实验室排风,维持实验室内温/湿度和负压环境[3]。送风机和排风机各2台,一用一备。由于实验室是全新风系统,实验室送风量较大,导致系统能耗和运行的电费较大, 故将PLC和变频器技术[4-5]应用于实验室控制系统中,通过检测管道末端压力,调节变频器频率,在保证房间最小换气次数的前提下,降低送风量,从而达到节能、减少功耗的目的。各控制器通信图如图3所示。
气流控制中,通风柜控制器首先通过AO模块将调节门开度发送给排风文丘里阀控制器,并通过485总线将通风柜开关机状态、面风速、紧急排风等信息传输给排风文丘里阀控制器。然后排风文丘里阀控制器根据调节门开度,应用PID方法通过排风文丘里阀开度调节排风量,同时排风阀控制器会将阀开度反馈给通风柜控制器,通风柜会将阀开度与调节门开度进行比较,判断阀控制器是否正常运行。排风阀控制器还会通过AO模块将排风量发送给房间控制器,并通过CAN总线将通风柜各种信息发送给房间控制器。房间控制器会将采集到的排风量发送给送风文丘里阀,送风文丘里阀会根据排风量调节送风阀开度,从而调节送风量,并且送风阀控制器会将实际送风量反馈给房间控制器。最后房间控制器会将通风柜信息、送/排风量、温/湿度及压力等信息显示在触摸屏上。由此得出监控系统气流控制部分的关键在于通风柜系统,只要调节门开度发生改变,则排风量发生改变,随之送风量也相应发生改变,而且在几毫秒内响应。
4 RTU软件
系统软件设计采用传统的无限循环方式,开发平台采用KeilMDK,采用STM32固件库VER3.5版本开发程序[6]。按照灵活性和可重新配置原则,每个AI、AO、DI、DO端口都可以配置成为不同的功能,如AI1既可以作为温度传感器的输入,也可以作为压力传感器的输入,同一时刻只能配置一个功能,可以通过上位机软件或者触摸屏设置[7]。
主程序运行流程如图4所示,当系统上电后,首先进行设备初始化,然后系统会在每次循环的开始重启13路ADC通道,采集各AI的输入,并通过DMA保存到RAM中[8]。在中断函数中,系统时钟每10 ms产生一次中断,将c_task[TASK4].TaskStatus置“1”,因此主循环中会首先执行TASK4:DisposalRoomEvent(),程序会进行手动模式和自动模式选择,默认情况下为自动模式。在手动模式下,风机以工频形式运行,系统会根据手动输入值改变各房间参数和系统参数。自动模式下,风机以变频模式运行,系统会根据房间温度和压力情况,自动调节水阀开度和通风柜风量大小。
主循环是系统软件核心,主要负责数据的采集、存储以及与气流控制系统数据的交换。主循环共有5个任务[1]: (1)TASK1执行的是串口1接受数据处理任务、完成房间控制器与PLC之间的数据通信;(2)TASK2执行的是串口2接受数据处理任务,完成房间控制器与触摸屏之间的数据通信;(3)TASK3执行的是串口3或者CAN总线接受数据处理任务,完成房间控制器与通风柜之间的通信;(4)TASK4的作用是处理房间参数和系统参数;(5)TASK5用来保存房间参数和系统参数。
基于PLC+STM32的智能实验室SCADA系统,利用PLC和变频器技术调节风机频率,节约能耗,提高了设备的稳定性和可靠性。利用CAN总线和串行总线将STM32、PLC、传感器、触摸屏组成网络,可方便地监控实验室设备的运行状态。另外,利用智能PID技术调节系统送/排风以及房间温度,提高了系统的动/稳态性和自适应性,保证了实验室温度、压力、湿度维持在一个极小的波动范围内,确保了实验室的正常工作环境。
通过以太网将多个PLC和中央控制室工控计算机联网,实现风机和实验室的远程监控以及手动模式和自动模式的切换。该系统已在某海关运行,调试结果表明,系统运行稳定,各项参数都能满足安全控制要求,极大降低了系统的能耗,保证了实验室工作环境的安全性及舒适性。
参考文献
[1] 陈 颖. SCADA系统通信软件研究与设计[D].南京:东南大学,2006.
[2] 周计文,王辉. 基于ARM的智能家居控制器的设计[J]. 微计算机信息,2007,8(2):149-151.
[3] 储云峰.施耐德电气可编程控制器原理及应用[M].北京:机械工业出版社,2007.
[4] 贺亮. 基于PLC的高清电子警察控制系统的研制[J].计算机应用与软件,2012,29(5):241-243.
[5] 洪群欢,吕昂. 一种基于STM32的温室SCADA系统[J].农机化研究,2010(5):128-132.
[6] 周先春, 石兰芳, 周杰. 一种出租车调度中心系统的设计[J].电子技术应用,2012,38(3):136-138.
[7] 张楠. 可配置远程温度监控SoPC系统设计与实现[J].计算机应用与软件,2012,29(6):61-200.
[8] 刘建成,李乐乐,李浩,等.煤矿瓦斯气体自动取样装置的设计与实现[J]. 电子技术应用,2013,39(7):77-79.