首页 > 调试及软件 > 文章内容

西门子 S7-1200 PID_Compact 功能块详解与实战案例

时间: 2025-10-04 15:14浏览量:436次
西门子 S7-1200 PID_Compact 功能块详解与实战案例


适用机型:S7-1200 / S7-1500(TIA Portal V13~V19)

一、PID 控制原理快速回顾

PID(比例 Proportional、积分 Integral、微分 Derivative)是最常见的闭环控制算法:

  • 比例:输出与偏差成比例,响应快但稳态有偏差。
  • 积分:对偏差累积,消除稳态误差,过强易震荡。
  • 微分:响应偏差变化率,改善动态性能,噪声大时谨慎使用。

在 PLC 中以离散形式实现,配合固定采样周期运行。

二、块名称与调用建议

项目 说明
功能块 PID_Compact
调用位置 建议在周期中断 OB(如 OB35)中调用,保持固定采样周期。
典型周期 100 ms 或更短,按被控对象动态特性选择。
典型对象 温度、液位、压力、转速、流量等过程量。

三、主要接口参数说明

参数名 类型 作用
PV_IN Real 过程值输入(反馈量,来自 AI 缩放后)
SP_INT Real 设定值输入(工程单位,与 PV 对齐)
PV_PER Bool 过程值更新触发(TRUE 表示新数据到达)
MAN_ON Bool 手动模式使能
MAN Real 手动模式输出值(% 或工程单位)
AUTO Bool 自动模式使能(TRUE 时 PID 生效)
QPOS Real 控制输出(连接 AO 或内部变量)
LMN_HLM / LMN_LLM Real 输出上限 / 下限(如 0~100)
GAIN Real 比例增益 Kp
TI Time 积分时间 Ti
TD Time 微分时间 Td
CYCLE Time 控制周期,与 OB 周期一致
AUTO_TUNE Bool 自动整定触发信号
DONE_AT Bool 自动整定完成标志
INIT Bool 初始化信号,用于首次或参数变更后初始化

四、从零开始的配置步骤

  1. 新建项目与设备:在 TIA Portal 新建工程,添加 S7-1200 CPU,完成硬件组态。
  2. 添加模拟量模块:配置 AI(PV 采集)与 AO(CV 输出),设定量程(如 4-20 mA 对应 0-100%)。
  3. 工程值缩放:使用 Scale/Unscale 功能块将原始数值转换为工程量,确保 PV、SP、CV 单位一致。
  4. 创建 PID_Compact:新建 FB,选择 PID_Compact 类型,生成实例 DB。
  5. 在 OB35 调用:设定 OB35 周期(如 100 ms),将 CYCLE 设为 T#100ms。
  6. 初始化参数:LMN_HLM=100,LMN_LLM=0,GAIN=2.0,TI=T#10s,TD=T#0s,SP_INT=目标值,AUTO=TRUE。

五、自动整定流程

  1. 系统进入自动模式,设定 SP。
  2. 将 AUTO_TUNE 置 TRUE,开始阶跃试验。
  3. 等待 DONE_AT 置 TRUE,整定完成。
  4. 复位 AUTO_TUNE 为 FALSE,检查并保存新参数。

注意:整定期间输出可能振荡,请确保被控设备允许扰动,必要时先降功率或设置输出限幅。

六、实战案例:液位闭环控制

1. 控制目标

保持储罐液位在 50%,AI 读取液位变送器(4-20 mA),AO 输出至变频器频率给定(0-10 V 或 4-20 mA)。

2. 硬件配置

  • AI0:液位变送器输入(4-20 mA → 0-100%)。
  • AQ0:变频器给定输出(0-10 V → 0-100%)。
  • CPU1212C 或同级别,配模拟量扩展模块。

3. 程序连接示意

OB35 周期中断(100 ms)
  读取 AI 原始值
  Scale → PV_IN(0~100%)
  PID_Compact(
    PV_IN := PV_Scaled,
    SP_INT := 50.0,
    GAIN := 3.0,
    TI := T#8s,
    TD := T#0s,
    CYCLE := T#100ms,
    LMN_LLM := 0.0,
    LMN_HLM := 100.0,
    AUTO := TRUE,
    QPOS => CV_Percent
  )
  Unscale CV_Percent → AQ0(0~10 V)

4. 调参流程

  • 先调 Kp:逐步增大至略有轻微振荡。
  • 加积分:缩短 Ti 以消除稳态误差,避免过小导致震荡。
  • 微分可选:当超调较大或动态要求高时加入 Td,配合输入滤波。
  • 趋势观察:监控 PV、SP、QPOS 曲线,记录响应时间、超调量、稳态误差。

七、手动/自动平滑切换建议

为避免切换突跳,进入手动时将 MAN 置为当前输出值,退出手动时做软移交:

IF Mode_Manual THEN
  PID.MAN_ON := TRUE;
  PID.MAN := LastOutput;   // 进入手动,保持当前输出
ELSE
  PID.MAN_ON := FALSE;     // 返回自动
END_IF;

八、常见问题与对策

现象 可能原因 对策
输出长时间顶到上限 积分饱和 启用抗积分饱和,扩大上限前加限幅,增大 Ti
曲线持续振荡 Kp 偏大或 Ti 过小 减小 Kp 或增大 Ti,适当加 Td 与滤波
响应迟缓 Kp 太小或 Ti 太大 增大 Kp 或减小 Ti
PV 噪声大 传感器噪声或采样周期不匹配 输入滤波、延长周期、谨慎使用 Td
SP/PV 单位不一致 缩放或工程量转换错误 统一工程单位,检查 Scale/Unscale

九、在线监控与趋势

  • 建立监控表(Watch Table)观察 PV_IN、SP_INT、QPOS、GAIN、TI、TD。
  • 使用 Trend View 绘制曲线,记录参数变更与响应。
  • 调参时分步调整,单次只变一项,便于溯源。

十、总结与工程建议

  • 固定周期调用是稳定控制的基础,推荐使用 OB35。
  • 先做正确的工程值缩放,再做 PID 调参。
  • 温度、液位、压力等慢变量优先使用 PID_Compact;高速场合可评估 FB41 CONT_C 或 DCC。
  • 必要时使用自动整定作为初值,再做人工微调。

适配平台:明扬工控商城 技术文库 / 明扬资讯

下载资料前请先绑定手机号码
对不起,请登录后再发表评论!

触屏端
扫一扫手机也能发信息
明扬工控商城-工控网-工控自动化真品,一站式专业服务!