WinCC入门课程4:WinCC的变量汇总及用法简介

2024-01-09 20:44

本文主要是介绍WinCC入门课程4:WinCC的变量汇总及用法简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于WinCC来说,变量是数据的载体,借助于变量,数据可以传递到WinCC中。一个变量包含了数据的地址和符号名。地址用于与自动化系统(PLC)通讯;符号名是项目/应用中的唯一识别。

WinCC的变量一般分为内部变量、外部变量、WinCC系统变量、S7系统变量、系统信息变量和脚本变量。除了"脚本变量"外,所有的变量的创建和维护工作都在"变量管理器"下进行。

一、内部变量引文:博途工控人平时在哪里技术交流博途工控人社群

WinCC内部使用的变量,与外部过程无关,无需建立过程驱动程序、通道单元和通道连接。使用数量不受限制。

创建内部变量的方法很简单,如图1所示。

二、外部变量

外部变量由外部过程为其提供数值,因此也叫做"过程变量"。外部变量是基于"驱动程序-通道单元-连接"的,其与自动化系统中的数据是相对应。

创建外部变量时,首先要明确其所属的通讯链路关系:驱动程序 - 通道单元 - 连接。在相应的连接下(如图2中的NewConnection1)创建变量并为其指定PLC侧的地址,该地址可以是输入/输出过程映象区、位存储区以及DB块。

外部变量的使用数量由PowerTags授权决定。如图3所示,在WinCC的项目管理器下,给出了当前已定义的外部变量的个数和总授权数,外部变量的个数不能超出总授权数。需要注意的是,不管外部变量定义为何种数据类型:BOOL、32位浮点数等,它们都各自占用一个授权。

三、WinCC系统变量

WinCC系统提供的预先定义好的变量。每个系统变量均有明确意义,可提供现场功能。系统变量由WinCC系统创建,工程人员不能创建,但可以使用。系统变量是一种特殊的内部变量,以"@"开头,如图4所示。

四、S7系统变量

基于TIA方式创建的项目,在编译完成OS站后,STEP7会向WinCC传递S7系统变量,包括PLC变量,归档和报警等。这些变量称其为"S7系统变量"。S7系统变量默认以"S7$Program(连接名)"开头。

只有采用TIA方式创建的项目才有S7系统变量,这部分内容集中在后面的TIA中再详细讨论。

五、系统信息变量

在"驱动程序"中有一种特殊的"驱动"——WinCC系统信息通道。在WinCC的系统信息通道下,可建立专门记录系统信息的变量,例如可记录WinCC系统的当前时间、CPU占用率、磁盘容量等信息。

要使用系统信息变量,首先要添加"系统信息通道",然后在其下建立连接,在"连接"下就可以创建系统信息变量了。方法和添加"S7协议集"类似,如图4所示。

系统信息变量不占用PowerTag授权。

祝贺已超 1 万工控人加入 PLC 工业自动化精 英群引文:博途工控人平时在哪里技术交流博途工控人社群

这篇关于WinCC入门课程4:WinCC的变量汇总及用法简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s