前言:华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理
01PID控制知识讲解S7-200 SMART能够进行PID控制。S7-200 SMART CPU最多可以支持8个PID控制回路(8个PID指令功能块)PID是闭环控制系统的(比例-积分-微分)PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。PID算法在S7-200 SMART中的实现PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。02PID向导组态设置Micro/WIN SMART提供了PID Wizard(PID指令向导),可以帮助用户方便地生成一个闭环控制过程的PID算法。此向导可以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成PID控制任务。PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;既支持连续自动调节,也支持手动参与控制。建议用户使用此向导对PID编程,以避免不必要的错误。PID向导编程组态步骤:1.在Micro/WIN SMART中的工具菜单中选择PID向导:图1. 在工具栏中选择PID向导图2.在项目树中打开'向导'文件夹,然后双击'PID',或选择'PID'并按回车键。定义需要配置的PID回路号图3.在此对话框中选择要组态的回路? 图4.最多可组态 8 个回路。在此对话框上选择回路时,PID 向导左侧的树视图随组态该回路所需的所有节点一起更新。2.为回路组态命名图5.可为回路组态自定义名称。此部分的默认名称是'回路 x',其中'x'等于回路编号3.设定PID回路参数图6.设置PID参数中定义了PID回路参数,这些参数都应当是实数:增益:即比例常数,默认值=1.00。1积分时间:如果不想要积分作用可以将该值设置很大(比如10000.0),默认值=10.00。2微分时间:如果不想要微分回路,可以把微分时间设为0 ,默认值=0.00。3采样时间:是PID控制回路对反馈采样和重新计算输出值的时间间隔,,默认值=1.00。在向导完成后,若想要修改此数,则必须返回向导中修改,不可在程序中或状态表中修改。注意:关于具体的PID参数值,每一个项目都不一样,需要现场调试来定,没有所谓经验参数。4.设定回路过程变量图7. 设定PID输入过程变量指定回路过程变量 (PV) 如何标定。可以从以下选项中选择:1.单极性:即输入的信号为正,如0-10V或0-20mA等2.双极性:输入信号在从负到正的范围内变化。如输入信号为±10V、±5V等时选用3.选用20%偏移:如果输入为4-20mA则选单极性及此项,4mA是0-20mA信号的20%,所以选20% 偏移,即4mA对应5530,20mA对应27648。4.温度 x 10 °C5温度 x 10 °F反馈输入取值范围1在a.设置为单极时,缺省值为0 - 27648,对应输入量程范围0 - 10V或0 - 20mA等,输入信号为正2在a.设置为双极时,缺省的取值为-27648 - +27648,对应的输入范围根据量程不同可以是±10V、±5V等3在a.选中20% 偏移量时,取值范围为5530 - 27648,不可改变在'标定'(Scaling) 参数中,指定回路设定值 (SP) 如何标定。默认值是 0.0 和 100.0 之间的一个实数。此反馈输入也可以是工程单位数值,参见:设置给定-反馈的量程范围。5.设定输入回路输出选项图8. 设定PID输出选项1输出类型可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)选择模拟量则需设定回路输出变量值的范围,可以选择:1. 单极:单极性输出,可为0-10V或0-20mA等2. 双极:双极性输出,可为正负10V或正负5V等3. 单极20% 偏移量:如果选中20% 偏移,使输出为4 - 20mA4. 取值范围:0. c为单极时,缺省值为 0 到 276480. c为双极时,取值-27648 到276480. c为20%偏移量时,取值5530 - 27648 ,不可改变如果选择了开关量输出,需要设定此循环周期图9. 设定PID输出为数字量6.设定回路报警选项图10. 设定回路报警限幅值向导提供了三个输出来反映过程值(PV)的低值报警、高值报警及过程值模拟量模块错误状态。当报警条件满足时,输出置位为1。这些功能在选中了相应的选择框之后起作用。1. 使能低值报警并设定过程值(PV)报警的低值,此值为过程值的百分数,缺省值为0.10,即报警的低值为过程值的10%。此值最低可设为0.01,即满量程的1%2. 使能高值报警并设定过程值(PV)报警的高值,此值为过程值的百分数,缺省值为0.90,即报警的高值为过程值的90%。此值最高可设为1.00,即满量程的****3. 使能过程值(PV)模拟量模块错误报警并设定模块于CPU连接时所处的模块位置。'EM0'就是第一个扩展模块的位置7.定义向导所生成的PID初始化子程序和中断程序名及手/自动模式图11. 指定子程序、中断服务程序名和选择手动控制向导已经为初始化子程序和中断子程序定义了缺省名,你也可以修改成自己起的名字。1. 指定PID初始化子程序的名字。2. 指定PID中断子程序的名字注意:1. 如果你的项目中已经存在一个PID配置,则中断程序名为只读,不可更改。因为一个项目中所有PID共用一个中断程序,它的名字不会被任何新的PID所更改。2. PID向导中断用的是SMB34定时中断,在用户使用了PID向导后,注意在其它编程时不要再用此中断,也不要向SMB34中写入新的数值,否则PID将停止工作。3. 此处可以选择添加PID 手动控制模式。在PID手动控制模式下,回路输出由手动输出设定控制,此时需要写入手动控制输出参数一个0.0-1.0的实数,代表输出的0%-100%而不是直接去改变输出值。PID控制的自动/手动之间的无扰动切换8.指定PID运算数据存储区图12. 分配运算数据存储区PID指令(功能块)使用了一个120个字节的V区参数表来进行控制回路的运算工作;除此之外,PID向导生成的输入/输出量的标准化程序也需要运算数据存储区。需要为它们定义一个起始地址,要保证该地址起始的若干字节在程序的其它地方没有被重复使用。如果点击'建议',则向导将自动为你设定当前程序中没有用过的V区地址。自动分配的地址只是在执行PID向导时编译检测到空闲地址。向导将自动为该参数表分配符号名,用户不要再自己为这些参数分配符号名,否则将导致PID控制不执行。9.生成PID子程序、中断程序及符号表等一旦点击完成按钮,将在你的项目中生成上述PID子程序、中断程序及符号表等。 图13. 生成PID子程序、中断程序和符号表等企业新闻