公司新闻

PLC在老化房控制系统中的应用

一、引言
  随着电子技术,计算机控制技术和通信技术的发展,PLC(可编程序控制器)的功能也愈来愈强大,由原来简单的逻辑控制功能逐渐发展到模拟量控制,高速大容量运算处理,PID闭环控制,运动/定位控制,网络通信等功能,已经成为现代工业控制设备的三大支柱之一。EC20系列PLC(可编程控制器)是艾默生(Emerson)公司致力于工业自动化领域全新推出的新一代可编程控制器,它代表了工业自动化控制的*高水平,是*新计算机技术与工业控制技术的上乘结合。
  自EMERSON EC20系列PLC推向市场以来,以其卓越的性能,高品位的性价比,完善的服务体系受到用户的热烈好评,产品广泛应用于电子,食品饮料行业,空调制冷设备,锅炉行业,物流仓库,科技农业,交通运输,石油化工,供水,玻璃/钢铁行业,纺织机械,线缆机械,塑机,印染包装等各个领域。本文介绍了艾默生公司EC20 PLC在老化房控制系统中的应用并着重介绍该产品的PID闭环功能在恒温控制上的实现和强大的网络通信功能对EMERSON EV2000变频器运行控制的实现。该老化房控制系统是家电,电子,电脑行业产品生产检测的重要设备,也是产品生产合格检查的重要环节。该系统采用EMERSON EC20 PLC和多台EV2000变频器,实现对室内温度和变频器运行的集中控制。
  二、老化房控制系统工艺要求:
  老化房结构如图所示:
  


  


  具体要求如下:
  1、该系统所控制的老化房面积达16×30M,要求控制范围在20-55℃,控制精度达±5℃,能够在上位机对温度设定/显示/保存;(加湿控制采用单独进行和PLC无关)
  2、该系统有3个风机,用于进风,回风和排风;有4个风闸:新风闸,回风闸,排风闸,防火闸;2个防尘过滤网;6个火灾报警点;
  在正常情况下(温湿度),关闭进风阀和排风阀,停止进风电机和排风电机,打开回风阀和防火阀,启动回风风机,保持老化房内回风循环;
  在高温情况下,排风阀和进风阀打开,启动排风电机和进风电机,抽出部分空气;
  在火灾报警情况下,防火阀关闭,回风禁止循环,全部从室内抽出;同时排风阀和进风阀打开,启动排风电机和进风电机,抽出室内空气;
  3、其他要求省略;
  三、工作原理:
  PLC系统结构如下:
  


  


  EC20PLC设备的I/0接线如图:
  


  


  工作原理:
  根据老化房工艺要求组成如上图控制系统:上位机采用台湾研华IPC(工控计算机);监控画面采用亚控公司的KINGVIEW软件,该软件操作简单,元件形象丰富,性能稳定;核心控制部分采用EMERSON EC20-2012BTA类型的PLC和4个温度采集模块(EC20-4TC,接受K型温度信号);传动采用EMERSON EV2000通用型变频器。
  在设备连接方面,EC20 PLC充分体现了自身的优势,由于EC20 PLC本身带有2个串行通信口(1个RS232口,集成自由协议/编程协议/MODBUS从站协议,1个RS232/485口,集成自由协议/MODBUS主站/从站协议),EC20 PLC利用COM0口和IPC进行通信(EC20 PLC做从站,设置成MODBUS从站协议),利用COM1和多台变频器组成网络进行集中控制(EC20 PLC的COM1设置成MODBUS主站协议)。
  IPC为整个系统的人机接口,IPC读取PLC采集的系统运行状态如各风机的运转状态,各测温点温度,报警状况并显示在监控画面上,IPC又把各种操作命令传给PLC以控制系统的运行,如温度的设定,PID参数设定,各种阀门的开闭,变频器的启动、停止等设定。并且可以实时监控整个系统的工作运行状态、动作过程及故障报警等,IPC还可以根据设定对采集的数据进行保存打印。
  在系统设计中,EC20 PLC为整个系统的核心,执行各种系统操作及计算,EC20 PLC根据工艺要求和现场状况进行逻辑判断,开闭各种阀门和启停各风机;同时利用自身的PID功能对温度进行控制,具体方法后面描述。
  EV2000系列变频器自带RS485接口的通讯单元,符合RS485通讯规范,用于实现PLC与多台变频器的联网。根据MODBUS通讯协议,我们可以通过RS485网络轻松实现对变频器的运行控制。由于RS485通讯链路传输距离远、配线简单、抗干扰能力强、可靠性高,因此在设计中,我们省略了变频器的外部起停控制线路,对变频器的所有控制都通过RS485通讯链路来完成,达到了经济高效的目的。
  四、监控画面
  整个系统监控画面主要分为主画面,实时温度监控,PID参数设定,三个部分(其他部分省略),具体如下:
  


  


  主画面如上图所示,主要完成对系统状态的监控(如各种风阀的开闭状态,风机的运行状态,报警状态),数据统计(如系统运行的时间,启停系统的次数),温度设定/测量等功能。
  


  


  实时温度监控画面如上所示,此画面主要用于对温度的实时监控,并描绘出温度曲线趋势,以便判断系统的温度控制是否处于良好状态,同时可以实现对温度进行保存/打印等操作。
  


  


  PID参数设定画面主要用于比例常数P,积分常数I,微分常数D的设定,同时根据实时温度曲线状况进行调节;同时显示PID控制的输出比例。
  五、对温度控制的实现
  为便于对整个老化房内温度的控制,同时充分利用EC20 PLC自身PID功能和PWM脉冲输出(Y0,Y1)的优势,室内温度区域分为2个部分(上层和下层各8个测温度点),对温度取平均值作为温度的测量值,并把此平均值送入PID功能块进行运算,同时对加热执行元件(参考EC20 PLC的I/O接线图,固态继电器SSR1,SSR2,SSR3所控制的发热管的功率逐渐加大)也进行了分组处理:温度偏差较小的情况下,进行PID运算,通过Y0输出脉冲给SSR1,同时关闭SSR2,SSR3(即Y1,Y2停止输出);如果温度偏差较大,则Y1,Y2也参加输出,具体处理思路如下:
  偏差值(ER=SV-PV) 处理办法
  ER≥3 关闭PID运算,直接输出Y0,Y1,Y2;
  3>ER≥1 启动PID运算控制Y0输出,同时启动Y1输出;关闭Y2输出;
  1>ER≥-1 启动PID运算控制Y0输出,关闭Y1,Y2输出;
  -3>ER>-1 启动PID运算控制Y0输出,同时启动Y1输出;关闭Y2输出;
  -3≥ER 关闭PID运算,关闭Y0,Y1,Y2;
  通过此法处理可以把温度控制精度保持在±0.3度以内,而且无论提升温度还是下降温度都很快速;同时把PID输出转化为PWM的占空比输出,又大大节省了PLC的资源(充分利用Y0,Y1的高达100KHZ的脉冲输出功能)。
  EC20 PLC的编程软件CONTROLSTAR的操作简单方便,指令丰富,功能强大,是一个很优良的全中文编辑工具。
  实现步骤具体如下:首先,在数据块设定PID各参数,其中的重点是设置P,I,D三个参数和输出量的上下限范围,由于PID的输出结果直接和PWM结合在一起,所以设置时要特别注意,在本例子中,按照PWM的周期为4秒(=4000MS)计算,把PID的输出上下限分别设定为4000和0;另外按照逆动作(BIT0=1),输出限定(BIT5=1)的要求对D7911各位进行赋值;
  D7910 500 //采样时间S3 采样时间(Ts)范围为1~32767(ms),比运算周期短的时间数值无法执行;
  D7911 16#23 //动作方向 > 逆动作,设输出限定
  ………………………………………………..//BIT0 0:正动作 1:逆动作;
  ………………………………………………..//BIT1 0:输入变化量报警无效 1:输入变化量报警有效;
  ………………………………………………..//BIT2 0:输出变化量报警无效 1:输出变化量报警有效;
  ………………………………………………..//BIT3-4 没使用;
  ………………………………………………..//BIT5 0:输出值上下限设定无效1:输出值上下限设定有效;
  ………………………………………………..//BIT6~BIT15 没使用
  D7912 70 //S3+2 输入滤波常数(α)范围0~99[﹪],为0时没有输入滤波;
  D7913 100 //S3+3 比例增益(Kp)范围1~32767[﹪];
  D7914 25 //S3+4 积分时间(TI)范围0~32767(×100ms),为0时作为∞处理(无积分);
  D7915 0 //S3+5 微分增益(KD)范围0~100[﹪],为0时无微分增益;
  D7916 63 //S3+6 微分时间(TD)范围0~32767(×10ms),为0时无微分处理;
  D7925 2000 //S3+15 输入变化量(增侧)报警设定值0~32767(S3+1的BIT1=1时);
  D7926 0 //S3+16 输入变化量(减侧)报警设定值0~32767(S3+1的BIT1=1时);
  D7927 4000 //S3+17 输出变化量(增侧)报警设定值0~32767(S3+1的BIT2=1和BIT5=0时);输出上限设定值-32768~32767(S3+1的BIT2=0和BIT5=1时);
  D7928 0 //S3+18 输出变化量(减侧)报警设定值0~32767(S3+1的BIT2=1和BIT5=0时);输出下限设定值-32768~32767(S3+1的BIT2=0和BIT5=1时);
  其次,在程序里调用PID指令和PWM指令用于控制Y0的输出(对SV和PV的比较而进行的逻辑控制输出较简单,故此处省略)。
  


  


  六、对变频器的启停控制
  由于EMESON EC20 PLC和EV2000变频器(非标)都集成MODBUS协议,所以实现它们的通信相对比较简单,整个网络采用RS485通信方式。
  1.各设备接口通信参数设置,对EC20 PLC设置如下:
  


  


  
  2.EV2000的设置要点:1,各通信参数要和EC20 PLC一致;2,各变频器的地址要有自己唯壹的从机地址;3,注意变频器的通信跳线开关CN14拨在RS485方向;4,变频器的延时应答设为(FF.03)30-50ms;
  FF:通讯参数
  功能码 名称 LCD画面显示 设定范围 *小单位 出厂设定值 更改
  FF.00 通讯配置 通讯配置 LED个位:波特率选择
  0:1200BPS
  1:2400BPS
  2:4800BPS
  3:9600BPS
  4:19200BPS
  5:38400BPS
  LED十位:数据格式
  0:1-8-2格式,无校验,RTU
  1:1-8-1格式,偶校验,RTU
  2:1-8-1格式,奇校验,RTU
  3:1-7-2格式,无校验,ASCII
  4:1-7-1格式,偶校验,ASCII
  5:1-7-1格式,奇校验,ASCII
  LED百位:虚拟输入端子
  0:无效
  1:有效
  LED千位:接线方式
  0:直接电缆连接(232/485)
  1:MODEM(232) 1 0004 ×
  FF.01 本机地址 本机地址 0~247,0 为广播地址 1 5 ×
  FF.02 通讯超时检出时间 通讯超时时间 0.0~1000s 0.1 0.0s ×
  FF.03 本机应答延时 本机应答延时 0~1000ms 1 5ms ×
  3.EC20PLC和变频器的连接如下:
  


  


  4.EC20 PLC和变频器之间采用MODBUS RTU方式通信,Modbus采用“Big Endian”编码方式,先发送高位字节,然后是低位字节。RTU方式格式如下:
  
  RTU方式:在RTU方式下,帧之间的空闲时间取功能码设定和Modbus内部约定值中的较大值。Modbus内部约定的*小帧间空闲如下:帧头和帧尾通过总线空闲时间不小于3.5个字节时间来界定帧。数据校验采用CRC-16,整个信息参与校验,校验和的高低字节需要交换后发送。具体的CRC校验请参考协议后面的示例。值得注意的是,帧间保持至少3.5个字符的总线空闲即可,帧之间的总线空闲不需要累加起始和结束空闲。
  Modbus*主要的功能是读写参数,不同的功能码决定不同的操作请求。变频器Modbus协议支持以下功能码操作:
  功能码 功能码意义
  0x03 读取变频器功能码参数和运行状态参数
  0x06 改写单个变频器功能码或者控制参数,掉电之后不保存
  0x08 线路诊断
  0x10 改写多个变频器功能码或者控制参数,掉电之后不保存
  0x41 改写单个变频器功能码或者控制参数,掉电之后保存
  0x42 功能码管理
  Modbus协议不同的功能码有不同数据的格式和意义,简要介绍如下:
  改写多个变频器功能码和状态参数的格式协议:请求格式如下:
  应用层协议
  数据单元 数据长度
  (字节数) 取值或范围
  功能码 1 0x10
  起始寄存器地址 2 0x0000~0xFFFF
  操作寄存器数目 2 0x0001~0x0004
  寄存器内容字节数 1 2*操作寄存器数目
  寄存器内容 2*操作寄存器数目
  应答格式如下:
  应用层协议
  数据单元 数据长度(字节数) 取值或范围
  功能码 1 0x10
  起始寄存器地址 2 0x0000~0xFFFF
  操作寄存器数目 2 0x0001~0x0004
  读取变频器参数的协议格式:请求格式如下:
  应用层协议
  数据单元 数据长度
  (字节数) 取值或范围
  功能码 1 0x03
  起始寄存器地址 2 0x0000~0xFFFF
  寄存器数目 2 0x0001~0x0004
  应答格式如下:
  应用层协议
  数据单元 数据长度
  (字节数) 取值或范围
  功能码 1 0x03
  读取字节数 1 2*寄存器数目
  读取内容 2*寄存器数目
  变频器的功能码参数、控制参数和状态参数都映射为Modbus的读写寄存器。功能码参数的读写特性和范围遵循变频器用户手册的说明。变频器功能码的组号映射为寄存器地址的高字节,组内索引映射为寄存器地址的低字节。变频器的控制参数和状态参数均虚拟为变频器功能码组。功能码组号与其映射的寄存器地址高字节的对应关系如下:
  F0组:0x00;F1组:0x01;F2组:0x02;F3组:0x03;F4组:0x04;F5组:0x05;F6组:0x06;F7组:0x07;F8组:0x08;F9组:0x09;FA组:0x0A;Fb组:0x0B;FC组:0x0C;Fd组:0x0D;FE组:0x0E;FF组:0x0F;FH组:0x10;FL组:0x11;Fn组:0x12;FP组:0x13;FU组:0x14;变频器控制参数组:0x32;变频器状态参数组:0x33。
  例如变频器功能码参数F3.02的寄存器地址为0x302,变频器功能码参数FF.01的寄存器地址为0xF01。
  5.具体程序编写:启动5#变频器正转,转速设定为50.00HZ(内部表示为5000)的命令如下: 地址 功能码 寄存器地址 寄存器数目 寄存器内容字节数 寄存器内容 校验和
  请求 0x05 0x10 0x3200 0x0002 0x04 0x01C7,0x1388 0x16A9
  响应 0x05 0x10 0x3200 0x0002 无 无 0x4EF4
  程序清单:
  


  


  读取5#变频器的运行频率,变频器应答运行频率为50.00HZ:
   地址 功能码 寄存器地址 寄存器数目或者读取字节数 寄存器内容 校验和
  请求 0x05 0x03 0x3301 0x0001 无 0xDB0A
  响应 0x05 0x03 无 0x02 0x1388 0x44D2
  5#变频器以*快速度停车:
   地址 功能码 寄存器地址 寄存器内容 校验和
  请求 0x05 0x06 0x3200 0x00C3 0xC6A7
  响应 0x05 0x06 0x3200 0x00C3 0xC6A7
  程序清单:(省略)
  其他控制逻辑程序省略。
  总结:该系统以前是采用IPC+控制I/O卡的方式进行控制的,但是存在系统稳定性能差,控制效果不理想,故障率高的缺点,自从改用EMERSON 的PLC作为系统的核心设备后,系统不仅达到良好的控制效果和很好的经济效益,同时比较容易维护,受到用户的好评