直播课堂
HOME
直播课堂
正文内容
plc编程程序调用 子程序调用该怎么操作?这份PLC案例教会你
发布时间 : 2025-06-25
作者 : 小编
访问数量 : 23
扫码分享至微信

子程序调用该怎么操作?这份PLC案例教会你

今天我们以三菱PLC为例,学习一下什么是子程序。

一套程序可以分为主程序区,还有子程序区,中断程序区等等,主程序区的程序是无时无刻都会扫描执行的,而子程序还有中断程序就必须触发某些条件,子程序才会执行。

那么问题来了,为什么不在主程序里面,加一个常开触点,触点闭合时就执行相应的程序段,这样不是也能够达到一样的效果么?为什么要出现子程序这样的东西呢?

那是由于PLC的扫描周期引起的,PLC运行的速度,也就是扫描周期,受到I/O数量、通讯、还有程序的大小限制。单独谈论程序大小,扫描的程序越多,扫描周期越长。下面我们拿三菱FX3U-16MT这款plc做了测试。

如上图,监控PLC的2个特殊寄存器,D8011是扫描程序的最短时间,D8012是扫描程序的最长时间,底下是程序的步数,没有写程序时,扫描周期平均需要5ms,随着程序增加,扫描周期不断变长;到16000步时,平均的扫描周期达到了25ms。由此可见减少扫描程序的必要性,下面我们来看一下,子程序的具体使用方法。

这段程序分为主程序区和P0子程序两个部分,从程序第一行开始到FEND指令,这些都是主程序,FEND是主程序的结束标志。左边的P0编号到SRET子程序结束指令,这是每一段完整的子程序必有的内容。

该程序中,当M2常开触点触发CALL P0指令时,P0子程序区的程序才能够执行,这时可以触发M1常开触点,Y4线圈会导通;这时有一个需要非常注意的点,在触发Y4的时候,断开M2,也就是停下P0子程序的运行,Y4会保持输出的状态,就算这时M1断开了,Y4也保持输出。除非再次触发P0子程序检测到M1断开了,Y4才会断开。

子程序的调用除了普通的用法,还可以多层嵌套,如下图:

通过X001调用子程序P11,运行P11时,通过触发X2按钮,调用P12子程序。这样的写法最多支持5层的嵌套。

那么,子程序一般用在哪里呢?比如下面一条传送带,有很多个工艺,假如其中有一些工艺有些人需要,有一些人不需要,那么,就可以采用子程序的用法,在需要时我们就调用相应的工艺程序,不需要时,就不调用

比如下面的一个分检机构,通过前面的感应器区分大中小部件,然后把部件放到相应的箱子里面,这时候我们也可以使用子程序调用,分别把大中小部件分别写一段子程序。检测到对应的部件时就调用相应的子程序。

再比如下面这个项目,按下按钮第1、2、3下分别执行不同的控制,我们可以调用不同的子程序进行控制,这题目里面还有用到的知识点还有左循环指令,计数器、位组合元件等用法。

(本文为技成原创, 作者:陈育鑫,未经授权不得转载,违者必究!)

往期优秀文章回顾:

WinCC通讯的案例讲解,图文都有

PLC案例详解子程序调用,图文并茂,太实用啦

今天我们以三菱PLC为例,学习一下什么是子程序。

一套程序可以分为主程序区,还有子程序区,中断程序区等等,主程序区的程序是无时无刻都会扫描执行的,而子程序还有中断程序就必须触发某些条件,子程序才会执行。

那么问题来了,为什么不在主程序里面,加一个常开触点,触点闭合时就执行相应的程序段,这样不是也能够达到一样的效果么?为什么要出现子程序这样的东西呢?

那是由于PLC的扫描周期引起的,PLC运行的速度,也就是扫描周期,受到I/O数量、通讯、还有程序的大小限制。单独谈论程序大小,扫描的程序越多,扫描周期越长。下面我们拿三菱FX3U-16MT这款plc做了测试。

如上图,监控PLC的2个特殊寄存器,D8011是扫描程序的最短时间,D8012是扫描程序的最长时间,底下是程序的步数,没有写程序时,扫描周期平均需要5ms,随着程序增加,扫描周期不断变长;到16000步时,平均的扫描周期达到了25ms。由此可见减少扫描程序的必要性,下面我们来看一下,子程序的具体使用方法。

