PLC_博图系列☞多重实例

2024-02-15 02:20
文章标签 系列 实例 多重 plc 博图

本文主要是介绍PLC_博图系列☞多重实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

头图

PLC_博图系列☞多重实例

文章目录

  • PLC_博图系列☞多重实例
    • 背景介绍
    • 多重实例
    • 创建多重实例
    • 多重实例的 ARRAY
    • 调用多重实例

关键字: PLC西门子博图Siemens 多重实例

背景介绍

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

多重实例

PLC 中的多重实例是一种在 FB 块中调用其他 FB 块的方式,它可以使被调用的 FB 块的背景数据块保存在当前 FB 块的静态变量中,而不是在系统块中生成单独的 DB 块。这样可以减少外部 DB 块的数量,方便数据管理和程序维护。

定义

当函数块 (FB) 调用另一个函数块时,可其实例数据存储在调用函数块的背景数据块中。这种块调用又称之为多重实例。

优势

使用多重实例具有以下优势:

  • 适用于复杂块的完美结构

  • 背景数据块的数量较少

  • 轻松编写本地子程序,如本地定时器或边沿评估等。

工作原理

下图显示了一个函数块正在使用另一函数块(“Valve”)。其中,“Valve”作为一个多重实例进行调用;即,该函数块的数据将保存在调用函数的背景数据块中。多重实例数据位于调用块的“Static”区域中。在 S7-1200/S7-1500 系列的 CPU 中,该实例也可位于另一函数块的背景数据块中。

image-20240214212240636

创建多重实例

可通过以下几种方式创建多重实例:

  • 在程序中调用函数块时,“调用方式”(Call options) 对话框随即打开。在该对话框中,可输入要将该函数块作为单实例、多重实例或参数实例进行调用。
  • 直接在调用块接口中声明多重实例。
  • 直接在另一函数块接口中声明多重实例 (S7-1200/S7-1500)。

多重实例的 ARRAY

多重实例也可创建为一个 ARRAY。在程序循环执行的过程中,可使用一个可变下标对各个 ARRAY 元素进行寻址。

image-20240214212706446

直接在函数块接口中声明 ARRAY of multi-instances。

调用多重实例

调用一个多重实例时,系统将指示所分配的实例。下图显示了“Block”块在 LAD 中作为多重实例进行调用。

在以下示例中,该实例位于调用块背景数据块本地:

image-20240214212802032

在以下示例中,该实例位于背景数据块中“MyOtherFB”(S7-1200/S7-1500):

image-20240214212828687

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

image-20240214212858673


博客签名2021

这篇关于PLC_博图系列☞多重实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/710219

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Java List排序实例代码详解

《JavaList排序实例代码详解》:本文主要介绍JavaList排序的相关资料,Java排序方法包括自然排序、自定义排序、Lambda简化及多条件排序,实现灵活且代码简洁,文中通过代码介绍的... 目录一、自然排序二、自定义排序规则三、使用 Lambda 表达式简化 Comparator四、多条件排序五、

Java实例化对象的​7种方式详解

《Java实例化对象的​7种方式详解》在Java中,实例化对象的方式有多种,具体取决于场景需求和设计模式,本文整理了7种常用的方法,文中的示例代码讲解详细,有需要的可以了解下... 目录1. ​new 关键字(直接构造)​2. ​反射(Reflection)​​3. ​克隆(Clone)​​4. ​反序列化

Python解决雅努斯问题实例方案详解

《Python解决雅努斯问题实例方案详解》:本文主要介绍Python解决雅努斯问题实例方案,雅努斯问题是指AI生成的3D对象在不同视角下出现不一致性的问题,即从不同角度看物体时,物体的形状会出现不... 目录一、雅努斯简介二、雅努斯问题三、示例代码四、解决方案五、完整解决方案一、雅努斯简介雅努斯(Janu

Python多重继承慎用的地方

《Python多重继承慎用的地方》多重继承也可能导致一些问题,本文主要介绍了Python多重继承慎用的地方,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录前言多重继承要慎用Mixin模式最后前言在python中,多重继承是一种强大的功能,它允许一个

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n