基于LabVIEW的PID多点精确控温系统的设计
2018-02-15林支慷范艾杰侯佳欣袁文博陈爱平顾大伟
林支慷,范艾杰,侯佳欣,袁文博,陈爱平,顾大伟
(南京工业大学 数理科学学院,江苏 南京 211800)
实际生活与工业生产中需要测量温度和控制温度的场合极其广泛[1-2],其中控温方式种类繁多,如机械式控温、PID控温、模糊控温等等。PID控制作为一种不基于模型的控制方法,在工业控制领域具有很强的生命力[3]。PID控温利用PID调节原理,其控制规律为比例、积分、微分控制,即根据系统的误差量,利用比例、积分、微分算法,计算出控制调节量,以实现对系统的控制[4]。目前PID控温仪大多是由PID控制仪表与各类传感器、配送器结合使用,如配合热电阻或热电偶以实现温度的测量、显示、报警控制与变送输出[5]。传统PID控温仪大多只适用于控制单点温度或者一定范围内热流密度变化较小的加热系统。在实际应用中,经常会遇到控温对象物理尺寸较大的情况(如大型的隧道炉),针对这种空间较大的加热对象,单点PID控温仪很难保证内部温度分布均匀的需要,而采取多台单点控温仪组成多点控温系统则大大增加了系统的硬件成本和复杂程度。
本文设计的PID多点精确控温系统是由计算机结合网络数据采集卡以及温度传感器等硬件构成一个多通道采集测控系统。通过LabVIEW编写的程序实现了PC端处理、存储、显示温度变化,并控制网络数据采集卡对加热装置进行精确控温。LabVIEW是目前国际上应用广泛的虚拟仪器软件平台之一,主要应用于仪器控制、数据采集、数据显示等领域,适用于Windows、Macintosh、UNIX等多种操作系统,其最大的优势在于测控系统的开发[6-9]。本文设计的控温系统还可以通过局域网方便地扩充测温及控温端口,使用方便灵活,可以满足大型加热装置的控温要求。
1 硬件选用与功能介绍
本文在设计测控温系统时采用了常见的B型热电偶,B型热电偶属于高温热电偶,测温范围可达到0~1800℃[10]。如果需要使用其他类型的热电偶,在程序界面进行相应的选取即可。
在实际测温过程中,热电偶只有在参考端(冷端)温度不变的条件下,其热电势才与工作端温度成单值函数关系[11-12]。为精确测量外界环境温度,本文选用AD590设计了冷端温度补偿电路,如图1所示。AD590在电路中工作时输出的电流与环境温度成线性关系[13],通过OP07减法器将与AD590串联的R5电阻(阻值1kΩ、精度±1%、温度系数±50ppm)上的电压减去273.1mV,即可得到输出电压VOUT,VOUT的毫伏数值即代表了冷端环境温度数。环境温度每变化0.1℃,VOUT电压值改变0.1mV。
图1 AD590温度补偿电路图
本文选取NET0724以太网数据采集卡作为测温控温的核心硬件。该数据采集卡电压测量量程为0~2.5V,拥有16路24位AD转换精度(即电压测量精度达到10-7V)的电压测量端口,同时配置有8路光电隔离DO(数字输出开关量)。在采用单块数据采集卡进行工作时,本文设计的测控温系统可以同时监控15路(16-1=15,AD590的温度补偿需要一个端口)热电偶信号,利用8路DO分别独立控制固态继电器对加热装置进行控温。B型热电偶在800℃时每改变0.1℃对应的电压改变0.0077mV,系统采用的数据采集卡完全能够满足精确测量冷端温度补偿电路输出电压以及热电偶电压信号的需求。
在常见的加热装置中,触发控温方式种类繁多,如可控硅触发控温、继电器触发控温、固态继电器触发控温等等。本文设计的控温系统采用了常见的固态继电器触发控温方式。固态继电器型号为SSR-25DA,控制方式为直流控交流(DC-AC),控制电压为3~32VDC,控制电流DC为3~25mA,负载电流为25A,负载电压为24~380VAC。控温过程中,数据采集卡DO端输出5V直流电压加载在继电器DC端控制AC端导通。固态继电器的断态时间T≤10ms,能够满足系统对加热时间精确控制的要求。
2 PID多点精确控温系统程序
2.1 利用LabVIEW实现数据采集卡与PC连接
NET0724与计算机的通信是基于局域网进行的。将NET0724通过网线与PC端进行物理连接后,在计算机的网络与共享中心目录下进行如图2所示的设置,即可将数据采集卡与PC构成局域网。
图2 数据采集卡与PC连接设置
LabVIEW内部基于TCP/IP协议的数据通信模块具有非常强大的网络功能,支持DataSocket远程数据采集技术,可轻松实现远程数据采集及数据交换。利用 LabVIEW中TCP通信程序(TCP open connection function)可以方便地编写程序访问数据采集卡[14]。图3为PID多点精确控温系统的联机通信程序框图,数据采集卡的默认IP地址为192.168.1.20。
图3 数据采集卡与PC联机程序框图
2.2 温度与电压转换程序
B型热电偶电压转换温度的子VI程序框图如图4所示。采用LabVIEW系统内部的电压转换温度子VI(Volts to Temperature.vi)可以方便的将数据采集卡测量得到的热电偶电压信号转换为温度值,该子VI有8种热电偶类型(包括B、E、J、K、R、S、T、N型热电偶)可供选择。每种热电偶在不同量程范围具有相应的电压温度关系,可将对应的热电偶的电压信号转换为温度值并实时显示在程序的前面板上。如图5所示,数据采集卡测量热电偶得到的温度值将加上环境温度进行中值滤波后得到最终的测温点的实时温度,并在前面板图表中进行显示。
图4 B型热电偶电压转换温度程序框图
图5 温度实时显示程序框图
2.3 PID工具包
LabVIEW的PID工具包提供了10个子VI供用户使用,如图6所示。利用PID工具包,不但可以在LabVIEW环境下通过友好的人机交互界面直观方便地进行控制器的程序设计,还能充分发挥LabVIEW的各种强大功能,特别是同数据采集板卡等硬件的良好结合,可以迅速地搭建自动控制系统,进行仿真及实际应用[15]。
PID.vi是一个可用于搭建简单PID控制器的子VI,该VI的输入端需要设定3个PID参数值(PID gains),包括系统反馈值(process variable)、实际期望值(setpoint)、微分时间(dt),由输出端给出需要的输出值(output)。
图6 PID工具包
PID工具包提供的10个子VI,可以满足用户在大多数场合的应用,根据不同的现场需求,使用不同的子VI搭建PID控制器,方便快捷。
2.4 PWM子VI及精确控温程序的设计
如图7所示,为本文利用LabVIEW软件自主设计的进行精密控温的脉宽调制子VI(PWM.vi)。该子VI利用平铺式顺序结构和FOR循环结构,精密控制NET0724数据采集卡的DO端口的高低电平输出时间。在DO端口输出高电平时,将触发固态继电器使AC端导通,此时加热装置通电加热;当DO端口输出低电平时,固态继电器AC端不导通,加热装置断电。
图7 PWM.vi程序框图
PID.vi与PWM.vi构成了程序精确控温的核心部分。PID.vi中比例参数、积分时间、微分时间、输出值范围、加热装置的期望温度以及程序工作周期,可根据加热需求的不同在前面板自行设置,本文的参数设置如图8(a)所示。程序运行后PID.vi根据目标温度和测量温度进行计算,输出值将传递给PWM.vi中,实现对加热装置通电加热时间的精确控制。同时系统测量加热装置中的实时温度反馈给PID.vi,形成一个完整的闭路控温系统,如图8(b)所示。在一般的加热装置中,对加热时间的精确控制是保证精确控温的重要因素。本文设计的PWM.vi控制加热时间的精度能达到10ms,经过多次实验验证,该控温系统长时间定点控温的波动小于一般的PID控温装置,在达到目标温度在800℃后能长时间保持温度波动范围在±0.5℃内。
(a)前面板
(b)后面板
2.5 大型温控系统的组建
如前所述,本文设计的精密控温系统是基于PC端运行的。在IP地址段192.168.0.0~192.168.0.255内,一台计算机可与253块 NET0724数据采集卡组建成星型网络结构。基于网络测控,系统可以采集4047路(16253-1=4047,冷端AD590温度补偿需要一个端口)热电偶电压信号进行精密测温,控制2024个(2538=2024)DO端口分别独立控制加热装置,构建一个大型的多点测温控温平台。如图9所示,为大型温控系统的结构示意图。
图9 大型温控系统结构示意图
3 结束语
在本文设计的精确控温系统中,由LabVIEW软件编写的测控温程序配合网络数据采集卡、固态继电器等硬件对加热装置进行精确测温和控温。程序利用数据采集卡接收加热装置中的热电偶信号,采用PID算法计算每个控温周期内的加热时间输出给PWM.vi,通过数据采集卡的DO端口触发固态继电器控制加热装置,形成一整套闭环测温控温系统。24位NET0724数据采集卡的电压测量精度可达到10-7mV,能够精确分辨B型热电偶0.1℃的变化;自行设计的PWM.vi控制加热时间的精度能达到10ms,保障了系统长时间定点控温时温度波动范围能稳定在±0.5℃之内。通过星型结构的局域网,系统利用交换机和NET0724采集卡可扩充至4047路测温端口、2024路控温端口,组成一个大型的测温控温平台。