1 / 47

S7-300 在模拟量 闭环控制中的应用

S7-300 在模拟量 闭环控制中的应用. PLC 常用控制方法: SCS : S equence C ontrol S ystem ,程序和顺序控制; MCS : M odulating C ontrol S ystem ,例如: PID 控制作为基本 MCS ; 复杂控制: 串级控制、混合控制、比值控制等; 最优控制: 现代控制理论算法实现的控制; 自适应控制: 给定值随着某种规律自动调整,使生产过程始终处于最佳工作状态; 模糊控制: 控制决策 ( 目标 ) 用模糊规则来实现。. PS 电源. CPU. 接口模板. DI. DO. AI. RTD.

justus
Download Presentation

S7-300 在模拟量 闭环控制中的应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. S7-300在模拟量闭环控制中的应用

  2. PLC常用控制方法: • SCS:Sequence Control System,程序和顺序控制; • MCS:Modulating Control System,例如:PID控制作为基本MCS; • 复杂控制:串级控制、混合控制、比值控制等; • 最优控制:现代控制理论算法实现的控制; • 自适应控制:给定值随着某种规律自动调整,使生产过程始终处于最佳工作状态; • 模糊控制:控制决策(目标)用模糊规则来实现。

  3. PS电源 CPU 接口模板 DI DO AI RTD FM AO TC ... 按钮 行程开关 接近开关 转换开关 辅助节点 …… 指示灯 接触器 继电器 电磁阀 …… 变送器 热电偶 热电阻 热电偶 热电阻 执行器 FM355 S7-300 组成的控制系统

  4. 可编程控制器 生产过程 c(t) pv(t) ev(n) mv(n) mv(t) sp(n) + 控制器 D/A 执行器 被控对象 给定值 被控量 - pv(n) 测量变送器 A/D • 8.1 模拟量闭环控制的基本概念 • 8.1.1 模拟量闭环控制系统的组成 • 1 模拟量单闭环控制系统的组成 图8-1 PLC模拟量闭环控制系统原理框图

  5. AI AO CPU • 2 S7-300实现闭环控制的方法 • ⑴软件PID控制器: SFB41 SFB42 SFB43 SFB58 SFB59 + + + • 原理:AI(TC、RTD)模块采集过程值 ➵ 经CPU执行PID控制算法 ➵ AO(或DO)实现控制。 • 优点:节约费用,使用灵活。 • 缺点:不能独立控制,占CPU时间。

  6. CPU AI AO F1 sp pv(t) LT LC mv(t) F2 • 举例: SFB41 SFB42 SFB43 SFB58 SFB59 + + +

  7. ⑵ 闭环控制模块 • 模块 • FM 355C: 4路模拟量连续输出 • FM 355S: 8路步进或脉冲输出 • 功能 • 可运行于自动/手动模式、安全模式、跟随模式; • 自整定温度控制算法、PID算法; • 即使CPU故障或停机,模块仍能独立工作。 • 应用 • 温度、压力、流量、液位控制。 控制算法 4AI+4AO+8DI 4AI+8DO+8DI

  8. 3 PID控制器概述 • ⑴ PID控制(Proportional Integral Differential) • PID意为比例、积分、微分,PID控制是自动控制中一种重要的常规控制方式。 • ⑵ PID控制实现的方式 • 模拟PID:控制器用模拟电路实现 • 数字PID:通过软件实现PID数字运算

  9. 8.2 数字PID控制器 • 8.2.2 PID控制器的数字化 • 1. PID控制器表达式 • 传递函数: • 其中:KP为比例系数,TI为积分时间常数,TD为微分时间常数,M为积分部分的初始值。

  10. 控制对象 - 2. PID算法的数字实现 • 数字PID主要有三种算法:位置算法、增量算法和速度算法。 • S7-300 PID功能块SFB41是位置算法。 • PID控制器的结构图如下:

  11. 由PID表达式 • 设PID控制器采样周期为Ts,对上式进行离散化处理,积分项用累加近似代替,微分项用差分近似代替,则连续系统表达式变为:

  12. 整理后得: • 式中:Ts=Δt 为采样周期 • ev(n) 、ev(n-1)为第n次和第n-1次采样时的偏差值 • mv(n) 为第n次采样时控制器的输出值 • 位置算法的特点: • 控制输出与阀门位置有一一对应关系,故称位置算法; • 每次都需计算阀位的绝对位置; • 需采用措施来防止积分饱和和手自动切换的扰动现象; • 上式中,KP、TI、TD、M分别对应SFB41的GAIN、TI、TD和I_ITLVAL。

  13. 3. 不完全微分PID • 微分项的弱点:在标准的PID算式中,当有阶跃信号输入时,微分项急剧增加,容易引起调节过程的振荡,导致调节品质下降。 • 解决:不完全微分PID算法基本思想仿照模拟调节器的实际微分调节,加入惯性环节,以克服完全微分的缺点。 • 不完全微分PID的传递函数为 • 上式中,KP、TI、TD、M意义同前,Tf惯性环节时间常数,对应SFB41的TM_LAG。

  14. 死区特性 PID 控制器 控制对象 SP B - 4. 带有死区的PID控制算法 • 在某些控制系统中,当偏差比较小时,为了避免控制动作过于频繁,以消除由此所引起的振荡给设备带来危害,可采用带死区的PID控制系统。 • 死区的PID概念:是人为地设置一个不灵敏区域B, • 当偏差 | ev(t) |≤B 时,减弱或切除控制输出 • 当偏差 | ev(t) |>B 时,正常控制输出 • 这里的死区B对应SFB41中的DEADB_W。 • 图8-3 带有死区的PID控制

  15. 8.3 S7-300的模拟量闭环控制功能 • 8.3.1 S7-300实现闭环控制的方法 • 1. FM355闭环控制模块 • S7-300闭环控制模块,用于压力、流量、液位等控制; • 内有自优化温度控制算法和PID算法; • FM355模块不受CPU影响而独立工作; • FM355有4个AI,可接热电阻、电流、电压信号; • FM355C用于连续控制器,有4个独立的AO,可组成定值、串级、比值等控制方式; • FM355S用于数字量步进或脉冲控制器,有8个DO。

  16. 2. 闭环控制系统功能块 • SFB41~SFB43:通过AI、AO(DO)模块实现PID控制。 其中: • 通过AO实现连续控制(SFB41) • 通过DO实现步进(SFB42)或脉冲控制(SFB43)。 • 3. 闭环控制软件包 • FB41~FB43用于PID控制,功能同SFB41~SFB43; • FB58和FB59用于PID温度控制; • 模糊控制、神经网络控制、PID自整定等软件包。

  17. 8.3.2 闭环控制系统功能块 • 1. 系统功能块的调用 SFB 41 用于连续控制 SFB 42 用于步进控制 SFB 43 用于脉冲宽度控制 • 调用方法如下: • 指令树→Library→Standard Library→ • System Function Blocks→插入块 • 2. 闭环控制软件包的调用 • 功能块FB41、FB42、FB43与SFB41、SFB42、SFB43兼容,调用方法如下: • 指令树→ Library→Standard Library→PID Control Blocks→插入块

  18. 3. PID控制程序的编制和采样周期的选择 • 可在FB或FC里调用系统功能块SFB41~SFB43 注: • 调用SFB41~SFB43 的FB或FC必须放在定时循环中断OB35 (OB30~OB38)中被调用。 • OB35的循环中断时间即为PID控制器的采样周期TS。 • 采样周期TS与CPU性能有关,需要根据运算速度和控制周期折衷选择。可以在CPU属性中设置。

  19. 调用系统功能块必须指定背景数据块 例如:STL:CALL SFB “CONT_C”, DB300 LAD: • 背景数据块保存了功能块的输入/输出结果,可以在PLC程序中或WINCC软件访问相应的数据。见图。

  20. 梯形图 语句表

  21. SFB41的背景数据块DB300

  22. 8.4 连续PID控制器SFB41 • SFB41为连续控制器,控制输出为AO量; • 基本控制是恒值控制。例如:恒压、恒温、恒速控制等。 • 连续控制器SFB41的原理框图如图8-4所示。

  23. SP_INT 内部浮点数给定值 PVPER_ON 比例增益 GAIN 死区 PV_NORM PV_IN 浮点数过程变量 + - 过程变量格式化 DEADBAND CRP_IN PV_R PV_FAC 输入系数 PV_OFF 输入偏差 PV_PER 外设变量 % 100/27648 ER 误差 实数 PV 过程变量 DEADB_W 死区宽度 P_SEL LMN_P 比例分量 0.0 DISV 扰动 INT I_SEL + + + + 0.0 INT_HOLD 积分保持 I_ITL_ON 积分初始化 I_ITLVAL 积分初值 + LMN_I 积分分量 1 1 1 0 DIF 1 0 0 1 0 0.0 0 LMN_D 微分分量 TD 微分时间常数 TM_LAG 微分延迟时间 D_SEL QLMN_HLM 输出超上限 LMN 控制器输出值 手动控制 MAN_ON QLMN_LLM 输出超下限 输出限幅 转换为外设输出值 输出量格式化 MAN 手动 LMNLIMIT CRP_OUT LMN_NORM LMN_LIM % 27648/100 LMN_PER 外设输出 输出限幅 LMN_HLM 输出上限值 LMN_LLM 输出下限值 LMN_FAC 输出系数 LMN_OFF 输出偏移量 图8-4 SFB41 CONT_C框图

  24. PV_NORM DEADBAND PV_FAC 输入系数 PV_OFF 输入偏差 DEADB_W 死区宽度 PLC 生产过程 ev(n) mv(t) mv(n) + c(t) sp 控制器 D/A 执行器 被控对象 0 给定值 被控量 - pv(t) pv(n) 1 测量变送器 A/D SP_INT 内部浮点数给定值 PVPER_ON 死区 PV_IN 浮点数过程变量 + - 过程变量格式化 CRP_IN PV_R PV_PER 外设变量 % 100/27648 实数 PV 过程变量 1. 设定值的输入 SP_INT:设定值(setpoint),浮点数格式。 2. 过程变量输入格式选择 有两种输入方式: PVPER_ON=0:选择PV_IN 作输入,浮点格式的工程值 PVPER_ON=1:选择PV_PER 作输入,A/D采集的数字量

  25. PV_NORM DEADBAND PV_FAC 输入系数 PV_OFF 输入偏差 DEADB_W 死区宽度 0 SP_INT 内部浮点数给定值 PVPER_ON 死区 1 PV_IN 浮点数过程变量 + - 过程变量格式化 CRP_IN PV_R PV_PER 外设变量 % 100/27648 实数 PV 过程变量 3. 外部设备过程变量转换为浮点数 PVPER_ON=1时PV_IN选择A/D采集的数值(字),内部需要转换为浮点数(百分数): PV_R = PV_PER ×100 / 27648 4. 外部设备过程变量的标准化 对PV_R格式化: PV_NORM 的输出 = PV_R × PV_FAC + PV_OFF PV_FAC:过程变量系数,默认值取1.0 PV_OFF:过程变量的偏移量,默认值取0.0 • PV_FAC 和 PV_OFF可用来调节过程输入的范围。 • PV:过程变量中间输出。

  26. PV_NORM DEADBAND PV_FAC 输入系数 PV_OFF 输入偏差 DEADB_W 死区宽度 0 SP_INT 内部浮点数给定值 PVPER_ON 死区 1 PV_IN 浮点数过程变量 + - 过程变量格式化 CRP_IN PV_R PV_PER 外设变量 % 100/27648 实数 PV 过程变量 8.4.2 PID控制算法 1. 误差的计算与处理 误差 = SP_INT - PV➟ 死区处理➟ ER(Error,中间输出变量),死区带由DEADB_W确定。

  27. P_SEL DISV 扰动 LMN_P 比例分量 比例增益 GAIN 0.0 INT I_SEL + + + + 0.0 1 1 INT_HOLD 积分保持 I_ITL_ON 积分初始化 I_ITLVAL 积分初值 + LMN_I 积分分量 0 0 ER 误差 DIF 1 0.0 0 LMN_D 微分分量 TD 微分时间常数 TM_LAG 微分延迟时间 D_SEL • 2. 控制器的结构 • 数字PID算式: • 对应PID结构图,其中: GAIN、TI、TD分别对应KP、TI、TD TM_LAG:惯性环节时间常数

  28. P_SEL DISV 扰动 LMN_P 比例分量 比例增益 GAIN 0.0 INT I_SEL + + + + 0.0 1 1 INT_HOLD 积分保持 I_ITL_ON 积分初始化 I_ITLVAL 积分初值 + LMN_I 积分分量 0 0 ER 误差 DIF 1 0.0 0 LMN_D 微分分量 TD 微分时间常数 TM_LAG 微分延迟时间 D_SEL P_SEL、I_SEL、D_SEL:P、I、D投/切选择 LNM_P、LNM_I、LNM_D:P、I、D分量的输出 DISV:Disturbance,扰动量,可实现前馈控制 3. 积分器的初始值 COM_RST=1,执行完全重新起动,初始值为I_ITLVAL INT_HOLD=1,积分保持,积分输出被冻结

  29. 1 0 QLMN_HLM 输出超上限 LMN 控制器输出值 手动控制 MAN_ON QLMN_LLM 输出超下限 输出限幅 转换为外设输出值 输出量格式化 MAN 手动 LMNLIMIT CRP_OUT LMN_NORM LMN_LIM % 27648/100 LMN_PER 外设输出 输出限幅 LMN_HLM 输出上限值 LMN_LLM 输出下限值 LMN_FAC 输出系数 LMN_OFF 输出偏移量 8.4.3 控制器输出值的处理 • 1. 手动模式 • MAN_ON:=1为手动调节,=0为自动调节 • 2. 输出限幅 • LMN_HLM、LMN_LLM:控制器输出上限和下限设定值 • QLMN_HLM、QLMN_LLM:控制器输出超上限或超下限的状态输出

  30. 1 0 QLMN_HLM 输出超上限 LMN 控制器输出值 手动控制 MAN_ON QLMN_LLM 输出超下限 输出限幅 转换为外设输出值 输出量格式化 MAN 手动 LMNLIMIT CRP_OUT LMN_NORM LMN_LIM % 27648/100 LMN_PER 外设输出 输出限幅 LMN_HLM 输出上限值 LMN_LLM 输出下限值 LMN_FAC 输出系数 LMN_OFF 输出偏移量 3. 输出量的格式化 • 对限幅后的输出LMN_LIM格式化: LMN = LMN_LIM × LMN_FAC + LMN_OFF • 其中: LMN:控制器浮点格式输出 LMN_FAC:输出量系数,默认值取1.0 LMN_OFF:输出量的偏移量,默认值取0.0 • 4. 输出量转换为外设格式 • 把浮点格式的控制量转换成数字量: LMN_PER = LMN × 27648 / 100

  31. SP_INT 内部浮点数给定值 PVPER_ON 比例增益 GAIN 死区 PV_NORM PV_IN 浮点数过程变量 + - 过程变量格式化 DEADBAND CRP_IN PV_R PV_FAC 输入系数 PV_OFF 输入偏差 PV_PER 外设变量 % 100/27648 ER 误差 实数 PV 过程变量 DEADB_W 死区宽度 P_SEL LMN_P 比例分量 0.0 DISV 扰动 INT I_SEL + + + + 0.0 INT_HOLD 积分保持 I_ITL_ON 积分初始化 I_ITLVAL 积分初值 + LMN_I 积分分量 1 1 1 0 DIF 1 0 0 1 0 0.0 0 LMN_D 微分分量 TD 微分时间常数 TM_LAG 微分延迟时间 D_SEL QLMN_HLM 输出超上限 LMN 控制器输出值 手动控制 MAN_ON QLMN_LLM 输出超下限 输出限幅 转换为外设输出值 输出量格式化 MAN 手动 LMNLIMIT CRP_OUT LMN_NORM LMN_LIM % 27648/100 LMN_PER 外设输出 输出限幅 LMN_HLM 输出上限值 LMN_LLM 输出下限值 LMN_FAC 输出系数 LMN_OFF 输出偏移量 图10-4 SFB41 CONT_C框图

  32. 8.4.4 连续PID控制器SFB41编程 1. A/D采集 直接读取A/D转换值:例如PIW725 2. 标度变换 调用FC105(Scale Convert)进行标度变换 调用FC106(Unscale Convert)反变换 3. 过程变量的输入 ⑴ 把A/D采集值输入到 PV_VER ⑵ 经FC105换算后输入到 PV_IN 4. D/A输出 直接控制器输出 LMN_PER 送到D/A模块,例如PQW725

  33. 模拟量的采集及标度变换模块FC105

  34. • SFB41 连续控制器的输入参数

  35. • SFB41 (连续控制)的输入参数(续)

  36. • SFB41 (连续控制)的输出参数 具体控制时,需要把上述参数输入相应的数据块。 • 连续控制软件包(FB41)的参数,与上述参数相同。

  37. 8.4.5 闭环控制模块FM355的使用 • ⑴ 硬件安装与接线 • FM355 模块可以安装于S7-300 的中央机架,也可以安装于分步式I/O的ET200M 中; • 在分步式I/O中安装FM355 模块时,ET200M 中最多可以插入一个模块(4个PID 回路); • S7-300CPU中央机架通常可以连接8个模块(可查看CPU技术规范); • 前连接器分左右两个20针接线端子。

  38. FM355C可接4个AI作为反馈值、4个AO作用于执行器、8 个DI用于回路参数选择; • FM355S可接4个AI作为反馈值、8个DO作用于执行机构(每个回路最多2个输出,如温度控制器中一个作为加热输出,一个作为冷却输出)、8 个DI用于回路参数选择; • 模块的AI输入端可接入的信号: • 电压: • 电流:可接入2线和4线制变送器(接外部50Ω电阻) • 热电偶:可选内部、外部(占第3通道)冷端补偿 • 热电阻:恒流测量

  39. ⑵ 系统组态及参数设置 • 硬件配置; • 安装FM355附带有参数化软件包(STEP7 为平台); • 在STEP7 硬件配置中对FM355 模块进行参数化;

  40. FM355模块过程值参数化界面

  41. FM355模块偏差参数化界面

  42. FM355模块控制算法参数化界面

  43. FM355模块控制回路输出参数化界面

  44. ⑶ 利用安装后的七个函数进行编程: • PID_FM(FB31):主函数块,设定大多数参数值,读取反馈值; • FUZ_355(FB32):读取模块对温度优化算法后的结果; • FORCE_355(FB34):仿真(强制)模拟和数字量输入; • READ_355(FB36):CPU读取模块的模拟和数字量输入; • CH_DIAG:读出通道的状态值和一些PID的中间值,用于对过程的判断。 • PID_PAR(FB39):对“PID_FM”函数块不能操作的参数进行操作; • CJ_T_PAR(FB40): 在线更改内部补偿的温度值。

  45. ⑷ PID参数 •比例项:名称 数据类型 默认值 功能 • P_SEL BOOL TRUE 比例项使能控制 • GAIN REAL 2.0 放大倍数 • •积分项:名称 数据类型 默认值 功能 • I_SEL BOOL TRUE 积分项使能控制 • TI TIME T#20S 积分时间 • INT_HOLD BOOL FALSE 积分输出保持控制 • I_ITL_ON BOOL - 积分输出再输入允许 • I_ITLVAL REAL 0.0 积分初值 • •微分项:名称 数据类型 默认值 功能 • D_SEL BOOL TRUE 微分项使能控制 • TD TIME T#10S 微分时间 • TM_LAG TIME T#2S 微分滞后时间 • •过程参数 … … …

  46. ⑸模板初始化功能(SFC块) • • SFC 50: 名称 功能 • WR_PARM 将动态参数写入模板 • • SFC 56: 名称 功能 • WR_DPARM 将预定参数写入模板 • • SFC 57: 名称 功能 • PARM_MOD 赋模板的参数 • • SFC 58 名称 功能 • WR_REC 写模板专用的数据记录 • • SFC 59 名称 功能 • RD_REC 读模板专用的数据记录 • ⑹模板初始化功能的调用 • 例:调用SFC 50 CALL “RD_LGADR" • … ‘SFC 50 的形参

More Related