文档介绍:TBL :参数表起始地址 VB , 数据类型:字节 LOOP :回路号,常量( 0-7 ), 数据类型:字节 PID TBL , LOOP 说明 STL LAD PID 指令案例: 压供水水箱 PID 控制?一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在满水位的 70% 。过程变量 PVn 为水箱的水位(由水位检测计提供), 设定值为 70% , PID 输出控制变频器,即控制水箱注水调速电机的转速。要求开机后, 先手动控制电机,水位上升到 70% 时,转换到 PID 自动调节。 1. PID 控制回路的参数表?运行 PID 控制指令, S7-200 将根据 PID 控制回路的参数表中的输入测量值、控制设定值及 PID 参数,进行 PID 运算,求得输出控制值。?参数表中有 9 个参数,全部为 32 位的实数,共占用 36 个字节。 PID 控制回路的参数表?最近一次 PID 的变量值上一次过程变量 PV n-1 VD132 根据 PID 运算结果更新 - 上一次积分值 Mx VD128 0(关闭微分作用) min 正数微分时间 T d VD124 30 min 正数积分时间 Ti VD120 s 正数采样时间 Ts VD116 可正可负增益 Kc VD112 PID 回路的输出值(标准化数值) - 间输出值 Mn VD108 - 间给定值 SPn VD104 水位检测计提供的模拟量经 A/D 转换后的标准化数值 - 间过程变量当前值 PVn VD100 数值参数地址恒压供水 PID 控制参数表 2. 回路输入量的转换和标准化?每个回路的给定值和过程变量都是实际数值, 其大小、范围和工程单位可能不同。在 PLC 进行 PID 控制之前, 必须将其转换成标准化浮点表示法。步骤如下: 步骤?(1)将实际从 16 位整数转换成 32 位浮点数或实数。下列指令说明如何将整数数值转换成实数。?(2)将实数转换成 至 之间的标准化数值。用下式: ?实际数值的标准化数值=实际数值的非标准化数值或原始实数/取值范围 +偏移量?其中:取值范围=最大可能数值-最小可能数值=32 000 (单极数值)或 64 000 (双极数值) ?偏移量:对单极数值取 ,对双极数值取 3. PID 回路输出转换为成比例的整数?程序执行后, PID 回路输出 和 之间的标准化实数数值,必须被转换成 16 位成比例整数数值,才能驱动模拟输出。? PID 回路输出成比例实数数值=( PID 回路输出标准化实数值-偏移量) *取值范围?程序如下: PID 控制功能的应用 1. 控制任务?一恒压供水水箱,通过变频器驱动的水泵供水, 维持水位在满水位的 70% 。过程变量 PVn 为水箱的水位(由水位检测计提供),设定值为 70% , PID 输出控制变频器,即控制水箱注水调速电机的转速。要求开机后, 先手动控制电机,水位上升到 70% 时,转换到 PID 自动调节。 2. 程序分析(1) I/O 分配手动/自动切换开关 模拟量输入 AIW0 模拟量输出 AQW0 (2)程序结构由主程序,子程序,中断程序构成。主程序:用来调用初始化子程序, 子程序:用来建立 PID 回路初始参数表和设置中断,由于定时采样, 所以采用定时中断(中断事件号为 10 ),设置周期时间和采样时间相同( ),并写入 SMB34 。中断程序:用于执行 PID 运算, =1 时,执行 PID 运算,本例标准化时采用单极性(取值范围 32000 )。