[工业自动化-24]:西门子S7-15xxx编程 - 软件编程 - HMI编程的变量与变量映射

目录

一、HMI变量与连接

1.1 概述

1.2 HMI变量的类型:PLC变量与自主变量

二、HMI变量映射

2.1 场景映射方式

2.2 映射示例

2.3 映射步骤

2.4 如何为HMI添加映射关系


一、HMI变量与连接

1.1 概述

HMI只是显示设备,并非控制设备,因此,要显示PLC的状态或控制PLC,需要通过本地的变量完成,至于如何实现本地变量与远程PLC的通信,就不是HMI编程要解决的问题了,西门子的平台软件会解决此问题。当然,为了简化应用程序的开发,西门子提供了一套把HMI变量映射到PLC变量的方法和机制,HMI界面程序可以方便地获取PLC的变量信息,也可以通过界面程序方便控制PLC的状态,至于如何HMI程序是如何基于西门子的上述机制进行用户界面编程。

1.2 HMI变量的类型:PLC变量与自主变量

在HMI编程中,常常涉及到与PLC(可编程逻辑控制器)和自主变量的操作和交互。

下面来详细解释一下PLC变量和自主变量:

  1. PLC变量:PLC变量是与PLC控制器连接并与其通信的变量。它们通常用于与PLC进行数据交换和控制操作。PLC变量包括PLC输入变量(Input Variable),PLC输出变量(Output Variable)和PLC内部变量(Internal Variable)。

    • 输入变量(Input Variable):这些变量用于接收来自PLC的输入信号,例如传感器数据、按钮状态等。HMI可以读取和显示输入变量的状态,并根据其值进行操作或显示。

    • 输出变量(Output Variable):这些变量用于向PLC发送输出信号,并控制外部设备,如驱动器、开关、执行器等。通过HMI,可以修改和设置输出变量的值,以控制相关设备的状态和行为。

    • 内部变量(Internal Variable):这些变量是PLC内部操作和逻辑运算过程中使用的中间变量。它们通常不直接与外部设备交互,而是用于PLC程序的内部计算和控制逻辑

  2. 自主变量:自主变量是在HMI设备上自主创建和使用的变量不直接与PLC通信。自主变量主要用于在HMI界面中存储和操作一些临时或计算相关的数据。

    • 人机交互的显示变量(Display Variable):这些变量用于在HMI界面中显示和呈现特定的数据。例如,温度、计数、状态等。显示变量通常由HMI的图形元素(如文本框、数字显示等)使用,并可以手动或自动修改其值。

    • 人机交互的控制变量(Control Variable):这些变量用于支持HMI上的控制操作。例如,按钮状态、开关状态等。控制变量可以与HMI上的控制元素(如按钮、开关、选择器等)关联,用于响应用户输入和触发特定的操作或事件。

    • 人机交互的逻辑变量(Logical Variable):这些变量用于支持编程逻辑和条件运算。例如,布尔逻辑变量(True/False)或枚举类型的变量(如模式选择)。逻辑变量通常用于条件判断和状态管理。

        PLC变量和自主变量在HMI编程中扮演不同的角色,对于与PLC通信和控制系统集成的应用来说,PLC变量是非常重要的。而对于一些独立于PLC的本地控制和显示功能,自主变量则起到更为关键的作用。具体选择何种变量类型取决于您的应用需求和系统架构。

二、HMI变量映射

2.1 场景映射方式

在PLC和HMI的集成中,变量映射是将PLC变量与HMI变量相互关联的过程。

通过变量映射,HMI可以读取和写入PLC的数据,实现数据交换和控制操作。

