024-23988189

专业 优质 系统

您的当前位置: 首页  >   新闻资讯  >   企业动态
西门子S7-1200 PID调节
发布时间:2024-07-09

西门子S7-1200 PID调节

一、           PID功能

1.       PID是用于对闭环过程进行控制。PID控制适用于温度,压力,流量等物理量,是工业现场中应用最为广泛的一种控制方式,其原理是,对被控对象设定一个给定值,然后将实际值测量出来,并与给定值比较,将其差值送入PID控制器,PID控制器按照一定的运算规律,计算出结果,即为输出值,送到执行器进行调节,其中的P,I,D指的是比例,积分,微分,是一种闭环控制算法。通过这些参数,可以使被控对象追随给定值变化并使系统达到稳定,自动消除各种干扰对控制过程的影响。

二、           S7-1200 PID控制器

1.       S7-1200 CPU提供了PID控制器回路数量受到CPU的工作内存及支持DB块数量限制。严格上说并没有限制具体数量,但实际应用推荐客户不要超过16路PID回路。可同时进行回路控制,用户可手动调试参数,也可使用自整定功能,提供了两种自整定方式由PID控制器自动调试参数。另外STEP7 Basic还提供了调试面板,用户可以直观的了解控制器及被控对象的状态。

2.       PID控制器结构

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

                                               

图片1.png

图1  PID控制器结构

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

三、           S7-1200 PID Compact V2 指令介绍

PID 指令块的参数分为两部分,输入参数与输出参数。其指令块的视图分为扩展视图与集成视图,在不同的视图下所能看见的参数是不一样的,在集成视图中可看到的参数为最基本的默认参数,如给定值,反馈值,输出值等。定义这些参数可实现控制器最基本的控制功能,而在扩展视图中,可看到更多的相关参数,如手自动切换,模式切换等,使用这些参数可使控制器具有更丰富的功能。如图2所示

图片2.png

图2 PID 指令块的集成视图和扩展视图

PID Compact 输入输出参数介绍

1.       PID_Compact V2 的输入参数包括 PID 的设定值,过程值,手自动切换,故障确认,模式切换和 PID 重启参数,如表 1 所示。

表1:输入参数

参数

数据类型

说明

Setpoint

REAL

PID   控制器在自动模式下的设定值

Input

REAL

PID   控制器的反馈值(工程量)

Input_PER

INT

PID   控制器的反馈值(模拟量)

Disturbance

REAL

扰动变量或预控制值。

ManualEnable

BOOL

出现   FALSE -> TRUE 上升沿时会激活“手动模式”,与当前 Mode 的数值无关。
  当 ManualEnable = TRUE,无法通过   ModeActivate 的上升沿或使用调试对话框来更改工作模式。
  出现 TRUE -> FALSE 下降沿时会激活由 Mode 指定的工作模式。

ManualValue

REAL

用作手动模式下的 PID 输出值,须满足 Config.OutputLowerLimit <   ManualValue < Config.OutputUpperLimit 。

ErrorAck

BOOL

FALSE   -> TRUE 上升沿时,错误确认,清除已经离开的错误信息。

Reset

BOOL

重新启动控制器:
  FALSE -> TRUE 上升沿, 切换到“未激活”模式,同时复位 ErrorBits 和 Warnings,清除积分作用(保留 PID 参数) 。
  只要 Reset = TRUE,PID_Compact   便会保持在“未激活”模式下 (State = 0)。
  TRUE -> FALSE 下降沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。

ModeActivate

BOOL

FALSE   -> TRUE 上升沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。

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

2.       PID_Compact V2 的输出参数包括 PID 的输出值(REAL、模拟量、PWM),标定的过程值,限位报警(设定值、过程值),PID 的当前工作模式,错误状态及错误代码,如表 2 所示。

表2:输出参数

参数

数据类型

说明

ScaledInput

REAL

标定的过程值

Output

REAL

PID 的输出值   (REAL 形式)

Output_PER

INT

PID 的输出值(模拟量)

Output_PWM

BOOL

PID 的输出值(脉宽调制)

SetpointLimit_H

BOOL

如果   SetpointLimit_H = TRUE,则说明达到了设定值的绝对上限   (Setpoint ≥ Config.SetpointUpperLimit)。

SetpointLimit_L

BOOL

如果 SetpointLimit_L = TRUE,则说明已达到设定值的绝对下限 (Setpoint ≤ Config.SetpointLowerLimit)。

InputWarning_H

BOOL

如果   InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。

InputWarning_L

BOOL

如果   InputWarning_L = TRUE,则说明过程值已达到或低于警告下限。

State

INT

