研选课堂
HOME
研选课堂
正文内容
plc编程调用文件 PLC案例详解子程序调用,图文并茂,太实用啦
发布时间 : 2025-02-24
作者 : 小编
访问数量 : 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通讯的案例讲解,图文都有

S7-200SMART PLC带参数子程序

更多精彩,点击关注“PLC发烧友

回复:西门子全套 ,领取西门子全系列电子资料包

在S7-200SMART系列PLC的子程序中,子程序可以分为两类,一类为不带参数的子程序,另一类为带参数的子程序,使用带参数的子程序可以进行重复调用或做成功能块方便要以后使用。

子程序可带参数,带参数的子程序调用极大地扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程中如果存在数据传递,则在调用值中应包含相应的参数。子程序最多可以传递16个参数,参数在子程序的局部变量表中定义,参数句含右变量名.变最类型和数据类型,创建库文件与带参数子程序这两个功能该如何使用呢?本次以鸿庆家园为例给大家实际操作一下。

一、组态与编写程序

第一步:(创建变量表)

地址:在子程序中编写程序的时候的操作是地址,使用局部变量存储器,该地址系统根据所选数据类型自动分配。

符号:用户命名的,最多用23个字符表示,第一个字符不能是数字,该名称会显示在子程序的管教上。

数据类型:用于对每个变量的数据类型进行声明,系统会根据声明的数据类型分配对应的地址。

第二步:(在子程序编写程序)

第三步:(右击选择创建库)

第四步:(在主程序调用库文件)

二、下载运行

第一步:(下载到PLC)

第二步:(监控程序,M0.0=1时启动激活Q0.0-Q0.7输出)

来源:PLC发烧友,作者:技成-徐陈爽,未经授权不得转载。留言处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。

回复:西门子全套 ,领取西门子全系列电子资料包

相关问答

plc中怎么调用字符串?

在PLC编程中,要调用字符串,需要使用字符串变量及其相应的操作。在SiemensPLC中,可以使用S7-1200或S7-1500系列PLC,使用TIAPortal编程软件进...

PLC中子程序怎么调用?

GUI程序的一般模式是:主线程负责用户输入和界面显示,其他需要长时间执行的任务都放到后台线程去。CUI程序并不一定要按这个模式设计,但业界实践已经证明,...

plc程序怎样用电脑写入与读取?

PLC程序可以使用专门的软件工具在电脑上进行编写和读取。1.写入PLC程序:首先需要在电脑上安装相应的PLC编程软件,如SiemensStep7、RockwellRSLogix5000等.....

plc怎么查看fc块调用没调用?

1.可以通过查看PLC程序中的调用关系来确定FC块是否被调用。2.在PLC程序中,FC块通常被其他块(如OB块、FC块、FB块)调用。可以通过查看这些块之间的调用关系来...

发那科机器人如何通过plc程序调用?

发那科机器人可以通过PLC程序进行调用,实现机器人的自动化控制。具体的实现方式如下:首先,需要在PLC程序中定义机器人的启动、停止、急停等控制信号,以及机器...

gxdeveloper如何读取plc里的程序?

使用GXDeveloper读取PLC中的程序,首先需要连接计算机和PLC,确保通讯正常。打开GXDeveloper软件,选择“项目”菜单中的“打开”,并选择“从PLC读取”,然后...

A系列plc如何读取程序?

根据1,我来回答你的问题。?A系列plc读取程序有固定的步骤和方法。首先,A系列plc在电源供应正常的情况下,通过开关控制系统的总电源,确保PLC系统能够正常工作...

博途v15如何读取PLC程序?

要读取PLC程序,需要进行以下步骤:1.打开博途v15软件,并连接到PLC。这可以通过在软件中选择PLC型号和通信端口来完成。2.选择“PLC程序”选项卡,然后选择...

plc如何读取abbacs800的故障代码及运行数据?

要读取ABBACS800的故障代码和运行数据,您可以使用PLC与ACS800之间的通信协议,如Modbus或Profibus。首先,您需要配置PLC的通信模块,并确保与ACS800建立通信连...

plc读取变频器数据要写程序吗?

是的,要读取变频器数据,通常需要编写一个程序。这个程序可以根据特定的通信协议通过PLC与变频器进行通信,并读取变频器中的数据,如频率、电流、温度等。程序...

 一年期综合意外险  今生你做伴 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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