当前课程知识点:电气控制技术与PLC >  第8章 模拟量控制程序设计 >  8.4水箱水位PID控制程序举例 >  水箱水位PID控制程序举例

返回《电气控制技术与PLC》慕课在线视频课程列表

水箱水位PID控制程序举例在线视频

返回《电气控制技术与PLC》慕课在线视频列表

水箱水位PID控制程序举例课程教案、知识点、字幕

大家好

这一讲 我们一起讨论一下PID指令的具体应用

以水箱水位控制为例

先来看下任务要求

某水箱需要维持一定的水位

该水箱的水以变化的速度流出

这就需要一个水泵以变化的速度给水箱供水

以维持水位不变

我们一起分析一下

被控对象为水箱

被控变量为其水位

是个单极性模拟量

由水位计检测后经A/D变换送入PLC

给定值是水箱满水位的75%

可以预先设定后直接输入到回路表中

输出值用来控制水泵的速度

是最大允许值的0%~100%(单极性)

下面开始设计水箱水位PID控制系统

首先 选择控制类型

本系统中选择PID控制

其回路增益和时间常数

可以通过工程计算初步确定

但还需要进一步调整以达到最优控制效果

初步确定的回路增益和时间常数如下

Kc=5.2 Ts=0.1秒

Ti=30.0分钟 Td=0.15分钟

系统开始启动时

关闭出水口

先用手动方式控制水泵速度

使水位达到满水位的75%

然后打开出水口

合上控制开关

将水泵控制从手动方式切换到自动方式

即进行无扰动切换

无扰动切换时

系统把手动方式下的当前输出值Mn

即水泵速度

填入回路表中的Mn栏

VD108

思路捋清了

下面我们开始进行程序设计

首先我们一起来编写主程序

在母线右侧插入特殊存储器标志位SM0.1

该位仅在第一个扫描周期时接通

用途之一是调用初始化子程序

后面紧跟着插入子程序块SBR_0

因为工程上一般I/O信号为4~20mA

A/D转换后为5530~27648

所以输入的数值应减去5530

接下来 我们看看子程序

在子程序中

主要是填入5个参数

设置定时中断

在母线右侧插入特殊存储器标志位SM0.0

该位始终接通

在该标志位的后面插入双字传送指令

初次扫描将VD160清0

然后在下面继续插入实数传送指令MOV_R

装入设定值的75%

参数IN设为0.75

输出参数设为VD104

然后在下面继续插入实数传送指令

装入回路增益Kc

参数IN设为5.2

输出设为VD112

同理 继续装入采样时间为0.1秒

输出到VD116

装入积分时间为30分钟

输出到VD120

装入微分时间0.15分钟

输出到VD124

然后设定定时中断0的时间间隔为100毫秒

在程序段中插入输出传送指令

输入IN设为100

输出out为SMB34

注意 在调用中断例程之前

必须指定中断事件和在事件发生时

执行的程序段之间的关联

在这里

我们使用中断连接指令ATCH

将由中断事件编号指定的中断事件与

由中断例程编号指定的程序段相关联

以定时执行PID指令

因此 本程序中

我们将INT设为INT_0

EVNT设为10

因为定时中断0对应的事件编号是10

除此之外

连接事件和中断例程时

仅当程序已执行全局中断启用指令

且中断事件处理处于激活状态时

新出现此事件才会执行所连接的中断例程

因此 最后还需要插入一个中断启用指令

最后 来编写中断程序

中断程序主要是实现过程变量换算

以及PID运算 输出换算

先来看下过程变量的换算程序

首先插入SM0.0

该位始终保持接通

然后插入标准转换指令

将0-22118的双字整数转换成实数

输入IN设为VD160

输出设为AC0

然后利用实数除法指令

将AC0中的值标准化

然后再根据偏移地址存入VD100

再来看下PID运算 输出换算

在中断程序块INT_0中另起一个程序段2

母线右侧插入I0.0位控制手动与自动的切换

0代表手动

1代表自动

右侧继续插入PID回路指令

即当其为1时执行PID回路指令

PID指令有两个操作数

TBL为回路表起始地址

这里我们设为VB100

另一个是取值范围为常数0到7的回路编号

这里取0

然后利用实数乘法指令

将两个32位实数相乘

产生一个32位实数结果

这里将手动方式下的当前输出值Mn

即水泵速度(0.0-1.0的实数)

存入偏移地址VD108

作为操作数1

然后另一个操作数为22118.0

即将该标准值放大到0.0-22118.0

存入AC0中

接下来 利用取整指令ROUND将AC0中的

32位实数值转换为双精度整数

并将取整后的结果存入OUT的地址中

即更新AC0

然后 利用DI_I指令

将双精度整数AC0转换为整数值

并将结果存入分配给OUT的地址处

即更新AC0

再利用加整数指令将两个16位整数

5530和AC0中的值相加

产生一个16位结果

即使变量范围成5530~27648

对应模拟量4-20mA

输出到AC0中

最后 利用字传送指令将数据值从源存储单元IN

传送到新存储单元OUT

而不会更改源存储单元中存储的值

即将该整数值写入到模拟量输出寄存器

本讲到此结束

谢谢大家

电气控制技术与PLC课程列表:

第1章 常用低压电器

-1.1 低压电器简介

--低压电器简介

-1.2 低压开关电器

