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

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

3天内不再提示

S7-1500 DB数据块的类型和使用方法2

jf_78858299 来源:科控自动化 作者:科控自动化 2023-02-01 16:45 次阅读

1.4 通过PLC 数据类型创建DB

PLC数据类型是一个用户自定义的数据类型模板,可以由不同的数据类型组成,提供一个固定格式的数据结构,便于用户使用。PLC数据类型的变量在程序中作为一个整体变量使用。

  1. 创建PLC 数据类型

在“PLC 数据类型”文件夹中,单击“添加新数据类型”后,会创建和打开一个PLC 数据类型的声明表。选择该PLC 数据类型,并在快捷菜单中选择“重命名”命令,就可以给这个PLC数据类型重新命名。然后在声明表中声明变量及数据类型,完成PLC 数据类型的创建。比如创建一个名称为“PLC_DT_1”的PLC数据类型,在这个数据类型中包含3个变量,如图7所示。

图7

  1. 创建固定数据结构的 DB 块

单击“添加新块”命令,选择数据块,并在类型的下拉列表中选择所创建的PLC 数据类型“PLC_DT_1”,如图8所示。

图8

然后点击“确定”,生成与“PLC_DT_1”相同数据结构的DB块。

通过PLC 数据类型创建DB与通过系统数据类型创建DB的目的相同,一个是用户自定义的数据类型,一个系统给出的特定的数据类型,但是用户自定义的数据类型在全局DB块中的变量类型向导中是可见的。

1.5 数组DB

数组DB是一种特殊类型的全局数据块,它包含一个任意数据类型的数组。例如可以是基本数据类型,也可以是PLC数据类型(UDT)的数组,但这种数据块不能包含除数组之外的其它元素。创建数组DB时需要输入数组的数据类型和数组的上限。创建完数组DB后,可以在其属性中随时更改数组的上限,但是无法更改数据类型。数组DB始终启用“优化块访问”(Optimized block access)属性,不能进行标准访问,并且为非保持性属性,不能修改为保持性属性。数组DB的声明如图9所示。

图9

数组DB块的名称与块中变量(只能有一个数组变量)的名称是相同的,如图10所示。

图10

数组DB块中变量元素的访问需要使用“THIS[x]”替代变量的名称,例如图10中变量的第一个元素为DDD.THIS[0],如图11所示。

图11

可以使用函数“ReadFromArrayDB”和“WriteTOArrayDB”等对数组DB进行类似间接寻址的访问,比如将数组DB中的变量值复制到“变量1”中,可以参考图12中的程序。

图12

在DB13(数据块_7)中共有3个数组元素,由“Tag_58”的值决定将哪个元素的值复制给“数据块_10”中的“变量1”。示例中“Tag_58”的值为1,所以是将“数据块_7[1]”的值赋值给“变量1”。

1.6 什么类型的DB可以与VARIANT转换

S7-1500中使用VARIANT数据类型变量作为程序块中参数的传递,指令DB_ANY_TO_VARIANT或者VARIANT_TO_DB_ANY用于参数DB_ANY和VARIANT转换,DB_ANY的使用是有要求的,必须是格式固定的,使用要求参考下表(DB_ANY_TO_VARIANT的在线帮助)中的加粗标记。

输入变量 转换结果... 转换选项
DB_ANY 作为 PLC 数据类型或系统数据类型 (SDT) 的实例化数据块的数据块。 可以转换
DB_ANY ...作为 ARRAY 数据块的数据块。 可以转换
DB_ANY ...作为函数块或全局数据块中的实例化数据块 不可转换

所以说通常情况下,通过系统数据类型、用户数据类型创建的数据块、数组DB与全局DB访问和使用的方式是相同的,而在特殊的情快下,这些数据块类型是不可替代的。

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

    关注

    68

    文章

    10824

    浏览量

    211088
  • 数据
    +关注

    关注

    8

    文章

    6867

    浏览量

    88800
  • S7-1500
    +关注

    关注

    3

    文章

    300

    浏览量

    6337
