第4章 PLC在制造装备中的应用_第1页
第4章 PLC在制造装备中的应用_第2页
第4章 PLC在制造装备中的应用_第3页
第4章 PLC在制造装备中的应用_第4页
第4章 PLC在制造装备中的应用_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

160 第第 4 章章 制造装备的制造装备的 PLC 控制控制 制造装备中有许多执行机构如 电磁铁 电磁阀 电动机的通和断等属于开关量对象 使用 PLC 的 位 逻辑开关 很容易实现对它们的控制 但是 制造装备中更多的控制参 数是机械运动部件的速度和位置 采用的执行机构是电动机或调速阀 然而 迄今为止 使用的电动机或者调速阀都还属于模拟执行机构 必须使用电压 或电流 对其控制 处理模拟量的关键是要有模拟量输入 AD 模拟量输出 DA 单元或模块 由 这些单元或模块先对信号作预处理 然后送 PLC 进行再处理 PLC 再处理后 又由这 些单元作后处理 有这些单元在控制对象与 PLC 之间架起桥梁 PLC 即可控制模拟量 了 4 1 PLC 模拟量概述模拟量概述 4 1 1 PLC 模拟量控制过程模拟量控制过程 图 4 1 所示为模拟量控制过程示意图 这里 基于信息采集和处理 的信息 可能是调节量 也可能是干扰量 如信息为调节量 则要用反馈控制 它是一种模拟量最基本的控制方式 它依据系统 的实际输出与预期输出间的偏差来进行控制 以期逐步缩小这一偏差 至于产生偏差的原 因 它是不理睬的 图 4 2 所示就是反馈控制的原理图 如信息为干扰量 也可用前馈控制 前馈控制基于扰动补偿原理 根据扰动的情况作 相应控制 图 4 3 所示为它的工作原理图 从图可知 传感器监测的是扰动量 PLC 程序根据扰动量 控制量与调节量间的关 161 系产生相应的控制量 再通过模拟量输出单元 执行器作用到被控对象上 其目的是在干 扰量作用于系统的同时 这个控制量也作用于该系统 以补偿干扰对系统的不利影响 可 知 这里的信息流是开路的 所以前馈控制又称开环控制 开环控制使系统在偏差即将发生之前就注意纠正偏差 这是它的优点 但要弄清有多 少扰动量 以及它与调节量间的关系 即控制量随扰动变化的规律 是不易的 这也是它 用得不多的原因 以上讨论的是完整的模拟量控制过程 是较复杂的 既有模入 AI 又有模出 AO 有时为了简单 可不用那么完整的模拟量控制 如有的只用模入 而输出用逻辑量 DO 如控制电炉温度 简单的办法是不停地读人温度值 并与设定值比较 如实际 温度小于设定值 则控制一个逻辑量 ON 使加热器得电 反之 如实际温度大于设定值 则控制这个逻辑量 OFF 使加热器失电 再如 也可能不用模入 而用逻辑量入 DI 但用模拟量输出 再就是 由于脉冲技术的发展 模拟量控制也可运用有关脉冲控制技 术 对此 以下各节都将进行讨论 4 1 2 PLC 模拟量输入 输出方法模拟量输入 输出方法 1 PLC 模拟量输出方法模拟量输出方法 有 3 种控制输出模拟量的方法 1 开关量 开关量 ON OFF 比值控制输出比值控制输出 改变开关量 ON OFF 比例 进而用这个开关量去控制模拟量 是模拟量控制输出的 最简单的办法 如图 4 4 所示 输出为某开关量 改变输出周期 即可调整这个输出点 ON OFF 的时间比例 如电源通过这个触点 加载到某模拟量控制对象 则这个对象所 接收的能量将与这个 ON OFF 比例相关 显然 这里改变输出周期 即控制了相关的模 拟量 图 4 5 所示为实现这个算法的 2 种 PLC 的梯形图程序 它都用了两个定时器 一个 控制工作周期 另一个控制输出周期 由图 4 4 所示 控制 输出周期 的占空比 可以 方便地得到所需要的模拟量输出 162 这个方法的优点是不用模拟量输出模块 即可实现模拟量控制输出 缺点是其控制输 出是断续的 如系统惯性较大 它对波动有滤波作用 或控制要求不高时 确实是一种解 决方法 为了减少脉动 可提高开关频率 缩短工作周期 因此要求采用晶体管输出的 PLC 2 可调制脉宽的脉冲量控制输出 可调制脉宽的脉冲量控制输出 有的 PLC 具有输出高达 2 10KHz 的 PWM 脉冲宽度调制指令 配合指定的晶体管输 出点 则可把图 4 4 的工作周期缩小 以提高模拟量输出的平稳性 3 模拟量输出单元控制输出 模拟量输出单元控制输出 为使所控制的模拟量能连续 无脉动地变化 最好的办法是用模拟量输出模块 它是 把数字量转换成模拟量的 PLC 扩展模块 简称特殊 D A 模块 多数 PLC 的 D A 模块 是选购件 但也有的 PLC 在基本单元中已经集成了模拟量输出功能 如 S7 224XP 等 D A 模块有 2 4 和 8 路 少的只有 1 路 转换的字长可以为二进制 8 12 和 16 位或更高 对应的分辨率分别为量程的 l 255 l 1023 l 4095 及 l 32767 或 更小 分辨率高 精度也高 模拟量输出的类型是标准电信号 电流或电压 电流为 4 20mA 电压为 0 10V 0 5V 或土 10V 等 可根据 PLC 型号 由模块上的设定开关 S7 系列 PLC 或者软件 FX2N 决定 2 PLC 模拟量输入方法模拟量输入方法 有两种输入模拟量的方法 1 模拟量输入单元输入模拟量 模拟量输入单元输入模拟量 把模拟量输入给 PLC 最简单的方法是 用模拟量输入单元 模块 简称 AD 单元 它不仅可完成从模拟量到数字量的转换 有的还可作相应处理 如滤波 求平均值 保持 163 峰值 按比例转换等 模拟量一般指标准电信号 电流或电压 电流为 4 20mA 电压 为 0 10V 0 5V 或土 10V 等 具体是什么 又是多少 可依型号情况及设定 开关设定 同 D A 模块一样 A D 模块的通道数 分辨率有不同的型号可供用户选择 使用 AD 模块时 要了解它的性能 主要有 1 模拟量规格 指可接受或可输出的标准电流或标准电压的规格 一般多些好 便 于选用 2 数字量位数 指转换后的数字量 用多少位二进制数表达 位多的好 精度高 3 转换路数 指可实现多少路的模拟量转换 路多的好 可处理多路信号 4 转换时间 指实现一次模拟量转换的时间 时间短的好 5 功能 指除了实现数模转换时的一些附加功能 有的还有标定 scaling 平 均 Mean 峰值 Peak vaule 及开方 Square Rool 功能 其含义分别是 标定 设定转换后的数字量的上限 与模拟量的最大值对应 如 20mA 及下限 与模拟量的最小值对应 如 4mA 当使设定标定功能使能时 则模块会自动地把模 拟量按比例转换成上下限之间的值 图 4 7 中虚线表示的是未标定时的电压与输出值的对应关系 OV 时 输出为 0 10V 时 输出为 4000 实线为标定功能使能后的情况 这时 OV 时 输出为 1000 10V 时 输出为 9000 在 0 10V 之间 如 5V 则为 5000 当然 这个 5000 是输入模块自动给出的 人工不必计算 平均 可连续采集多次数据 然后加以平均 以平均后的数作为输入 要否平均 由多少次数作平均 可设定 使用平均功能 可减少干扰 但转换时间将增长 峰值 可保持输入过程的最大值 峰值保持使能失效 则保存值复位为零 164 开平方 当平方根控制位使能后 可使数据转换成平方根 以便于特殊使用 当然 如果使用的 AD 模块没有上述功能 而实际又需要时 也可用程序实现 但需要占用 PLC CPU 及内存的资源 同时还要增加程序扫描时间 2 用采集脉冲输入模拟量 用采集脉冲输入模拟量 PLC 可输入脉冲信号 可用高速计数单元 中 大型机 或特定的高速输入点 小型 机 输入脉冲 也可用输入中断的方法输入脉冲 而把物理量 如电压转换为脉冲信号的 方法也很多 比较方便 如转速可很容易转换为脉冲信号 这两者结合 就可实现用采集脉冲输入模拟量 这些细节将在本书第 4 章进一步讨论 3 PLC 其它模拟量输入 输出方法其它模拟量输入 输出方法 随着 PLC 模拟量控制应用的增多 除了模入 模出单元 还有模入与模出混合模块 这更便于用户使用 选用一个混合模块 就可实现对若干路的模拟量控制 此外 还有可进行温度检测 流量检测 称重检测等模块 可把检测这些物理量的传 感器接入这些模块 不用变送器 即可直接实现这些物理量到数字量间的转换 此外 还有种种模拟量或特定物理量控制模块 不仅能检测这些物理量 还可按一定 算法产生模拟量输出 不需要通过 PLC 的 CPU 就可实现对控制对象的控制 如 PID 控 制 模糊控制模块等 再如温度控制模块 实质上 它就是挂接在 PLC 上的一块温度控 制表 这时 PLC 的作用只是与其交换数据与实施必要的监控 4 2 模拟量开环控制模拟量开环控制 模拟量开环控制的类型较多 主要有 定值控制 程序控制 随动控制及补偿控制 以下先讨论开环特性 4 2 1 开环特性开环特性 开环特性有静态特性及动态特性两种 静态特性是指系统状态稳定后调节量 被控量 与控制量间的对应关系 而动态特性是指系统状态在开始变化到稳定的过程中 调节量 被控量 与控制量间的对应关系 1 静态特性 静态特性 控制量及干扰量与调节 被控 量间的量化关系 开环放大倍数 K 调节量增量与控制量增量之比 如调节量与控制量是线性关系 则 K 为常数 否则 K 将随着控制量的变化而有所不同 控制量可以是模拟量输出模块 的输出值 也可是 如为脉宽调制输出 脉宽值 或别的量 依系统的构成而定 165 图 4 8 所示为某电动机转速控制系统的调节量 脉冲频率 用以反映被控制电动机的 转速 与控制量 模拟量输出单元输出现值 用以控制电动机转速 间的一个典型的关系 只是像这样完全线性的关系是不多的 2 动态特性 动态特性 由于系统是开环的 输入与输出的对应关系又是惟一的 所以 开环动态特性总是稳 定的 常规 线性 连续 的系统开环动态特性多是用频率特性衡量 即在其输入端人为 地加上单位幅值不同频率的正弦信号 看其正弦输出的幅值变化及其与输入正弦信号的相 位差 即所谓幅频特性及相频特性 而对 PLC 控制的系统 有 误差 断续 及 时延 的特点 不方便用频率特性 去反映它的开环特性 最简单是用响应时间 即系统从开始变化到稳定的时间衡量 具体 的指标可以是 每单位控制作用 即 PLC 模拟量输出单元的每一分辨率的变化 到系统 稳定所需要的时间 显然 从系统对控制作用反应的快速性讲 这个时间是越小越好 4 2 2 开环控制开环控制 1 定值控制 定值控制 不使用控制输出量 而使调节量 被控量 保持所要求定值的控制 称开环定值控制 控制办法是 根据要求得到的调节量 由它与控制量间的对应关系 决定要输出的控制量 这么控制的缺点是 无法考虑干扰量的影响 事实上 在多数情况下 存在种种干扰 是不可避免的 这样 就很难得到较好的定值控制的效果 这也是开环控制用得较少的重 要原因 2 程序控制 程序控制 程序控制是指使被调节量按预定规律变化所作的控制 这预定规律可根据要求任意设 计 如图 4 9 所示 若运动部件起动后 先作等加速度运动 增速到最大速度值时 速度 166 保持在 Max 值 作等速运动 当运动到 行程快到 后 作等减速度运动 减速到 Min 值后 速度保持 Min 值 作等速运动 直到运动到 行程到 时 运动停止 这就是一 种程序控制规律 设计符合这样规律的控制就是这里指的程序控制 图 4 10 所示为 2 种 PLC 实现该控制的程序 当然 在使用时 还需把这里的模拟 量 输出 作功率放大 以加载给直流电动机 或用 输出 控制变频器输出频率 用变 频器加载给交流电动机 而且 这电动机还要去带动相应的运动部件等 167 在图 4 10 中 输出 是加载给电动机的模拟控制信号 可理解为 0 5V 或 0 10V 电压 此电压高 输出直流电压也高 或变频器的输出频率也高 用它驱动电动机时 168 电动机的转速也高 进而部件运动速度也快 所以 控制此数值即可控制部件运动速度 3 比例控制 比例控制 比例控制的实例如图 4 11 a 所示 它可使流量 Q b按比例 k 跟随流量 Qa变化 图 4 11 b 和 c 为它的相应程序 图 4 11 b 用的是十六进制数 只要 模拟量输入 模拟量输出 格式相同 无需 转换 则把 比例系数 K 与 模拟量输入 相乘 结果给 模拟量输出 就可以了 图 4 11 c 用的也是十六进制数 但要用 RD3A 有的模块用 FROM 指令 指令 先从模拟量输入模块取得 模拟量输入 数据 存于 D0 把 比例系数 K 与 D0相 乘 结果存于 D2 再用 WR3A 有的模块用 TO 指令 指令把 D2 的值写给模拟量输 出模块 类似地 还可能实现多值比例控制 如图 4 12 所示 图 4 12 a 画出两个闭环控制回 路 它们的调节器的设定值都是由 Qa的变送器送出 经比例器 K1 K2换算后确定 以 此保证 Qa Q b1 Q b2之间的比例关系 169 图 4 12 b 和 c 为与其对应的梯形图程序 这里有两个比例器 K1 K2都由输入量 Qa控制 以保证实现 Q b1 K1 Qa Q b2 K2 Qb的比例关系 4 补偿控制 补偿控制 图 4 13 a 所示为前馈控制的例子 它是按扰动进行的开环控制 如图示的换热器 加热的物料流入量是主要的干扰因素时 可用如图的办法 随着进料的变化 通过前馈补 偿器 调节用以加热物料的蒸汽流量 从而控制容器的温度 如果弄清物料流量对温度的 影响规律 可做到系统的误差为零 当然 前馈与反馈控制也可结合起来进行 以得到更高系统的控制品质 应提醒的是 这里的前馈补偿器也不是硬件 而是软件 也是 PLC 程序 靠运行 PLC 程序实现前馈补偿器的控制功能 图 4 13 中 用一传感器检测热物料流入量 并通过模入单元把检测到的这个量送入 PLC 再由 PLC 按干扰规律对其进行处理 按扰动影响规律 把输入变换成相应的输出 然后再通过模出单元去控制蒸汽阀 即可实现调节蒸汽的前馈控制 从而使加热物料流 入量对容器温度的干扰得到相应补偿 可看出 图 4 13 b 和 c 的模入 模出 PLC 及其处理程序 即为图 4 13 a 的 前馈补偿器 而在这几项中 最难的是弄清扰动影响规律 一般讲 确定扰动影响规律有两个方法 解析法 探求相应函数关系 实验法 检测 一系列相关数据 建对应数表 对简单的过程 如负载电流对直流发电机的输出电压的影响 用解析法就比较好求 因为 170 式中 Ud 额定输出电压 E 发电机电动势 Id 额定负载电流 I 实际电流与额定电流差值 R0 电动机电枢电阻 可知 负载电流对输出电压的扰动是线性的 要补偿它的扰动 可提高电动势 E 而 式中 C 电动机常数 与电动机的结构等因素有关 励磁磁通 n 电动机转速 在这 3 个量中 较便于处理的是增加辅助励磁线圈 以增加的励磁磁通 如用 这个辅助励磁磁通 所多得到的电动势 E 正好等于 I R0 则可使电流变化对电 压的干扰得到补偿 即 有了这个关系 把用模入单元检测到的 I 值 按 R0 C n I 的关系 变 换为 并送模出单元 去产生辅助励磁磁通 即可实现这个补偿 这里按 R0 C n I 关系变换 对 PLC 来说 运用一些运算指令即可实现 并 不难 在本例子中 弄清加热的物料流入量 扰动量 蒸汽流量 控制量 与容器温度 调 节量 的关系 从中找出解析关系 也可设计出相应的前馈补偿程序 但是 如果找不出 这些量之间解析关系 那只好用实验法 它的要点是 通过实验 逐个测出不同的扰动量 时 要用多大的控制量 才能使系统的调节量达到期望值 然后 列出一个数表 存于 PLC 的数据区中 这种情况下的扰动补偿程序 就是根据扰动用这个数表实现补偿 图 4 13 b 和 c 图 即为 2 种 PLC 的补偿控制梯形图程序 图 4 13 b 用了 4 条应用指令 MOV DW 指令 读取 VWl00 的地址 I DI 转换 指令 把模拟量输入字转为双字 ADD DI 为双字加指令 进行指针计算 MOV W 字 传送指令 把指针指向地址的数据送 模拟量输出 与图 4 11 对照 这里的 模拟量输 人 与 物料流入量 对应 模拟量输出 与 蒸汽流量 对应 171 图 4 13 c 也用了 4 条应用指令 RD3A 指令 读取模拟量输入存于 D0 MOV 传送指令 把 D0 传送给变址器 V0 MOV 传送指令 从 1000 开始加变址器 V0 的值 作寄存器 D 的地址的值传送给 D2 WR3A 写模拟量输出通道指令 把 D2 的值送 模 拟量输出 与图 4 11 对照 这里的 D0 与 物料流入量 对应 D2 与 蒸汽流量 对 应 这里的程序较简单 但执行这程序前必须先对指针数据区赋值 有时 也可能还要作 一些插值运算 以使控制输出更精确些 4 3 模拟量简单闭环控制模拟量简单闭环控制 闭环控制的类型较多 如定值控制 随动控制 程序控制等 其实 这 3 种控制本质 上是相同的 所差的只是 定值控制的设定值是定值 而其它两个控制的设定值是变化的 所以 以下仅对定值控制 即自动调节进行讨论 实现自动调节的方法有 输出 ON OFF 控制 负反馈控制 偏差控制 无差控制等 以下将对这些方法进行讨论 此外 还有 PID 控制 智能控制等 这些将在后续的各节 中讨论 4 3 1 ON OFF 输出控制输出控制 这种控制的方法是 把被控量的实际值与设定值进行比较 再按照比较结果 产生相 应的 ON 或 OFF 的继电控制输出 图 4 14 所示即为 2 种 PLC 最简单的这类梯形图程 序 该程序不断执行 设定值 与 实际值 比较 只要 实际值 小于 设定值 则直 接使 输出 ON 反之 输出 将 OFF 用它即可进行输出 ON OFF 控制 这种控制只需用模拟量输入单元 而输出则用普通的 I O 点 较简单 但可能在设定 点附近 ON OFF 动作变换过于频繁 为避免这种 ON OFF 动作变换过于频繁 可在比较后增加延时 再产生控制输出 或把临界点改为临界范围 比临界点大于一定数 A 时作一种转换 比临界点小于一 定数 A 时作另一种转换 图 4 15 所示为比较后增加延时 再产生控制输出的 2 种 PLC 程序 172 此外 也可在保证控制精度的前提下 在达或离开临界点到 ON OFF 转换之间增 加延时 或把临界点改为临界范围 比临界点大一定数 A 时作一种转换 比临界点 小一定数 一 A 时作另一种转换 图 4 16 所示为用上 下限比较 以产生控制输出的 2 种 PLC 程序 从图知 这个系统所控制的 实际值 低于 设定值减 A 时 使其增大 高于 设 定值加 A 时 使其减少 173 4 3 2 负反馈控制负反馈控制 图 4 17 表示了负反馈控制的算法框图 这里是用设定值 R 与实际值 C 之 差 E 去进行控制 E 经放大 乘 H 后 产生控制输出 M 1 作用于被控对象 M2为干扰量 不可避免地也同时作用于被控对象 被控对象的 G1 G2为接受控制与扰动 的特性值 是由系统的特性决定的 即 C M 1 G1 M2 G2 从图 4 17 可知 以上几个量间还有如下关系 经化简后有 如果 HG1选得足够大 既足够的大于 G2 又足够的大于 1 则有 RM HG G RC 2 1 2 这可使 C 不受或很少受干扰影响 而复现 R 的变化 达到精确控制的目的 当然 这里讲的只是理想情况 而实际系统是离散的 不仅系统总有惯性 而且 PLC 控制还都有滞后 时延 所以 HG1选得足够大 虽可改善系统的静态特性 但很可能出 现静态及动态不稳定 振荡 这也是负反馈控制的不足 建立这个系统后 可按所要求的被控量 C 值 确定控制量 R 值 以实现相应的定值 程序或随动控制 图 4 18 所示为与图 4 17 对应的 2 种 PLC 梯形图程序 该图用的是符 号地址 174 图中可见 将 设定值 与 实际值 相减 结果存于 E 中 它无进位位一说 如 设定值 大于 实际值 则把 E 乘 H 并存于 控制输出 中 如 设定值 小于 实际值 则把 0 传送给控制输出 设定值 小于 实际值 时作这样处理 目的是避免 控制输出 出现负值 如 控制输出 允许出现负值时 则更简单 把 设定值 与 实际值 相减得出 E 或 正 或负 再将 E 乘 H 并把结果存 控制输出 即可 但要清楚 而图 4 18 中 运算用的数据格式是十六进制 4 3 3 偏差控制偏差控制 当如图 4 19 表示了偏差控制的算法框图 这里用控制值 R 对系统进行控制 而设定 值为 R0 设定值 R0 与实际值 C 之差 E 为 0 时 R 即等于 R0 这等于实际值 复现了设定值 如由于干扰 实际值偏离设定值 则 E 不等于 0 此时 E 将增大 R 值 当实际值小于设定值时 或减少 R 值 当实际值大于设定值时 进而使实际值 C 增大或减少 以接近设定值 图 4 20 为与图 4 19 对应的梯形图程序 程序中使用是十六进制数据 没有进位位参与计算问题 程序较简单 也较易理解 175 就不多解释了 4 3 4 无静差控制无静差控制 图 4 21 所示为无静差控制的算法框图 这种控制可完全消除静差 与图 4 18 不同的 只是这里的控制值不是由偏差 E 与 设定值 相加产生 而是在每进行一次此类运算时 自身与偏差 E 相加 这样 可实现即使无偏差 但也可使 R 大于设定值为 R0 实现补 充控制 图 4 22 为与图 4 21 对应的梯形图程序 176 图 4 22 是用十六进制数 且也没有进位位参与计算问题 由于这里用了累加 累减 相当于加入积分环节 所以 只要存在偏差 即 设定值 减 实际值 不为 0 那么 每进行一次运算都将使 控制值 变化 直到 控制值 变化到使系统实际值等于设定值 时 即 设定值 减 实际值 为 0 不存在偏差时 控制值 才保持不变 这也就实 现了设定值对系统的无静差控制 无静差控制可消除所有由干扰产生的误差 这是它的优点 但同样存在系统能否稳定 工作的问题 而系统要是不稳定 那即使静态精度再高 也是不允许的 所以 还得寻找 更好的控制办法 以下将介绍的 PID 控制就是一个较好的办法 4 4 常规指令实现常规指令实现 PID 控制控制 模拟量闭环控制较好的方法之一是 PID 控制 它作为最早实用化的控制已有 60 多 年历史 现在仍然是应用最广泛的工业控制 PID 控制简单易懂 使用中不必弄清系统 的数学模型 有人称赞它是控制领域的常青树是不无道理的 4 4 1 PID 控制基本公式控制基本公式 PID 是比例 P 积分 I 微分 D 之意 标准 PID 的控制值是与偏差 设定值 与实际值之差 偏差对时间的积分 偏差对时间的微分 三者之和成正比 如用式子表示 即 式中 p 控制值 177 e 偏差 Ti 积分常数 Td 微分常数 K 放大倍数 比例系数 M 偏差为零时的控制值 有积分环节存在此项也可不加 PID 控制的最大好处是 可以不必了解系统的数学模型 只要能检测出偏差 就可对 系统实现准确 没有静差及稳定的控制 式 4 1 用于连续系统的 PID 控制 如在 PLC 控制中用它 则必须将其 离散化 用相应的数值计算 代替这里的积分 微分 如选择的采样周期为 T 积分初值为 0 离散化后的式 4 1 为 式 4 2 的计算仅仅是加 减 乘 除等基本运算 所以 如选定了采样周期 T 积分 常数 Ti 微分常数 Td 放大倍数 K 偏差为零时的控制值 M 以及各个时刻的偏差值 用 PLC 的算术运算指令完全可进行这个运算 以求出不同时刻 n 的控制值 进而再把这 个控制值输出 即可实现 PID 控制 4 4 2 PID 控制程序实现控制程序实现 图 4 23 表示了 PID 控制的算法框图 从图知 它的控制值 P n 是 I K En D 共 3 部分的作用和 这里未计及偏差为零时的控制值 M 但这可通过执行积分运算实现 图中 M2为干扰量 R0为设定值 C 为实际值 T 为采样周期 PID 运算间隔时间 图 4 24 为与图 4 23 框图算法对应的一种梯形图 它用的是符号地址 较便于理解 178 179 图上标有 18 个注解 分别说明如下 对图 a 考虑到模拟量输入格式 把 AW8 假设为模拟量输入字 的内容右移 3 位 并存于 实际值 中 对图 b 读取模拟量输入值 并存于 实际值 中 图 a 用定时器 T101 图 b 用定时器 T1 实现每一秒 此值可设 执行一 次 PID 运算 这里 ls 即为采样周期 T 求设定值与实际值之差 如设定值比实际值小 则先求偏差的绝对值 因借位位也参与运算 故加了 1 然后 用它去减积分值 0 如积分值 0 小于 0 则其取值为 0 最小值控制 如设定值比实际值大 则把偏差 En 加积分值 0 对图 a 如加后积分值进位 SM1 1 ON 则其取值为 32727 最大值控 制 对图 b 如加后积分值进位 M8022 ON 则其取值为 32727 最大值控制 积分值 0 除积分常数 求偏差的变化 保存原偏差值 如偏差为负变化 则求其补码 偏差的变化乘微分常数 偏差值 En与比例系数 K 相乘 其积存于 KEn 分值与 KEn 偏差相加 其和存于 控制值 对图 a 如加后积分值进位 SM1 1 ON 则其取值为 32727 最大值控制 对图 c 如加后积分值进位 M8022 ON 则其取值为 32727 最大值控制 如设定值比实际值大才作此相减 其后如需要也可作最小值控制 微分值 与 控制值 相加 并存于 控制值 图 a 如加后有积分值进位 SM1 l ON 则其取值为 32727 最大值控 制 对图 b 如加后积分值进位 M8022 ON 则其取值为 32727 最大值控制 如偏差为负变化 则 控制值 与 微分值 相减 并存于 控制值 如 控制值 小于 0 则其取值为 0 最小值控制 图 a 考虑到模拟量输出格式 把 控制值 又左移 3 位传 QWl0 即模拟 量输出通道 对图 b 把 控制值 传模拟量输出模块的指定通道 到此才产生实际模拟 量输出 180 一般讲 当今 PLC 多有 PID 指令 直接使用它即可实现模拟量的 PID 控制 不必 考虑图 4 24 程序所作的种种计算 用户所要作的工作只是进行有关 PID 控制参数的设定 有的 PLC 这些参数还可通过执行自整定 有的称调谐 命令自动获得 用起来就更方 便了 4 5 专用指令实现专用指令实现 PID 控制控制 为减少用户构建控制系统时的编程工作 大多数生产商都为本公司研制的 PLC 集成了 PID 功能指令 用户只要按照使用要求 设定出 入口的参数 实参 后 就可以调用 PID CPU 将会自动执行 PID 运算 完成结果输出 4 5 1 三菱三菱 FX PLC PID 指令指令 1 指令格式 指令格式 V2 00 以上版本开发程序 集成了 PID 功能指令 允许用户整定 P I D 参数 并可 设定输出值的上 下限等 指令格式如图 4 25 是 图中 Sl 为目标设定值 S2 为测定反馈值 或称当前值 实际值 S3 为 PID 参数存储区的首地址 参数区由 25 个字组成 其各字的含义如表 4 1 所示 D 为执行 PID 指令计算后得到的输出值或说控制输出 本指令可多次被调用 调用次数不受限制 但所用的数据区不能重复 在子程序 步 进指令中也可使用 但调用前要清除 S3 7 的数据 清零梯形图如图 4 26 所示 采样时间 TS 是指 PID 相邻两次计算间的间隔时间 此值不能小于一个扫描周期 虽可作设定 但实际执行时是存在误差的 误差约为加减一个扫描周期 为了确保此时间 精确 可用定时中断 在中断服务程序中执行 PID 指令或设定 PLC 为恒定扫描周期工作 181 2 FX PLC PID 指令要点指令要点 PID 控制根据 S3 中指定的动作方向的内容 执行正与反动作的运算式 PID 指令运 算模型如表 4 2 182 表中 EVn 本次采样时的偏差 EVn 1 个周期前的偏差 SV 目标值 PVnf 本次采样时的测定值 滤波后 PVnf 1 1 个周期前的测定值 滤波后 PVnf 2 2 个周期前的测定值 滤波后 M v 输出变化量 MVn 本次的操作量 Dn 本次的微分项 Dn 1 l 个周期前的微分项 Kp 比例增益 Ts 采样周期 TI 采样周期积分常数 TD 微分常数 D 微分增益 1 正控制 动作 正控制 动作 当偏差 X 设定值一反馈量 为负时 增加执行量 如果偏差为正 则减小执行量 即 反馈值与控制输出成正比 PID 正作用如图 4 27 所示 183 2 负控制 动作 负控制 动作 当偏差 X 设定值一反馈量 为正时 增加执行量 如果偏差为负 则减小执行量 即 反馈值与控制输出成反比 PID 负作用如图 4 28 所示 3 输出设限 输出设限 输出值可以设限 当计算值大于上限或小于下限时 将按设定的上限或下限值输出 图 4 29 所示为输出设限与不设限情况对比 4 报警设定 报警设定 对输入及输出变化太大可设定进行报警 图 4 30 所示为输入变化太大报警示意 如不 作输出设限及报警设定 则参数区 S3 20 到 s3 25 将不被占用 图 4 31 所示为输出 变化太大报警示意 184 5 控制参数选定 控制参数选定 为了使 PID 控制得到预期的效果 需正确选定 PID 的三个常数 KP T I T D的 最佳值 为了选定这些参数 三菱公司推荐了 阶跃反应法 可供参考 阶跃反应法 是 对被控对象施加如图 4 32 a 所示的 0 100 的 阶跃 控制输 出 随之观察对象调节量的变化 再测定如图 3 一 32 b 所示的 L 及 R 值为计算 PID 参数提供依据 如仅用比例控制 则 如用比例控制加积分控制 则 19 0MVLRKp 10033 LTI 如用比例控制加积分 微分控制 则 12 1MVLRK p 10020 LTI 10050 LTD 185 式中 TI T D 单位为 ms 此外 输入滤波常数能使当前值变化平滑 而微分增益有缓和输出值急剧变化的效果 所以 对输入滤波及微分增益常数也要适当设定 6 自动调谐 自动调谐 目的是自动使用 阶跃反应法 获得最佳的 PID 控制参数 而无需人工干预 但在 自动调谐前要做好相应准备及满足相应条件 如采样时间必须大于 1s 目标值与实际值之 差必须大于 150 系统先须处于稳定状态等 自动调谐由调谐命令位 S3 1 ACT 的位 4 ON 开始 到调节量变化大于 1 3 时 该命令位 OFF 调谐自动结束 7 出错标志及代码 出错标志及代码 PID 计算如果出现错误 其出错标志位 M8067 ON 具体的错误代码记录在 D8067 中 此代码所代表的错误内容 处理状态及处理方法如表 4 3 所示 186 有了这个标志及相应代码 对正确使用 PID 指令 完成有关程序调试将更加心中有 数 3 FX PLC PID 指令应用指令应用 以下用三菱公司提供的具体例子 介绍 PID 指令的应用 系统配置如图 4 33 所示 使用 PID 指令进行温度控制 温度槽由电加热器加热 而 温度由温度传感器检测 所监测的温度送 AD 模块 FX2N 4AD TC PLC 的主机为 FX2N 48MR 用 X0l0 控制自动调谐 X011 控制 PID 指令执行 Y0 用以显示 PID 计算故障 Yl 周期 ON OFF 方式控制加热器工作 周期为 2s Y1 ON 的时间在 0 2s 中取值 以得到不同的控制输出 187 自动调谐及 PID 控制的有关设定如表 4 4 所示 加热器控制器动作示意图见图 4 34 图 4 35 与图 4 36 分别是执行自动调节与 PID 控制的梯形图程序 188 189 190 191 4 5 2 西门子西门子 S7 200 PLC PID 指令指令 1 指令格式 指令格式 其梯形图格式如下表示 这里 TBL 为 PID 控制参数存储区的开始字节地址 参数区共 36 个字节 存 9 个参数 包括过程值 设定值 输出值 增益 采样时间 积分时间 微分时间以及积分 前项和过程前值 详细含义如表 4 5 所示 L00P 为 PID 回路编号 可在 0 7 间取值 在一个程序不能用相同编号 这意味着在一个 S7 200 的程序中 PID 指令最多只能用 8 次 但此指令也可在子程序 中断程序中执行 EN ENO 为西门子 PLC 指令调用输 入 输出机制 输人端 EN 逻辑条件 ON 则执行本指令 OFF 不执行 本指令正确执 行 则输出 ENO ON 否则 OFF 192 西门子给出的 PID 计算公式为 nnnn MDMIMPM 即 输出 比例项 积分项 微分项 式中 M n 第 n 采样时刻的计算值 M Pn 第 n 采样时刻的比例项值 M In 第 n 采样时刻的积分项值 M Dn 第 n 采样时刻的微分项值 1 比例项 比例项 比例项 M Pn是增益 KC和偏差 e 的乘积 nnCn PVSPKMP 式中 KC 增益 SPn 第 n 采样时刻的设定值 PVn 第 n 采样时刻的过程值 2 积分项 积分项 积分项 M In与偏差的和成正比 MXPVSPTTKMXeKMI nnISCIn 式中 KC 一增益 KI 积分增益 TS 采样时间间隔 TI 积分时间 193 SPn 第 n 采样时刻的给定值 PVn 第 n 采样时刻的过程值 MX 一 第 n l 采样时刻的积分前值 也称积分或偏置 积分和 MX 是所有积分前值之和 在每次计算出 M In之后 都要用 M In去更新 MX 其中 M In可以被调整或限定 MX 的初值通常在第一次计算输出以前被设置为 Minitial 初值 积分项还包括其它几个常数 增益 KC 采样时间间隔 TS 和积分时间 TI 其中采样时间是重新计算输出的时间间隔 而积分时间控制积分项在整个输出结果中影 响的大小 3 微分项 微分项 微分项 M Dn与偏差的变化成正比 M Dn KD en en 1 KC TD TS SPn一 PVn 一 SPn 1 一 PVn 1 为了避免给定值变化的微分作用而引起的跳变 假定给定值不变 SPn SPn 1 这样 可以用过程值的变化替代偏差的变化 计算算式可改进为 nnSDCn PVPVTTKMD 1 式中 KC 回路增益 TS 回路采样时间 TD 微分时间 SPn 第 n 采样时刻的给定值 SPn 1 第 n l 采样时刻的给定值 PVn 第 n 采样时刻的过程变量值 PVn 1 第 n l 采样时刻的过程变量值 为了下一次计算微分项值 必须保存过程值 而不是偏差 在第一采样时刻 初始化 为 nn PVPV 1 2 S7 200 PID 指令要点指令要点 1 回路控制类型的选择 回路控制类型的选择 在许多控制系统中 只需要一种或两种回路控制类型 例如只需要比例回路或者比例 积分回路 通过设置常量参数 可先选中想要的回路控制类型 如果不想要积分回路 可 以把积分时间设为无穷大 即使没有积分作用 积分项还是不为零 因为有初值 MX 194 如果不想要微分回路 可以把微分时间置为零 如果不想要比例回路 但需要积分或积分 微分回路 可以把增益设为 0 0 系统会在计算积分项和微分项时 把增益当作 1 0 看待 2 采样时间间隔 采样时间间隔 为了让 PID 运算以预想的采样频率工作 PID 指令必须用在定时发生的中断程序中 或者用在主程序中被定时器所控制以一定频率执行 采样时间必须通过回路表输人到 PID 运算中 3 回路输入的转换和标准化 回路输入的转换和标准化 每个 PID 回路有两个输入量 设定值 SP 和过程值 PV 设定值通常是一个 固定的值 比如是设定的汽车速度 过程值是与 PID 回路输出有关 可以衡量输出对控 制系统作用的大小 在汽车速度控制系统中 过程值可以是测速仪的输入 衡量车轮转速 高低 设定值和过程值都可能是现实世界的值 它们的大小 范围和工程单位都可能不一样 PID 指令在对这些量进行运算以前 必须把它们转换成标准的浮点型实数 转换的第一 步是把 16 位整数值转成浮点型实数值 下面的指令序列提供了实现这种转换的方法 转换的下一步是把实数值进一步标准化为 0 0 一 1 0 之间的实数 下面的算式可以用 来标准化给定值或过程变量 OffsetSRR PanRawNorm 式中 RNorm 标准化的实数值 RRaw 没有标准化的实数值或原值 Span 一 值域大小 可能最大值减去可能最小值 单极性为 32000 典型值 双 极性为 64000 典型值 offset 单极性 0 0 双极性为 0 5 下面的指令把双极性实数标准化为 0 0 1 0 之间的实数 通常用在第一步转换之后 195 4 回路输出值转换成刻度整数值 回路输出值转换成刻度整数值 回路输出值一般是控制变量 比如 在汽车速度控制中 可以是油阀开度的设置 同 时 输出是 0 0 1 0 之间标准化了的实数值 在回路输出驱动模拟输出之前 必须把回 路输出转换成相应的 16 位整数 这一过程 是给定值或过程变量的标准化转换的反过程 该过程的第一步把回路输出转换成相应的实数值 公式如下 pannscal SOffsetMR 式中 Rscal 回路输出的刻度实数值 Mn 回路输出的标准化实数值 Offset 单极性为 0 0 双极性为 0 5 Span一 值域大小 可能最大值减去可能最小值 单极性为 32000 典型值 双 极性为 6400 典型值 这一过程可以用下面的指令序列完成 5 正作用或反作用 正作用或反作用 回路如果增益为正 那么该回路为正作用回路 如果增益为负 那么是反作用回路 对于增益为零的积分或微分控制来说 如果指定积分时间 微分时间为正 就是正作用回 路 指定为负值 则是反作用回路 6 变量范围控制 变量范围控制 过程变量和给定值是 PID 运算的输入值 因此在回路表中 这些值只能被回路指令 读而不能改写 输出变量是由 PID 运算产生的 所以在每一次 PID 运算完成之后 需更新回路表中 的输出值 输出值被限定在 0 0 1 0 之间 当 PID 指令从手动方式转变到自动方式时 回路表中的输出值可以用来初始化输出值 196 如果使用积分控制 积分项前值要根据 PID 运算结果更新 这个更新了的值用作下 一次 PID 运算的输入 当输出值超过范围 大于 1 0 或小于 0 0 那么积分项前值 必须根据下列公式进行调整 当计算输出 nn MDMPMX 0 10 1 n M 或 当计算输出 nn MDMPMX 0 0 n M 式中 MX 经过调整了的积分和 积分项前值 MPn 第 n 采样时刻的比例项值 MDn 第 n 采样时刻的微分项值 Mn 第 n 采样时刻的输出值 这样调整积分前值 一旦输出回到范围后 可以提高系统的响应性能 而且积分项前 值也要限制在 0 0 1 0 之间 然后在每次 PID 运算结束之后 把积分项前值写人回路表 以备在下次 PID 运算中使用 用户可以在执行 PID 指令以前修改回路表中积分项前值 在实际运用中 这样做的 目的是找到由于积分项前值引起的问题 手工调整积分项前值时 必须小心谨慎 还应保 证写入的值在 0 0 1 0 之间 回路表中的给定值与过程变量的差值 e 是用于 PID 运算中的差分运算 用户最好不 要去修改此值 7 自动 手动切换 自动 手动切换 S7 一 200 的 PID 回路没有设置控制方式 只要 PID 块有效 就可以执行 PID 运算 在这种意义上说 PID 运算存在一种 自动 运行方式 当 PID 运算不被执行时 称之 为 手动 方式 从手动方式无扰动地切换到自动方式 为了达到无扰动切换 在转变到自动控制前 必须用手动方式把当前输出值填入回路表中的 Mn栏 8 使用 使用 PID 向导向导 STEP7 一 Micro WIN32 提供 PID 向导 为模拟量控制程序定义 PID 算法子程序 选择菜单命令工具的指令向导 并从指令向导窗口选择 PID 即可一步步按提示操作 具体操作步骤是 1 指定回路编号 只能在 0 7 间选择 且不能重复 2 设定回路参数 指定表的首地址 回路参数及输入设定值地址 参数有采样时间 197 增益 积分时间 微分时间 3 设定回路输入 输出 指定输入和输出地址 极性 单向还是双向 及高 低限 单极 可编辑默认范围 0 32000 双极 可编辑默认范围 32000 32000 4 设定报警 指定回路警报选项 有过程值 PV 低报警 过程值 PV 高 报警及模拟输入模块出错报警 以及这些报警的输出位 同时 要指明该输入模块安放在 PLC 的位置 5 为计算指定内存区 使用 PID 指令 除了要用 V 内存中的一个 36 个字节的参 数表 还要求一个 暂存区 用于存储临时计算结果 在此需指定该计算区开始的 V 内 存字节地址 还可以选择增加 PID 的手动控制 如选用手动控制 则还要指定使用的控 制输入点 6 指定初始化子程序和中断例行程序名称 以上选项全部作完 回答完成 即开始生成代码 当生成代码完成 将在子程序中增 加所名命的初始化子程序项及中断子程序项 要使用它 在主程序中调用此初始化子程序 就可以了 3 S7 200 PLC PID 指令应用指令应用 1 使用要点 使用要点 如同使用向导所介绍的那样 使用 PID 指令关键有 4 点 1 参数设定 要指定回路编号 LOOP 及参数表 TBL 首地址 并设定好采 样时间 增益 积分时间 微分时间 2 预处理 编写程序把模拟量输入转换为 PID 计算对应格式 处于 0 一 1 之间 的实数 的过程值 PV 及设定值转换为 PID 计算对应格式 处于 0 0 1 0 之间的 实数 的设定值 SV 并传送到参数表的相应地址中 为 PID 运算做好前处理 3 指令调用 为 PID 指令的执行指定输入条件 调用 PID 指令 最好编写定时中 断程序 在中断程序中调用 PID 指令 4 后处理 编写程序把 PID 计算的控制输出 Mn 处于 0 0 1 0 之间的实数 转换为对应格式 十六进制字 并选择好有效位 并传送到指定的模拟量输出模块的相应 地址中 为 PID 运算结果执行提供条件 2 使用实例 使用实例 某水箱需要维持一定的水位 该水箱里的水以变化的速度流出 这就需要有一个水泵 以变化的速度给水箱供水以维持水位 满水位的 75 不变 这样才能使水箱水位平衡 198 分析 本系统的给定值是水箱满水位的 75 时的水位 过程变量由水位测量仪提供 输 出值是水泵的速度 可以从允许最大值的 0 变到 100 给定值可以预先设定后直接 输入到回路表中 过程变量值是来自水位测量仪的单极性模拟量 回路输出值也是一个单 极性模拟量 用来控制水泵速度 本系统中选择比例和积分控制 其回路增益和时间常数可以通过工程计算初步确定 但还需要进一步调整以达到最优控制效果 初步确定的回路增益和时间常数为 Kc 0 25 Ts 0 15 TI 30min TD 0 系统起动时关闭出水口 用手动方式控制水泵速度使水位达到满水位的 75 然后 打开出水口 同时水泵控制从手动方式切换到自动方式 这种切换可由一个手动开关 编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论