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