收藏 人收藏

    评论

    相关推荐

    基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门

    S7-1500 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V12SP1开始软件中增加了S7-1500的Modbus TCP库,用于S7-1500
    发表于 11-21 17:05 5147次阅读

    西门子plc S7-1200/S7-1500优化的DB与标准的DB整体对比

    在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 时,其缺省属性为优化的 DB ,优化的
    的头像 发表于 07-28 19:55 4568次阅读
    西门子plc <b class='flag-5'>S7</b>-1200/<b class='flag-5'>S7-1500</b>优化的<b class='flag-5'>DB</b><b class='flag-5'>块</b>与标准的<b class='flag-5'>DB</b><b class='flag-5'>块</b>整体对比

    S7-1500与MV340自由口通信方案

    SIMATIC S7-1500 或ET200MP 自动化系统包含各种应用模块,其中包括通信模块。串行通信模块通过点对点连接,提供了简单的数据交换功能。本例以S7-1500 串口通信模块CM PtP RS232 HF,与手持读码器
    发表于 09-26 18:09 11次下载
    <b class='flag-5'>S7-1500</b>与MV340自由口通信方案

    S7-1500系统架构及特点

    S7-1500数据管理系统中,提供两种不同的访问机制: 优化访问、 非优化访问(兼容 S7-300/400),S7-1500 FW V
    发表于 10-10 11:40 29次下载
    <b class='flag-5'>S7-1500</b>系统架构及特点

    怎样去使用S7-1500 SCL PEEK和POKE指令呢

    PEEK 和 POKE 指令,可在不指定数据类型的情况下对 Input区、Output区、M 存储区、DB和PI/Q(物理输入/输出,仅S7-1500支持)读取或写入
    的头像 发表于 10-08 10:04 6066次阅读

    S7-1500S7-1500之间S7通信

    使用 STEP7 V14 在同一个项目中,新建两个S7-1500站点,然后做 S7 通讯。
    的头像 发表于 11-23 09:53 2923次阅读

    S7-1500 CPU支持与其它S7-1500 CPU进行直接数据交换

    从固件版本 V2.8 开始,S7-1500 CPU 支持与其它 S7-1500 CPU 进行直接数据交换。在直接数据交换的情况下,S7-1500
    的头像 发表于 11-29 09:53 4000次阅读

    S7-1500 DB数据类型使用方法1

    ,可在TIA 博途界面下点击“程序”->“添加新”,选择“数据”并选择数据
    的头像 发表于 02-01 16:45 8105次阅读
    <b class='flag-5'>S7-1500</b> <b class='flag-5'>DB</b><b class='flag-5'>数据</b><b class='flag-5'>块</b>的<b class='flag-5'>类型</b>和<b class='flag-5'>使用方法</b>1

    SIMATIC S7-1500的Profibus DP通讯

    SIMATIC S7-1500的Profibus DP通讯
    的头像 发表于 05-04 15:20 1794次阅读
    SIMATIC <b class='flag-5'>S7-1500</b>的Profibus DP通讯

    西门子S7-1500 之间 S7 通信

    S7-1500 CPU server 发送数据DB2 中的 10 个字节的数据读到 S7-15
    的头像 发表于 05-29 14:04 5605次阅读
    西门子<b class='flag-5'>S7-1500</b> 之间 <b class='flag-5'>S7</b> 通信

    S7-1500之间S7通信实例

    S7-1500 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。S7-1500 支持 S7单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的
    的头像 发表于 06-01 09:25 3120次阅读
    <b class='flag-5'>S7-1500</b>之间<b class='flag-5'>S7</b>通信实例

    S7-1500系列电源模块组态方法及容易出错点

    S7-1500系列产品提供两种类型的电源模块负载电源和系统电源。
    发表于 06-06 16:58 7361次阅读
    <b class='flag-5'>S7-1500</b>系列电源模块组态<b class='flag-5'>方法</b>及容易出错点

    DCM与S7-1500 PN是如何进行通讯的?

    S7-1500与SINAMICS DCM之间通过 PROFINET IO可进行周期性通讯,通过TIA组态,该通讯可通过调用功能“DPWR_DAT/DPRD_DAT”实现S7-1500对 SINAMICS DCM
    发表于 07-11 14:15 1209次阅读
    DCM与<b class='flag-5'>S7-1500</b> PN是如何进行通讯的?

    S7-1500数据:优化DB与非优化DB的区别有哪些?

    可能是为了适应S7-1500操作系统的新功能同时还要保持原有操作习惯的原因,相对于S7-300/400,S7-1500数据功能和参数更多
    的头像 发表于 09-08 14:18 2258次阅读
    <b class='flag-5'>S7-1500</b><b class='flag-5'>数据</b><b class='flag-5'>块</b>:优化<b class='flag-5'>DB</b>与非优化<b class='flag-5'>DB</b>的区别有哪些?

    S7-1500冗余 PLC 1500R使用入门

    电子发烧友网站提供《S7-1500冗余 PLC 1500R使用入门.pdf》资料免费下载
    发表于 08-13 09:12 1次下载