1 引言 随着电子技术,计算机控制技术和通信技术的发展,PLC(可编程序控制器)的功能也愈来愈强大,由原来简单的逻辑控制功能逐渐发展到模拟量控制,高速大容量运算处理,PID闭环控制,运动/定位控制,网络通信等功能,已经成为现代工业控制设备的三大支柱之一。EC20系列PLC(可编程控制器)是艾默生(Emerson)公司致力于工业自动化领域全新推出的新一代可编程控制器,它代表了工业自动化控制的最高水平,是最新计算机技术与工业控制技术的完美结合。 自EMERSON EC20系列PLC推向市场以来,以其卓越的性能,高品位的性价比,完善的服务体系受到用户的热烈好评,产品广泛应用于电子,食品饮料行业,空调制冷设备,锅炉行业,物流仓库,科技农业,交通运输,石油化工,供水,玻璃/钢铁行业,纺织机械,线缆机械,塑机,印染包装等各个领域。本文介绍了艾默生公司EC20 PLC在老化房控制系统中的应用并着重介绍该产品的PID闭环功能在恒温控制上的实现和强大的网络通信功能对EMERSON EV2000变频器运行控制的实现。该老化房控制系统是家电,电子,电脑行业产品生产检测的重要设备,也是产品生产合格检查的重要环节。该系统采用EMERSON EC20 PLC和多台EV2000变频器,实现对室内温度和变频器运行的集中控制。 2 老化房控制系统工艺要求 老化房结构如图1所示。 图1 老化房结构图 具体要求如下: (1) 该系统所控制的老化房面积达16×30m2,要求控制范围在20~55℃,控制精度达±5℃,能够在上位机对温度设定/显示/保存(加湿控制采用单独进行和PLC无关); (2) 该系统有3个风机,用于进风,回风和排风;有4个风闸:新风闸,回风闸,排风闸,防火闸;2个防尘过滤网;6个火灾报警点。 在正常情况下(温湿度),关闭进风阀和排风阀,停止进风电机和排风电机,打开回风阀和防火阀,启动回风风机,保持老化房内回风循环。 在高温情况下,排风阀和进风阀打开,启动排风电机和进风电机,抽出部分空气。 在火灾报警情况下,防火阀关闭,回风禁止循环,全部从室内抽出;同时排风阀和进风阀打开,启动排风电机和进风电机,抽出室内空气。 (3) 其他要求省略。
3 控制系统分析与设计 3.1 PLC系统结构设计 PLC系统结构如图2所示: 图2 PLC系统结构图 EC20PLC设备的I/0接线如图3所示:
图3 EC20PLC设备的I/0接线图
根据老化房工艺要求组成如上图控制系统:上位机采用台湾研华IPC(工控计算机);监控画面采用亚控公司的KINGVIEW软件,该软件操作简单,元件形象丰富,性能稳定;核心控制部分采用艾默生EC20-2012BTA类型的PLC和4个温度采集模块(EC20-4TC,接受K型温度信号);传动采用艾默生EV2000通用型变频器。 在设备连接方面,EC20 PLC充分体现了自身的优势,由于EC20 PLC本身带有2个串行通信口(1个RS-232口,集成自由协议/编程协议/MODBUS从站协议,1个RS-232/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系列变频器自带RS-485接口的通讯单元,符合RS-485通讯规范,用于实现PLC与多台变频器的联网。根据MODBUS通讯协议,我们可以通过RSz-485网络轻松实现对变频器的运行控制。由于RS-485通讯链路传输距离远、配线简单、抗干扰能力强、可靠性高,因此在设计中,我们省略了变频器的外部起停控制线路,对变频器的所有控制都通过RS-485通讯链路来完成,达到了经济高效的目的。 3.2 监控画面设计 整个系统监控画面主要分为主画面,实时温度监控,PID参数设定,三个部分(其他部分省略),具体如下: 主画面如图4所示,主要完成对系统状态的监控(如各种风阀的开闭状态,风机的运行状态,报警状态),数据统计(如系统运行的时间,启停系统的次数),温度设定/测量等功能。 图4 系统监控主画面 实时温度监控画面如图5所示,此画面主要用于对温度的实时监控,并描绘出温度曲线趋势,以便判断系统的温度控制是否处于良好状态,同时可以实现对温度进行保存/打印等操作。
图5 实时温度监控画面 PID参数设定画面主要用于比例常数P,积分常数I,微分常数D的设定,同时根据实时温度曲线状况进行调节;同时显示PID控制的输出比例,见图6。
图6 PID参数设定画面
3.3 对温度控制策略与PLC实现 (1)温度控制策略 为便于对整个老化房内温度的控制,同时充分利用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也参加输出,具体处理思路如下: 表1 温度控制策略 通过此法处理可以把温度控制精度保持在±0.3度以内,而且无论提升温度还是下降温度都很快速;同时把PID输出转化为PWM的占空比输出,又大大节省了PLC的资源(充分利用Y0,Y1的高达100KHz的脉冲输出功能)。 EC20 PLC的编程软件CONTROLSTAR的操作简单方便,指令丰富,功能强大,是一个很优秀的全中文编辑工具。 (2) PLC实现 实现步骤具体如下:首先,在数据块设定PID各参数,其中的重点是设置P,I,D三个参数和输出量的上下限范围,由于PID的输出结果直接和PWM结合在一起,所以设置时要特别注意,在本例子中,按照PWM的周期为4s(=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的比较而进行的逻辑控制输出较简单,故此处省略)。参见图7。 4 PLC与变频器的MODBUS通讯 由于EMESON EC20 PLC和EV2000变频器(非标)都集成MODBUS协议,所以实现它们的通信相对比较简单,整个网络采用RS-485通信方式。 4.1 各设备接口通信参数设置 对EC20 PLC设置如图7所示: 图7 各设备接口通信参数设置图 (1) EV2000的设置要点 ●各通信参数要和EC20 PLC一致; ●各变频器的地址要有自己唯一的从机地址; ●注意变频器的通信跳线开关CN14拨在RS-485方向; ●变频器的延时应答设为(FF.03)30-50ms。参见表2。
表2 EV200变频器的设备要点
(2) EC20PLC和变频器的连接 (3) Modbus编码方式 图8示出了EC20 PLC和变频器之间采用MODBUS RTU方式通信,Modbus采用“Big Endian”编码方式,先发送高位字节,然后是低位字节。RTU方式格式如图9所示。 图8 EC20PLC和变频器的连接图 图9 RTU方式格式图 RTU方式:在RTU方式下,帧之间的空闲时间取功能码设定和Modbus内部约定值中的较大值。Modbus内部约定的最小帧间空闲如下:帧头和帧尾通过总线空闲时间不小于3.5个字节时间来界定帧。数据校验采用CRC-16,整个信息参与校验,校验和的高低字节需要交换后发送。具体的CRC校验请参考协议后面的示例。值得注意的是,帧间保持至少3.5个字符的总线空闲即可,帧之间的总线空闲不需要累加起始和结束空闲。 Modbus最主要的功能是读写参数,不同的功能码决定不同的操作请求。变频器Modbus协议支持表3功能码操作: 表3 变频器Modbus协议支持的功能码操作
Modbus协议不同的功能码有不同数据的格式和意义,简要介绍如下: 改写多个变频器功能码和状态参数的格式协议如表4~表7所示: 表4 改写多个变频器功能码和状态参数的请求格式 表5 改写多个变频器功能码和状态参数的应答格式 表6 读取变频器参数的请求格式 表7 读取变频器参数的应答格式 (4) 变频器的功能码参数、控制参数和状态参数都映射为Modbus的读写寄存器。功能码参数的读写特性和范围遵循变频器用户手册的说明。变频器功能码的组号映射为寄存器地址的高字节,组内索引映射为寄存器地址的低字节。变频器的控制参数和状态参数均虚拟为变频器功能码组。功能码组号与其映射的寄存器地址高字节的对应关系如下: F0组:0×00; F1组:0×01; F2组:0×02; F3组:0×03; F4组:0×04; F5组:0×05; F6组:0×06; F7组:0×07; F8组:0×08; F9组:0×09; FA组:0×0A; Fb组:0×0B; FC组:0×0C; Fd组:0×0D; FE组:0×0E; FF组:0×0F; FH组:0×10; FL组:0×11; Fn组:0×12; FP组:0×13; FU组:0×14; 变频器控制参数组:0×32; 变频器状态参数组:0×33。 例如变频器功能码参数F3.02的寄存器地址为0×302,变频器功能码参数FF.01的寄存器地址为0×F01。 (5) 具体程序编写:启动5#变频器正转,转速设定为50.00Hz(内部表示为5000)的命令如表8、表9、表10所示。 表8 变频器启动命令 程序清单:见图10所示。 图10 变频器启动程序清单 读取5#变频器的运行频率,变频器应答运行频率为50.00Hz:如表9所示。
表9 读取5#变频器的运行频率,变频器应答运行频率为50Hz 程序清单:如图11所示。 图11 读变频器程序清单 5#变频器以最快速度停车,如表10所示。
表10 5#变频器的最快速度停车 程序清单:(省略) 其他控制逻辑程序省略。
5 结束语 自从改用EMERSON的PLC作为系统的核心设备后,系统不仅达到良好的控制效果和很好的经济效益,同时比较容易维护,受到用户的好评。
|