分享

西门子S7-1200/1500PLC中深度解析PID(2)

 宋德福beilfdtk 2022-06-28 发布于黑龙江

【S7-1200 /1500PID 控制功能说明一样,下面以 S7-1200 为例介绍 】

(1)PID 基本功能介绍

1.CPU 提供了 PID 控制器回路数量受到 CPU 的工作内存及支持 DB 块数量限制。严格上说并没有限制具体数量,但实际应用 S7-1200PLC 推荐不要超过 16 路PID 回路为最佳。S7-1500 根据型号不同,PID 控制回路实际应用也不一样。

2.PID 控制器结构

PID 控制器功能主要依靠三部分实现,循环中断块,PID 指令块,工艺对象背景数据块。用户在调用 PID 指令块时需要定义其背景数据块,而此背景数据块需要在工艺对象中添加,称为工艺对象背景数据块。PID 指令块与其相对应的的工艺对象背景数据块组合使用, 形成完整的 PID 控制器。PID 控制器结构如图

文章图片1

循环中断块可按一定周期产生中断,执行其中的程序。PID 指令块定义了控制器的控制算法,随着循环中断块产生中断而周期性执行,其背景数据块用于定义输入输出参数,调试参数以及监控参数。此背景数据块并非普通数据块, 需要在目录树视图的工艺对象中才能找到并定义。

(2)S7-1200 的PID 功能应用说明

1.调用PID 通用功能块

文章图片2

备注

1.PID_Compact 指令提供了一种可在自动和手动模式下进行调节的 PID 控制器。

2.以调用 OB 的循环时间的恒定间隔(最好在循环中断 OB 中)调PID_Compact。

3.CPU 的存储区的占用情况,及支持 DB 块数量的限制。

4.在循环中断里调用 PID 指令,需要保证中断里执行 PID 指令的总时间要小于该中断的循环时间。

2. PID_COMPACT 通用功能模块应用步骤说明

文章图片3

3.PID_COMPACT 调节过程说明

文章图片4

使用PID_compact的控制步骤:

1.在循环OB中插入和参数化PID_compact

2.自动插入工艺对象

3.组态工艺对象

4.使用集成的自整定功能和Trace功能调试与整定

4.CPU 处理 PID 的时间

文章图片5

5.存储器要求

文章图片6

(3)PID 组态与编程说明

1.创建循环中断组织块 OB30,循环时间为 100ms,在 OB30 里面调用 PID_Compact

文章图片7
文章图片8

2.功能块 PID _ Compact 输入输出参数说明

PID_ Compact 输入参数说明

文章图片9

Setpoint(REAL):

PID 控制器自动模式下的设定值工程量(对应于 INPUT 反馈值类型)

Input(REAL):PID 控制器反馈值(工程量如:0.0-100.0)

Input_PER(INT):PID 控制器反馈值(模拟量如:0-27648)

Disturbance(REAL):扰动变量或预控制值(一般为 0.0)。

ManualEnable (BOOL): 启用或禁用手动操作模式。(默认值:FALSE):FALSE 至 TRUE 沿激活“手动模式”,同时State =4,Mode 保持不变。

ManualEnable = TRUE 时,无法利用 ModeActivate 的上升沿或使用调试对话框更改工作模式。 TRUE 至 FALSE 沿激活 Mode 分配的工作模式。注:建议您只使用 ModeActivate 更改工作模式。

PID_ Compact 输入参数说明

文章图片10
文章图片11

ManualValue(Real):手动操作的输出值。(默认值:0.0)可以使用从 Config.OutputLowerLimit 到 Config.OutputUpperLimit值。

ErrorAck(BOOL): 复位 Error 和ErrorBits 和警告输出。上升沿有效。

RESET(BOOL):重新启动控制器:

上升沿, 切换到“未激活”模式,同时复位 ErrorBits 和 Warnings,清除积分

作用(保留 PID 参数) 。

只要 Reset = TRUE,PID_Compact 便会保持在“未激活”模式下 (State = 0)。

ModeActivate(BOOL):PID_Compact 切换到保存在 Mode 参数中的工作模

式。FALSE 至TRUE 上升沿。

Mode(INT):期望的 PID 模式;在 Mode Activate 输入的上升沿激活。

注意:如果使用 Reset 复位错误会重启 PID 控制器,建议使用 ErrorAck 来

复位错误代码。

PID_ Compact 输出参数说明

备注:

SetpointUpper/Lower Limit是SV的限制值,

在DB数据块内设定,默认士3.402822E+38

Mode(工作模式说明)

文章图片12

1.PID_Compact 参数组态详细说明

文章图片13

基本设置

文章图片14
文章图片15

过程值设置

文章图片16
文章图片17
文章图片18

高级设置

文章图片19
文章图片20

a.为最大程度地减小工作频率并节省执行器,可延长最短开/关时间。

b.如果要使用“Output”或“uput_PER”,则必须分别为最短开关时间组态值0.0。

c.脉冲或中断时间永远不会小于最短开关时间。例如,在当前PID算法采样周期中,如果输出小于最短接通时间将不输出脉冲,如果输出大于(PID算法采样时间最短关闭时间)则整个周期输出高电平。

d.在当前PID算法采样周期中,因小于最短接通时间未能输出脉冲的,会在下一个PID算法采样周期中累加和补偿由此引起的误差。

文章图片21

高级设置--对错误的响应

文章图片22

说明

1.“非活动”=对于所有错误,PID 均输出 0.0,Error=1,会切换到 “未激活” 模式(State=0)。当错误离开后,可通过 Reset 的下降沿或者 ModeActive 的上升

沿来切换工作模式。

2.“错误待定时的当前值”=当出现“输入超限”、“采样时间错误:循环中断 OB 的采样时

间内没有调用 PID_Compact。”、Disturbance 参数的值无效,值的数字格式无效 错误以后 :自动模式下出现错误 PID Compact 仍保持自动模式 (State=3),Error=1,输出错误发生前的最后一个有效值。错误离开后 Error=0、错误代码保留、PID_Compact 从自动模式开始运行。

文章图片23

3.“错误未决时的替代输出值”=“参数“Input_PER”的值无效”“参数“Setpoint”的值无效,值

的数字格式无效”如 16#ffffffff 等非法参数错误以后:自动模式下出现错误 PID Compact 切换到“带错误监视的替代输出值”模式(State=5), Error=1 , 输出组态的替换输出值。错误离开后 Error=0 、 错 误 代 码 保 留 、 PID_Compact 从自动模式开始运行。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多