• {{item.name}}
SIMATIC S7-1200系列 {{item.name}}
{{item2.name}}
更多

PID_Compact

star star star star star
0 分
  • 基础理论
发布时间:2024年08月08日
  • 0
  • 1953
PID_Compact

S7-1200 PID Compact V2 指令介绍

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

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

PID Compact 输入输出参数介绍

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

表1.输入参数

参数数据类型说明
SetpointREALPID 控制器在自动模式下的设定值
InputREALPID 控制器的反馈值(工程量)
Input_PERINTPID 控制器的反馈值(模拟量)
DisturbanceREAL扰动变量或预控制值。
ManualEnableBOOL出现 FALSE -> TRUE 上升沿时会激活“手动模式”,与当前 Mode 的数值无关。
当 ManualEnable = TRUE,无法通过 ModeActivate 的上升沿或使用调试对话框来更改工作模式。
出现 TRUE -> FALSE 下降沿时会激活由 Mode 指定的工作模式。
ManualValueREAL用作手动模式下的 PID 输出值,须满足 Config.OutputLowerLimit < ManualValue < Config.OutputUpperLimit 。
ErrorAckBOOLFALSE -> TRUE 上升沿时,错误确认,清除已经离开的错误信息。
ResetBOOL重新启动控制器:
FALSE -> TRUE 上升沿, 切换到“未激活”模式,同时复位 ErrorBits 和 Warnings,清除积分作用(保留 PID 参数) 。
只要 Reset = TRUE,PID_Compact 便会保持在“未激活”模式下 (State = 0)。
TRUE -> FALSE 下降沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。
ModeActivateBOOLFALSE -> TRUE 上升沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。

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

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

表2.输出参数

参数数据类型说明
ScaledInputREAL标定的过程值
OutputREALPID 的输出值 (REAL 形式)
Output_PERINTPID 的输出值(模拟量)
Output_PWMBOOLPID 的输出值(脉宽调制)
SetpointLimit_HBOOL如果 SetpointLimit_H = TRUE,则说明达到了设定值的绝对上限 (Setpoint ≥ Config.SetpointUpperLimit)。
SetpointLimit_LBOOL如果 SetpointLimit_L = TRUE,则说明已达到设定值的绝对下限 (Setpoint ≤ Config.SetpointLowerLimit)。
InputWarning_HBOOL如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。
InputWarning_LBOOL如果 InputWarning_L = TRUE,则说明过程值已达到或低于警告下限。
StateINTState 参数显示了 PID 控制器的当前工作模式。 可使用输入参数 Mode 和 ModeActivate 处的上升沿更改工作模式:
State = 0:未激活
State = 1:预调节
State = 2:精确调节
State = 3:自动模式
State = 4:手动模式
State = 5:带错误监视的替代输出值
ErrorBOOL如果 Error = TRUE,则此周期内至少有一条错误消息处于未决状态。
ErrorBitsDWORDErrorBits 参数显示了处于未决状态的错误消息。通过 Reset 或 ErrorAck 的上升沿来保持并复位 ErrorBits。

注意:

  • 若 PID 控制器未正常工作,请先检查 PID 的输出状态 State 来判断 PID 的当前工作模式,并检查错误信息。
  • 当错误出现时 Error=1,错误离开后 Error=0,ErrorBits 会保留错误信息。可通过编程清除错误离开后 ErrorBits 保留的错误信息。

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

表3.输入输出参数

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

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

当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” 的值无效,值的数字格式无效。
10000ManualValue 参数的值无效,值的数字格式无效。
20000变量 SubstituteOutput 的值无效,值的数字格式无效。这时,PID_Compact 使用输出值下限作为输出值。
40000Disturbance 参数的值无效,值的数字格式无效。

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

S7-1200 PID Compact V2 组态步骤

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

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

因为程序执行的扫描周期不相同,一定要在循环中断里调用 PID 指令。

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

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

图3. 在循环中断中添加 PID_Compact 指令

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

图4. 工艺对象中关联生成 PID_Compact

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

图5. PID_Compact 组态界面

基本设置

  1. 基本设置--控制器类型
    • 为设定值、过程值和扰动变量选择物理量和测量单位。
    • 正作用:随着 PID 控制器的偏差增大,输出值增大。 反作用:随着PID控制器的偏差增大,输出值减小。PID_Compact 反作用时,可以勾选“反转控制逻辑”;或者用负比例增益。
    • 要在 CPU 重启后切换到“模式”(Mode) 参数中保存的工作模式,请勾选“在 CPU 重启后激活模式”。

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

