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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-21 09:32 次阅读

要求

接口已打开。

操作步骤

要声明 STRUCT 数据类型的变量,请按以下步骤操作:

在块接口中,选择需声明的部分。
在“名称”(Name) 列中,输入变量的名称。
在“数据类型”列中输入“Struct”。输入时系统将提供自动完成功能。
在新变量后将插入空的缩进行。
在第一个空行中插入第一个结构元素。
在该元素后会再插入一个空行。
选择结构元素的数据类型。
可选:更改在块接口其它列中显示的结构元素的属性。
对于所有其它结构元素,重复执行步骤 4 到 6。
不必显式完成该结构。结构会以输入的最后一个元素结束。
要在结构后插入新变量,请在结构结尾后留一个空行,然后在第二个空行中启动新变量。

结果

创建数据类型 STRUCT 的变量。

说明
S7-1500:一个数据块中最多有 252 个结构
一个数据块中最多允许有 252 个结构。如果需要更多结构,则必须重新构造自己的程序。例如,可以在多个全局数据块中创建结构。

TRUCT 声明

STRUCT 数据类型是指一种元素数量固定但数据类型不同的数据结构。

也可以基于 PLC 数据类型 (UDT) 创建结构。为此,需将 PLC 数据类型指定为一个结构化数据类型。小系统将通过工具提示,显示该 PLC 数据类型的各个元素。

语法

声明 STRUCT 所用的语法如下:

声明 语法 示例
STRUCT <名称> : Struct
<元素名称> : <数据类型> [:= <值>];
<元素名称> : <数据类型> [:= <值>];
...
END_Struct := (<初始化列表>);
myStruct : Struct
mem_1 : Int;
mem_2 : Int;
mem_3 : BOOL;
END_Struct := (6,0, TRUE) ;
基于 PLC 数据类型 (UDT) 的 STRUCT <名称> : "" := (<初始化列表>); myStruct : "myType" := (6,0, TRUE);
说明
S7-1500:一个数据块中最多有 252 个结构
S7-1500 系列 CPU 中的一个数据块中最多允许有 252 个结构。如果需要更多结构,则必须重新构造自己的程序。例如,可以在多个全局数据块中创建结构。

STRUCT 的初始化

STRUCT 初始化为可选操作。进行初始化时,可在变量声明后直接跟随一个值,也可使用初始化列表。

初始化列表位于关键字 END_STRUCT 之后,包含在一个括号内并通过 := 进行赋值。如果该结构中还包含下级结构,则可通过括号嵌套进行初始化。如果这两种初始化方式均未采用,则可使用初始化列表中的值。

初始化列表使用的语法如下所示:

