S7-1200 PID Compact V1 指令介绍
PID指令块的参数分为两部分,输入参数与输出参数,指令块的视图分为扩展视图与集成视图,在不同的视图下所能看见的参数是不一样的,在集成视图中可看到的参数为最基本的默认参数,如给定值,反馈值,输出值等定义这些参数可实现控制器最基本的控制功能,而在扩展视图中,可看到更多的相关参数,如手自动切换,高低限报警等,使用这些参数可使控制器具有更丰富的功能。如图 1
图1 PID指令块
表1 输入参数
参数 数据类型 描述 Setpoint REAL 自动模式下的给定值 Input REAL 实数类型反馈值 Input_PER WORD 整数类型反馈值,可用于连接模拟量外设输入 ManualEnable BOOL 0到1 上升沿 = "手动模式"
1到0 下降沿 = "自动模式"ManualValue REAL 手动模式下的输出值 Reset BOOL 复位控制器与错误
表2 输出参数
参数 数据类型 描述 ScaledInput REAL 当前的输入值 Output REAL 实数类型输出值 Output_PER WORD 整数类型输出值 Output_PWM BOOL PWM输出 SetpointLimit_H BOOL 当给定值大于高限时置 SetpointLimit_L BOOL 当给定值小于低限时置 InputWarning_H BOOL 当反馈值超过高限报警时置 InputWarning_L BOOL 当反馈值低于低限报警时置 State INT 控制器状态0=Inactive,1=SUT,2=TIR,3=Automatic,4=Manual
表3 State状态
State状态
描述 0 := Inactive(未激活) - 第一次下载
-有错误或PLC出于停机状态
- Reset = TRUE(复位端激活)1 :Start Up整定方式
2 :Tuning in Run整定方式- 相对应的调试过程进行中 3 := Automatic Mode自动模式
4 := Manual Mode手动模式0 到1 上升沿 使能 "Manual mode"(手动模式)
1到0 下降沿 使能"Automatic mode(自动模式)
表4 错误代码
错误代号(W#32#...) 描述 0000 0000
无错误.
0000 0001
实际值超过组态限制
0000 0002
参数 "Input_PER" 端有非法值
0000 0004
“运行自整定”模式中发生错误.反馈值的震荡无法被保持
0000 0008
“启动自整定”模式发生错误. 反馈值太接近与给定值
0000 0010
自整定时设定值改变
0000 0020
在运行启动自整定模式时,PID控制器处于自动状态,此状态无法运行启动自整定
0000 0040
“运行自整定”发生错误.
0000 0080
输出的设定值限制未正确组态
0000 0100
非法参数导致自整定错误
0000 0200
反馈参数数据值非法
数据值超出表示范围(值小于 -1e12 或大于 1e12)
数据值格式非法0000 0400
输出参数数据值非法
数据值超出表示范围(值小于 -1e12 或 大于1e12)
数据值格式非法0000 0800
采样时间错误指令块被OB1调用或循环中断块的中断时间被修改了
0000 1000
设定值参数数据非法,数据值超出表示范围(数据值小于 -1e12 或大于 1e12)
数据值格式非法
工艺对象背景数据块
工艺对象数据块存储了控制器所有相关的参数
添加工艺对象数据块:
Project tree→Technological Objects→Add new object,在弹出的对话框中定义如图 2
图2 添加工艺对象数据块
打开工艺对象数据块:
选择Project tree→Technological Objects→PID_Compact_DB。如图2
图2 打开工艺对象数据块
工艺对象数据块主要分5部分:1 static 2 sBackUp 3 sPid_Calc 4 sPid_Cmpt 5 sRet
1 Static参数
表5 Static 参数
Static
名称
数据类型
描述
sd_VersionID
DWORD
控制器版本(eg. 1.0.0.9)
sb_GetCycleTime
BOOL
开始自动预估采样时间
sb_EnCyclEstimation
BOOL
使能预估采样时间
sb_EnCyclMonitoring
BOOL
使能监视采样时间
sb_RunModeByStartup
BOOL
在复位或上电后保持上一次状态或保持Inactive未激活状态
si_Unit
INT
反馈量单位
si_Type
INT
控制器类型
sd_Warning
DWORD
警示信息
2 sBackUp参数
表6 sBackUp
sBackUp
名称
数据类型
从上一次整定开始已保存的参数
r_Gain
REAL
已保存的增益
r_Ti
REAL
已保存的积分时间
r_Td
REAL
已保存的微分时间
r_A
REAL
已保存存的微分滤波系数
r_B
REAL
已保存的比例部分在直接/反馈路径的权重
r_C
REAL
已保存的微分部分在直接/反馈路径的权重
r_Cycle
REAL
已保存的控制器采样时间
3 sPid_Calc参数
表7 sPid_Calc
sPid_Calc
名称
数据类型
描述
r_Cycle
REAL
采样时间
b_RunIn
BOOL
强制在设定点运行
b_CalcParamSUT
BOOL
重新计算启动整定参数
b_CalcParamTIR
BOOL
重新计算运行整定参数
i_CtrlTypeSUT
INT
起始整定模式(0-CHR PID,1-CHR PI)
i_CtrlTypeTIR
INT
运行整定模式 (0-2-A PID auto/fast/slow,3-ZN PID,4-ZN PI,5-ZN P)
4 sPid_Cmpt参数
表8 sPid_Cmpt
sPid_Cmpt
名称
数据类型
描述
r_Sp_Hlm
REAL
设定值高限
r_Sp_Llm
REAL
设定值低限
r_Pv_Norm_IN_1
REAL
输入量程化低限
r_Pv_Norm_IN_2
REAL
输入量程化高限
r_Pv_Norm_OUT_1
REAL
输出量程化低限
r_Pv_Norm_OUT_2
REAL
输出量程化高限
r_Lmn_Hlm
REAL
输出高限
r_Lmn_Llm
REAL
输出低限
b_Input_PER_On
BOOL
激活从外设输入的反馈值
b_LoadBackUp
BOOL
回复上一次的参数备份PID参数
b_InvCtrl
BOOL
使能反向
r_Lmn_Pwm_PPTm
REAL
PWM 最小开时间
r_Lmn_Pwm_PBTm
REAL
PWM 最小关时间
r_Pv_Hlm
REAL
反馈高限
r_Pv_Llm
REAL
反馈低限
r_Pv_HWrn
REAL
反馈报警高限
r_Pv_LWrn
REAL
反馈报警低限
5 sRet参数
表9 sRet
sRet
名称
数据类型
描述
i_Mode
INT
设置控制器模式 (0=Inactive(未激活),1=SUT(启动整定模式),2=TIR(运行整定模式),3=Automatic(自动模式),4=Hand(手动模式)
r_Ctrl_Gain
REAL
当前增益
r_Ctrl_Ti
REAL
当前积分时间
r_Ctrl_Td
REAL
当前微分时间
r_Ctrl_A
REAL
当前微分部分滤波系数
r_Ctrl_B
REAL
在直接反馈路径中的比例加权
r_Ctrl_C
REAL
在直接反馈路径中的微分加权
r_Ctrl_Cycle
REAL
当前采样时间