3软件设计
本测量系统采用LabVIEW7.0 Express作为控制软件。LabVIEW程序称为虚拟仪器程序,它是基于图形化编程语言G的开发环境,是仪器控制与数据采集的编程平台。LabVIEW程序是通过对数据采集卡的控制来采集数据的。电压模拟信号被数据采集卡采集后输人计算机,用PID算法对采集到的数据进行分析处理,同时用所产生的控制信号将处理后的数据送人输出通道。系统的采集状态由前面板显示,所采集出的温湿度数据以文件形式保存。以模块化的编程思想将系统分成数据采集、系统控制、实时显示、数据存储4个模块,并把每个模块编写成一个子VI,让各模块分别完成确定的任务,然后通过主程序调用每个子VI。
3.1主控模块
主控模块可以使各模块之间按照系统的框架协议来协调动作和通信,以及实现人机交互功能,该主控模块提供有用户接口,主控模块可以通过调度各功能模块来响应用户指令。本系统提供了形象逼真的仪器软面板,以方便用户使用。
3.2数据采集模块
数据采集模块的功能就是将温度信号转化为数字量并传递到计算机。NI公司的数据采集卡的数据采集功能可以由LabVIEW提供的模入模块中的中级模入函数组合起来实现。
图3是使用中级模入设计的数据采集程序框图。该程序先用Device Open.vi模块打开数据采集设备;然后用AI Config.vi模块来配置数据采集卡.选择模拟量输入通道,指定输入信号的范围(调节硬件增益),设置采集数据所占用计算机缓冲区的大小及设置扫描间隔:再通过AI Start.vi启动模入操作,其作用主要是控制数据采集速率和要获得的扫描数,这里将Number of scans to acquire(获得的扫描数)输入端口值设置为“0”即可选择连续采集模式,直到清除模入操作为止(如果设置为“-1”则只要缓冲区满就停止扫描);AI Read.vi的作用是从AI Config分配的缓冲中读取数据,它能控制每次读取的点数、读取数据在缓冲中的位置等,它的输出是一个二维数组,其中每一列数据对应于通道列表中的一个通道;最后,通过AI Clear.vi模块来清除模入操作和计算机中分配的缓冲,并释放所有数据采集的资源。
系统把采集到的数据送到PID控制器的输入端口,经过PID处理后,把控制输出量通过数据采集卡的输出通道输出。
3.3 系统控制模块
控制电路的工作原理是把传感器输出的电信号经放大、滤波后,再经过数据采集卡输入计算机,计算机根据实际温湿度和系统的给定温湿度度求出偏差,并利用PID控制算法求出系统的输出控制信号,然后通过数据采集卡输出的控制信号来控制继电器的动作,进而控制鼓风机和排风扇的工作,最终达到调整烤烟房的温度和湿度之目的。
该模块的基本思路是:根据烤烟时的三阶段烘烤要求,在不同阶段,先由烟农在客户端VI的前面板上发出相应的控制命令来设定温湿度参数,然后系统对采集的数据利用PID控制算法进行处理,并通过数据采集卡产生相应的控制信号来控制相关继电器的工作。PID是当前工业控制中应用最广泛的算法。图4是一个典型的PID控制系统的基本结构。这里将被控制的系统参数叫做过程变量(PV-Process variable),将被控制的过程变量指定的理想值叫做设定点(SP-setpoint)。PID控制器先确定一个对被控系统的输出量(U—output),然后驱动过程变量使其逼近设定点。
以温控为例,当温度低于设定的阈值范围时,控制器向数字I/O通道相应位写入‘1’,控制继电器随既接通(鼓风机启动),温度升高;反之,控制器向数字I/O通道相应位写入‘0’,继电器关闭(鼓风机停止),温度降低。如此反复,从而使温度值稳定在设定值的阈值范围内。经实践,温度的浮动范围定为±2℃,湿度的浮动范围定为±3.5%。