State 参数显示了 PID 控制器的当前工作模式。 可使用输入参数 Mode 和 ModeActivate 处的上升沿更改工作模式:
  State = 0:未激活
  State = 1:预调节
  State = 2:精确调节
  State = 3:自动模式
  State = 4:手动模式
  State = 5:带错误监视的替代输出值

Error

BOOL

如果   Error = TRUE,则此周期内至少有一条错误消息处于未决状态。

ErrorBits

DWORD

ErrorBits 参数显示了处于未决状态的错误消息。通过 Reset 或 ErrorAck 的上升沿来保持并复位 ErrorBits。

 

注意:

a)       若 PID 控制器未正常工作,请先检查 PID 的输出状态 State 来判断 PID 的当前工作模式,并检查错误信息。

b)       当错误出现时 Error=1,错误离开后 Error=0,ErrorBits 会保留错误信息。可通过编程清除错误离开后 ErrorBits 保留的错误信息。

3.       PID_Compact V2 的输入输出参数 Mode 指定了 PID_Compact 将转换到的工作模式,具有断电保持特性,由沿激活切换工作模式,如表 3 所示。

表3.输入输出参数

参数

数据类型

说明

Mode

INT

在 Mode 上,指定 PID_Compact 将转换到的工作模式:
  State = 0:未激活
  State = 1:预调节
  State = 2:精确调节
  State = 3:自动模式
  State = 4:手动模式
  工作模式由以下沿激活:
  ModeActivate 的上升沿
  Reset 的下降沿
  ManualEnable 的下降沿
  如果 RunModeByStartup = TRUE,则冷启动 CPU

注意:当 ManualEnable = TRUE,无法通过 ModeActivate 的上升沿或使用调试对话框来更改工作模式。

4.       当PID出现错误时,通过捕捉 Error 的上升沿,将 ErrorBits 传送至全局地址,从而获得 PID 的错误信息,如表 4 所示。

表4.错误代码定义

错误代码
  (DW#16#----)

说明

0000

没有任何错误

0001

参数 “Input”   超出了过程值限值的范围,正常范围应为 Config.InputLowerLimit < Input   < Config.InputUpperLimit 。

0002

参数   “Input_PER” 的值无效。 请检查模拟量输入是否有处于未决状态的错误。

0004

精确调节期间出错。 过程值无法保持振荡状态。

0008

预调节启动时出错。 过程值过于接近设定值。 启动精确调节。

0010

调节期间设定值发生更改。可在 CancelTuningLevel 变量中设置允许的设定值波动。

0020

精确调节期间不允许预调节。

0080

预调节期间出错。 输出值限值的组态不正确,请检查输出值的限值是否已正确组态及其是否匹配控制逻辑。

0100

精确调节期间的错误导致生成无效参数。

0200

参数 “Input”   的值无效: 值的数字格式无效。

0400

输出值计算失败。 请检查 PID 参数。

0800

采样时间错误: 循环中断 OB 的采样时间内没有调用 PID_Compact。

1000

参数   “Setpoint” 的值无效,值的数字格式无效。

10000

ManualValue   参数的值无效,值的数字格式无效。

20000

变量   SubstituteOutput 的值无效,值的数字格式无效。这时,PID_Compact 使用输出值下限作为输出值。

40000

Disturbance   参数的值无效,值的数字格式无效。

注意:如果多个错误同时处于待决状态,将通过二进制加法显示 ErrorBits 的值。 例如,显示 ErrorBits = 0003h 表示错误 0001h 和 0002h 同时处于待决状态。

四、           S7-1200 PID Compact V2 组态步骤

1.       使用 PID 功能,必须先添加循环中断,需要在循环中断中添加 PID_Compact 指令。在循环中断的属性中,可以修改其循环时间

图片3.png

图3 添加循环中断后在属性界面修改其循环时间

双击“添加新块”----选择“循环中断块”-----确定循环中断时间-----点击确定生成

因为程序执行的扫描周期不相同,一定要在循环中断里调用 PID 指令。可右键循环中断块,进入属性更改其循环中断时间。

注意:为保证以恒定的采样时间间隔执行 PID 指令,必须在循环 OB 中调用。

在“指令 > 工艺 > PID 控制 > Compact PID(注意版本选择) > PID_Compact”下,将 PID_Compact 指令添加至循环中断。

图片4.png

图4在循环中断中添加 PID_Compact 指令

2.       当添加完 PID_Compact 指令后,在项目树 > 工艺对象文件夹中,会自动关联出 PID_Compact_x[DBx],包含其组态界面和调试功能。

图片5.png

图5 PID_Compact 组态界面

3.       使用 PID 控制器前,需要对其进行组态设置,分为基本设置、过程值设置、高级设置等部分

1)       基本设置

A.       基本设置--控制器类型