2、基本设置--定义 Input/Output 参数

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

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

过程值设置

1、过程值设置--过程值限值

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

图8. 设置过程值限值

2、过程值设置--过程值标定

    • 当且仅当在 Input/Output 中输入选择为 “Input_PER” 时,才可组态过程值标定。
    • 如果过程值与模拟量输入值成正比,则将使用上下限值对来标定 Input_PER。
    • 必须满足范围的下限<上限。

图9. 进行过程值标定

高级设置

1、高级设置--过程值监视

    • 过程值的监视限值范围需要在过程值限值范围之内。
    • 过程值超过监视限值,会输出警告。过程值超过过程值限值,PID输出报错,切换工作模式。

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

2、高级设置-- PWM 限制

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

图11. PID_Compact 的 PWM 输出原理

    • 为最大程度地减小工作频率并节省执行器,可延长最短开/关时间。
    • 如果要使用 “Output” 或 “Output_PER”,则必须分别为最短开关时间组态值 0.0。
    • 脉冲或中断时间永远不会小于最短开关时间。例如,在当前 PID 算法采样周期中,如果输出小于最短接通时间将不输出脉冲,如果输出大于(PID 算法采样时间-最短关闭时间) 则整个周期输出高电平。
    • 在当前 PID 算法采样周期中,因小于最短接通时间未能输出脉冲的,会在下一个 PID 算法采样周期中累加和补偿由此引起的误差。

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

示例:PID_Compact 采样时间=100ms;PID 算法采样时间=1000ms;最短开启时间=200 ms(即已组态的最小接通脉冲为 PID_Compact 的 20%),若此时 PID 输出恒定为 15%。
则在第一个周期内不输出脉冲,在第二个周期内将第一个周期内未输出的脉冲累加到第二个周期的脉冲,依次输出。如图 12 所示。

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

3、高级设置--输出值限值

    • 在“输出值的限值”窗口中,以百分比形式组态输出值的限值。 无论是在手动模式还是自动模式下,都不要超过输出值的限值。
    • 手动模式下的设定值 ManualValue,必须介于输出值的下限(Config.OutputLowerLimit)与输出值的上限( Config.OutputUpperLimit )之间的值。
    • 如果在手动模式下指定了一个超出限值范围的输出值,则 CPU 会将有效值限制为组态的限值。
    • PID_compact 可以通过组态界面中输出值的上限和下限修改限值。最广范围为 -100.0 到 100.0,如果采用 Output_PWM 输出时限制为 0.0 到 100.0 。

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

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

    • 在 PID Compact V1 时,如果 PID 控制器出现错误,PID 会自动切换到“未激活”模式。在 PID_Compact V2 时,可以预先设置错误响应时 PID 的输出状态,如图 14 所示。以便在发生错误时,控制器在大多数情况下均可保持激活状态。
    • 如果控制器频繁发生错误,建议检查 Errorbits 参数并消除错误原因。

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

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

表5. 错误响应


非活动
错误待定时的当前值
错误未决时的替代输出值
0001H
0800H
40000H
对于所有错误,PID 均输出 0.0,Error=1,会切换到 “未激活”模式(State=0)。当错误离开后,可通过 Reset 的下降沿或者 ModeActive 的上升沿来切换工作模式。自动模式下出现错误 PID Compact 仍保持自动模式(State=3),Error=1,输出错误发生前的最后一个有效值。错误离开后 Error=0、错误代码保留、PID_Compact 从自动模式开始运行。/
0002H
0200H
0400H
1000H
/自动模式下出现错误 PID Compact 切换到“带错误监视的替代输出值”模式(State=5),Error=1,输出组态的替换输出值。错误离开后 Error=0、错误代码保留、PID_Compact 从自动模式开始运行。
0004H
0008H
0010H
0080H
0100H
在调节过程中出现错误时,PID_Compact 取消调节模式,直接切换到Mode 参数中保存的工作模式运行。/
0020H精确调节期间无法再启动预调节,则 PID_Compact 的 Error=1、State 保持不变,即保持在精确调节模式。/
10000H手动模式下发生错误则继续使用手动值作为输出,Error=1、State 保持不变。如果手动值无效(10000H)则输出组态的替换输出值。当 ManualValue 中指定有效值后,则 Error=0、PID_Compact 便会将其作为输出值。
20000H/自动模式下发生错误需要输出替代值时,如果替代输出值无效则 PID Compact 切换到“带错误监视的替代输出值”模式(State=5),并输出输出值的下限。 错误离开后 PID_Compact 切换回自动模式。

