0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SCL:STRUCT和UDT类型变量的赋值

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-01-31 13:38 次阅读

STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构化变量。

下面是有效结构变量的例子:

Image //结构的标识符
Image.element //结构元素的标识符
Image.arr //在一个结构中的一维数组标识符
Image.arr[2,5]//在一个结构中的数组元素的标识符

赋值一个完整结构(Assigning a Complete Structure)

一个完整结构只能赋值给另一个完整结构,两个结构内部的名称和数据类型应完全匹配。下面的赋值是有效的:

structname_1 := structname_2 ;

赋值结构元素(Assigning Structure Components)

能够将一个同类型变量、同类型表达式或另一个结构部件赋值给任何结构元素。

能够通过说明结构的标识符来引用结构元素,结构元素的标识符用一个句点分开。下面的赋值是有效的:

structname_1.element1 := Value ;
structname_1.element1 := 20.0 ;
structname_1.element1 := structname_2.element1 ;
structname_1.arrname1 := structname_2.arrname2 ;
structname_1.arrname[10]:= 100 ;

例子(Example)

FUNCTION_BLOCK FB3
VAR
AUXVAR : REAL ;
MEASVAL : STRUCT//目标结构
VOLTAGE :REAL ;
RESISTANCE :REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
PROCVAL : STRUCT//源结构
VOLTAGE : REAL ;
RESISTANCE : REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
END_VAR

BEGIN
//赋值给一个完整结构

MEASVAL := PROCVAL ;
//赋值给地个结构元素
MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;
//将一个结构元素赋值给同类型变量
AUXVAR := PROCVAL.RESISTANCE ;
//将一个常量赋值给结构元素
MEASVAL.RESISTANCE := 4.5;
//将一个常量赋值给一维数组元素
MEASVAL.SIMPLEARR[1,2] := 4;
END_FUNCTION_BLOCK

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 变量
    +关注

    关注

    0

    文章

    597

    浏览量

    28114
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25597
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    16886
  • Struct
    +关注

    关注

    0

    文章

    29

    浏览量

    10818

原文标题:SCL :STRUCT和UDT类型变量的赋值

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文搞懂ARRAY类型变量赋值

    当元素的数据类型和数组界限(最低和最高的可能的数组索引)相匹配时,能够将一个完整数组赋值给另一个数组。如果是这样,在赋值符后指定数组的标识符
    的头像 发表于 07-12 10:55 2859次阅读

    Python的变量类型详细资料说明

    Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个
    发表于 08-24 16:47 3次下载
    Python的<b class='flag-5'>变量</b><b class='flag-5'>类型</b>详细资料说明

    Python的变量类型详细说明

    变量赋值Python 中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括
    发表于 01-15 16:29 1次下载
    Python的<b class='flag-5'>变量</b><b class='flag-5'>类型</b>详细说明

    S7-1200中UDT类型变量的使用方法

    今天给大家讲解一下S7-1200中UDT类型变量的使用方法,PLC数据类型我们也叫做UDT数据类型
    的头像 发表于 04-18 11:58 3441次阅读
    S7-1200中<b class='flag-5'>UDT</b><b class='flag-5'>类型</b><b class='flag-5'>变量</b>的使用方法

    探究西门子SCL-基本数据类型变量赋值

    设定给其名字写在赋值符左边的变量。函数允许的变量如下图所示: 赋值的语法(Syntax of a Value Assignment) 能够将同类型
    的头像 发表于 05-24 14:56 4819次阅读
    探究西门子<b class='flag-5'>SCL</b>-基本数据<b class='flag-5'>类型</b><b class='flag-5'>变量</b>的<b class='flag-5'>赋值</b>

    Struct结构数据类型

    Struct类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据
    的头像 发表于 07-25 17:02 2455次阅读

    结构数据类型Struct)及应用案例

    Struct数据类型使用非常灵活,随时可以使用,但是相对于PLC数据类型 (UDT) 有以下缺点,所以建议需要使用Struct
    的头像 发表于 07-27 16:10 1350次阅读

    STRUCTUDT类型变量是什么意思

    STRUCTUDT类型变量是表示一个完整结构或一个结构元素的结构化变量
    的头像 发表于 08-29 11:09 1712次阅读

    结构数据类型Struct介绍

    Struct类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据
    的头像 发表于 01-30 10:15 1287次阅读

    Python变量和简单赋值语句

    1. 变量的声明和赋值 变量的声明和赋值:用于将一个变量绑定到一个对象上,格式: 变量 名 =
    的头像 发表于 03-05 17:11 1046次阅读
    Python<b class='flag-5'>变量</b>和简单<b class='flag-5'>赋值</b>语句

    ARRAY类型变量赋值

    当元素的数据类型和数组界限(最低和最高的可能的数组索引)相匹配时,能够将一个完整数组赋值给另一个数组。如果是这样,在赋值符后指定数组的标识符。下面的赋值是有效的:
    的头像 发表于 04-10 11:46 611次阅读

    博途中SCL赋值运算

    可通过赋值运算,可以将一个表达式的值分配给一个变量赋值表达式的左侧为变量,右侧为表达式的值。
    的头像 发表于 06-19 10:57 4274次阅读

    西门子博途中声明STRUCT数据类型变量

    要声明 STRUCT 数据类型变量,请按以下步骤操作。
    的头像 发表于 06-21 09:32 2768次阅读

    PLC 数据类型 (UDT) 的基本知识

    说明 PLC 数据类型 (UDT) 是一种复杂的用户自定义数据类型,用于声明一个变量。这种数据类型是一个由多个不同数据
    的头像 发表于 09-10 09:46 2365次阅读
    PLC 数据<b class='flag-5'>类型</b> (<b class='flag-5'>UDT</b>) 的基本知识

    西门子博图在I/O变量表中显示UDT

    在巡视窗口的“属性 > IO 变量”(Properties > IO tags) 下方,将显示包含多个元素的用户自定义数据结构。这些 UDT (User Defined Structure) PLC 数据类型的显示与其它简单 I
    的头像 发表于 11-22 09:55 1009次阅读
    西门子博图在I/O<b class='flag-5'>变量</b>表中显示<b class='flag-5'>UDT</b>