西门子PLC实现PWM电加热控制

尊重原创 勿抄袭

写在前面

温度控制是自动控制领域中常见的应用之一,电加热方式因其设备简单,没有污染及噪音,在工业领域得到十分广泛地应用。

本文向大家介绍了如何使用西门子S7-1200标准PLC设计基于PWM电加热原理的电加热控制系统,包括电气硬件电路设计原理,软件PID工艺对象的组态及编程实现。

电加热温控系统主要元器件:

1    本例使用S7-1200  CPU1214C      DC/DC/DC版本,或者扩展晶体管输出模块

2   单相或三相固态继电器     三相固态继电器的触发端串联,带冷却风扇控制,过热保护信号

3    测温元件      热电偶TC或热电阻RTD

4    主电源断路器     带2常开辅助触点

5   冷却风扇电源断路器    带1常开辅助触点

6  主接触器    220VAC线圈,带1常开辅助触点

7  中继或控制继电器    主接触器线圈控制或冷却风机的开关控制

8   单相或三相电加热器   加热管为220VAC  Y形连接或380VAC  Δ形连接

PLC IO点配置:

DI(直流晶体管输入):

1   加热主电源故障信号(低电平故障)

2   冷去风扇电源故障信号(低电平故障)

3   固态继电器超温报警(高电平报警)

4   电加热运行信号

DO(直流晶体管输出):

1   电加热运行输出控制

2   电加热温控PWM脉冲

AI(4-20ma/TC/RTD):

1   温度测量信号

图纸DI点部分

西门子PLC实现PWM电加热控制

图纸DO点部分

西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制

图纸主电源控制回路

西门子PLC实现PWM电加热控制

图纸冷却风扇控制回路

西门子PLC实现PWM电加热控制

图纸主回路原理图

西门子PLC实现PWM电加热控制

闭环温度控制原理

西门子PLC实现PWM电加热控制

PWM电加热原理

西门子PLC实现PWM电加热控制

通过调节单位时间内电加热器接通时间的比例,实现单位时间内电加热器平均输出功率的调节,从而达到温度控制的目的。

CYCLE_P:脉冲采样时间

PER_TM:   周期持续时间

脉宽 = PER_TM ⅹ LmnN/100

PWM电加热参数定义

CYCLE_P:脉冲采样时间

即定时中断的周期,一般采取10ms/20ms/40ms/100ms,除10ms是采用的是50hz周波的半波周期,其余均采用全波周期20ms的整数倍。与脉冲重复周期PER_TM 相比,脉冲发生器的采样时间CYCLE_P 越小,脉宽调制的精度就越高要保证加热控制精度,需满足  

CYCLE_P  ≤  PER_TM / 50

PER_TM: 脉冲重复周期

脉冲重复周期,为CYCLE_P脉冲采样周期的整数倍,一般应满足

PER_TM ≤  TI / 5

CYCLE:PID采样周期

温控PID的算法采样周期,亦为CYCLE_P脉冲采样周期的整数倍,须满足

CYCLE ≤  TI/10

PER_TM ≤  CYCLE ( 系统默认 PER_TM =  CYCLE )

西门子PLC实现PWM电加热控制

CYCLE_P  =     100ms

CYCLE      =   2000ms

PER_TM    =     600ms

控制精度    =    CYCLE_P / PER_TM × 100%  =  16.667%

由于本例中CYCLE不能整除PER_TM,因此一个PID采样周期CYCLE中有3个脉冲重复周期,最后一个脉冲重复周期为800ms。

西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制

P_B_TM:   最短脉冲/中断持续时间

通过设定最短脉冲/中断持续时间,可避免执行器上的开或关时间过短。小于 P_B_TM 的脉冲将被抑制。最短的时间为1个CYCLE_P脉冲的时间,过短的通断时间容易造成电源冲击,影响电器的寿命及控制系统的稳定性,而对于保温性能较好但热容量较小的系统,该参数不利于温度的稳定,使用该参数须要慎重。博途下PID_TEMP的该参数具有累计功能,直至满足最短脉冲持续时间。

P_B_TM ≤ 0.1 × PER_TM

西门子PLC实现PWM电加热控制

CONTROL_ZONE:控制区

控制区限制控制偏差的值范围。如果控制偏差超出此值范围,则使用调节值限制值。使用控制区时,微分作用会导致调节变量迅速减小。因此,控制区仅对启用的微分作用有意义。只有将“PID(温度)”选作制冷或加热过程的控制器结构时,才会在预调节过程中自动设置加热或制冷的控制区宽度。一般满足

CON_ZONE = 250 / GAIN

PID_TEMP指令(TIA PORTAL)

西门子PLC实现PWM电加热控制

PID_TEMP 可用于加热或加热/制冷应用且始终使用常规控制逻辑。

PID 输出值 (PidOutputSum) 的增大用于增大过程值。在应用 PID 输出值后,相关输出上输出的加热或制冷值取决于输出标定的组态情况。

不支持反转控制逻辑或负比例增益。

硬件组态

西门子PLC实现PWM电加热控制

PID_TEMP工艺对象组态

西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制

PID_TEMP功能块在OB30中调用

西门子PLC实现PWM电加热控制

加热器逻辑控制

西门子PLC实现PWM电加热控制

PID_TEMP启动特性(TIA PORTAL)

1、要在 CPU 重启后切换到“未激活”模式,请清除“CPU 重启后激活 Mode”(Activate Mode after CPU restart) 复选框。

