描述
如果从外围设备接收到非法值,那么 S7-1200 PID 紧凑型控制器将会切换到未激活模式。本文将介绍避免这种情况发生的方法。n
"PID_Compact" 功能块的"Input_PER"引脚会在其接收到非法值时显示为"16#7FFF"和"16#8000"。其中有几种出现非法值的可能原因:n
举例:n
- 在 RTD 模块刚接通时,模块会运行一个内部的模拟量到数字量转换过程。在这个期间内,模块的各个通道值将会是"32767" ("16#7FFF") ,直到合法值生效为止。n
- 这样的值也会出现在模拟量输入值有上溢或下溢的情况下。
故障处理
使用"Signal Filter" 功能块的"Replace Output"引脚,可以为"PID_Compact" 功能块提供一个安全的输出。当有出现非法值时,"Signal Filter"功能块会把 "PID_Compact" 切换到手动模式, 并用"Replace Output"作为其输出值来取代未激活模式。当重新接收到有效值时,"PID_Compact" 会切换回自动模式。"SignalFiIlter" 的"ERROR"位作为错误状况的指示将会告知用户程序"PID_Compact"功能受到影响。外部故障(比如断线和短路)是导致这种错误的部分原因。n
注释
- 控制器上所有的外部输入信号,要接到"Signal Funtion" 功能块上,而不是直接接到 "PID_Compact" 块的"Input_PER" 引脚上。n
- "SignalFilter" 功能块不会影响 PID 的"Configuration" 和"Commissioning"功能的使用。n
- 当非法值到来时,将不能在手自动之间进行切换,因为 PID 控制器已经变为手动模式。
警告
- 如果将"Signal Filter"与 "PID_Compact"结合使用,那么将不能在"Commissioning" 视窗中对手动值进行修改。n
- 只有通过"Signal Filter"功能块的 "ManValueInput"引脚才可以设置手动值。
使用 S7-1200 PID 控制器的"Signal Filter"功能块
No. | 使用 S7-1200 PID 控制器的"SignalFilter"功能块 |
1. | 下载并打开附件中的"PID_Compact_SignalFilter_Lib" S7-1200 通用库文件 按照以下步骤: n
|
2. | 连接"SignalFilter" 功能块 按照以下步骤: n
图. 02 |
表格 01 n
"SignalFilter" 功能块的引脚
使用"SignalFilter"功能块的输入来代替"PID_Compact"功能块的输入,把它的输出连接到"PID_Compact"功能块相应的输入引脚。
引脚 | 数据类型 | 注释 |
AnalogInput | WORD | 实际值输入。 n
所有的外部 IO 输入都连接到"Signal Function"功能块上,而不是直接连到"PID_Compact"块的 "Input_PER"引脚上。 |
ReplaceOutput | REAL | 出现不安全状况下的替代值。 |
ManEnable | BOOL | TRUE: PID 控制器将会设置为手动模式,并按照"ManValueInput" 来设置手动值。 |
ManValueInput | REAL | "ManEnable"引脚状态为 TRUE 时,由此设置手动值。 |
PIDState | INT | 将此变量连接到"PID_Compact" 块的 "State" 输出引脚。该变量亦可在"PID_Compact" 功能块的实例数据块中被找到。 |
PIDMode | INT | 将此变量连接到"PID_Compact" 块的静态参数 "sRet.i_Mode"上。该变量亦可在"PID_Compact" 功能块的实例数据块中被找到。 |
PIDPerInput | WORD | 将此变量连接到"PID_Compact" 块的 "Input_PER" 输入引脚。该变量亦可在"PID_Compact" 功能块的实例数据块中被找到。 |
PIDManEnable | BOOL | 将此变量连接到"PID_Compact" 块的 "ManualEnable"输入引脚。该变量亦可在"PID_Compact" 功能块的实例数据块中被找到。 |
PIDManValue | REAL | 将此变量连接到"PID_Compact" 块的 "ManualValue" 引脚。该变量亦可在"PID_Compact" 功能块的实例数据块中被找到。 |
ERROR | BOOL | 如果输入值为"16#7FFF"或 "16#8000"时此值为 TRUE。 |
表格 02 n
样例
附件中的"PID_Compact_SignalFilter_Example.ap10" 项目展现了"SignalFilter" 的功能性。
它包含了一个完整的可执行项目,其中包括"PID_Compact","SignalFilter"和过程仿真。n
图. 03n
"PID_Controller" OB200包含 "SignalFilter" 和 "PID_Compact" 功能块。
"Process_Simulator" OB201 调用了 "Process_PT3" 功能块来实现过程仿真。n
No. | 在 S7-1200 中使用"SignalFilter" 功能块例子 |
1. | 下载,解压,然后打开附件"PID_Compact_SignalFilter_Example.ap10" 的S7-1200 项目。 |
2. | 在 "Device view" 中修改CPU设置和实际硬件匹配。 |
3. | 下载项目到设备。 |
4. | 打开"PID_Compact" 的"Commissioning" 界面,然后开始测量过程。 n
|
5. | 打开"Watch_Table_1"监控表,然后开始监视。 n
|
6. | 设置"MSetpoint"控制值为"50.0"。 n
|
7. | 可以在PID commissioning 中观察反应。 n
|
8. | 通过修改"MSimErr"值为1来模拟出现过程错误"7FFF"(或"8000")。 n
在监控表中组态设置值并模拟仿真一个IO错误。对于过程故障可以输入"7FFF"或"8000"的参数值。 |
9. | PID控制器切换到手动模式并且返回 "ReplaceOutput" 值。 n
|
10. | 通过修改"MSimErr"回 "0" 复位故障仿真。 n
|
11. | PID控制器切换回自动模式。 n
|
12. | 置位 "SignalFilter" 块的 "ManEnable" 。 n
|
13. | PID控制器切换到手动模式,并且返回"ManValueInput" 值。 n
|
14. | 复位"ManEnable"。 n
|
15. | PID控制器切换为自动模式。 n
|
表格 03 n
系统环境n
- S7-1200n
- 以太网电缆n
- PG/PCn
- 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" 管脚上的一个下降沿关闭上次激活的模式。使用下述的连接设置"Reset"输入,在错误的过程值产生后,能够复位 PID Compact controllers >V1.0的错误。n
图. 16
信号滤波库
PID_CompactSignalFilter_Lib.zip ( 364 KB )
信号滤波实例
PID_CompactSignalFilter_Example.zip ( 1750 KB )
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331052.html