--低压开关电器

-1.3 主令电器

--主令电器

-1.4 接触器

--接触器

-1.5 熔断器

--熔断器

-1.6 继电器(一)热继电器和速度继电器

--继电器(一)热继电器和速度继电器

-1.7 继电器(二)时间继电器

--继电器(二)时间继电器

-小测验

第2章 继电器-接触器控制的基本控制线路

-2.1 三相异步电动机的直接起动控制

--三相异步电动机的直接起动控制

-2.2 三相异步电动机点动控制和长动控制

--三相异步电动机点动控制和长动控制

-2.3 三相异步电动机降压起动控制(一)

--三相异步电动机降压起动控制(一)

-2.4 三相异步电动机降压起动控制(二 )

--三相异步电动机降压起动控制(二 )

-2.5 三相异步电动机的多点控制和顺序控制

--三相异步电动机的多点控制和顺序控制

-2.6 三相异步电动机的调速控制

--三相异步电动机的调速控制

-2.7 三相异步电动机的制动控制(一)

--三相异步电动机的制动控制(一)

-2.8 三相异步电动机的制动控制(二)

--三相异步电动机的制动控制(二)

-2.9 三相异步电动机正反转控制(一)

--三相异步电动机正反转控制(一)

--三相异步电动机正反转控制(一)

-2.10 三相异步电动机正反转控制(二)

--三相异步电动机正反转控制(二)

-2.11 电气控制线路的设计方法

--电气控制线路的设计方法

-小测验

第3章 电气控制线路的绘制与设计

-3.1 电气控制电路图的绘制(一)

--电气控制电路图的绘制 (一)

-3.2 电气控制电路图的绘制(二)

--电气控制电路图的绘制(二)

-3.3 电气控制电路图的绘制(三)

--电气控制电路图的绘制(三)

-3.4 电气控制电路的设计方法 (一)

--电气控制电路的设计方法 (一)

-3.5 电气控制电路的设计方法 (二)

--电气控制电路的设计方法(二)

-小测验

第4章 可编程控制器基础

-4.1 认识PLC

--认识PLC

-4.2 PLC组成及工作原理

--PLC组成及工作原理

-4.3 S7-200 SMART PLC硬件介绍(上)

--S7-200 SMART PLC硬件介绍(上)

-4.4 S7-200 SMART PLC硬件介绍(下)

--S7-200 SMART PLC硬件介绍(下)

-4.5 STEP 7-Micro/WIN SMART编程软件(上)

--STEP 7-MicroWIN SMART编程软件(上)

-4.6 STEP 7-Micro/WIN SMART编程软件(下)

--STEP 7-MicroWIN SMART编程软件(下)

-小测验

第5章 S7-200 SMART PLC编程基础

-5.1 PLC编程语言与程序结构

--PLC编程语言与程序结构

-5.2 指令基础

--指令基础

-5.3 位逻辑指令

--位逻辑指令

-5.4 PLC编程规则与技巧

--PLC编程规则与技巧

-5.5 定时器指令的工作原理

--定时器指令的工作原理

-5.6 定时器指令应用举例

--定时器指令应用举例

-5.7 计数器指令的工作原理

--计数器指令的工作原理

-5.8 计数器指令的应用

--计数器指令应用

-小测验

第6章 功能指令的应用

-6.1 功能指令概述

--功能指令概述

-6.2 数据处理指令(一):比较指令与数据传送指令

--比较指令与数据传送指令

-6.3 数据处理指令(二):数据转换指令

--数据转换指令

-6.4 数据处理指令(三):表格指令和时钟指令

--表格指令和时钟指令

-6.5 算术运算指令及其应用

--算术运算指令及其应用

-6.6 逻辑运算指令及其应用

--逻辑运算指令及其应用

-6.7 程序控制指令:跳转指令、循环指令

--程序控制指令:跳转指令、循环指令

-6.8 子程序的编写与调用

--子程序的编写与调用

-6.9 中断程序与中断指令

--中断程序与中断指令

-6.10 高速计数器指令与高速脉冲输出指令(一)

--高速计数器指令 (一)

-6.11 高速计数器指令与高速脉冲输出指令(二)

--高速计数器指令 (二)

-小测验(一)

-小测验(二)

-小测验(三)

第7章 开关量控制系统梯形图程序设计方法

-7.1 梯形图的经验设计法

--梯形图的经验设计法

-7.2 顺序控制设计法与顺序功能图概述

--顺序控制设计法与顺序功能图概述

-7.3 顺序功能图的基本结构和绘制方法

--顺序功能图的基本结构和绘制方法

-7.4 使用SCR指令的顺序控制梯形图设计方法

--使用SCR指令的顺序控制梯形图设计方法

-7.5 使用起保停电路的顺序控制梯形图设计方法

--使用起保停电路的顺序控制梯形图设计方法

-7.6 使用置位复位指令的顺序控制梯形图设计法

--使用置位复位指令的顺序控制梯形图设计法

-小测验

第8章 模拟量控制程序设计

-8.1模拟量控制概述

--模拟量控制概述

-8.2模拟量输入输出配置及数值的规范化

--模拟量输入输出配置及数值的规范化

-8.3PID控制指令

--PID控制指令

-8.4水箱水位PID控制程序举例

--水箱水位PID控制程序举例

-小测验

水箱水位PID控制程序举例笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。