PLC:200smart(13-16章)

PLC:200smart

  • 第十三章
    • 2、带参子程序
    • 3、将子程序设置成库文件

第十三章

项目ValueValue
主程序MAIN一个项目只能有一个,循环扫描
子程序SBR_0项目中最多有128个,只有在调用时 才执行(子程序可以嵌套其他子程序,最多八层)
中断程序INT_0中断程序也可以像子程序一样写程序,最多128个,不会被调用,只能被中断事件触发

子程序的优点:
①优化主程序(方便调试);
②缩短PLC的扫描周期;
③可以项目移植,多次调用;

子程序是否带参是否有条件调用
子程序分类不带参子程序有条件调用
子程序分类带参子程序无条件调用

在这里插入图片描述

例:手自动转换,手动自动转换开关I0.7;(0手动,1自动
手动模式:按I0.0电动;
自动模式:按I0.0自锁,按I0.1停止;
主程序:
在这里插入图片描述
手动子程序:
在这里插入图片描述
自动子程序:
在这里插入图片描述

总结:
调用条件断开时,且没有扫描到最新的状态,子程序中的QMTC都会保持调用条件消失之前的状态(若想停下来,要在子程序中使用下降沿复位)
在这里插入图片描述

2、带参子程序

有管脚或引脚的子程序

创建带参子程序的步骤:

  • 创建子程序;
  • 创建变量表(子程序中);
  • 写子程序;
  • 主程序调用子程序;

局部变量子程序的专属变量

  • 全局变量VBVWVD等,不能重复地址;
  • 局部变量:子程序专用,每个子程序有56个字节(表示为LBLWLD等)

例:创建子程序
创建一个求长方体体积的子程序

①创建子程序;
②创建子程序的变量表:
在这里插入图片描述

  • 变量表位于视图——组件——变量表
  • 变量表中的变量类型
    • IN输入
    • OUT输出
    • IN_OUT中间变量(若将底面积设置成中间变量,在子程序和主程序的引脚都能看得到)
    • TEMP临时变量(若将底面积设置成临时变量,在主程序中使用时,管脚处就看不到底面积了)
  • 可以有多个输出,如质量、体积等;
  • 要想在子程序中使用到底面积,又不想在主程序中出现,可以将底面积的变量类型设置成临时变量TEMP

③写子程序
在这里插入图片描述

写完子程序后,可以在:项目——指令——调用子程序例程中找到并使用

④主程序调用子程序
在这里插入图片描述

3、将子程序设置成库文件

①将子程序设置成库文件,有助于以后的程序中可以使用,也可以发送给别人使用具体步骤如下:

项目——指令——库(右键)——创建库(可以给子程序设置一个合适的名称)——下一页——添加、下一页——(不设置密码)下一页——(设置子程序版本号)下一页——创建

②创建完成后,库文件对应的磁盘中就多了一个子程序,如何找到这个刚刚保存的库文件呢?

  • 项目——指令——库(右键)——打开库文件
  • 然后就能跳转到对应的路径,要是删除掉这里的库文件,那么对应的库指令就消失了,不能做到其他程序也是用(广而用之)

③如何使用创建的库指令:

项目——指令——库中就能找到
在这里插入图片描述

使用后项目——程序块,双击就能看到库文件对应的子程序了

例:不带参子程序:往返运动,可手动,可自动

具体要求:在手动模式下,可以右行,可以左行。
在自动模式下,按下启动,开始右行,碰到右限位,自动左行,碰到左限位,又开始右行,如此循环。
手自动转换使用的是Q0.7
在这里插入图片描述

主程序
在这里插入图片描述
手动子程序
在这里插入图片描述
自动子程序
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/206314.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经验分享】开发问题记录总结(持续更新)

目录 工具开发 界面类继承某自定义界面类时,出现布局混乱或者所有控件集中在左上角? 在继承自定义界面之后,以诸如 on_xxx_clicked() 模式设计的槽函数失效了? 使用pugi接口取出文本数据后,为什么该变量无法进行字符串比较&…

QT 项目中添加文件夹(分类文件)

为了更方便的整理项目的文件,添加文件夹把文件进行分类。 1.首先在项目文件中创建新的文件夹 2.把需要归类的文件放入新建的文件中 3.右键然后选择add..... 4.运行此程序,会报错因为文件路径改变了,需要在.pro中修改路径 注意事项 文件夹内部…

CSS之弹性盒子Flexible Box

我想大家在做布局的时候,没接触flex布局之前,大家都是用浮动来布局的,但现在我们接触了flex布局之后,我只能说:“真香”。让我为大家介绍一下弹性盒子模型吧! Flexible Box 弹性盒子 在我们使用弹性盒子时&…

【Docker】从零开始:11.Harbor搭建企业镜像仓库

【Docker】从零开始:11.Harbor搭建企业镜像仓库 1. Harbor介绍2. 软硬件要求(1). 硬件要求(2). 软件要求 3.Harbor优势4.Harbor的误区5.Harbor的几种安装方式6.在线安装(1).安装composer(2).配置内核参数,开启路由转发(3).下载安装包并解压(4).创建并修改配置文件(5…

如何在VS2022上的MFC项目中操作Excel(VS2010、VS2012、VS2015、VS2017、VS2019使用方法一样)

先决条件 本机安装office2003、2007、2010、2016及以后版本,总之必须安装office导入Excel库文件,导入方式可参考: 如何在vs2017及以前版本(vs2010、vs2015)上添加 添加类型库中的MFC类如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控…

Python面试破解:return和yield的细腻差别

更多Python学习内容:ipengtao.com 大家好,我是涛哥,今天为大家分享 Python面试破解:return和yield的细腻差别,全文3000字,阅读大约10钟。 在Python的函数编程中,return和yield是两个常用的关键词…

UEditor编辑器实现上传图片自动加水印功能PHP源码

UEditor编辑器是百度旗下的免费开源富文本编辑器,使用很方便,但是也有缺点,比如,上传图片不能自动添加水印,下边我们就来说说如何在UEditor编辑器中自动实现上传图片添加水印功能,操作很简单。 首先找到UEditor/PHP目录下的Uploader.class.php的文件,打开该文件,找到以…

Java高级技术(单元测试)

一,概括 二,junit 三,案例 (1),实验类 package com.bilibili;public class Name {public static void main(String name) {if (name null){System.out.println("0");return;}System.out.print…

Java(七)(Lambda表达式,正则表达式,集合(Collection,Collection的遍历方式))

目录 Lambda表达式 省略写法(要看懂) 正则表达式 语法 案例 正则表达式的搜索替换和分割内容 集合进阶 集合体系结构 Collection Collection的遍历方式 迭代器 增强for循环 Lambda表达式遍历Collection List集合 ArrayList LinkedList 哈希值 HashSet底层原理 …

2023 BUCT 计算方法实验报告

前言 Textlive版本:2023 textstudio版本:4.6.3 名字和日期在以下地方修改: 图片下载地址; figures.zip LiangCha_Xyy/Source - Gitee.com 如下图,.tex文件和figures文件夹放在同一路径下即可 .tex代码 \documentclass[UTF8]{ctexart} \usep…

软件测试编写文档模板【附文档模板】

一、测试岗位必备的文档 在一个常规的软件测试流程中,会涉及到测试计划、测试方案、测试用例、测试报告的编写,这些文档也是软件测试岗位必须掌握的文档类型。 1、测试计划 测试计划是组织管理层面的文件,从组织管理的角度对一次测试活动进…

Hive内置表生成函数

Hive内置UDTF 1、UDF、UDAF、UDTF简介2、Hive内置UDTF 1、UDF、UDAF、UDTF简介 在Hive中,所有的运算符和用户定义函数,包括用户定义的和内置的,统称为UDF(User-Defined Functions)。如下图所示: UDF官方文档…

揭示堆叠自动编码器的强大功能 - 最新深度学习技术

简介 在不断发展的人工智能和机器学习领域,深度学习技术由于其处理复杂和高维数据的能力而获得了巨大的普及。在各种深度学习模型中,堆叠自动编码器[1]作为一种多功能且强大的工具脱颖而出,用于特征学习、降维和数据表示。本文探讨了堆叠式自…

51单片机蜂鸣器发出悦耳的声音

51单片机蜂鸣器发出悦耳的声音 1.概述 这篇文章介绍单片机控制蜂鸣器入门小实验,通过该实验掌握蜂鸣器发声的原理,控制声音发出我们想听的音乐。 2.蜂鸣器发声 2.1.硬件原理 1.蜂鸣器正极接单片机20号引脚VCC,负极接19号引脚P1.7 2.20MH…

【前端开发】Next.js与Nest.js之间的差异2023

在快节奏的网络开发领域,JavaScript已成为构建可靠且引人入胜的在线应用程序的标准语言。然而,随着对适应性强、高效的在线服务的需求不断增加,开发人员通常不得不从广泛的库和框架中进行选择,以满足其项目的要求。Next.js和Nest.…

计算机毕业设计 基于Hadoop的物品租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

适用于电脑的5个免费文件恢复软件分享

适用于电脑的最佳免费文件恢复软件 任何计算机用户都可能经历过丢失重要文件的恐惧。重要数据的丢失可能会令人不安和沮丧,无论是由于不小心删除、计算机故障还是硬盘格式化造成的。幸运的是,在数字时代,您可以使用值得信赖的解决方案检索这些…

ELK+filebeat+kafka实现日志收集

ELKfilebeatkafka远程收集不同主机上的httpd、mysql 日志实验 实验目的:远程收集日志,高并发情况下流量削峰,异步通信 实验条件: 主机名 IP地址 作用 组件 硬件 集群 test1 20.0.0.10 异步通信 流量削峰 …… zookeeperk…

python循环语句和函数

1.使用for循环打印9*9乘法表 for i in range(1, 10):for j in range(1, i1):print(i, "*", j, "", i*j, end"\t")print()结果&#xff1a; 2.使用while循环打印9*9乘法表 i 1 while i < 10:j 1while j < i1:print(i, "*", j…

笔记(三)maxflow push relabel与图像分割

笔记&#xff08;三&#xff09;maxflow push relabel与图像分割 1. Push-Relabel算法思想2.Push-Relabel算法原理示意图3.Push-Relabel算法具体实例4. push relabel与图割 1. Push-Relabel算法思想 对于一个网络流图: 该算法直观可以这样理解&#xff0c;先在源节点处加入充足…