5、高级设置--手动输入 PID 参数

    • 在 PID Compact 组态界面可以修改 PID 参数,通过此处修改的参数对应工艺对象背景数据块 > Static > Retain > PID 参数。
    • 通过组态界面修改参数需要重新下载组态并重启 PLC。建议直接对工艺对象背景数据块进行操作。

图15. PID 组态高级设置_手动输入 PID 参数

工艺对象背景数据块

PID Compact 指令的背景数据块属于工艺对象数据块,打开方式:选择项目树 > 工艺对象 > PID_Compact_x[DBy],操作步骤如图所示:

图16. 打开 PID Compact 工艺对象数据块

工艺对象数据块主要分 10 部分:1-Input,2-Output,3-Inout,4-Static,5-Config,6-CycleTime,7-CtrlParamsBackUp,8-PIDSelfTune,9-PIDCtrl,10-Retain.其中 1,2,3 这部分参数在 PID_Compact 指令中有参数引脚。

工艺对象数据块的属性为优化的块访问,即以符号进行寻址。

常用的 PID 参数:比例增益、积分时间、微分时间,见工艺对象数据块 > Static > Retain 中,如图所示:

图17. PIC Compact 工艺对象数据块中的 PID 参数

工艺对象背景数据块的常见问题

通过触摸屏或第三方设备,如何设置 PID Compact 的参数:如比例增益、积分时间、微分时间?

第三方上位机或触摸屏,多数不能直接访问 S7-1200 中符号寻址的变量。这种情况下,可以使用绝对地址的变量与 PID_Compact 工艺对象数据块中的增益、积分、微分的变量之间做数据传送。只需要在第三方设备的用户画面中,访问对应的绝对地址变量即可。PID 参数修改后实时生效,不需要重启 PID 控制器和 PLC。如图 18 所示:

  • 触摸屏访问的变量是绝对地址寻址,工艺对象背景数据块里对应变量是符号寻址。
  • 设置绝对地址变量的保持性,实现断电数据保持。
  • 通过指令实现绝对地址与符号地址变量的数据传送。

图18. 第三方设备访问并设置 PID 增益积分微分

S7-1200 PID Compact V2 自整定功能

PID 控制器能否正常运行,需要符合实际运行系统及工艺要求的参数设置。由于每套系统都不完全一样,所以,每套系统的控制参数也不相同。用户可通过参数访问方式手动调试,在调试面板中观察曲线图后修改对应的 PID 参数。也可使用系统提供的参数自整定功能,PID 自整定是按照一定的数学算法,通过外部输入信号,激励系统,并根据系统的反应方式来确定 PID 参数。

S7-1200 PID 不支持仿真功能。S7-1200 提供了两种整定方式,预调节、精确调节。可在执行预调节和精确调节时获得最佳 PID 参数。

预调节

预调节功能可确定对输出值跳变的过程响应,并搜索拐点。根据受控系统的最大上升速率与时间计算 PID 参数。过程值越稳定,PID 参数就越容易计算,结果的精度也会越高。只要过程值的上升速率明显高于噪声,就可以容忍过程值的噪声。最可能的情况是处于工作模式“未激活”和“手动模式”下。 重新计算前会备份 PID 参数。

启动预调节的必要条件:

  • 已在循环中断 OB 中调用 “PID_Compact” 指令。
  • ManualEnable = FALSE 且 Reset = FALSE
  • PID_Compact 处于下列模式之一:“未激活”、“手动模式”或“自动模式”。
  • 设定值和过程值均处于组态的限值范围内。
  • | 设定值 – 过程值 | > 0.3 * | 过程值上限 – 过程值下限 |
  • | 设定值 – 过程值 | > 0.5 * | 设定值 |

预调节:利用输出值的跳变启动预调节过程

图19. 启动自整定曲线图

