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”)),用于在运行期间传送该特定实例。
创建参数实例
参数实例在调用函数块时定义。调用函数块时,可在显示的对话框中指定将该函数块作为单实例、多重实例或参数实例进行调用。此外,也可以在块接口中直接手动输入参数实例。
下图显示了函数块“Valve”的参数实例调用:
将实例作为参数传送
每次调用较高级别函数块时(本示例中为“Caller”),将为被调用函数块传送一个实例(本示例为“Valve”)。可传送以下类型的实例:
-
单实例
传送被调用函数块的现有背景数据块。
-
多重实例
传送被调用函数块现有的多重实例。
-
多重实例 ARRAY 的各个元素
传送多重实例现有 ARRAY 的元素。
-
数据类型为“DB_ANY”的变量 (S7-1200 >= V4.2 / S7-1500 >= V2.0)
将数据类型为“DB_Any”的变量传送到运行期间所分配的相应实例处。
请注意,“指令”(Instructions) 任务卡中的系统块实例不支持这种参数传递方式。
下图显示了函数块“Caller”的调用。通过“valveInstance”参数,传送实例“#currValve”。在运行期间,将通过 #currValve 参数处未决的实例调用“Valve”。
在 S7-1200/S7-1500 系列的 CPU 中,也可将位于另一函数块的背景数据块中的实例作为参数传送。
在以下示例中,所传递的实例位于背景数据块“MyOtherIDB”中 (S7-1200/S7-1500):
在以下示例中,所传递的实例位于背景数据块“MyOtherIDB”的 ARRAY of multi-instances 中 (S7-1200/S7-1500):
在以下示例中,从数据类型为“DB_ANY”的 ARRAY 中传送来的实例位于全局数据块“DB_ValveInstances”中:

相关文章:

PLC_博图系列☞参数实例
PLC_博图系列☞参数实例 文章目录 PLC_博图系列☞参数实例背景介绍参数实例参数实例的工作原理创建参数实例将实例作为参数传送 关键字: PLC、 西门子、 博图、 Siemens 、 参数实例 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的博图软件…...
LLaMA 2 和 QianWen-14B
阿里云通义千问14B模型开源!性能超越Llama2等同等尺寸模型 - 科技新闻 - EDA365电子论坛网 LLaMA 2 的硬件要求: LLaMA 2 系列模型有不同的参数量版本,如7B、13B和70B等。对于不同大小的模型,其硬件需求也有所不同。以下是一些硬…...
浅谈Java常见设计模式及实例
前言 Java 中常用的设计模式有很多种,其实平常用到的还比较少,但是还是有必要了解一下,可以按照实际情况运用到我们的代码中。按照类型可以基本分解为,创建型模式、结构型模式和行为型模式。 创建型模式 (Creational Patterns) 1…...
【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(一)-总体介绍
目录 一、引言 二、CEVA-BX1™ DSP Library 概述 三、CEVA-BX1™ DSP Library 功能与特点 四、CEVA-BX1™ DSP Library 优势 今天开始我们继续对CEVA DSP的架构和指令集进行分析,基于对CEVA DSP的分析和了解,后续可以进行基于RISC-V内核架构的DSP指令…...
Rust标量类型详解
在Rust中,数据类型分为标量类型和复合类型。本篇博客将重点介绍Rust的标量类型,其中包括整数类型、浮点类型、布尔类型以及字符类型。 整数类型 Rust提供了多种整数类型,分为带符号整数和无符号整数。带符号整数表示可以为正数、零或负数&a…...

【双指针】【C++算法】1537. 最大得分
作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 双指针 LeetCoce 1537. 最大得分 你有两个 有序 且数组内元素互不相同的数组 nums1 和 nums2 。 一条 合法路径 定义如下: 选择数组 nums1 或者 nums2 开始遍历&…...
golang常用库之-操作数据库ORM:GORM 包介绍 | 一些 GORM 提示和注意事项
文章目录 golang操作数据库ORM:GORM 包介绍及实战一、什么是GORM 包二、GORM基本使用官方快速开始demo 一些 GORM 提示和注意事项 参考 golang操作数据库ORM:GORM 包介绍及实战 一、什么是GORM 包 官网:https://gorm.io/ github:…...

