分享

使用PID指令向导

 昵称29435191 2017-05-24

  项目27 

使用PID指令向导


    通过PID向导,编写保持加热温度为一设定值的控制程序。

    Micro/Win提供了PID指令向导,可以帮助用户方便地生成一个闭环控制过程的PID算法。此向导可 以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成 PID控制任务。S7-200 CPU最多可以支持8个PID控制回路(8个PID指令功能块)。
    PID向导既可以生成模拟量输出PID控制算法,也支持数字量输出;既支持连续自动调节,也支持 手动参与控制。建议使用此向导对PID编程,以避免不必要的错误。
    S7-200 CPU224XP本机集成了两路输入一路输出的模拟量,模拟输入为电压输入,故本项目中的 Pt100,通过一个500W电阻将4~20mA电流转换为2~10V的电压信号送到PLC,对应的温度为0~ 100℃。
    控制系统闭环控制典型回路如图27-1所示,其中r (t)为给定值,z(t)为测量获得的实际值,u(t)为控制器输出值。

    启动Micro/Win软件,展开“指令树→向导”,双击“PID”,打开PID指令向导,如图27-2所示。
    单击图27-2中的“下一步”按钮,进入“PID参数设置”对话框,如图27-3所示。

    图27-3中,“回路给定值标定”项定义回路设定值(SP,即给定值)的范围:在低限(Low Range)和高限(High Range)输入域中输入实数,默认值为0.0和100.0,表示给定值的取值范围占过程反馈(实际值)量程的百分比。这个范围是给定值的取值范围,也可以用实际的工程单位数值表示。
    对于PID控制系统来说,必须保证给定与过程反馈(实际值)的一致性:
    给定与反馈的物理意义一致:这取决于被控制的对象,如果是压力,则给定也必须对应于压力值;如果是温度,则给定也必须对应于温度。
    给定与反馈的数值范围对应:如果给定直接是摄氏温度值,则反馈必须是对应的摄氏温度值;如果反馈直接使用模拟量输入的对应数值,则给定也必须向反馈的数值范围换算。
    如果给定与反馈的换算有特定的比例关系也可以,如给定可以表示为以反馈的数值范围的百分比数值。
    为避免混淆糊涂,建议采用默认百分比的形式。后面编程时,记住这一点就可以了。

    图27-3中的“回路参数”项定义PID回路参数,包括:
    比例增益:即比例常数。 
    积分时间:如果不需要积分作用,可以把积分时间设为无穷大“INF”。 
    微分时间:如果不需要微分回路,可以把微分时间设为0 。
    采样时间:是PID控制回路对反馈采样和重新计算输出值的时间间隔。在向导完成后,若想要修改此数,则必须返回向导中修改,不可在程序中或状态表中修改。
    以上这些参数都是实数。可以根据“经验”或需要“初略”设定这些参数,甚至采用默认值,具体参数还要进行整定。
    单击图27-3中的“下一步”按钮,进入PID输入输出参数设定对话框,如图27-4所示。图中“回路输入选项”设定过程变量的输入类型及范围。
    过程变量的类型包括Unipolar和Bipolar。Unipolar:单极性,即输入的信号为正,如0~10V或0~20mA等;Bipolar:双极性,输入信号在从负到正的范围内变化如输入信号为±10V、±5V等。
    20% Offset:选用20%偏移。如果输入为4~20mA则选单极性及此项,4mA是0~20mA信号的20%,所以选20% 偏移,即4mA对应6400,20mA对应32000。
    反馈输入取值范围在类型设置为Unipolar时,默认值为0~32000,对应输入量程范围0~10V或0~20mA等,输入信号为正;在类型设置为Bipolar时,默认的取值为-32000~+32000,对应的输入范围根据量程不同可以是±10V、±5V等;在选中20% Offset时,取值范围为6400~32000,不可改变。
    注意:由前面给定值范围所提到的,反馈输入也可以是工程单位数值。
    图27-4中“回路输出选项”定义输出类型,可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给定的设备,如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)。选择模拟量则需设定回路输出变量值的范围,可以选择: 

    Unipolar:单极性输出,可为0~10V或0~20mA等,范围低高限默认值为0~32000。
    Bipolar:双极性输出,可为±10V或±5V等,范围低高限取值-32000~32000。
    20% Offset:如果选中20% 偏移,使输出为4~20mA,范围低高限取值6400~32000,不可改变。
    如果选择了数字量输出,需要设定此占空比的周期。本例选择数字量输出,占空比周期采用默认值1s。
    单击图27-4中的“下一步”按钮,进入回路报警设定对话框,如图27-5所示。向导提供了三个输出来反映过程值(PV)的低限报警、高限报警及模拟量输入模块错误状态。当报警条件满足时,输出置位为1。这些功能在选中了相应的选择框之后起作用。
    使能低限报警(PV)并设定过程值(PV)报警的低限,此值为过程值的百分数,默认值为0.10,即报警的低限为过程值的10%。此值最低可设为0.01,即满量程的1%。
    使能高限报警(PV)并设定过程值(PV)报警的高限,此值为过程值的百分数,默认值为0.90,即报警的高限为过程值的90%。此值最高可设为1.00,即满量程的100%。
    使能过程值(PV)模拟量输入模块报错并设定模块于CPU连接时所处的模块位置。“0”就是第一个扩展模块的位置。

    单击图27-5中的“下一步”按钮,为PID指令向导分配存储区,如图27-6所示。PID指令(功能块)使用了一个120个字节的V区参数表来进行控制回路的运算工作;此外,PID向导生成的输入/输出量的标准化程序也需要运算数据存储区,需要为它们定义一个起始地址,要保证该地址起始的若干字节在程序的其他地方没有被重复使用。单击“建议地址”,则向导将自动设定当前程序中没有用过的V区地址。自动分配的地址只是在执行PID向导时编译检测到的空闲地址。向导将自动为该参数表分配符号名,不要再自己为这些参数分配符号名,否则将导致PID控制不执行。

    单击图27-6中的“下一步”按钮,则进入定义向导所生成的PID初始化子程序和中断程序名及手/自动模式对话框,如图27-7所示。可以选择添加PID 手动控制模式。在PID手动控制模式下,回路输出由手动输出设定控制,此时需要写入手动控制输出参数一个0.0~1.0的实数,代表输出的0%~100%而不是直接去改变输出值。

    注意:如果项目中已经存在一个PID配置,则中断程序名为只读,不可更改。因为一个项目中所有PID共用一个中断程序,它的名字不会被任何新的PID所更改。
    PID向导中断用的是SMB34定时中断,在使用了PID向导后,注意在其他编程时不要再用此中断,也不要向SMB34中写入新的数值,否则PID将停止工作。 
    单击图27-7中的“下一步”按钮,生成PID子程序、中断程序及符号表等,即完成PID向导的组态。之后,可在符号表中查看PID向导生成的符号表,包括各参数所用的详细地址及其注释,进而在编写程序时使用相关参数。图27-8所示为PID向导生成的符号表示例。

    完成PID指令向导的组态后,指令树的子程序文件夹中已经生成了PID相关子程序和中断程序,需要在用户程序中调用向导生成的PID子程序。图27-9所示为在主程序调用PID子程序的清单及注释。调用PID子程序时,不用考虑中断程序。子程序会自动初始化相关的定时中断处理事项,然后中断程序会自动执行。


    没有一个PID项目的参数不需要修改而能直接运行,因此需要在实际运行时需要调试PID参数。由符号表中可以找到包括PID核心指令所用的控制回路表,包括比例系数、积分时间等。将此表的地址复制到状态表中,可以在监控模式下在线修改PID参数,而不必停机再次做配置。参数调试合适后,可以在数据块中写入,也可以再做一次向导,或者编程向相应的数据区传送参数。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多