如果执行预调节时未产生错误消息,则 PID 参数已调节完毕。PID_Compact 将切换到自动模式并使用已调节的参数。在电源关闭以及重启 CPU 期间,已调节的 PID 参数保持不变。如果无法实现预调节,PID_Compact 将切换到“未激活”模式。

精确调节

精确调节将使过程值出现恒定受限的振荡。将根据此振荡的幅度和频率为操作点调节 PID 参数。 所有 PID 参数都根据结果重新计算。精确调节得出的 PID 参数通常比预调节得出的 PID 参数具有更好的主控和扰动特性。PID_Compact 将自动尝试生成大于过程值噪声的振荡。 过程值的稳定性对精确调节的影响非常小。 重新计算前会备份 PID 参数。
启动精确调节的必要条件:

  • 已在循环中断 OB 中调用 “PID_Compact” 指令。
  • ManualEnable = FALSE 且 Reset = FALSE
  • PID_Compact 处于下列模式之一:“未激活”、“手动模式”或“自动模式”。
  • 设定值和过程值均处于组态的限值范围内。
  • 在操作点处,控制回路已稳定。过程值与设定值一致时,表明到达了操作点。
  • 不能被干扰。|

精确调节:在稳定状态下,将围绕过程值的操作点生成恒定受限的振荡

图20. 运行自整定曲线图

可以在“未激活”、“自动”或“手动”模式下启动精确调节。 如果希望通过控制器调节来改进现有 PID 参数,建议自动模式下启动精确调节。
如果已执行精确调节且没有错误,则 PID 参数已得到优化。 PID_Compact 切换到自动模式,并使用优化的参数。 在电源关闭以及重启 CPU 期间,优化的 PID 参数保持不变。 如果“精确调节”期间出错,PID_Compact 将切换到“
未激活”模式。

PID Compact V2 调试面板

通过路径:项目树 > PLC 项目 > 工艺对象 > PID_Compact > 调试打开整定界面,如图 21 所示:

图21. PID Compact 调试面板

  1. 采样时间:选择调试面板测量功能的采样时间;启动:激活 PID Compact 趋势采集功能。调节模式:选择整定方式;启动:激活调节模式。
  2. 实时趋势图显示:以曲线方式显示 Setpoint(给定值),Input(反馈值),Output (输出值)。
  3. 标尺:更改趋势中曲线颜色和标尺中的最大/最小值。
  4. 调节状态:显示进度条与调节状态。当调节完成后,整定出的参数会实时更新至工艺对象背景数据块 > Retain > PID 参数中
    • ErrorAck:确认警告和错误,点击时 ErrorAck=Ture,释放时 ErrorAck=False。
    • 上传 PID 参数:将调节出的参数更新至初始值
    • 转到 PID 参数:转换到组态界面 > 高级设置 > PID 参数
    • 若当进度条达或控制器调节功能看似受阻时,请单击“调节模式”中(上图部分 1)的 “Stop” 图标。检查工艺对象的组态,必要时请重新启动控制器调节功能。
  5. 可监视给定,反馈,输出值的在线状态,并可手动强制输出值。Stop PID_Compact:禁用 PID 控制器至非活动状态。

上传参数时要保证软件与 CPU 之间的在线连接,并且调试模板要在测量模式,即能实时监控状态值,点击上传按钮后,PID 工艺对象数据块会显示与 CPU 中的值不一致,因为此时项目中工艺对象数据块的初始值与 CPU 中的不一致,可将此块重新下载。

PID Compact V2 调试的常见问题

如何观察 PID 控制器的运行趋势?

1、使用博途软件的 Traces 功能

  • 建立 Trace 轨迹,在项目树 > Traces > 添加新 Trace
  • Trace > 配置窗口 > 信号 > 添加变量,窗口拆分显示后使用拖放操作添加“信号”
  • 设置采样时间和触发记录的模式,具体操作请参见本书 Traces 功能介绍

图22. Trace配置界面添加监控变量

2、使用 PID 调试面板

  • 调试面板可以启动预调节和精确调节,并观察 PID 控制器参数的运行曲线。
  • 若不启动调节功能,仅启用在线测量功能,仍然可以观察运行曲线,但不可直接记录导出测量曲线。
  • 在实时趋势图显示界面,鼠标右键点击 > 添加曲线至轨迹 > 测量中,即 Traces 功能。

3、连接给定、反馈、输出值的变量至上位机等软件,采用上位机等的趋势功能进行采集。