声明 语法 示例 注释
STRUCT 的初始化 <名称> : Struct
<元素名称> : <数据类型> [:= <值>];
...
END_Struct
myStruct : Struct
mem_1 : Int := 1;
mem_2 : Int := 2;
mem_3 : BOOL := FALSE
End_Struct
该结构中的元素将进行如下初始化:
// mem_1 := 1
// mem_2 := 2
// mem_3 := FALSE
STRUC 的初始化列表 := (<值>,<值>,<值>... ) myStruct : Struct
mem_1 : Int;
mem_2 : Int;
mem_3 : BOOL
End_Struct:=(2,0,TRUE);
该结构中的元素将进行如下初始化:
// mem_1 := 2
// mem_2 := 0
// mem_3 := TRUE
嵌套 STRUC 的初始化列表 := (<值>,(<值>,<值>... )) myStruct : Struct
mem_1 : Int;
mem_2 : Int;
mem_3 : Struct
mem_4 : BOOL;
mem_5 : BOOL;
End_Struct;
End_Struct:=(2,0, (TRUE,TRUE));
该结构中的元素将进行如下初始化:
// mem_1 := 2
// mem_2 := 0
// mem_4 := TRUE
// mem_5 := TRUE
STRUC 的初始化列表(带元素命名规范) := (<元素名称> := <值>), (<元素名称> := <值>)... myStruct : Struct
mem_1 : Int;
mem_2 : Int;
End_Struct:=(mem_2:=55);
该结构中的元素将进行如下初始化:
// mem_2 := 55
PLC 数据类型 (UDT) 的初始化列表 := (<值>,<值>,<值>... ) myStruct : "myType" := (2,0,TRUE); 该结构中的元素将进行如下初始化:
// mem_1 := 2
// mem_2 := 0
// mem_3 := TRUE
嵌套 PLC 数据类型 (UDT) 的初始化列表 := (<值>,(<值>,<值>... )) myStruct : "myType" := (2,0,(TRUE,TRUE); 该结构中的元素将进行如下初始化:
// mem_1 := 2
// mem_2 := 0
// mem_3 := TRUE
// mem_4 := TRUE
PLC 数据类型 (UDT) 的初始化列表(带元素命名规范) := (<元素名称> := <值>), (<元素名称> := <值>)... myStruct : "myType" := (mem_1:=22,mem_2:=55); 该结构中的元素将进行如下初始化:
// mem_1 := 22
// mem_2 := 55

审核编辑:汤梓红

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

    关注

    4975

    文章

    12257

    浏览量

    454951
  • 西门子
    +关注

    关注

    92

    文章

    2851

    浏览量

    113780
  • 数据类型
    +关注

    关注

    0

    文章

    228

    浏览量

    13499
  • Struct
    +关注

    关注

    0

    文章

    29

    浏览量

    10817

原文标题:西门子博途:声明 STRUCT 数据类型的变量

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

收藏 人收藏

    评论

    相关推荐

    Verilog 变量声明数据类型

    Verilog 变量声明数据类型二上节介绍了wire,reg数据类型及其用法,并对变量定义中的向量的定义及使用做了说明。本节主要介绍其它几
    发表于 08-06 09:21

    Verilog 变量声明数据类型

    Verilog 变量声明数据类型一Verilog语法中最基本的数据类型有 线网(wire),寄存器(reg)和整数(integer)三种类型
    发表于 08-10 14:01

    西门子plc数据类型_西门子plc通讯方式

    西门子PLC的品质非常好,其网络稳定性、开放性深受工控人员的喜爱,而且编程软件分类多,使用方便。在国内工控界具有显著地位。虽然大家对西门子PLC都有一定的了解,但要你说出西门子PLC各种通信方式的特点,相信很多人都不能完整答出。
    发表于 07-25 10:57 1.3w次阅读
    <b class='flag-5'>西门子</b>plc<b class='flag-5'>数据类型</b>_<b class='flag-5'>西门子</b>plc通讯方式

    西门子PLC模拟量输入输出相关数据类型转换

    plc模拟量输入输出都会涉及到数据类型的互转问题,然而西门子300系统对于数据格式有着明确的规定,一般的四则运算都是在同一数据类型下才能进行的,这也是一直以来困扰初学者的一个问题。
    发表于 03-19 08:42 1.4w次阅读
    <b class='flag-5'>西门子</b>PLC模拟量输入输出相关<b class='flag-5'>数据类型</b>转换

    西门子SCL逻辑块中声明变量或参数类型

    每类本地变量或参数,都有用各自关键字对标识的自己的声明子域。每个子域包含允许的详细的声明子域,子域可按任何顺序定位。 下表显示能够在各种逻辑块中声明
    的头像 发表于 08-25 18:07 8086次阅读

    数据类型wchar和wstring在西门子PLC中的应用

    1、数据类型为 wchar(宽字符)的变量长度为 16 位,占用2个 byte 的内存。wchar数据类型将扩展字符集中的单个字符保存为 UFT-16 编码形式。
    的头像 发表于 03-30 15:30 7629次阅读

    西门子博途F型PLC数据类型与标准PLC数据类型的差别

    可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT) 。可以在安全程序中以及标准用户程序中使用 F 型 PLC 数据类型 (U
    的头像 发表于 07-08 10:15 2616次阅读

    Struct结构数据类型

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

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

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

    结构数据类型Struct介绍

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

    西门子途中DB_ANY数据类型的使用

    数据块名称或先前分配给数据块名称的 DB_ANY 数据类型变量将在运行期间传送到此参数。可以通过以下指令,处理数据块中用符号表示的内容。
    的头像 发表于 07-04 10:17 5436次阅读
    <b class='flag-5'>西门子</b>博<b class='flag-5'>途中</b>DB_ANY<b class='flag-5'>数据类型</b>的使用

    ARRAY 数据类型变量

    要求 全局数据块已打开。 操作步骤 要声明一个 ARRAY 数据类型变量,请按以下步骤操作: 在“名称”(Name) 列中,输入变量的名称
    的头像 发表于 07-06 11:08 654次阅读

    西门子博途有关STRUCT的基本信息

    STRUCT 数据类型是指一种元素数量固定但数据类型不同的数据结构。在结构中,也可嵌套 STRUCT 或 ARRAY
    的头像 发表于 07-12 10:03 3319次阅读
    <b class='flag-5'>西门子</b>博途有关<b class='flag-5'>STRUCT</b>的基本信息

    西门子博途:使用PLC数据类型 (UDT)

    PLC 数据类型 (UDT) 是可自行定义且在程序中可以多次使用的数据结构。 此结构可包含不同数据类型的多个元素。 声明 PLC 数据类型
    的头像 发表于 07-12 17:36 5081次阅读
    <b class='flag-5'>西门子</b>博途:使用PLC<b class='flag-5'>数据类型</b> (UDT)

    西门子PLC UDT数据类型的使用方法

    西门子PLC(Programmable Logic Controller)的自定义数据类型(User Defined Type,简称UDT)是一种自定义的数据结构,可以根据具体需求定义一种包含多个不同
    的头像 发表于 07-19 15:01 1734次阅读
    <b class='flag-5'>西门子</b>PLC UDT<b class='flag-5'>数据类型</b>的使用方法