您现在的位置是:首页 > PLC技术 > PLC技术

S7-200系列PLC的PID指令

来源:艾特贸易2017-06-04

简介PID 指令的功能是进行 PID 计算,其指令格式见表 5-44 。 表 5-44 PID 指令格式 PID 指令的功能说明如下。 TBL 是参数表的首地址,是由变量寄存器 VB 指定的字节型数据; LOOP 是回 路号,是

    PID指令的功能是进行PID计算,其指令格式见表5-44    5-44    PID指令格式
PID指令格式
    PID指令的功能说明如下。    ·TBL是参数表的首地址,是由变量寄存器VB指定的字节型数据;LOOP是回    路号,是0-7的常数。    ·在一个应用程序中,最多可用8PID控制回路,一个PID控制回路只能使    1PID指令,每个PID控制回路必须使用不同的回路号。    ·影响允许输出ENO正常工作的出错条件为:SM1.1(溢出),SM4.3(运行时    间),0006(间接寻址)。    (1) PID指令的参数表及初始化    TBL为首地址的参数表中共包含9个参数,用于进行PID运行的监视和控制。在执行PID指令前,要建立一个PID参数表,PID参数表的格式见表5-45    5-45    PID参数表
PID参数表
    为执行PID指令,要对PID参数表进行初始化处理,即将PID参数表中有关的参数,按照地址偏移量写入到变量寄存器V中。一般是调用一个子程序,在子程序中对PID参数表进行初始化处理。在进行PID参数表初始化时应注意以下事项。    PID回路的组合选择。    在许多控制场合,也许只需PID算法中的P项(比例项)或I项(积分项),或PI项。对这种回路控制功能组合的选择可通过对相关参数的设定来完成。    ·若不需要积分项(即PD算法),则应将积分时间常数设置为无穷大,由于积    分和的初始值不一定为0,故即使无积分作用,积分项也并不是一定为0    ·若不需要微分项(即PI算法),则应将微分时间常数设置为0    ·若不需要比例项(即为ID算法或I算法),则应将回路增益设置为0,但由于    回路增益同时影响到方程中的积分项、微分项,故规定:此时用于计算积分    项、微分项的增益约定为1    ②回路的正作用与反作用。    若回路增益取为正值,则称为正作用;否则称为反作用(对于IID算法的场合,回路增益已经为0,则通过指定正的积分时间常数或微分时间常数来规定正作用;指定负的时间常数来规定反作用)。    ③输入模拟量的转换及归一化。    一个回路具有两个输入量,即给定量和过程变量。给定量通常为一固定值,如固定的转速。过程变量受回路输出的影响并反映了控制的效果。在一个速度调节系统的例子中,过程变量为用来测量轮子转速的测速发电机的输出。    给定值和过程变量都是实际的工程量,其幅度、范围和测量单位都会不同。在实施PID算法之前,必须将这些值转换为无量纲的标准化纯量、浮点数的格式,步骤如下。    将工程实际值由16位整数转为浮点数,即实数格式,下面的程序段表明其转换的方法:
    将实数格式的工程实际值转换为[0.01]间的无量纲相对值,即标准化值,又称为归一化值,转化公式为
    式中:RNorm-为工程实际值的标准化值;    RRaw -为工程实际值的实数形式值;    Span -为最大允许值减去最小允许值,通常取32000(单极性)或64000(双极性);    Offset -0(单极性)或0.5(双极性)。    下面的程序段用于将ACO中的双极性模拟量进行归一化处理(可紧接上述转换为实数格式的程序段)。
    ④输出模拟量转换为工程实际值。    在实际应用中,输出值均为实际数值,其大小、范围和工程单位可能不同,所以在PID指令操作之后,必须将PID计算结果转换成实际工程数值。步骤如下。    用下式将回路输出转换为按工程量标定的实数格式
    式中:Rscal-为已按工程量标定的实数格式的回路输出;    Mn-为归一化实数格式的回路输出;    Offset -0(单极性)或0.5(双极性);    Span-为最大允许值减去最小允许值,通常取32000(单极性)或64000(双极性)。    将已标定的工程实际值的实数格式转换为16位整数格式。    下面是实际标定回路输出的程序段。
    下面将已标定的实数格式的回路输出转化为16位整数格式。
    (2) PID指令的控制方式    S7-200中,PID指令没有考虑手动/自动控制的切换。所谓自动方式是指,只要PID功能框的允许输入EN有效时,将周期性地执行PID运算指令。而手动方式是指PID功能框的输入允许EN有效时,不执行PID运算指令。    在程序运行过程中,如果PID指令的EN输入有效,即进行手动/自动控制切换,为了保证在切换过程中无扰动、无冲击,在手动控制过程中,就要将审定的输出值作为PID指令的一个输入(作为Mn参数写到PID参数表中),使PID指令根据参数表的值进行下列操作。    使SPn(设定值)=PVn(过程变量)    使PVn-1(前一次过程变量)=PVn    使MX(积分和)=Mn(输出值)    一旦EN输入有效(从01的跳变),就从手动方式无扰切换到自动方式。    PID指令的记录位的默认状态为“1”,并且在CPU启动和每一次由STOPRUN的工作模式切换时都置为这一默认值。如果在RUN模式时第一次执行PID指令,则这一记录位并无01的跳变,故此时不会自动地执行无扰动的自动切换功能。    (3) PID指令出错情况    若回路控制参数表的起始地址或PID回路编号不符合要求,则在编译时CPU会产生一个编译错误(范围出错)信息并报告编译失败。    对于某些控制参数表格中的内容,PID指令并不自动进行范围检测,用户必须确保过程变量和给定值(有时也包括积分和前一次过程变量)为[0.01.0]间的实数格式。若在执行PID计算过程中遇到任何错误,特殊标志位SM1.1会置1,且PID指令的执行被中断(控制参数表中的输出值的更新并不完整,故必须舍弃;在再次启动PID指令之前,必须对这类错误进行修正)。