S7-1200 PID Compact V2 常见问题

5.gifS7-1200 的 PID 功能支持仿真吗?

答:S7-1200 固件版本 V4.0 以上,TIA V13 SP1 以上,使用 S7-PLCSIM V13 SP1 可以仿真 PLC 的程序,但不支持工艺功能(高速计数器、运动控制、PID 调节)的仿真。

5.gifS7-1200 系列 PLC 最多能实现多少 PID 回路的控制?

严格上说并没有具体数量的限制,实际应用中由以下因素决定数量:

  • CPU 的存储区的占用情况,及支持 DB 块数量的限制。
  • 在循环中断里调用 PID 指令,需要保证中断里执行指令的时间远小于该中断的循环时间。

5.gif当出现过程值超限错误时,如何使 PID 控制器不停止运行?

答:

1. 在PID Compact V1版本时,当过程值超限,PID 会自动切换到“未激活”模式,Error 报错。通过错误位上升沿捕捉错误代码是 0001H(参数 “Input” 超出了过程值限值的范围),可以通过以下途径避免:
① 在工艺对象 PID 的组态界面,修改过程值的限值,进行适当放大。
② 程序中对反馈值进行比较,必须满足限值范围的再传送给 Input。可以在比较的过程中做个超限后的报警。

2. 在 PID_Compact V2 > 组态 > 高级设置 > 对错误的响应中,可以预先设置发生错误时 PID 的输出状态。以便在发生错误时,控制器在大多数情况下均可保持激活状态。以“反馈值超限”的错误为例,设置“对错误的响应”的不同模式,查看 PID 控制器的状态变化:
① 对错误的响应 > 将 Output 设置为“非活动”,错误发生时,PID 会自动切换到“未激活”模式,Error 报错。错误离开后,工作模式仍处于“未激活”模式。

图23. “非活动”错误响应_出现错误时 PID 控制器不活动

② 对错误的响应 > 将 Output 设置为“错误待定时的当前值”或“错误未决时的替代输出值”,错误发生时,PID 会仍处于“自动”模式,Error 报错,输出为 0.0。错误离开后,切换到“自动”模式正常运行。

图24. “错误未决”错误响应_出现错误时 PID 控制器保留自动模式

5.gif如何进行 PID Compact 的故障复位?

答:当 PID Compact 发生错误时 Error=1 且 ErrorBits 显示错误信息,当错误离开后,Error=0 且 ErrorBits 会保留错误信息。

表6. 故障位

Error如果 Error = TRUE,则此周期内至少有一条错误消息处于未决状态。
ErrorBitsErrorBits 参数显示错误消息。通过 Reset 或 ErrorAck 的上升沿来复位 ErrorBits。

如果错误一直存在无法消除时,建议检查错误信息排除故障。Reset 沿变化能够重启控制器,因此不建议使用 Reset 来清除错误信息。通过 ErrorAck 的上升沿可以清除已经离开的错误信息,包括 ErrorBits 和 Warning

表7. 复位位

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

5.gif如何切换 PID Compact 控制器的工作模式?

答:若 PID 控制器未正常工作,请先检查 PID 的输出状态 State 来判断 PID 控制器的当前工作模式:

表8. 状态位

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

Mode 和 ModeActive 的上升沿组合、ManualEnable 的下降沿、Reset 的下降沿都可以切换 PID 控制器的工作模式,为操作简便建议采用 ManualEnable 进行手/自动模式切换

表9. 模式切换

ManualEnable出现 FALSE -> TRUE 上升沿时会激活“手动模式”,与当前 Mode 的数值无关。
当 ManualEnable = TRUE,无法通过 ModeActivate 的上升沿或使用调试对话框来更改工作模式。
出现 TRUE -> FALSE 下降沿时会激活由 Mode 指定的工作模式。ManualValue 为手动模式下的 PID 输出值。
ModeActivateFALSE -> TRUE 上升沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。
Reset重新启动控制器:
FALSE -> TRUE 上升沿, 切换到“未激活”模式,同时将复位 ErrorBits 和 Warnings,清除积分作用(保留 PID 参数) 。
只要 Reset = TRUE,PID_Compact 便会保持在“未激活”模式下 (State = 0)。
TRUE -> FALSE 下降沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。

如何切换 PID_Compact 手动/自动状态可参考以下流程图:

