郑 斐,刘 勇,王睿鹏,郑 怡
(1.北方民族大学 基础实验教学与工程实训中心,银川 750021;2.银川能源学院 机电工程学院,银川 750100;3.中国建筑科学研究院有限公司,北京 100020)
某企业原变压器注油系统无法监测罐区油罐液位,无法得知变压器注油油量,存在工人私自取油卖油的行为,影响企业效益。针对这些缺点,本文设计了一套以西门子S7-300 PLC 为控制器,通过现场总线Profibus 构建的分布式I/O 控制系统。因为变压器注油要求流量是6 t/h,不能有超调[1],传统的PID 控制器达不到调节目的,所以采用有监督Hebb 学习规则的单神经元PID 算法控制变压器注油流量。实际应用表明,这种控制算法具有很强的抗干扰能力,调节时间短,系统超调量小,可以达到调节流量的目的。
流量调节采用变频调速方法。因为控制对象是流量,执行机构无需采用特别复杂的控制方式,所以变频器采用开环恒压频比(VVVF)方式变频。采用这种方式的优点是:开环恒压频比调速结构简单,可以实现电机的无极调速,并具有一定的节能效应。复杂计算通过PLC 完成,变频器执行输出,流量控制结构如图1所示。油泵形式选择为齿轮油泵,型号是YCB10-0.6,出口压力0.6 MPa,出口流量15 m3/h;电机型号Y132S-4,电机功率5.5 kW。
图1 流量控制结构图Fig.1 Flow control structure diagram
针对油罐的摆放形式和厂方滤油工艺,采用西门子S7-300 PLC 控制器搭建Profibus 分布式I/O 控制系统,控制系统结构如图2所示。变压器油路管道改造系统以CPU315-2DP 为主站,通过现场总线Profibus 与从站分布式I/O 控制器ET200M 通讯[2]。上位机监控界面由MCGS 软件开发,主要包括成品滤油监控界面、试验滤油监控界面、成品注油监控界面、试验注油监控界面和油罐实时液位监控界面。
图2 控制系统总体结构图Fig.2 Overall structure of the control system
流量计选用北京宁远环球公司生产的24 V 脉冲输出式涡轮流量计。相比其他信号输出方式的流量计,脉冲输出式流量计精度高,抗干扰能力强。脉冲输出式流量计发出的脉冲需送入FM350-2 高速计数器模块中通过程序计算才能测出瞬时流量和累计流量。FM350-2 是具有高精度计量功能的8 通道32位脉冲计数器模块,计数器最大输入频率可达10 kHz,FM350-2 具有多种计数方法和多种工作方式。
在STEP7 硬件组态中将FM350-2 所用通道工作方式设置为频率测量,通过计算脉冲频率得出瞬时流量。FM350-2 频率测量是以时间窗口为基准,在这段时间内对脉冲计数计算脉冲频率,本文时间窗口选择1 s。瞬时流量计算公式如下:
式中:F 为瞬时流量,m3/h; f 为脉冲频率,脉冲/s;λ为仪表系数,脉冲/L。
在STEP7 中建立数据块DB,编号设为101,变量的数据类型为用户自定义类型UDT1(随FM350-2 的驱动程序已安装好)。该数据块可以保存FM350-2 在运行过程中需要的参数,也可以由该数据块输出各个测量值供用户读取。FM350-2 的8 个输入通道分为2个部分可以2 次读取,每次读取4 个通道的频率值和计数值。给JOB_RD.NO(地址为DB101.DBB2)赋值100,读取的是通道(0~3)的测量值。给JOB_RD.NO 赋值101,读取的是通道(4~7)的测量值。程序里安排时钟存储器位M100.0 来交替发送作业号读取测量值。
无监督Hebb 学习规则只是当2 个神经元被同时激活时才会加强连接权值,不会根据外界环境改变连接权值;有监督Delta 学习规则根据期望输出和实际输出的差值增大或者减小输入的连接权值,可以根据外界的指导信号改变连接权值,但连接权值大小只和某一个神经元的状态和另一个神经元期望输出和实际输出的差值有关;因为有监督的Hebb 学习规则的连接权值与2 个神经元的激活状态和外界的指导信号都有关,所以采用有监督Hebb 学习规则更好。
有监督Hebb 学习规则的单神经元PID 控制原理如图3所示。
图3 有监督Hebb 单神经元PID 控制结构图Fig.3 Supervised Hebb single-neuron PID control structure diagram
流量设定值r(k)与式(1)计算的瞬时流量y(k)计算得到偏差e(k),e(k)经转换器转换成单神经元学习控制所需要的状态量x1(k),x2(k),x3(k),有监督Hebb 单神经元PID 输出如式(2)所示,规范化权系数ωi′计算如式(3)所示,权系数ωi如式(4)所示[3]。
式中:x1(k)=e(k)=r(k)-y(k),这里的e(k)作为教师信号用于指导神经网络的学习;x2(k)=e(k)-e(k-1);x3(k)=e(k)-2e(k-1)+e(k-2);K 是神经元的比例系数,K>0;ηP,ηI,ηD分别为比例、积分、微分的学习速率。
因为三相异步电动机具有多变量耦合等特点,所以大部分的学者采用坐标变换法建立异步电动机的数学模型[4]。但这种方式建立的数学模型极其复杂,不便在Simulink 中仿真。本文根据文献[5]中所述方法,将变频器和齿轮泵作为比例环节,根据实际使用的电机参数建立系统的数学模型如式(5)。因为高速计数器每1 s 读取脉冲频率,所以读取反馈流量值时存在滞后时间。PID 输出到齿轮泵转速改变也存在滞后时间,式(5)中的滞后环节包含整个系统的滞后时间。将流量计和高速计数器整体作为一个一阶惯性环节,其数学模型如式(6)。
因为单神经元PID 在Simulink 中没有相应模块,所以采用S 函数建立有监督Hebb 单神经元PID 算法,系统框图如图4所示。初始权值随机选取ω1=ω2=ω3=0.1,学习效率ηP=0.4,ηI=0.35,ηD=0.4,K=0.05,采样时间1 ms。在第0.5 s 时加入单位阶跃信号作为干扰源,有监督Hebb 单神经元PID 干扰曲线如图5所示。
图4 单神经元PID 系统结构图Fig.4 Structure diagram of single-neuron PID system
图5 有监督Hebb 算法干扰曲线Fig.5 Supervised Hebb algorithm interference curve
有监督Hebb 单神经元PID 算法比普通PID 算法具有系统响应快,无超调的特点并且具有较好的抑制干扰能力。
在PLC 中实现单神经元PID 控制算法必须将设定量和反馈量转换为0~1 之间的浮点数,以西门子S7-300 PLC 为例。单神经元算法写入功能FC18中,在组织块OB35 里调用FC18。因为瞬时流量采样时间是1 s 一次,所以定时中断OB35 时间设置为2 s,即每2 s 执行一次单神经元PID 运算。在FC18中编写单神经元PID 算法流程如图6所示[8]。
图6 有监督Hebb 单神经元PID 算法流程Fig.6 Supervised Hebb single-neuron PID algorithm flow chart
实际调节流量过程如图7所示,可以看出应用单神经元PID 控制策略,系统调节时间大致在23 s,管道流量还是存在微小的超调,但这种超调在允许范围内。在实际调节过程中,K 值的大小对系统影响很大,K 值过大则系统超调量大,K 值过小则系统调节时间长。初始权值ωi和学习效率ηP,ηI和ηD的值对系统的影响不大,可以先给出K,ηI和ηP的值,然后调节K 值,当系统超调量较小时再调整ηD。实际中K=2.6,ηP=ηI=2,ηD=0.8。
图7 流量调节界面Fig.7 Flow adjustment interface
本文设计一种以西门子CPU315-2DP 为主站,ET200M 为从站,通过现场总线Profibus 实现通讯的变压器油路控制系统。有监督Hebb 学习规则的单神经元PID 算法输出的控制信号进入变频器中,通过恒频压比(VVVF)的方式控制电机转速从而控制泵的出口流量,最终达到控制管路中油液流量的目的。由于三相异步电动机具有多变量耦合等特点,本文采用一种较简单的建模方法,寻找变频器输入控制电压和电机转速之间的关系建立电机模型,并根据建立的电机模型运用Simulink 软件仿真分析单神经元PID 和的控制效果。通过仿真可以看出,单神经元PID 具有无超调,响应快和抗干扰能力强等优点。在西门子PLC 的编程软件STEP7 中通过梯形图和语句表语言实现单神经元PID 控制算法。实际中发现,单神经元PID 控制器具有系统调节时间短,超调量小的优点。