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
在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【vue实战项目】通用管理系统:信息列表,信息录入

本文为博主的vue实战小项目系列中的第六篇,很适合后端或者才入门的小伙伴看,一个前端项目从0到1的保姆级教学。前面的内容: 【vue实战项目】通用管理系统:登录页-CSDN博客 【vue实战项目】通用管理系统:封装token操作…

JDK 动态代理从入门到掌握

快速入门 本文介绍 JDK 实现的动态代理及其原理,通过 ProxyGenerator 生成的动态代理类字节码文件 环境要求 要求原因JDK 8 及以下在 JDK 9 之后无法使用直接调用 ProxyGenerator 中的方法,不便于将动态代理类对应的字节码文件输出lombok为了使用 Sne…

Linux:docker的网络通信(7)

1.端口映射 端口映射---端口映射机制将容器内的服务提供给外部网络访问 启动容器时,不指定对应的端口,在容器外无法通过网络访问容器内的服务 可随机或指定映射端口范围 -P ---------大写P,开启随机端口 -p 宿主机端口:容器端口…

【java扫盲贴】final修饰变量

引用类型:地址不可变 //Java中的引用类型分为类(class)、接口(interface)、数组(array)和枚举(enum)。//string是特殊的引用类型,他的底层是被final修饰的字…

Python下利用Selenium获取动态页面数据

利用python爬取网站数据非常便捷,效率非常高,但是常用的一般都是使用BeautifSoup、requests搭配组合抓取静态页面(即网页上显示的数据都可以在html源码中找到,而不是网站通过js或者ajax异步加载的),这种类型…

【排序,直接插入排序 折半插入排序 希尔插入排序】

文章目录 排序排序方法的分类插入排序直接插入排序折半插入排序希尔插入排序 排序 将一组杂乱无章的数据按照一定规律排列起来。将无序序列排成一个有序序列。 排序方法的分类 储存介质: 内部排序:数据量不大,数据在内存,无需…

学习笔记-接口测试(postman、jmeter)

一、什么是接口测试 通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。 w…

一文讲透Python函数中的局部变量和全局变量

变量的作用域就是变量能够发挥作用的区域,超出既定区域后就无法发挥作用。根据变量的作用域可以将变量分为局部变量和全局变量。 1.局部变量 局部变量是在函数内部定义并使用的变量,也就是说只有在函数内部,在函数运行时才会有效&#xff0…

Flask SocketIO 实现动态绘图

Flask-SocketIO 是基于 Flask 的一个扩展,用于简化在 Flask 应用中集成 WebSocket 功能。WebSocket 是一种在客户端和服务器之间实现实时双向通信的协议,常用于实现实时性要求较高的应用,如聊天应用、实时通知等,使得开发者可以更…

#zookeeper集群+kafka集群

kafka3.0之前是依赖于zookeeper的。 zookeeper是开源,分布式的架构。提供协调服务(Apache项目) 基于观察者模式涉及的分布式服务管理架构。 存储和管理数据。分布式节点上的服务接受观察者的注册。一旦分布式节点上的数据发生变化&#xf…

【Linux学习】文件描述符重定向缓冲区

目录 九.文件描述符 9.1 文件描述符概念 9.2 文件描述符的分配规则 9.3 重定向 9.3.1 常见的重定向操作 9.3.2 重定向的原理 9.4 缓冲区 9.4.1 缓冲区概念 9.4.2 缓冲区刷新策略 9.4.3 C语言的缓冲区在哪里? 九.文件描述符 9.1 文件描述符概念 在上一篇讲到基础IO时,我们说到…

Java项目学生管理系统二查询所有

学生管理 近年来,Java作为一门广泛应用于后端开发的编程语言,具备了广泛的应用领域和丰富的开发资源。在前几天的博客中,我们探讨了如何搭建前后端环境,为接下来的开发工作打下了坚实的基础。今天,我们将进一步扩展我…

10.0 输入输出 I/O

IO操作主要是指使用Java程序完成输入(Input)、输出(Output)操作。所谓输入是指将文件内容以数据流的形式读取到内存中,输出是指通过Java程序将内存中的数据写入到文件中,输入、输出操作在实际开发中应用较为…

Rust UI开发(5):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第五篇,前四篇链接: 1、Rust UI开发(一):使用iced构建UI时…

Springboot+vue的客户关系管理系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的客户关系管理系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的客户关系管理系统,采用M&#xff08…

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 << …

C++基础——文件操作

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

2000-2021年各省人口密度数据

2000-2021年各省人口密度数据 1、时间&#xff1a;2000-2021年 2、指标&#xff1a;地区、年份、年末常住总人口(万人&#xff09;、面积&#xff08;平方千米&#xff09;、人口密度&#xff08;人/平方千米&#xff09; 3、来源&#xff1a;各省年鉴、统计年鉴、各省统计局…

File类

File 概述 File: 路径 IO流: 传输 路径 相对路径, 绝对路径 File File对象就表示一个路径&#xff0c;可以是文件的路径、也可以是文件夹的路径这个路径可以是存在的&#xff0c;也允许是不存在的 构造方法 代码示例: package FileTest1;import java.io.File;public c…

Verilog 入门(四)(门电平模型化)

文章目录 内置基本门多输入门简单示例 内置基本门 Verilog HDL 中提供下列内置基本门&#xff1a; 多输入门 and&#xff0c;nand&#xff0c;or&#xff0c;nor&#xff0c;xor&#xff0c;xnor 多输出门 buf&#xff0c;not 三态门上拉、下拉电阻MOS 开关双向开关 门级逻辑…