图25. 手动/自动状态切换

5.gif如何实现 PID Compact 手/自动模式的无扰切换?

答:PID 自动/手动控制,就是看控制系统的输出是由 PID 控制器自动控制,还是由操作人员手动控制。在进行 PID 自动/手动切换时,如果要求保持控制输出的无扰动切换,需要在编程时注意:

  • PID Compact 手动到自动的模式切换,就是无扰的。
  • PID Compact 自动到手动的模式切换,需要保证切换至手动模式前,PID 回路的输出仍然是切换前的输出值。切换完成后,操作人员可以修改手动设定值。

图26. 编写自动切换到手动时无扰的程序

5.gif在 PID Compact 组态界面里手动输入 PID 参数,为什么重新下载后新的参数不起作用?

答:激活“手动输入”后可以在此对话框中修改 PID 参数,须重新下载 PID 组态。因为工艺对象背景数据块的数据结构未发生变化,需要 CPU 从 STOP 到 RUN 后才生效

图27. PID 组态界面_启动手动输入 PID 参数

5.gif在 PID Compact 组态界面设置了 CPU 重启后的工作模式,为什么重新启动 PLC 后不起作用?

答:

图28. 设置 CPU 重启后激活的 PID 工作模式

组态界面设置的 CPU 重启后激活的工作模式,属于组态功能直接作用于工艺对象的背景数据块。这要求 PID Compact 指令中的 Mode 参数不使用其他变量控制,如图 6(右侧)。

图29. PID 指令中的 Mode 参数控制

当 CPU 从 STOP 到 RUN 后,系统根据组态界面的设置会自动往工艺对象数据块里的 Mode 参数赋值,使得 PID 控制器切换至设置的重启模式。

5.gif已经在循环中断 OB30 中调用 PID Compact,为什么运行时 PID 控制器报错 “16#0800H” ?(循环中断 OB 的采样时间内没有调用 PID_Compact)

答:在循环中断里调用 PID Compact 的 EN 参数中使用控制变量,若当 PID 控制器已经在自动运行模式后,禁用 EN 处控制变量,则会报错“16#0800H” :循环中断 OB 的采样时间内没有调用 PID_Compact。

在循环中断里恒调用 PID 指令,EN 参数不允许串接任何条件。通过程序来控制参数,从而改变 PID 的运行模式:

  • PID Compact V1 时,使用 PID 工艺对象背景 DB 中,sRet 里的 i_Mode 参数来控制 PID 的工作模式。
  • PID Compact V2 时,使用其 Mode 和 ModeActive 来控制 PID 的工作模式(如 Mode=0,PID 未激活)。

5.gif如何修改 PID Compact 的 Output 值的限值范围?ManualValue 的范围是多少?

答:

  • 在“输出值的限值”窗口中,以百分比形式组态输出值的限值。 无论是在手动模式还是自动模式下,PID 的输出 Output 都不允许超过限值范围。
  • 手动模式下的设定值 ManualValue,必须介于输出值的下限 (Config.OutputLowerLimit 默认值 0.0) 与输出值的上限 ( Config.OutputUpperLimit 默认值 100.0)之间的值。
  • ”错误未决时的输出替代值“也须在设置限值的范围内。如果修改了输出值的限值范围,未修改错误响应里的输出替代值,若替代值在限值范围外,则组态错误。

图30. PID Compact 输出值限值设置

如何通过第三方设备,实现 PID 的预调节/精确调节功能?

图31. 第三方设备上启动 PID 调节模式且可恢复参数

答:

  • 在第三方设备上设置 Mode 和 ModeActive,State,ErrorBits 、LoadBackUp等变量(绝对地址)访问 PID 背景 DB 块变量。
  • 通过控制模式=1、2 来启动预调节或精确调节,沿指令触发 ModeActive,PID 控制器进入调节模式。
  • 可以查看输出参数 State 来判断 PID 控制器的当前工作状态。调节成功后,控制器将切换到自动模式。如果精确调节未成功,则工作模式的切换取决于 ActivateRecoverMode。
  • PID 调节成功后自动将调节前的参数备份至 “CtrlParamsBackUp”,调节出的参数更新至“CtrlParams”。如果需要恢复整定前的参数,将 “LoadBackUp”=1,参数恢复后该参数自动变回 0。


剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。