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

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

3天内不再提示

STRUCT和UDT类型变量是什么意思

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-08-29 11:09 次阅读

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



审核编辑:刘清

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

    关注

    0

    文章

    39

    浏览量

    11337
  • 标识符
    +关注

    关注

    0

    文章

    12

    浏览量

    7339

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

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

收藏 人收藏

    评论

    相关推荐

    Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种。环境变量设置方法同时要考虑环境Shell类型,不同
    的头像 发表于 10-23 13:39 159次阅读

    typedef和struct有啥区别

    struct 结构体名称 { 数据类型 成员 1 ;数据类型 成员 2 ;...}; 例如,我们可以定义一个表示学生
    的头像 发表于 08-20 11:00 1160次阅读

    typedef struct和直接struct的区别

    关键字和结构体名来引用这个类型变量。这种方式在声明结构体类型和声明结构体变量时都需要使用 struct 关键字
    的头像 发表于 08-20 10:58 2728次阅读

    威廉希尔官方网站 干货驿站 ▏深入理解C语言:基本数据类型变量

    在C语言中,数据类型变量是编程的基础,也是理解更复杂概念的关键。数据类型决定了变量的内存分配、存储范围和操作方式,而变量则是存储数据的容器
    的头像 发表于 07-26 17:53 2098次阅读
    威廉希尔官方网站
干货驿站 ▏深入理解C语言:基本数据<b class='flag-5'>类型</b>和<b class='flag-5'>变量</b>

    嵌入式中C语言结构体基本实现

    :     在struct 中声明了一个含有若干新成员的数据类型。     tag  是结构体标签。     member-list  是标准的变量定义,比如 int i; 或者 float f,或者其他
    的头像 发表于 05-11 08:49 1017次阅读
    嵌入式中C语言结构体基本实现

    关于go中接口类型的表示方法

    go是一个静态性语言,每个变量都有静态的类型,因此每个变量在编译阶段中有明确的变量类型,比如像:int、float32、MyType。
    的头像 发表于 04-28 10:13 367次阅读

    鸿蒙TypeScript学习第14天:【联合类型

    联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。
    的头像 发表于 04-12 15:28 443次阅读
    鸿蒙TypeScript学习第14天:【联合<b class='flag-5'>类型</b>】

    鸿蒙TypeScript开发入门学习第3天:【TS基础类型

    任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。
    的头像 发表于 03-28 15:02 533次阅读
    鸿蒙TypeScript开发入门学习第3天:【TS基础<b class='flag-5'>类型</b>】

    C语言数据类型有哪些

    在 C 语言中,数据类型指的是用于声明不同类型变量或函数的一个广泛的系统。变量类型决定了变量
    发表于 03-20 10:56 469次阅读
    C语言数据<b class='flag-5'>类型</b>有哪些

    C语言变量应用详解

    变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算
    发表于 03-18 11:18 391次阅读
    C语言<b class='flag-5'>变量</b>应用详解

    字符型、指针型等变量等该如何初始化

     对于数值类型变量往往初始化为0,但对于其他类型变量,如字符型、指针型等变量等该如何初始化呢?
    的头像 发表于 03-18 11:02 1439次阅读

    C语言如何掌握强制类型转换的精髓

    强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long
    的头像 发表于 02-26 11:00 515次阅读
    C语言如何掌握强制<b class='flag-5'>类型</b>转换的精髓

    Harmony 鸿蒙页面级变量的状态管理

    @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。 @State状态数据具有以下特征: 支持多种类型数据:支持class、number
    的头像 发表于 01-25 10:42 591次阅读
    Harmony 鸿蒙页面级<b class='flag-5'>变量</b>的状态管理

    Harmony 鸿蒙页面级变量的状态管理

    @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。 @State状态数据具有以下特征: 支持多种类型数据:支持class、number
    发表于 01-24 20:04

    C语言:指针中内存是如何存放变量

    在程序中定义一个变量,那么在程序编译的过程中,系统会根据你定义变量类型来分配「相应尺寸」的内存空间。那么如果要使用这个变量,只需要用变量
    发表于 01-08 10:14 467次阅读