下面是常见的PLC和HMI变量映射的方式:

  1. 直接映射(Direct Mapping):这是最简单和最常用的映射方式。通过直接映射,HMI变量与PLC变量一一对应。当一个变量在PLC中发生变化时,相应的HMI变量也会更新。这种映射方式可以实现数据的实时同步。

  2. 间接映射(Indirect Mapping):在某些情况下,HMI和PLC之间的变量结构可能不完全相同。通过间接映射,可以在HMI和PLC之间进行数据格式和数据结构的转换。通过编写适当的逻辑和转换表达式,可以实现不同数据类型、数据结构的变量之间的映射。

  3. 手动映射(Manual Mapping):在一些特殊的情况下,PLC和HMI之间的变量映射可能需要手动配置。这涉及到手工设置HMI和PLC变量之间的关联关系,通常在配置软件或集成环境中进行操作。手动映射需要确保正确的变量名称、数据类型和地址等信息配置。

  4. 标签映射(Tag Mapping):标签映射是一种基于标签的映射方式。标签是为PLC和HMI中的变量提供的唯一标识符。通过在PLC和HMI中创建相应的标签,并将它们关联起来,可以实现更灵活的变量映射和重用。标签映射提供了更好的可维护性和可扩展性。

具体的变量映射方式取决于所使用的PLC和HMI品牌、型号以及配置软件。对于某些集成环境,可能提供图形化的工具来帮助配置变量映射。建议参考PLC和HMI的用户手册、编程手册或厂商文档,以了解具体的映射方式和配置方法。

2.2 映射示例

以下是一个将PLC变量映射到HMI的案例示例:

  1. 假设我们有一个温度控制系统,PLC用于接收和处理温度传感器的数据,并控制加热器的输出。

  2. 在PLC中创建一个名为"Temperature"的变量,用于存储当前温度值。

  3. 在HMI软件中创建一个数字显示元素,用于显示当前温度值。

  4. 在HMI软件中与PLC建立通信,并设置PLC变量和HMI变量的映射。

  5. 在映射配置中,将HMI的数字显示元素与PLC的"Temperature"变量进行映射。这样,HMI将从PLC获取温度值,并显示在数字显示元素上。

  6. 保存并上传HMI程序到HMI设备。

  7. 运行HMI程序并连接到PLC,即可在HMI上实时显示从PLC获取的温度值。

通过此映射示例,HMI将能够获取PLC中的温度数据,并将其显示在界面上,实现对温度值的实时监控。此外,在HMI中还可以添加控制元素,如按钮或滑块,用于手动控制加热器的输出,并通过HMI向PLC发送控制信号。

请注意,在实际应用中,变量映射的配置方法和软件界面可能因HMI品牌和型号而有所不同。具体的步骤和操作请参考相关的HMI软件文档和用户手册。

2.3 映射步骤

设置PLC变量和HMI变量的映射通常涉及以下步骤:

  1. 找到并打开HMI软件:使用适用于您的HMI品牌和型号的软件,例如Siemens WinCC,Rockwell FactoryTalk View,或Schneider Electric Vijeo Designer。

  2. 创建HMI变量:在HMI软件中创建要与PLC变量关联的HMI变量。这些变量可以是数字、布尔、字符串等不同类型。

  3. 建立PLC和HMI之间的通信连接通过HMI软件设置PLC和HMI之间的通信连接。这通常涉及指定PLC型号、通信接口、连接参数、PLC地址等。

  4. 打开变量映射配置:在HMI软件中,找到变量映射或标签映射配置的界面。具体的配置界面名称和位置取决于使用的HMI软件。

  5. 添加映射关系:变量映射配置界面中,将PLC变量和HMI变量关联起来。可以使用图形化界面或文本编辑器手动添加映射关系

  6. 配置映射规则和数据类型:根据PLC和HMI变量的数据类型和格式,配置适当的映射规则。这包括数据类型转换、映射地址、数据长度等。

  7. 验证映射设置:在HMI软件中,提供测试或仿真功能以验证映射设置的正确性。可以模拟PLC数据的变化,观察HMI界面上对应变量的反应。

  8. 保存和上传配置:在完成变量映射配置后,保存配置并将HMI程序上传到HMI设备中。

