当前课程知识点:电气控制技术与PLC >  第6章 功能指令的应用 >  6.8 子程序的编写与调用 >  子程序的编写与调用

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

子程序的编写与调用在线视频

下一节:中断程序与中断指令

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

子程序的编写与调用课程教案、知识点、字幕

大家好

本讲我们一起来学习

S7-200SMART子程序的编写与调用相关内容

首先我们来先了解一下子程序的作用

第一个作用是

当系统规模很大 控制要求复杂时

使用子程序可以将程序分成容易管理的小块

使程序结构简单 易于阅读 调试 查错 和维护

第二个作用是

当一些程序功能会在程序中反复执行时

如某些数据运算程序

多台相同设备控制程序

例如 多台电机的启停

报警程序 通信程序等

这时可以将这些程序段编写成子程序

需要时对其进行调用

而不需要反复的编写这些程序

可以减少程序整体步数

接下来

我们一起来看一下子程序编程的一般架构

如图1所示

可以在主程序 其他的子程序中调用子程序

调用子程序

调用子程序时

将执行子程序中的指令

一直到子程序结束

然后返回调用它的程序中

执行下一条指令

子程序的调用可以用普通触点的接通或者断开来进行调用。

子程序的具体编写是在S7-200SMART的编程环境

STEP 7-MicroWIN SMART下

有单独区域进行编写

并且可以编写多个子程序

下面我们来看下编程环境下子程序的编写方式

当我们把编程软件打开时

如图2中所示

有三个标签

SBR_0就是子程序编辑标签

它前面的是main主程序标签

后面是INT_0中断子程序标签

如果我们需要增加子程序

可以鼠标左键选中SBR_0标签

然后鼠标右键

选择插入子程序

另外还可以在属性中对子程序进行重命名

子程序的调用是在软件左侧目录树中找到调用子程序例程

如图3所示

找到对应的子程序名称

然后鼠标左键点住拖到你要调用的位置上面

如图3b所示

就是将SBR_0子程序

放入被调的主程序或者是子程序中

下面我们以3台电动机的顺序控制为例

来讲一下子程序的编写

我们先来看一下控制要求

按下启动按钮SB1

电动机M1 M2 M3间隔3s顺序启动

按下停止按钮SB2

电动机M1 M2 M3间隔3s顺序停止

大家想一下 要实现上面的控制要求

我们该怎么做呢

第一步 我们要进行I/O分配

如表1所示

输入量有

启动按钮SB1分配I0.0

停止按钮SB2分配I0.1

输出量为接触器KM1到KM3分别控制三台电动机

分配Q0.0到Q0.2

下面我们一块分析编程思路

按照控制要求可以分别编写

电动机顺序启动子程序和顺序停止子程序

然后主程序分别来调用这两个子程序

下面我们

根据分析来编写程序

先编写主程序

在编程环境主程序标签下面编写

采用启动按钮I0.0常开触点

串联停止按钮常闭触点I0.1互锁

当按下启动按钮I0.0时

调用三台电动机间隔3s顺序启动子程序

如图所示

子程序调用结束后

再回到主程序执行下一条语句

电动机停止主程序和启动主程序比较类似

如图所示

采用停止按钮I0.1常开触点

串联启动按钮常闭触点I0.0

当按下停止按钮后

调用三台电动机间隔3s顺序停止子程序

接下来我们来编写启动子程序

可以分三部分来编写

第一部分

启动的启保停电路

采用启动按钮I0.0常开触点

并联中间继电器M0.0后

再串联定时器T39常闭触点和中间继电器输出线圈M0.0

第二部分

定时电路采用M0.0常开触点

控制并联的三个定时器T37 T38 T39

定时间分别为3s 6s 9s

第三部分

电动机启动置位电路程序

利用三个定时器的常开触点串联置位的输出线圈

三台电动机间隔三秒启动的工作过程是按下启动按钮SB1

线圈M0.0得电

三个定时器T37 T38 T39同时开始定时

T37的3s定时时间到后

其常开触点闭合

电动机M1启动

同理 T38 T39定时6s 9s时间到后

对应的定时器常开触点闭合

实现三台电动机的顺序启动运行

同时T39常闭触点断开

中间继电器线圈M0.0失电

停止子程序

也分三部分来编写

和启动子程序类似

分为停止的启保停电路

停止定时控制电路和电动机M1到M3的复位电路程序

停止的启保停电路

采用的是中间继电器M0.1

定时电路也是采用三个定时器分别是T40 T41 T42

来实现3s 6s 9s的定时

定时时间到后

采用复位指令

复位三台电机输出线圈

实现电动机顺序停止

三台电动机间隔三秒停止的工作过程和启动类似

大家可以自行分析

S7-200 SMART子程序的编写还有些注意事项

我们一块来看看

第一点是

PLC扫描一般只在主程序里扫描

只有在调用子程序条件接通时才会跳转到子程序内扫描

子程序不能调用就不会扫描

所以能节省程序的执行时间

提高了响应速度

第二点是

子程序会保留调用该子程序最后一个扫描周期

各个存储区的状态

这一点需要特别注意

第三点是

不同的子程序中允许出现相同的线圈

但不能同时调用

本讲到此结束

谢谢大家

电气控制技术与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控制程序举例

-小测验

子程序的编写与调用笔记与讨论

也许你还感兴趣的课程:

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