a. 为设定值、过程值和扰动变量选择物理量和测量单位。

b. 正作用:随着 PID 控制器的偏差增大,输出值增大。 反作用:随着PID控制器的偏差增大,输出值减小。PID_Compact 反作用时,可以勾选“反转控制逻辑”;或者用负比例增益。

c. 要在 CPU 重启后切换到“模式”(Mode) 参数中保存的工作模式,请勾选“在 CPU 重启后激活模式”。

图片6.png

图6. PID_Compact > 基本设置 > 控制器类型

B.       基本设置--定义 Input/Output 参数

定义 PID 过程值和输出值的内容,选择 PID_Compact 输入、输出变量的引脚和数据类型。

图片8.png

图片9.png

图7. PID_Compact > 基本设置 > 定义 Input/Output

2)       过程值设置

A.       过程值设置--过程值限值必须满足过程值下限<过程值上限。如果过程值超出限值,就会出现错误 (ErrorBits = 0001h)。

图片10.png

图片11.png

图8.设置过程值限值

B.       过程值设置--过程值标定

a. 当且仅当在 Input/Output 中输入选择为 “Input_PER” 时,才可组态过程值标定。

b. 如果过程值与模拟量输入值成正比,则将使用上下限值对来标定 Input_PER。

c. 必须满足范围的下限<上限。

图片12.png

图片13.png

图9. 进行过程值标定

3)       高级设置

A.       高级设置--过程值监视

a. 过程值的监视限值范围需要在过程值限值范围之内。

b. 过程值超过监视限值,会输出警告。过程值超过过程值限值,PID输出报错,切换工作模式。图片14.png

i.           当过程值超过或者达到警告限制,对应的InputWarning 位=1,PID控制器的工作模式保持不变。

ii.           当过程值超过设定值的限值,Error=1,ErrorBits=0001过程值超限。PID控制器的状态会有所变化。

图片15.png图片16.png

图10.设置过程监控值设置,与过程值限对比

B.       高级设置-- PWM 限制

输出参数 Output 中的值被转换为一个脉冲序列,该序列通过脉宽调制在输出参数 Output_PWM 中输出。在 PID 算法采样时间内计算 Output,在采样时间 PID_Compact 内输出 Output_PWM。

图片17.png

图11.PID_Compact 的 PWM 输出原理

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

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

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

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

最短开/关时间只影响输出参数 Output_PWM,不用于 CPU 中集成的任何脉冲发生器。

 

示例:PID_Compact 采样时间=100ms;PID 算法采样时间=1000ms;最短开启时间=200 ms(即已组态的最小接通脉冲为 PID_Compact 的 20%),若此时 PID 输出恒定为 15%。

则在第一个周期内不输出脉冲,在第二个周期内将第一个周期内未输出的脉冲累加到第二个周期的脉冲,依次输出。如下图所示。

图片18.png

图12.PWM 最小开/关时间影响示例图

C.       高级设置--输出值限值

a. 在“输出值的限值”窗口中,以百分比形式组态输出值的限值。 无论是在手动模式还是自动模式下,都不要超过输出值的限值。

b. 手动模式下的设定值 ManualValue,必须介于输出值的下限 (Config.OutputLowerLimit) 与输出值的上限 ( Config.OutputUpperLimit )之间的值。

c. 如果在手动模式下指定了一个超出限值范围的输出值,则 CPU 会将有效值限制为组态的限值。

d. PID_compact 可以通过组态界面中输出值的上限和下限修改限值。最广范围为 -100.0 到 100.0,如果采用 Output_PWM 输出时限制为 0.0 到 100.0 。

图片19.png

图13.过程监控值设置和过程值限对比

D.       PID 组态高级设置_对错误的响应

根据错误代码来分析错误原因。根据组态界面所设置的“对错误的响应”,不同错误的响应状态也不一样,如下表所示:

图片20.png

E.        高级设置--手动输入 PID 参数

a. 在 PID Compact 组态界面可以修改 PID 参数,通过此处修改的参数对应工艺对象背景数据块 > Static > Retain > PID 参数。

b. 通过组态界面修改参数需要重新下载组态并重启 PLC。建议直接对工艺对象背景数据块进行操作。

图片21.png

图14.PID组态高级设置—手动输入PID参数

1.启动手动输入后,可以通过组态界面修改PID参数。

2.启动手动输入----修改参数-----重新下载组态----CPU:STOP-RUN

3.PID:预调节和精确调节期间计算PID参数

PI:预调节换热精确调节期间计算PI参数。


最新动态

访客评论

我要评论
访客评论
x
称呼:
评论:
沈阳蓝泰科瑞自动控制有限公司×
沈阳蓝泰科瑞自动控制有限公司
微信公众号
一键拨号