Stream流学习笔记
Stream流 创建流中间操作1、filter2、map3、distinct4、sorted5、limit6、skip7、flatMap 终结操作1、forEach2、count3、max&min4、collect5、查找与匹配 创建流 单例集合:集合对象.stream() List<Integer> list new ArrayList<>(); Stream<…...

单片机——FLASH(2)
文章目录 flash (stm32f40x 41x的内存映射中区域详解)flash写数据时 flash (stm32f40x 41x的内存映射中区域详解) Main memory 主存储区 放置代码和常数 System memory 系统存储区 方式bootloader代码 OTP区 一次性可编程区 选项…...

个体诊所门诊电子处方开单管理系统软件,配方模板病历模板设置一键导入操作教程
个体诊所门诊电子处方开单管理系统软件,配方模板病历模板设置一键导入操作教程 一、前言 以下操作教程以 佳易王诊所电子处方软件V17.2为例说明,最新版V17.3下载可以点击最下方官网卡片了解。 1、在现实生活中,医师开单可谓是争分夺秒&…...

ELAdmin 配置定时任务
定义方法 在自己的 Module 中写个要执行的方法。 比如获取微信公众号的 accessToken,每两个小时更新一次。这种的其实使用 Spring 的 Scheduled 更方便些,此处仅为演示。 package me.zhengjie.mp.task;import com.alibaba.fastjson.JSON; import lombo…...
【服务器部署】Docker环境的安装
基于CentOS系统的服务器环境下安装Docker环境,安装步骤参考官方指南:https://docs.docker.com/engine/install/centos/ 配置库 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-c…...

leetcode刷题--贪心算法
七. 贪心算法 文章目录 七. 贪心算法1. 605 种花问题2. 121 买卖股票的最佳时机3. 561 数组拆分4. 455 分发饼干5. 575 分糖果6. 135 分发糖果7. 409 最长回文串8. 621 任务调度器9. 179 最大数10. 56 合并区间11. 57 插入区间13. 452 用最少数量的箭引爆气球14. 435 无重叠区间…...

《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
文章目录 5.1 Maven 和 Gradle - 构建你的堡垒5.1.1 基础知识5.1.2 重点案例:使用 Maven 构建一个简单的 Java 应用5.1.3 拓展案例 1:使用 Gradle 构建一个 Spring Boot 应用5.1.4 拓展案例 2:使用 Maven 管理多模块项目 5.2 Spring 框架 - 你…...
Python json解析
在Python中解析JSON(JavaScript Object Notation)非常简单,标准库中的json模块提供了必要的功能。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 以下是使用Python解析JSON的一些基本…...

[FFmpeg学习]从视频中获取图片
从视频中获取图片是一个比较直观的例子,这里从一个基础的例子来查看FFmpeg相关api的使用,从mp4文件中获取一帧图像,保存为jpeg格式图片,mp4文件比较好准备,一般手机录屏文件就是mp4格式。 原理还是比较清楚࿰…...
Redis集中管理Session和系统初始化参数详解
Redis 是一个开源的、基于内存的键值存储系统,通常用作数据库、缓存或消息传递系统。在 Web 应用程序中,Redis 常用于集中管理 Session 数据和系统初始化参数。 Redis 管理 Session Session 是 Web 应用程序中用于保持用户状态的一种机制…...

[网鼎杯 2020 朱雀组]phpweb
抓包发现两个参数,结合报文返回的warning猜测两个参数一个传函数名,另一个传函数参数 尝试直接system(ls /),发现被过滤了 file_get_contents获取index.php的源码,发现可以反序列化实现RCE 这里复现的时候不知道为什么显示不全…...

情人节html代码
一、一个带有心形和祝福消息的页面 如果想在网页上创建一个简单的情人节祝福,可以使用HTML和CSS。以下是一个简单的例子,它创建了一个带有心形和祝福消息的页面: <!DOCTYPE html> <html> <head> <title>情人节…...

键盘重映射禁用 CtrlAltDel 键的利弊
目录 前言 一、Scancode Map 的规范 二、禁用 CtrlAltDel 的方法及其缺陷 三、编程实现和测试 3.1 C 实现的简易修改工具 3.2 C# 实现的窗口工具 四、总结 本文属于原创文章,转载请注明出处: https://blog.csdn.net/qq_59075481/article/details…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...

相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...