这段程序分为主程序区和P0子程序两个部分,从程序第一行开始到FEND指令,这些都是主程序,FEND是主程序的结束标志。左边的P0编号到SRET子程序结束指令,这是每一段完整的子程序必有的内容。

该程序中,当M2常开触点触发CALL P0指令时,P0子程序区的程序才能够执行,这时可以触发M1常开触点,Y4线圈会导通;这时有一个需要非常注意的点,在触发Y4的时候,断开M2,也就是停下P0子程序的运行,Y4会保持输出的状态,就算这时M1断开了,Y4也保持输出。除非再次触发P0子程序检测到M1断开了,Y4才会断开。

子程序的调用除了普通的用法,还可以多层嵌套,如下图:

通过X001调用子程序P11,运行P11时,通过触发X2按钮,调用P12子程序。这样的写法最多支持5层的嵌套。

那么,子程序一般用在哪里呢?比如下面一条传送带,有很多个工艺,假如其中有一些工艺有些人需要,有一些人不需要,那么,就可以采用子程序的用法,在需要时我们就调用相应的工艺程序,不需要时,就不调用

比如下面的一个分检机构,通过前面的感应器区分大中小部件,然后把部件放到相应的箱子里面,这时候我们也可以使用子程序调用,分别把大中小部件分别写一段子程序。检测到对应的部件时就调用相应的子程序。

再比如下面这个项目,按下按钮第1、2、3下分别执行不同的控制,我们可以调用不同的子程序进行控制,这题目里面还有用到的知识点还有左循环指令,计数器、位组合元件等用法。

(本文为技成原创, 作者:陈育鑫,未经授权不得转载,违者必究!)

往期优秀文章回顾:

WinCC通讯的案例讲解,图文都有

相关问答

plc各个模块怎么相互调用?

PLC各个模块调用时必须加入模块名,才可调用。而且前提是,不要把过程设置成PRIVATE。如果不加模块名,优先调用本模块内过程。如果本模块没有,则调用其他模块内...

plc怎么看主程序里面调用没调用块?

在PLC主程序中,要查看某个块是否被调用,可以通过以下步骤进行检查。首先,打开PLC编程软件,并加载主程序。然后,浏览主程序的各个部分,查找是否存在对目标...

怎样使用西门子S7-300编程读取PLC程序?

如果你的是普通的PC机(含有串口),那么要有一根MPI通信电缆,普通的电缆是不行的,最好用西门子原装的(大概一千多),国产的也可以就是不可靠(几百),连接...如果...

plc怎么刷程序?

PLC的程序刷新可以通过以下步骤进行:1.首先,确保你有PLC的编程软件和相应的通信线缆。2.将PLC和电脑通过通信线缆连接起来。通常来说,PLC的通信端口是一个...

西门子PLC如何在主程序,写入调用子程序的命令?

你既然说主程序和子程序,通常就是指西门子200PLC中,我就以Micro/Win软件的操作来说明一下。如下图:当你建立一个子程序后,该子程序会出现在“调用子程序”...

如何读写PLC程序?

读写PLC程序需要使用相应的编程工具和软件,具体步骤如下:1.选择合适的编程工具:根据PLC品牌和型号选择相应的编程工具。不同的PLC品牌和型号有不同的编程工...

西门子s7-300在用step7在线编程时,怎么在线读起plc内部的程序?

左上角有个在线,你可以看到所以的程序块及数据块,双击打开就可以在线看了~左上角有个在线,你可以看到所以的程序块及数据块,双击打开就可以在线看了~

plc检测程序及流程?

PLC检测程序及流程可以分为以下几个步骤:1.确定检测目标:确定需要检测的PLC设备或系统,以及需要检测的问题或故障。2.准备检测工具:根据检测目标选择相应...

温度传感器plc程序怎么写?

需要的材料1.温度传感器2.西门子PLC3.西门子模拟量模块,模块的量程要与你的温度传感器对应上。程序S7-200PLC模拟量对应数字量0-32000smart200对应0...

富士plc怎样读取程序?

不管是什么PLC读取PLC程序的方法基本都一样。第一步:在电脑上安装与PLC对应的编程软件(一般买PLC时就随机带光盘,没有就网上下载)第二步:要有该PLC对应的...

 集成烹饪中心  竹艺村 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部