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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-07-12 17:36 次阅读

使用 PLC 数据类型

PLC 数据类型 (UDT) 是可自行定义且在程序中可以多次使用的数据结构。 此结构可包含不同数据类型的多个元素。 声明 PLC 数据类型期间,可以定义各个元素的数据类型。

如果需要各种数据类型的组装数据记录,则会频繁使用 PLC 数据类型,并且将从程序中的不同点处理这些数据。 例如,这些数据可以是:

用于物料跟踪的数据记录

用于电机设置的参数

配方

使用 PLC 数据类型有以下优点:

PLC 数据类型元素也可以间接寻址,这意味着地址可变,并且到运行时才会计算。

基于 PLC 数据类型的变量继承 PLC 数据类型的所有属性。 如果对 PLC 数据类型进行了更改,所有基于此 PLC 数据类型的变量都会自动修改。

使用统一的符号表示可以提高程序可读性,这是因为 PLC 数据类型各个元素的名称都显示在程序中。

可以对 S7-1500 CPU 高性能进行最佳利用。

PLC 数据类型可以作为块调用的完整结构进行传送。

由于需要提供的参数更少,因而简化了调用接口

STEP 7 V5.x 中的操作步骤

STEP 7 V5.x 已经允许用户使用 STRUCT 数据类型或 PLC 数据类型(UDT)将数据记录创建为一个结构化变量。 但由于使用了符号寻址,因而会给性能带来些许影响。

数据块中的声明大多数以匿名结构来实现。 随后块本身经过编程将该结构的值作为实参进行传送,而计算出的值被复制回该结构。 这样就可以传送数据块编号,并在块中使用绝对寻址。 需要提供的参数数量通常较大。 实际数据存储在数据块中,计算出的值传送到其它块。 但在传送数据块变量时,没有可用的符号表示。

STEP 7 TIA Portal 中的编程示例

可以将形参和实参分配给 PLC 数据类型。 这意味着无需声明每个单独的参数。 如果块具有 PLC 数据类型的输入参数,则必须传送具有相同 PLC 数据类型的变量作为实参。

以下示例说明了使用两个形参的函数块 (FB) 的调用和参数分配:

要创建 PLC 数据类型,请在项目树中双击“PLC 数据类型”(PLC data types) 文件夹中的命令“新增数据类型”(Add new data type)。
这样,将创建并打开一个用于创建 PLC 数据类型的新声明表。
将 PLC 数据类型重命名为“UDT_Material”。
在 PLC 数据类型中声明以下行:
ArticleNumber > 数据类型: DINT
ArticleName > 数据类型: STRING
Amount > 数据类型: REAL
Unit > 数据类型: STRING
26854ba2-2097-11ee-962d-dac502259ad0.png
26854ba2-2097-11ee-962d-dac502259ad0.png

在全局数据块中,使用 PLC 数据类型。 可以将 PLC 数据类型直接指定为数据块的数据类型或在数据块中作为变量的数据类型。

要为此创建全局数据块,请按以下步骤操作:

双击“添加新块”(Add new block) 命令。
这样会打开“添加新块”(Add new block) 对话框。
单击“数据块 (DB)”(Data block (DB)) 按钮。
指定名称“DB_MaterialBuffer”。
选择数据块类型“ARRAY DB”。
选择 PLC 数据类型“UDT_Material”作为 ARRAY 数据类型。
指定“1000”作为 ARRAY 上限。
单击“确定”(OK)。
26c47ed0-2097-11ee-962d-dac502259ad0.png
26c47ed0-2097-11ee-962d-dac502259ad0.png

在函数块调用中,将形参与全局数据块“DB_MaterialBuffer”中的变量互连。

创建一个 SCL 函数块并将其命名为“FB_Material”。
按如下方式声明块接口:
27116a74-2097-11ee-962d-dac502259ad0.png
27116a74-2097-11ee-962d-dac502259ad0.png
编写以下程序代码
27443c38-2097-11ee-962d-dac502259ad0.png
27443c38-2097-11ee-962d-dac502259ad0.png
在 OB1 中调用“FB_Material” 函数块,并将形参与全局数据块“DB_MaterialBuffer”的变量互连。
27912a8e-2097-11ee-962d-dac502259ad0.png
27912a8e-2097-11ee-962d-dac502259ad0.png

在全局数据块“DB_MaterialBuffer”中移动了物料数据。






审核编辑:刘清

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

    关注

    4975

    文章

    12261

    浏览量

    454964
  • 西门子
    +关注

    关注

    92

    文章

    2852

    浏览量

    113780
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    16884
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5850

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

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

收藏 人收藏

    评论

    相关推荐

    详解PLC的工作原理和数据类型

    PLC数据类型&&寻址方式 (这个地方要分清楚,PLC的存储空间大小(位字节字双字BIT BYTE WORD DWORD)、储存器类型西门子
    发表于 10-26 11:38 2178次阅读

    西门子S7系列PLC都支持什么类型的传感器

    西门子PLC输入端源型和漏型的定义:源型、漏型是根据PLC接线端子上I点的电流流向来区分的(西门子PLC与三菱
    发表于 03-07 10:11 2454次阅读

    TIAS7-1200学习笔记

    西门子S7-1200数据类型总结笔记,来源于帮助文档。
    发表于 07-01 11:51

    西门子PLC案例

    西门子PLC案例,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 158次下载

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

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

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

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

    读写西门子PLC

    读写西门子PLC资料。
    发表于 05-10 09:33 31次下载

    标准PLC数据类型 (UDT)之间的差别

    要创建 F 型 PLC 数据类型 (UDT) ,请启用“添加新 PLC 数据类型”(Add new
    的头像 发表于 06-23 11:09 2091次阅读

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

    可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT
    的头像 发表于 07-08 10:15 2618次阅读

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

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

    C#使用西门子S7协议读写PLC DB块

    是我们上位机要读写的DB  3. 根据西门子S7 协议文档读取DB块的方式有很多种,直接根据该DB的偏移量进行读写也行,但读或写数据都需要进行对应的数据类型转换才能最终拿到值或写进去,个人觉得太麻烦了。
    发表于 04-19 10:05 15次下载
    C#使用<b class='flag-5'>西门子</b>S7协议读写<b class='flag-5'>PLC</b> DB块

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

    西门子PLC(Programmable Logic Controller)的自定义数据类型(User Defined Type,简称UDT)是一种自定义的
    的头像 发表于 07-19 15:01 1739次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b> <b class='flag-5'>UDT</b><b class='flag-5'>数据类型</b>的使用方法

    F型PLC数据类型与标准PLC数据类型(UDT)之间的差别在哪?

    可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT
    的头像 发表于 08-27 09:54 764次阅读
    F型<b class='flag-5'>PLC</b><b class='flag-5'>数据类型</b>与标准<b class='flag-5'>PLC</b><b class='flag-5'>数据类型</b>(<b class='flag-5'>UDT</b>)之间的差别在哪?

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

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

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

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