PLC_博图系列☞参数实例

头图

PLC_博图系列☞参数实例

文章目录

  • PLC_博图系列☞参数实例
    • 背景介绍
    • 参数实例
    • 参数实例的工作原理
    • 创建参数实例
    • 将实例作为参数传送

关键字: PLC西门子博图Siemens 参数实例

背景介绍

这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC编程人员,也不懂电路,所以如果你希望从这里学习PLC编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞关注我❥(^_-)。

参数实例

在PLC编程中,"参数实例"是一个重要的概念。它是指将函数块的实例作为输入输出参数 (InOut) 传送到另一数据块中。这个数据块可以访问已传送实例中的数据或调用关联函数块。

参数实例的优势在于:

  • 在运行过程中,可以定义当前使用的实例。
  • 在程序循环中,可以通过迭代方式处理不同的实例。

注意,参数实例数据位于调用块的“InOut”区域中。

为了更好地理解这个概念,我们可以将其与"单个实例"和"多重实例"进行比较:

  • 单个实例:被调用的函数块将数据保存在自已的背景数据块中。使用单实例具有以下优势:函数块可重用,适用于简单程序的完美结构。但是,如果重复调用会导致大量数据块,不方便管理²。
  • 多重实例:被调用函数块不会将数据保存在自已的背景数据块中,而是保存在另一函数块的实例中。使用多重实例具有以下优势:适用于复杂块的完美结构,背景数据块的数量较少,轻松编写本地子程序,如本地定时器或边沿评估等。注意,多重实例数据位于调用块的“Static”区域中。

定义

参数实例是一种特殊的实例化方式:

在运行过程中,可以将待使用的块实例作为 in-out 参数 (InOut) 传送到调用块中。

优势

使用参数实例具有以下优势:

  • 在运行过程中,可定义当前使用的实例。

  • 在程序循环中,可通过迭代方式处理不同的实例。

说明

ARRAY 实例

要简化程序循环中实例的迭代处理过程,可定义一个 ARRAY 实例。

  • 数据类型为“DB_ANY”的 ARRAY

  • 多重实例 ARRAY

参数实例的工作原理