重要提示:具体的变量映射设置步骤和操作方式会因HMI软件品牌、型号和版本而有所不同。请参考相应的HMI软件文档、用户手册或厂商提供的指南,以获取准确的配置示例和操作指导。

2.4 如何为HMI添加映射关系

在西门子PLC中,为HMI(Human Machine Interface)添加映射关系通常通过编写控制表达式来实现。控制表达式定义了HMI中的变量,并将其映射到PLC中的变量或标记。以下是添加HMI映射关系的一般步骤:

  1. 在Step 7软件中创建并编程PLC控制逻辑。确保您定义了所有必要的变量和标记,这些变量和标记在HMI中需要进行映射。

  2. 创建HMI项目并将HMI连接到PLC。在WinCC软件中创建HMI项目,并确保已配置好与PLC连接的通信设置。这样,HMI和PLC之间就可以进行数据交换。

  3. 在WinCC软件中添加控制表达式。打开WinCC软件,并在HMI项目中添加控制表达式。在这里,您需要为每个需要映射的变量和标记定义一个控制表达式。例如,您可以为PLC中的一个标记定义一个控制表达式,并将其映射到HMI上面的一个文本框。当PLC中的标记值发生更改时,将自动刷新HMI文本框以反映这个变化。

  4. 配置HMI中的控件属性。在HMI中,您需要为每个映射到的控件配置相应的属性。例如,在上面的例子中,您需要为文本框控件配置其显示文本和对应的控制表达式。

  5. 编译和加载HMI项目。编译HMI项目,并将其加载到目标HMI设备中。在编译时,WinCC将生成对应的控制表达式,并将其映射到PLC上相应的变量和标记。

以上是添加HMI映射关系的一般步骤。请注意,具体的步骤可能因不同的HMI软件版本而有所不同。因此,在进行任何修改之前,请确保阅读相关的文档或咨询相关的技术支持,以确保正确地添加映射关系。

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

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

相关文章

腾讯云4核8G服务器配置价格表,轻量和CVM标准型S5实例

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表,轻量应用服务器和CVM云服务器均有活动,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,腾讯云…

Docker Golang 开发环境搭建指南

Docker Golang 开发环境搭建指南 概述 在 Golang 开发中,搭建合适的开发环境是非常重要的。然而,由于 Golang 的跨平台特性,不同操作系统之间的配置差异可能会导致环境搭建过程变得复杂。为了简化这个过程并保持开发环境的一致性&#xff0…

Linux下向Github仓库推送

文章目录 Git 与 Github安装git在github下创建项目下载项目到本地Git三板斧第一板斧 git add第二板斧 git commit第三板斧 git push Git 与 Github Git是目前从开发人员到设计人员的版本控制技术。gitee是国内社交代码托管平台。这是一个你可以玩和实验的地方。在这里你可以找…

YoloV8改进策略:聚焦线性注意力重构YoloV8

文章目录 摘要论文《FLatten Transformer:使用聚焦线性注意力的ViT》1、简介2、相关工作2.1 Vision Transformer2.2 线性注意力3. 预备知识3.1. 视觉Transformer和自注意力3.2. 线性注意力4. 聚焦线性注意力4.1.聚焦能力4.2. 特征多样性4.3. 聚焦线性注意力模块5. 实验5.1. Ima…

注解方式优雅的实现 Redisson 分布式锁

1前言 日常开发中,难免遇到一些并发的场景,为了保证接口执行的一致性,通常采用加锁的方式,因为服务是分布式部署模式,本地锁Reentrantlock和Synchnorized这些就先放到一边了,Redis的setnx锁存在无法抱保证…

levelDB之基础数据结构-Slice

