比例、积分和微分 (PID)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
PID 指令控制流量、压力、温度或物位等过程变量。
PID 指令通常从模拟输入模块接收过程变量 (PV),并调节模拟输出模块的控制变量输出 (CV),从而使过程变量保持在所需设置点。
.EN 位指示执行状态。当 EnableIn 由假跳变为真时,.EN 位置位。当 EnableIn 变为假时,.EN 位清零。PID 指令不使用 .DN 位。每次扫描时,只要 EnableIn 为真,PID 指令就会执行。
可用语言
梯形图
结构化文本
PID(PID,ProcessVariable,Tieback,ControlVariable,PIDMasterLoop,InHoldBit,InHoldValue);
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换
梯形图
操作数
类型
格式
说明
PID
PID
结构
PID 结构
Process variable
SINT
标签
要控制的值
INT
DINT
REAL
Tieback
SINT
立即数
(可选)
INT
标签
DINT
旁路了控制器输出的硬件手控/自动工作站的输出。
如果不想使用此参数,输入 0
REAL
Control variable
SINT
标签
将送入最终控制设备(阀,气闸等)的值
INT
DINT
如果使用死区,Control variable 必须为 REAL 型,否则当误差处于死区内时,该值将被强制为 0。
REAL
PID master loop
PID
结构
可选
PID tag for the master PID
If you are performing cascade control and this PID is a slave loop, enter the name of the master PID
Enter 0 if you do not want to use this parameter
Inhold bit
BOOL
标签
可选
1756 模拟输出通道的保持位的当前状态,
用于支持无扰动重新启动
Inhold value
SINT
标签
可选
INT
1756 模拟输出通道的数据读回值,
DINT
用于支持无扰动重新启动
REAL
如果不想使用此参数,输入 0
Setpoint
仅供显示之用
Current value of the setpoint
Process variable
仅供显示之用
Current value of the scaled Process_Variable
Output %
仅供显示之用
Current output percentage value
PID 结构
指定各 PID 指令的唯一 PID 结构。
助记符
数据类型
说明
.CTL
DINT
.CTL 成员可提供对状态成员(位)的访问,访问时采用一个 32 位字的形式。
位 07-15 由 PID 指令置位。
请参见 .CTL 成员。
.SP
REAL
设置点
.KP
REAL
独立 - 比例增益(无单位)
Dependent - controller gain (unitless)
.KI
REAL
独立 - 积分增益(1/秒)
Dependent - reset time (minutes per repeat)
.KD
REAL
独立 - 微分增益(秒)
Dependent - rate time (minutes)
.BIAS
REAL
前馈或偏置百分比
.MAXS
REAL
最大工程单位标定值
.MINS
REAL
最小工程单位标定值
.DB
REAL
死区工程单位
.SO
REAL
设置输出百分比
.MAXO
REAL
输出上限(输出百分比)
.MINO
REAL
输出下限(输出百分比)
.UPD
REAL
回路更新时间(秒)
.PV
REAL
标定 PV 值
.ERR
REAL
标定误差值
.OUT
REAL
输出百分比
.PVH
REAL
过程变量报警上限
.PVL
REAL
过程变量报警下限
.DVP
REAL
偏差报警上限
.DVN
REAL
偏差报警下限
.PVDB
REAL
过程变量报警死区
.DVDB
REAL
偏差报警死区
.MAXI
REAL
最大 PV 值(未标定输入)
.MINI
REAL
最小 PV 值(未标定输入)
.TIE
REAL
手动控制的牵引值
.MAXCV
REAL
最大 CV 值(对应于 100%)
.MINCV
REAL
最小 CV 值(对应于 0%)
.MINITIE
REAL
最小牵引值(对应于 100%)
.MAXTIE
REAL
最大牵引值(对应于 0%)
.DATA[17]
REAL
.DATA 成员存储:
  • .DATA[0] - 积分累加值
  • .DATA[1] - 微分平滑临时值
  • .DATA[2] - 前一次 .PV 值
  • .DATA[3] - 前一次 .ERR 值
  • .DATA[4] - 前一次有效 .SP 值
  • .DATA[5] - 百分比标定常数
  • .DATA[6] - .PV 标定常数
  • .DATA[7] - 微分标定常数
  • .DATA[8] - 前一次 .KP 值
  • .DATA[9] - 前一次 .KI 值
  • .DATA[10] - 前一次 .KD 值
  • .DATA[11] - 相关增益 .KP
  • .DATA[12] - 相关增益 .KI
  • .DATA[13] - 相关增益 .KD
  • .DATA[14] - 前一次 .CV 值
  • .DATA[15] - .CV 反标定常数
  • .DATA[16] - 牵引值反标定常数
.CTL 成员
编号
说明
.EN
31
.CT
30
级联类型(0 = 从;1 = 主)
.CL
29
级联回路(0 = 否;1 = 是)
.PVT
28
过程变量跟踪(0 = 否;1 = 是)
.DOE
27
微分对象(0 = PV;1 = 误差)
.SWM
26
软件模式(0 = 否-自动;1 = 是-软件手动)
.CA
25
控制动作(0 = 反向(SP-PV);1 = 直接(PV-SP))
.MO
24
站点模式(0 = 自动;1 = 手动)
.PE
23
PID 公式(0 = 独立;1 = 相关)
.NDF
22
微分平滑(0 = 否;1 = 是)
.NOBC
21
偏置计算(0 = 否;1 = 是)
.NOZC
20
过零(0 = 否;1 = 非过零死区)
.INI
15
PID 已初始化(0 = 否;1 = 是)
.SPOR
14
设置点超出范围(0 = 否;1 = 是)
.OLL
13
CV 低于输出下限值(0 = 否;1 = 是)
.OLH
12
CV 高于输出上限值(0 = 否;1 = 是)
.EWD
11
误差在死区内(0 = 否;1 = 是)
.DVNA
10
误差下限报警(0 = 否;1 = 是)
.DVPA
9
误差上限报警(0 = 否;1 = 是)
.PVLA
8
PV 下限报警(0 = 否;1 = 是)
.PVHA
7
PV 上限报警(0 = 否;1 = 是)
影响数学状态标志
严重/轻微故障
在以下情况下会发生轻微故障:
故障类型
故障代码
UPD ≥ 0
4
35
设置点超出范围
4
36
有关操作数相关的故障,请参阅 常用属性
执行
梯形图
条件/状态
执行的操作
边界检查操作数
预扫描
将 .EN 设置为假
初始化 PID 结构
PID
Tag.EnableIn 为假
将 .EN 设置为假
PID
Tag.EnableIn 为真
将 .EN 设置为真
该指令执行 PID 回路
所有操作数
后扫描
将 .EN 设置为假
PID
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal