课程中心
HOME
课程中心
正文内容
plc编程call 三菱PLC子程序调用指令CALL解说
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

三菱PLC子程序调用指令CALL解说

三菱PLC调用子程序指令功能解说

1、 指令 CALL

2、 功能和动作说明

当指令输入为ON时,执行CALL指令,向指针 P 标记的步跳转。用FEND结束主程序。

接着,执行标记的子程序。子程序执行完毕后,执行SERT指令,返回到CALL指令的下一步。

解释,子程序调用指令中的子程序,如果不执行CALL指令,在工作中是不接通的。哪怕是所有条件满足了,所有的输入都闭合了,也是不会输出的。只有当你执行CALL指令后。用指针 P表示(例如 P0)。P后面的常数,要跟 CALL指令设定的P后面的程序要对应的上。例如: CALL P0 。后面的想调用的子程序的指针也要写成 P0 。子程序的写法是指针P 后面开始就是子程序了,写了子程序后。需要用 SERT 来结束子程序。如果不用的话,会导致系统无法识别。子程序有多少,到哪里结束。导致程序出错误。子程序运行完毕后,执行SERT后,返回主程序。

子程序调用该怎么操作?这份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中call怎么输入?

在PLC中,您可以使用以下步骤来输入CALL指令:打开PLC编程软件,例如SoftMaster、Codesys等。在编程软件中选择您要使用的PLC型号和编程语言,例如ST、LD等。...

三菱plcecall指令使用?

在三菱PLC中,可以使用CALL指令来调用子程序。首先需要定义子程序的名称和位置,然后使用CALL指令将子程序调用到主程序中。调用完成后,PLC将执行子程序中的指...

plc如何新建子程序?

主程序放在子程序前面,主程序以FEND结束,FEND之后就可以编写子程序了,如果使用WPLsoft编程,子程序开始给出地址指针就可以了,比如:主程序CALLP1CALLP2...

1200plc主程序怎么写?

编写1200PLC主程序的具体步骤如下:创建一个新的PLC项目,并在项目中创建一个主程序块。在主程序块中定义输入和输出变量。这些变量将用于与外部设备进行通信...

cj指令和call指令区别?

..在同一个扫描周期里,如果是往后跳转,那么就相当于把这一段主程序去掉了一段。如果往前跳转,就相当于同一段主程序多次地执行了。相当于改变了主程序的内容...

三菱PLCCALL调用子程序的使用方法?

在三菱PLC中,可以使用CALL指令来调用子程序。首先需要定义子程序的名称和位置,然后使用CALL指令将子程序调用到主程序中。调用完成后,PLC将执行子程序中的指...

西门子s7-200程序中怎么从子程序跳转到主程序,谢谢_齐家装修...

m0.0得电程序在进入子程序之后,下个周期开始为1.执行子程序调用后复位。CALL语句。反馈信号是不需要PID转换控制的。反馈信号会接入PID子程序块里...

伺服电机调零汇编语言程序设计?

比如:CWEQUP1.0CCWEQUP1.1SVONEQUP1.2KEYEQUP1.3ORG0000HSJMPSTAORG0030HSTA:CLREASETBSVO...

凯恩帝润滑油时间数字怎么输入不进?

要修改系统参数或者PLC参数,必须先打开参数开关或程序开关,然后选择录入方式才可以修改要修改系统参数或者PLC参数,必须先打开参数开关或程序开关,然后选择录...

plc200常用的指令?

西门子S7-200PLC是可编程逻辑控制器的一种,广泛应用于工业控制领域。以下是S7-200PLC常用的指令:LD:逻辑“与”指令,用于将两个触点进行串联,形成逻辑“与...

 自然堂是哪国的  格罗娅 萨莫维尔 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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