西门子S7-1200 PID调节
一、 PID功能
1. PID是用于对闭环过程进行控制。PID控制适用于温度,压力,流量等物理量,是工业现场中应用最为广泛的一种控制方式,其原理是,对被控对象设定一个给定值,然后将实际值测量出来,并与给定值比较,将其差值送入PID控制器,PID控制器按照一定的运算规律,计算出结果,即为输出值,送到执行器进行调节,其中的P,I,D指的是比例,积分,微分,是一种闭环控制算法。通过这些参数,可以使被控对象追随给定值变化并使系统达到稳定,自动消除各种干扰对控制过程的影响。
二、 S7-1200 PID控制器
1. S7-1200 CPU提供了PID控制器回路数量受到CPU的工作内存及支持DB块数量限制。严格上说并没有限制具体数量,但实际应用推荐客户不要超过16路PID回路。可同时进行回路控制,用户可手动调试参数,也可使用自整定功能,提供了两种自整定方式由PID控制器自动调试参数。另外STEP7 Basic还提供了调试面板,用户可以直观的了解控制器及被控对象的状态。
2. PID控制器结构
PID控制器功能主要依靠三部分实现,循环中断块,PID指令块,工艺对象背景数据块。用户在调用PID指令块时需要定义其背景数据块,而此背景数据块需要在工艺对象中添加,称为工艺对象背景数据块。PID指令块与其相对应的的工艺对象背景数据块组合使用,形成完整的PID控制器。PID控制器结构如图1。
图1 PID控制器结构
3. 循环中断块可按一定周期产生中断,执行其中的程序。PID指令块定义了控制器的控制算法,随着循环中断块产生中断而周期性执行,其背景数据块用于定义输入输出参数,调试参数以及监控参数。此背景数据块并非普通数据块,需要在目录树视图的工艺对象中才能找到并定义。
三、 S7-1200 PID Compact V2 指令介绍
PID 指令块的参数分为两部分,输入参数与输出参数。其指令块的视图分为扩展视图与集成视图,在不同的视图下所能看见的参数是不一样的,在集成视图中可看到的参数为最基本的默认参数,如给定值,反馈值,输出值等。定义这些参数可实现控制器最基本的控制功能,而在扩展视图中,可看到更多的相关参数,如手自动切换,模式切换等,使用这些参数可使控制器具有更丰富的功能。如图2所示
图2 PID 指令块的集成视图和扩展视图
PID Compact 输入输出参数介绍
1. PID_Compact V2 的输入参数包括 PID 的设定值,过程值,手自动切换,故障确认,模式切换和 PID 重启参数,如表 1 所示。
表1:输入参数
参数 | 数据类型 | 说明 |
Setpoint | REAL | PID 控制器在自动模式下的设定值 |
Input | REAL | PID 控制器的反馈值(工程量) |
Input_PER | INT | PID 控制器的反馈值(模拟量) |
Disturbance | REAL | 扰动变量或预控制值。 |
ManualEnable | BOOL | 出现 FALSE -> TRUE 上升沿时会激活“手动模式”,与当前 Mode 的数值无关。 |
ManualValue | REAL | 用作手动模式下的 PID 输出值,须满足 Config.OutputLowerLimit < ManualValue < Config.OutputUpperLimit 。 |
ErrorAck | BOOL | FALSE -> TRUE 上升沿时,错误确认,清除已经离开的错误信息。 |
Reset | BOOL | 重新启动控制器: |
ModeActivate | BOOL | FALSE -> TRUE 上升沿,PID_Compact 将切换到保存在 Mode 参数中的工作模式。 |
注意:如果使用 Reset 复位错误会重启 PID 控制器,建议使用 ErrorAck 来复位错误代码。
2. PID_Compact V2 的输出参数包括 PID 的输出值(REAL、模拟量、PWM),标定的过程值,限位报警(设定值、过程值),PID 的当前工作模式,错误状态及错误代码,如表 2 所示。
表2:输出参数
参数 | 数据类型 | 说明 |
ScaledInput | REAL | 标定的过程值 |
Output | REAL | PID 的输出值 (REAL 形式) |
Output_PER | INT | PID 的输出值(模拟量) |
Output_PWM | BOOL | PID 的输出值(脉宽调制) |
SetpointLimit_H | BOOL | 如果 SetpointLimit_H = TRUE,则说明达到了设定值的绝对上限 (Setpoint ≥ Config.SetpointUpperLimit)。 |
SetpointLimit_L | BOOL | 如果 SetpointLimit_L = TRUE,则说明已达到设定值的绝对下限 (Setpoint ≤ Config.SetpointLowerLimit)。 |
InputWarning_H | BOOL | 如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。 |
InputWarning_L | BOOL | 如果 InputWarning_L = TRUE,则说明过程值已达到或低于警告下限。 |
State | INT | State 参数显示了 PID 控制器的当前工作模式。 可使用输入参数 Mode 和 ModeActivate 处的上升沿更改工作模式: |
Error | BOOL | 如果 Error = TRUE,则此周期内至少有一条错误消息处于未决状态。 |
ErrorBits | DWORD | ErrorBits 参数显示了处于未决状态的错误消息。通过 Reset 或 ErrorAck 的上升沿来保持并复位 ErrorBits。 |
注意:
a) 若 PID 控制器未正常工作,请先检查 PID 的输出状态 State 来判断 PID 的当前工作模式,并检查错误信息。
b) 当错误出现时 Error=1,错误离开后 Error=0,ErrorBits 会保留错误信息。可通过编程清除错误离开后 ErrorBits 保留的错误信息。
3. PID_Compact V2 的输入输出参数 Mode 指定了 PID_Compact 将转换到的工作模式,具有断电保持特性,由沿激活切换工作模式,如表 3 所示。
表3.输入输出参数
参数 | 数据类型 | 说明 |
Mode | INT | 在 Mode 上,指定 PID_Compact 将转换到的工作模式: |
注意:当 ManualEnable = TRUE,无法通过 ModeActivate 的上升沿或使用调试对话框来更改工作模式。
4. 当PID出现错误时,通过捕捉 Error 的上升沿,将 ErrorBits 传送至全局地址,从而获得 PID 的错误信息,如表 4 所示。
表4.错误代码定义
错误代码 | 说明 |
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” 的值无效,值的数字格式无效。 |
10000 | ManualValue 参数的值无效,值的数字格式无效。 |
20000 | 变量 SubstituteOutput 的值无效,值的数字格式无效。这时,PID_Compact 使用输出值下限作为输出值。 |
40000 | Disturbance 参数的值无效,值的数字格式无效。 |
注意:如果多个错误同时处于待决状态,将通过二进制加法显示 ErrorBits 的值。 例如,显示 ErrorBits = 0003h 表示错误 0001h 和 0002h 同时处于待决状态。
四、 S7-1200 PID Compact V2 组态步骤
1. 使用 PID 功能,必须先添加循环中断,需要在循环中断中添加 PID_Compact 指令。在循环中断的属性中,可以修改其循环时间
图3 添加循环中断后在属性界面修改其循环时间
双击“添加新块”----选择“循环中断块”-----确定循环中断时间-----点击确定生成
因为程序执行的扫描周期不相同,一定要在循环中断里调用 PID 指令。可右键循环中断块,进入属性更改其循环中断时间。
注意:为保证以恒定的采样时间间隔执行 PID 指令,必须在循环 OB 中调用。
在“指令 > 工艺 > PID 控制 > Compact PID(注意版本选择) > PID_Compact”下,将 PID_Compact 指令添加至循环中断。
图4在循环中断中添加 PID_Compact 指令
2. 当添加完 PID_Compact 指令后,在项目树 > 工艺对象文件夹中,会自动关联出 PID_Compact_x[DBx],包含其组态界面和调试功能。
图5 PID_Compact 组态界面
3. 使用 PID 控制器前,需要对其进行组态设置,分为基本设置、过程值设置、高级设置等部分
1) 基本设置
A. 基本设置--控制器类型
a. 为设定值、过程值和扰动变量选择物理量和测量单位。
b. 正作用:随着 PID 控制器的偏差增大,输出值增大。 反作用:随着PID控制器的偏差增大,输出值减小。PID_Compact 反作用时,可以勾选“反转控制逻辑”;或者用负比例增益。
c. 要在 CPU 重启后切换到“模式”(Mode) 参数中保存的工作模式,请勾选“在 CPU 重启后激活模式”。
图6. PID_Compact > 基本设置 > 控制器类型
B. 基本设置--定义 Input/Output 参数
定义 PID 过程值和输出值的内容,选择 PID_Compact 输入、输出变量的引脚和数据类型。
图7. PID_Compact > 基本设置 > 定义 Input/Output
2) 过程值设置
A. 过程值设置--过程值限值必须满足过程值下限<过程值上限。如果过程值超出限值,就会出现错误 (ErrorBits = 0001h)。
图8.设置过程值限值
B. 过程值设置--过程值标定
a. 当且仅当在 Input/Output 中输入选择为 “Input_PER” 时,才可组态过程值标定。
b. 如果过程值与模拟量输入值成正比,则将使用上下限值对来标定 Input_PER。
c. 必须满足范围的下限<上限。
图9. 进行过程值标定
3) 高级设置
A. 高级设置--过程值监视
a. 过程值的监视限值范围需要在过程值限值范围之内。
b. 过程值超过监视限值,会输出警告。过程值超过过程值限值,PID输出报错,切换工作模式。
i. 当过程值超过或者达到警告限制,对应的InputWarning 位=1,PID控制器的工作模式保持不变。
ii. 当过程值超过设定值的限值,Error=1,ErrorBits=0001过程值超限。PID控制器的状态会有所变化。
图10.设置过程监控值设置,与过程值限对比
B. 高级设置-- PWM 限制
输出参数 Output 中的值被转换为一个脉冲序列,该序列通过脉宽调制在输出参数 Output_PWM 中输出。在 PID 算法采样时间内计算 Output,在采样时间 PID_Compact 内输出 Output_PWM。
图11.PID_Compact 的 PWM 输出原理
a. 为最大程度地减小工作频率并节省执行器,可延长最短开/关时间。
b. 如果要使用 “Output” 或 “Output_PER”,则必须分别为最短开关时间组态值 0.0。
c. 脉冲或中断时间永远不会小于最短开关时间。例如,在当前 PID 算法采样周期中,如果输出小于最短接通时间将不输出脉冲,如果输出大于(PID 算法采样时间-最短关闭时间) 则整个周期输出高电平。
d. 在当前 PID 算法采样周期中,因小于最短接通时间未能输出脉冲的,会在下一个 PID 算法采样周期中累加和补偿由此引起的误差。
最短开/关时间只影响输出参数 Output_PWM,不用于 CPU 中集成的任何脉冲发生器。
示例:PID_Compact 采样时间=100ms;PID 算法采样时间=1000ms;最短开启时间=200 ms(即已组态的最小接通脉冲为 PID_Compact 的 20%),若此时 PID 输出恒定为 15%。
则在第一个周期内不输出脉冲,在第二个周期内将第一个周期内未输出的脉冲累加到第二个周期的脉冲,依次输出。如下图所示。
图12.PWM 最小开/关时间影响示例图
C. 高级设置--输出值限值
a. 在“输出值的限值”窗口中,以百分比形式组态输出值的限值。 无论是在手动模式还是自动模式下,都不要超过输出值的限值。
b. 手动模式下的设定值 ManualValue,必须介于输出值的下限 (Config.OutputLowerLimit) 与输出值的上限 ( Config.OutputUpperLimit )之间的值。
c. 如果在手动模式下指定了一个超出限值范围的输出值,则 CPU 会将有效值限制为组态的限值。
d. PID_compact 可以通过组态界面中输出值的上限和下限修改限值。最广范围为 -100.0 到 100.0,如果采用 Output_PWM 输出时限制为 0.0 到 100.0 。
图13.过程监控值设置和过程值限对比
D. PID 组态高级设置_对错误的响应
根据错误代码来分析错误原因。根据组态界面所设置的“对错误的响应”,不同错误的响应状态也不一样,如下表所示:
E. 高级设置--手动输入 PID 参数
a. 在 PID Compact 组态界面可以修改 PID 参数,通过此处修改的参数对应工艺对象背景数据块 > Static > Retain > PID 参数。
b. 通过组态界面修改参数需要重新下载组态并重启 PLC。建议直接对工艺对象背景数据块进行操作。
图14.PID组态高级设置—手动输入PID参数
1.启动手动输入后,可以通过组态界面修改PID参数。
2.启动手动输入----修改参数-----重新下载组态----CPU:STOP-RUN
3.PID:预调节和精确调节期间计算PID参数
PI:预调节换热精确调节期间计算PI参数。
-
S7-1500做控制器 S7-200SMART做智能设备
2024-08-23 -
西门子S7-1200 PID调节
2024-07-09 -
S7-1500+V90 PN工艺对象的转矩限幅及附加转矩给定控制
2024-05-14 -
触摸屏的配方管理
2024-03-15 -
西门子S7-1200用工艺对象控制英威腾伺服
2023-08-25 -
触摸屏的用户管理
2023-08-11 -
S71200控制英威腾SV-DA200-0R4-2-D0伺服
2023-08-04 -
西门子S7-1200红绿灯程序
2023-07-28 -
触摸屏画面及报警
2023-07-21 -
“凝心聚力,突破自我”沈阳蓝泰科瑞2023激情夏日游记
2023-07-11 -
200SMART如何建立全局库
2023-06-30 -
200Smart运动控制
2023-06-25 -
S7-1500与RF180C通讯
2023-06-16 -
西门子远程IO——ET200SP常见模块接线图
2023-06-09 -
2023年度蓝泰科瑞西门子产品推广会圆满落幕
2023-05-26 -
200Smart获取/设置IP地址的应用
2023-05-19 -
v90调试软件基本应用
2023-05-12 -
TIA建立属于自己的全局库
2023-05-05 -
S7-200 smart密码保护
2023-04-28 -
S7-1200做高速计数
2023-04-23 -
博途软件存储区域保持性设置
2023-04-17 -
G120通过BOP-2面板上传与下载参数
2023-03-30 -
助力成长,工业技术培训开始啦
2023-03-24 -
【每周一话 助力成长】200SMART的PID向导设置
2023-01-31 -
【每周一话 助力成长】TIA功能码应用
2023-01-04 -
【每周一话 助力成长】S7-1500做客户端与S7-200smart做服务器进行MODBUS-TCP通讯
2022-12-27 -
【每周一话 助力成长】S7-200SMARTPLC设置与读取系统时间
2022-12-09 -
【每周一话 助力成长】200smart与G120做MODBUS-RTU通讯
2022-11-30 -
【每周一话 助力成长】1500 做主站,MODBUS 通讯
2022-11-22 -
【每周一话 助力成长】S7-1200做客户端,如何与S7-200 SMART S7 通信呢?
2022-11-14 -
【每周一话 助力成长】200SMART编程软件又更新了,V2.7版本有什么新的功能吗?
2022-11-09 -
【每周一话 助力成长】V17程序无特殊保护下载步骤
2022-11-01 -
【每周一话 助力成长】关于SIMATIC WINCC如何设置开机启动和与项目备份
2022-10-24 -
【每周一话 助力成长】关于S7-1500与V90PN采PROFINET IRT 的通信方式
2022-10-19 -
【每周一话 助力成长】关于200SMART做为Client与 1200的S7通讯操作
2022-10-11 -
喜迎国庆73周年 蓝泰邀您成为“数字化”人才
2022-10-01 -
叮咚,蓝泰邀您一起穿“月”中秋 !
2022-09-09 -
初心入磐 ,奋楫笃行—敢梦敢为,好伙伴,加油!
2022-08-18 -
通力合作 携手共进
2022-08-18 -
西门子S7系列PLC
2022-06-16 -
西门子数字化工业集团东北大区领导莅临蓝泰科瑞指导工作
2022-04-25 -
行远自迩 笃行不怠 踔厉奋发 踵事增华
2022-04-25 -
同心同行15载:庆祝蓝泰科瑞锦州分公司正式成立!
2022-04-25 -
新年已至 万象更新
2022-04-25 -
后疫情时代:家电市场的变化与测试解决方法
2022-03-07 -
电动车综合测试解决方案(一) : 车载式电池充电器
2022-03-07 -
如何使用可编程直流源进行LED灯源测试
2022-03-07 -
还在找一款能模拟各国电力系统的测试电源吗?
2022-03-07 -
还在因开关电源的浪涌电流,而选购大功率变频电源吗?
2022-03-07