要在 CPU 重启后切换到“模式”(Mode) 参数中保存的工作模式,请选中“CPU 重启后激活 Mode”(Activate Mode after CPU restart) 复选框。

2、在“将 Mode 设置为”(Set Mode to) 下拉列表中,选择在执行完整下载到设备后要启用的模式。

执行完整下载到设备后,PID_Temp 将以所选工作模式启动。以后每次重启时,PID_Temp 都以上次保存在“模式”(Mode) 中的模式启动。

选择预调节或精确调节时,还必须设置或复位 Heat.EnableTuning 与Cool.EnableTuning 变量,以便在加热调节和制冷调节之间选择。

3、PID_TEMP V1.1版本,添加了新选项 IntegralResetMode = 4,并将其定义为默认设置。如果IntegralResetMode = 4,从“未激活”工作模式切换到“自动模式”时会自动预分配积分作用,以便控制偏差导致带有相同符号的 PID 输出值发生跳变。

示例:

        您已选中“CPU 重启后激活 Mode”(Activate Mode after CPU restart) 复选框以及“将 Mode设置为”(Set Mode to) 列表中的“预调节” (Pretuning) 条目。在执行了完整“下载到设备”后,PID_Temp 将以“预调节”模式启动。如果预调节仍处于激活状态,则 PID_Temp 在CPU 重启后再次以“预调节”模式启动(加热/制冷取决于变量 Heat.EnableTuning 和Cool.EnableCooling)。如果预调节已成功完成并且自动模式处于激活状态,则PID_Temp 在 CPU 重启后将以“自动模式”启动。

自动模式下积分作用的初始化

自版本 V1.1 起,PID_Temp 通过提供一个用于更新未激活控制器的简单过程,支持超驰控制:通过使用变量 OverwriteInitialOutputValue 和 PIDCtrl.PIDInit,可以预分配自动模式下控制器的积分作用,好像在上一周期中 PID 算法已为 PID 输出值计算 

PidOutputSum = OverwriteInititalOutputValue。

为此,OverwriteInitialOutputValue 与当前可以访问执行器的控制器的输出值互连。通过设置位 PIDCtrl.PIDInit,触发积分作用的预分配以及控制器循环和 PWM 周期的重启。根据预分配的(并针对所有控制器同步的)积分作用,以及当前控制偏差的比例作用与积分作用,在当前循环中进行输出值的后续计算。通过 PIDCtrl.PIDInit = TRUE 调用期间,微分作用未激活,因此对输出值不起作用。

         此过程可以确保仅根据当前的过程状态和 PI 参数对当前输出值进行计算,并从而决定可以访问执行器的控制器。可防止未激活控制器的饱和效应,并因此防止切换逻辑的错误决定。

只有在激活了积分作用时(变量 Retain.CtrlParams.Heat.Ti 和Retain.CtrlParams.Cool.Ti > 0.0),PIDCtrl.PIDInit 才有效。

您必须在用户程序中自行分配 PIDCtrl.PIDInit 和 OverwriteInitialOutputValue(请参见下面的示例)。PID_Temp 不会自动更改这些变量。

仅当 PID_Temp 处于自动模式(参数 State = 3)时,PIDCtrl.PIDInit 才有效。

如果可能,请选择 PID 算法的采样时间( Retain.CtrlParams.Heat.Cycle 和Retain.CtrlParams.Cool.Cycle 变量)以使所有控制器的采样时   间均相同,并在同一个循环中断 OB 中调用所有控制器。这样,可以确保在一个控制器循环或 PWM 周期内不发生切换。

使用 PLCSIM 仿真 PID_TEMP

(TIA PORTAL)

不支持通过 PLCSIM 针对 CPU S7-1200 仿真 PID_Temp。

只能通过 PLCSIM 针对 CPU S7-1500 仿真 PID_TEMP。

对于使用 PLCSIM 进行的仿真,仿真 PLC 的时间特性与 “真实” PLC 并不完全相同。仿真PLC 循环中断 OB 的实际周期时钟波动比   “真实” PLC 的波动大。

在标准组态中,PID_Temp 会自动确定调用之间的时间,并监视波动情况。因此,使用 PLCSIM 仿真 PID_Temp 时,可能检测到采样时间错误 (ErrorBits =DW#16#00000800)。

这会导致进行中的调节中止。

自动模式下的响应取决于 ActivateRecoverMode 变量的值。

为防止此类情况发生,应按下列方式为使用 PLCSIM 进行的仿真组态 PID_Temp:

CycleTime.EnEstimation = FALSE

CycleTime.EnMonitoring = FALSE

CycleTime.Value:以秒为单位为此变量分配调用循环中断 OB 的周期时钟。

与CPU和FW的兼容性

西门子PLC实现PWM电加热控制

PID_Temp V1 的 CPU 处理时间和

存储器要求

西门子PLC实现PWM电加热控制
西门子PLC实现PWM电加热控制

本文章来源于互联网,如有侵权,请联系删除!原文地址:西门子PLC实现PWM电加热控制

相关推荐: Edgex网关接入Thingsboard物联网平台-初探

系统环境准备 Thingsboard物联网平台 平台概述 在众多的开源物联网平台项目中,Thingsboard在体系架构先进性、功能完整性、文档完备性方面,应是首屈一指。 物联网平台ThingsBoard,作为大屏开发工具,只要拖拉一些内置控件或直接定制开发控…