如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?

描述

PID 控制器在采样时间超出时会自动从激活模式转变为非激活模式。为了应对这一情况,可以采用以下方式来处理此种情况:n

  • 关闭采样时间监视功能。n
  • 手动重启 PID 控制器。

关闭采样时间监视功能

序号

关闭采样时间监视功能

1.

关闭采样时间监视
在首次调用 PID 控制块之前,禁止 PID 控制器的“sb_EnCyclMonitoring” 位:n

  • 在 OB 的第一个网络“循环中断 PID”,PID 控制器在此调用,插入“Reset” 输出。n
  • 将 PID 控制器的“sb_EnCyclMonitoring” 位分配给“Reset” 输出。注意图.01(“PID_Compact_DB”)中 PID 控制器的名称与数据块的名称不同。

关闭采样时间监视功能。n

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?
图. 01n

注意
在调用“PID_sample_mon” 功能块之前禁止这个功能(此表第 2 行)。

2.

插入“PID_sample_mon” 功能块(FB)
在序号1中,为了避免 PID 控制器停止,关闭了采样时间监视功能。然而当超出定义的极限值时,监视采样时间超出的次数还是很有实际意义的。可以使用附加“PID_sample_time” 库里的“PID_sample_mon”功能块来完成此项功能。n

  • 下载,解压,打开附加的“PID_sample_time”全局库文件。n
  • 在“全局”库目录里点中 FB “PID_sample_mon” 。n
  • 从库中托拽 FB 块到组织块“循环中断PID”(如 OB200)中。确保 FB “PID_sample_mon”在FB “PID_compact”之前调用。

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?
图. 02

3.

连接“PID_sample_mon” 功能块(FB)

  • 为“Max_sample_time”管脚输入以毫秒为单位的极限值。n
  • 为“Counter_1” 管脚添加整数变量,显示采样时间超限的次数。n
  • 使能“Reset_counter” 管脚来复位计数器。

注意
管脚描述见表.02 。

表 01
n

管脚

数据类型

描述

Reset_counterBool

复位计数器。

Max_sample_timeTime

以毫秒为单位的极限值,不能超过。通常为循环中断循环周期的两倍。

Counter_1Integer

用来显示采样时间超限的次数。

表 02 n

手动重启PID 控制器
如果由于采样时间超限而导致 PID 控制器切换到非激活模式,可以手动重起。n

注意

  • 在非激活模式下,控制值(输出值)总是零。n
  • 在非激活模式下,控制器的中间变量都被复位。

序号

手动重起 PID 控制器

1.

插入“PID_restart” 功能块(FB)
从附加的功能块库中插入“PID_restart” 功能块n

  • 下载,解压,打开“PID_sample_time” 库。n
  • 在库里浏览寻找“PID_restart” 功能块。n
  • 从库中托拽 FB 块到 PID 循环中断组织块中(如 OB200)。确保 FB “PID_restart”在FB “PID_compact”之前调用。

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?
图. 03

2.

连接 “PID_restart” 功能块(FB)

如图. 04 所示,连接功能块管脚。n

  • “Reset” 管脚与“Pulse”块相连。n
  • “PID_restart”功能块的“ENO”管脚与“PID_Compact” 功能块的“EN” 管脚相连。n
  • 添加输出线圈到“PID_Compact” 功能块的“ENO” 管脚。n
  • 使用同一变量(如“PID_ENO” (M12.3))连接“PID_restart” 功能块的“Reset”管脚到“PID_Compact” 功能块“ENO” 管脚的输出线圈。n
  • 使用同一变量(如“InternalReset” (M12.1))连接“PID_restart” 功能块的“InternalReset” 管脚和“PID_Compact” 功能块的“Reset”管脚。n
  • 使能“PID_restart”功能块的“Reset” 管脚,可以为计数器清零。n
  • 连接PID控制器的错误变量到“PID_restart” 功能块的“Error” 管脚。n
  • 连接 PID 控制器的“sRet.i_Mode” 标签到“PID_restart” 功能块的“sRet.i_Mode” 管脚。n
  • 连接 PID 控制器的“State” 变量到 “PID_restart” 功能块的“State”管脚。

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?
图. 04n

注意
管脚描述见表 04。

3.

复位 PID 控制器
在“PID_restart” 功能块的“Reset” 输入端加使能脉冲,来重起 PID 控制器。

表 03n

“PID_restart” 功能块的管脚
根据表. 04 所示的“需要的变量” 专栏来确定所需的变量。

管脚

需要的变量

数据类型

描述

Reset(例如“Reset” (M12.0))Boolean

重启PID 控制器。

PID_ENO(例如“PID_ENO” (M12.3))Boolean

共享信号,连接到所调用的 PID 功能块“ENO”管脚的输出线圈。

Error“PID_Compact_DB”.ErrorUDint

PID 控制器的错误代码。

InternalReset(例如“InternalReset” (M12.1))Boolean

共享复位信号,连接到所调用的 PID 功能块的“Reset”管脚。

sRet.i_Mode“PID_Compact_DB”.sRet.i_ModeInt

PID 控制器已分配的操作模式。

State“PID_Compact_DB”.StateInt

PID 控制器当前的操作模式。

表. 04

技术背景
采样时间 (ts) 在 PID 控制器启动时(“非激活” -> “激活模式”)计算一次,并存储在“当前平均值” (ts mean) 里。当 PID 控制器处于“激活模式”时,采样时间由操作系统监控。一旦当前采样时间超过了“平均值”的两倍,PID 控制器自动转变为“非激活”模式。既然同类循环中断以出现的顺序执行,那么其它的循环中断能导致采样时间的超限。

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器?
图. 05

注意
更多关于 PID 控制器的信息参考 STEP 7 Basic 软件帮助。输入关键字“PID” 来搜索。

软硬件需求

  • S7-1200 PLC
  • 以太网电缆
  • STEP 7 Basic V10.5

有效性
本条目是建立在 PID Compact Controller V1.0 基础上的,在 STEP 7 Basic V10.5和 STEP 7 V11 里属于工艺对象。
在STEP 7 V11中,PID Compact Controller 的版本为 V1.1 (支持的 S7-1200 CPU 为 V2.0 固件版本) ,复位动作如下:
“‘Reset’管脚的上升沿可以复位错误,警告,并且修正数据。‘Reset’管脚上的下降沿切换到上次激活的模式”。这表明复位 PID Compact Controller >V1.0 的版本不再需要下载 FB “PID_Restart”。

如何重启由于采样时间错误或者关闭采样时间监视而导致停止的 PID 控制器? PID_sample_time.zip ( 428 KB )

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc329808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论