Slice是levelDB中用于操作字符串的数据结构,以字节为单位。 定义与实现 namespace leveldb {class LEVELDB_EXPORT Slice {public:// Create an empty slice.Slice() : data_(""), size_(0) {}// Create a slice that refers to d[0,n-1].Slice(const c…

创建具有负载平衡和集群的可扩展 Node.js 应用程序

创建具有负载平衡和集群的可扩展 Node.js 应用程序 负载平衡是提高应用程序性能、可扩展性和可用性的一项重要技术。当客户端向负载均衡器发出请求时,负载均衡器根据预定义的规则将请求分发到不同的实例。 可以使用cluster集群模块或 PM2 等工具根据负载均衡器的流…

[PHP]关联和操作MySQL数据库然后将数据库部署到ECS

在Mac电脑上使用VS Code进行PHP开发并关联操作MySQL数据库,然后将数据库部署到ECS。 1.安装PHP和MySQL 确保你的Mac上已经安装了PHP和MySQL。你可以使用Homebrew来安装它们: $ brew install php $ brew install mysql 安装mysql完成后记住这一句: …

在.net 6版本以上的web api中添加像.net 5一样的Startup.cs

Program.cs中: 第一步:在var builder WebApplication.CreateBuilder(args);的后面添加上: var startup new Startup(builder.Configuration); startup.ConfigureServices(builder.Services); 第二步:在var app builder.Build()…

城市网吧视频智能监控方案,实现视频远程集中监控

网吧环境较为复杂,电脑设备众多且人员流动性大,极易发生人员或消防事故,亟需改变,TSINGSEE青犀AI智能网吧视频监管方案可以帮助实现对网吧环境和用户活动的实时监控和管理。 1、视频监控系统 在网吧内部布置高清摄像头&#xff0…

设计模式 -- 适配器模式(Adapter Pattern)

适配器模式:属于结构型模式,结合了两个独立接口的功能,作为 两个不兼容的接口之间的桥梁 。 介绍 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要…

【Shell脚本入门】

Shell中的特殊符号 1.$ 美元符号,用来表示变量的值。 如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值。2.# 井号,除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,每一行语句中&#xff…

WPF中可视化树和逻辑树的区别是什么

在WPF中,用户界面元素被组织成树形结构。这种结构主要分为两种:逻辑树(Logical Tree)和可视化树(Visual Tree)。它们在设计上各有特点和用途。 逻辑树(Logical Tree) 逻辑树是WPF中…

反转字符串中的单词

给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格…

笔记54:门控循环单元 GRU

本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\第9章:动手学深度学习~现代循环神经网络 a a a a a a a

Bulk RNA-seq上下游分析

Bulk-RNA-seq上下游分析还是相对简单的,这次我以mouse为例,进行Bulk-RNA-seq上下游分析,并进行对应的图片绘制。 上游分析 1.软件准备 #安装所需软件 sudo apt install fastqc sudo apt install hisat2 sudo apt install cutadapt sudo ap…

快速幂:acwing 875. 快速幂

给定 n� 组 ai,bi,pi��,��,��,对于每组数据,求出 abiimodpi����mod�� 的值。 输入格式 第一行包…

腾讯云4核8G服务器性能如何多少钱一年?

腾讯云服务器4核8G配置优惠价格表,轻量应用服务器和CVM云服务器均有活动,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,腾讯云百科txybk.com分…

Spring Security OAuth2.0 实现分布式系统的认证和授权

Spring Security OAuth2.0 实现分布式系统的认证和授权 1. 基本概念1.1 什么是认证?1.2 什么是会话?1.2.1 基于 session 的认证方式1.2.2 基于 token 的认证方式 1.3 什么是授权?1.3.1 授权的数据模型 1.4 RBAC 介绍 2. Spring Security2.1 S…

什么是JPA? JPA在springBoot中怎么使用

JPA(Java Persistence API)是Java EE 5规范中的一套ORM规范,用于在Java应用程序中进行对象关系映射(ORM)。它定义了一组标准API(接口和类),用于在Java应用程序中管理持久化对象。 在…