下图显示了“Caller”,正使用另一函数块(“Valve”)。“Valve”的实例将作为参数实例进行传递。为此,需定义一个 in-out 参数((“#valveInstance”)),用于在运行期间传送该特定实例。

image-20240214222947783

创建参数实例

参数实例在调用函数块时定义。调用函数块时,可在显示的对话框中指定将该函数块作为单实例、多重实例或参数实例进行调用。此外,也可以在块接口中直接手动输入参数实例。

下图显示了函数块“Valve”的参数实例调用:

image-20240214223202541

将实例作为参数传送

每次调用较高级别函数块时(本示例中为“Caller”),将为被调用函数块传送一个实例(本示例为“Valve”)。可传送以下类型的实例:

  • 单实例

    传送被调用函数块的现有背景数据块。

  • 多重实例

    传送被调用函数块现有的多重实例。

  • 多重实例 ARRAY 的各个元素

    传送多重实例现有 ARRAY 的元素。

  • 数据类型为“DB_ANY”的变量 (S7-1200 >= V4.2 / S7-1500 >= V2.0)

    将数据类型为“DB_Any”的变量传送到运行期间所分配的相应实例处。
    请注意,“指令”(Instructions) 任务卡中的系统块实例不支持这种参数传递方式。

下图显示了函数块“Caller”的调用。通过“valveInstance”参数,传送实例“#currValve”。在运行期间,将通过 #currValve 参数处未决的实例调用“Valve”。

image-20240214223331265

在 S7-1200/S7-1500 系列的 CPU 中,也可将位于另一函数块的背景数据块中的实例作为参数传送。

在以下示例中,所传递的实例位于背景数据块“MyOtherIDB”中 (S7-1200/S7-1500):

image-20240214223454860

在以下示例中,所传递的实例位于背景数据块“MyOtherIDB”的 ARRAY of multi-instances 中 (S7-1200/S7-1500):

image-20240214223521954

在以下示例中,从数据类型为“DB_ANY”的 ARRAY 中传送来的实例位于全局数据块“DB_ValveInstances”中:

image-20240214223552079


博客签名2021

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

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

相关文章

C++重新入门-字符串

C 提供了以下两种类型的字符串表示形式: C 风格字符串C 引入的 string 类类型 1.C 风格字符串 C 风格字符串是使用字符数组来表示的,以空字符 \0 结尾。它们通常被称为 "C-style strings"。例如: char str[] "Hello"…

掌握Go的加密技术:crypto/rsa库的高效使用指南

掌握Go的加密技术:crypto/rsa库的高效使用指南 引言crypto/rsa 库概览RSA 加密算法基本原理crypto/rsa 库的功能和应用 安装和基本设置在 Go 项目中引入 crypto/rsa 库基本环境设置和配置 密钥生成与管理生成 RSA 密钥对密钥存储和管理 加密和解密操作使用 RSA 加密…

JAVAWEB入门

JAVAWEB入门 本章内容: 一、 了解web开发的基本概念 浏览器/服务器: 客户端不需要安装应用程序,需要一个浏览器 客户端/服务器:客户端需要安装应用程序,服务器上一般放的是数据库 bs的优点:项目更新维护方…

leetcode:55.跳跃游戏

1.解题思路:贪心算法看最大覆盖范围 2.模拟过程: 1.若数组长度等于1,直接返回True 2.循环遍历覆盖范围,选取最大的覆盖范围;若覆盖范围覆盖到了最后一个元素,直接返回true. 3.代码:(贪心无套…

【C++关联式容器】unordered_set

目录 unordered_set 1. 关联式容器额外的类型别名 2. 哈希桶 3. 无序容器对关键字类型的要求 4. Member functions 4.1 constructor、destructor、operator 4.1.1 constructor 4.1.2 destructor 4.1.3 operator 4.2 Capacity ​4.2.1 empty 4.2.2 size 4.2.3 max…

C++:priority_queue模拟实现

C:priority_queue模拟实现 什么是priority_queue模拟实现向上调整算法向下调整算法插入与删除 仿函数 什么是priority_queue priority_queue称为优先级队列。优先级队列是一种特殊的队列,其中每个元素都有一个相关的优先级。元素的优先级决定了它们在队…

黑马Java——集合进阶(不可变集合、Stream流、方法引用)

目录 一、不可变集合 1、创建不可变集合的应用场景 2、创建不可变集合的书写格式 2.1、不可变的List集合 2.2、不可变的Set集合 2.3、不可变的Map集合 3、小结 二、Stream流 1、体验Stream流的作用 2、Stream流的思想 3、Stream流的使用步骤 3.1、单列集合获取Strea…

Kafka(三)(集成SpringBoot)

第三章 Kafka集成 SpringBoot SpringBoot 是一个在 JavaEE 开发中非常常用的组件。可以用于 Kafka 的生产者&#xff0c;也可以 用于 SpringBoot 的消费者。 在初始化springboot环境的时候要勾选kafka依赖 <dependency><groupId>org.springframework.kafka</gr…

【JavaEE】_Fiddler抓包HTTP请求与响应

目录 1. Fiddler简介 2. Fiddler安装步骤 3. 抓包结果举例&#xff08;sogou.com&#xff09; 1. Fiddler简介 1. 要查看HTTP的请求和响应&#xff0c;需要使用抓包工具进行抓包&#xff1b; 抓包即获取网卡上经过的数据并显示出来&#xff0c;常用的抓包工具有wireshark和…

嵌入式Qt 计算器界面设计

一.计算器界面设计 计算机界面程序分析&#xff1a; 需要用到的组件&#xff1a; 界面设计&#xff1a; 界面设计实现&#xff1a; 实验1&#xff1a;计算器界面设计 #include <QtGui/QApplication> #include <QWidget> //主窗口 #include <QLineEdit> //文…

《CSS 简易速速上手小册》第5章:CSS 动画与过渡(2024 最新版)

文章目录 5.1 CSS 过渡基础&#xff1a;网页的微妙舞步5.1.1 基础知识5.1.2 重点案例&#xff1a;按钮悬停效果5.1.3 拓展案例 1&#xff1a;渐变显示导航菜单5.1.4 拓展案例 2&#xff1a;动态调整元素大小 5.2 关键帧动画&#xff1a;编排你的网页芭蕾5.2.1 基础知识5.2.2 重…

FastAI 之书(面向程序员的 FastAI)(六)

原文&#xff1a;www.bookstack.cn/read/th-fastai-book 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十三章&#xff1a;卷积神经网络 原文&#xff1a;www.bookstack.cn/read/th-fastai-book/44d8848dfac0c1b0.md 译者&#xff1a;飞龙 协议&#xff1a;CC BY-N…