PLC:200smart(13-16章)

news2024/11/16 5:52:13

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.coloradmin.cn/o/1272191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

广州华锐视点:基于VR元宇宙技术开展法律法规常识在线教学,打破地域和时间限制

随着科技的飞速发展,人类社会正逐渐迈向一个全新的时代——元宇宙。元宇宙是一个虚拟的、数字化的世界,它将现实世界与数字世界紧密相连,为人们提供了一个全新的交流、学习和娱乐平台。在这个充满无限可能的元宇宙中,法律知识同样…

构建个人代理池:使用GitHub项目proxy_pool的搭建配置及代码接口详解

手把手教你搭建代理IP池: 项目简介: ​ 爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库,定时验证入库的代理保证代理的可用性,提供API和CLI两种使用方式。同时你也可以扩展代理源以增加代理池IP的质量和数量。…

分治法之归并排序

思路: 将待排序数组分成两个子数组,计算中间位置mid。对左半部分进行递归排序,得到一个有序的子数组。对右半部分进行递归排序,得到另一个有序的子数组。合并两个有序的子数组,得到一个完整的有序数组。 示例图: 代码: #include&…

WPF绘制进度条(弧形,圆形,异形)

前言 WPF里面圆形进度条实现还比较麻烦,主要涉及到的就是动态绘制进度条的进度需要用到简单的数学算法。其实原理比较简单,我们需要的是话两条重叠的弧线,里面的弧线要比里面的弧线要宽,这样简单的雏形就出来了。 基础写法 我们可以用Path来绘制弧线,代码如下: <Gr…

Linux:服务器管理工具宝塔(bt)安装教程

一、简介 bt宝塔Linux面板是提升运维效率的服务器管理软件&#xff0c;支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等多项服务的管理功能 二、安装 使用 SSH 连接工具&#xff0c;如堡塔SSH终端连接到您的 Linux 服务器后&#xff0c;挂载磁盘&#xff0c;根据系统执…

C++基础——文件操作

文章目录 1 概述2 文本文件2.1 写文件2.1.1 写文件流程2.1.2 文件打开方式 2.2 读文件 3 二进制文件3.1 写文件3.2 读文件 1 概述 程序最基本的操作之一就是文件操作&#xff0c;程序运行时的数据都是临时数据&#xff0c;当程序结束后就不复存在了。通常都是通过文件或其他持…

酷狗音乐app 评论signature

文章目录 声明目标加密参数定位翻页逻辑代码实现 声明 本文章中所有内容仅供学习交流&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请私信我立即删除&#xff01; 目标 复制curl转python # -*- c…

SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语句详解

SQL SELECT INTO 语句 SELECT INTO 语句将数据从一个表复制到一个新表中。 SELECT INTO 语法 将所有列复制到新表中&#xff1a; SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition;只复制一些列到新表中&#xff1a; SELECT column1, column2, colu…

MySQL三大日志详细总结(redo log undo log binlog)

MySQL日志 包括事务日志&#xff08;redolog undolog&#xff09;慢查询日志&#xff0c;通用查询日志&#xff0c;二进制日志&#xff08;binlog&#xff09; 最为重要的就是binlog&#xff08;归档日志&#xff09;事务日志redolog&#xff08;重做日志&#xff09;undolog…

数据结构(超详细讲解!!)第二十六节 图(上)

1.基本概念 图&#xff08;Graph&#xff09;是一种较线性表和树更为复杂的非线性结构。是对结点的前趋和后继个数不加限制的数据结构&#xff0c;用来描述元素之间“多对多”的关系(即结点之间的关系是任意的)。 一个图G &#xff08;V&#xff0c;E&#xff09;由顶点&…

从谷歌搜索结果出现 AI 生成的图片谈起:AI的利与弊

随着人工智能&#xff08;AI&#xff09;的不断发展&#xff0c;其应用领域也越来越广泛。谷歌搜索是现代人日常生活中的一个常用工具&#xff0c;经常用于获取各种信息。最近&#xff0c;谷歌搜索结果中甚至出现了由AI生成的图片&#xff0c;这引发了人们对AI技术的讨论。 首…

CentOS7搭建Kubernetes集群

环境准备&#xff1a;配置好静态IP地址的Centos7&#xff08;2核、master内存3GB、slave内存2GB&#xff09;。 搭建概述&#xff1a;先将一台虚拟机搭建为master、随后克隆出两台虚拟机作为从节点。 虚拟机主机名和IP地址&#xff1a; 主机名IP地址master192.168.138.110sl…

vue3高德地图使用,地址搜索,地址逆解析

在vue3项目里使用高德地图 高德地图文档 先在项目的index.html页面里添加一些东西 <script type"text/javascript">window._AMapSecurityConfig {securityJsCode: "xxxxxxxxxxxxx", //高德安全码};</script> <script src"https://…

Ubuntu Server 20.04.6安装Anaconda3

下载安装包 去下面的网页找到自己想要安装的对应版本的链接&#xff1a; https://repo.anaconda.com/archive/ 我安装的版本链接如下&#xff1a; https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh 复制这个链接后使用如下命令下载&#xff1a; wget …

外汇天眼:在QOINTEC投资需缴纳分成费才给出金?这合理么?

一般来说&#xff0c;在正规的平台上申请出金是不需要缴纳什么费用的&#xff0c;除非有一些特殊情况&#xff0c;像低额出金、没有交易就申请出金等情况下&#xff0c;或许会让你缴纳一定的手续费或者隔夜利息费等&#xff08;不同的平台有不同的规则&#xff09;&#xff0c;…

python爬取robomaster论坛数据,作为后端数据

一. 内容简介 python爬取robomaster论坛数据&#xff0c;作为后端数据 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3代码 三.主要流程 3.1 接口分析 # 接口分析 # 全部数据 # https://bbs.robomaster.com/forum.php?modforumdisplay&fid63 2…

LLM 分布式训练框架 | DeepSpeed与Accelerate

&#x1f680; 简单记录下根据网上资料&#xff08;如Reference中所列&#xff09;所学到的一些知识&#xff0c;这里主要介绍的是deepspeed分布式训练框架相关概念。 &#x1f604;小日记&#xff1a;今天太舒服了&#xff0c;早上跑了6km&#xff0c;晚上吃了养生菌菇火锅~ …

分布编译和注释

文章目录 分布编译预处理编译汇编链接 注释单行注释多行注释预处理注释 总结 分布编译 上一节使用 gcc main.c就生成了a.exe的可执行文件&#xff0c;提到了将main.c文件生成a.exe实际上执行了以下四步&#xff1a; 预处理编译汇编链接   每一步都有单独的指令&#xff0c;而…

C++学习之继承中修改成员权限细节

看看下面的代码 这是错误的 class A { public:int x 10; }; class B :public A {using A::x;int x 100; };看看函数 class A { public:void fun(){cout << "uuuu" << endl;} }; class B :public A { public:using A::fun;void fun(){cout << …

每天学习一点点之 MySQL TINYINT

我已经不是第一次遇到关于 TINYINT 的问题了。在 MySQL 中&#xff0c;当我们将某个字段设置为 TINYINT&#xff0c;随着业务的扩展&#xff0c;我们可能会发现 TINYINT 的范围无法满足需求。这时需要修改字段属性。但如果表的数据量很大&#xff0c;或者由于分表导致涉及的表数…