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

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

3天内不再提示

S7-1500通过片断访问对变量区域进行寻址

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-12-12 10:36 次阅读

对于S7-1500/1200 PLC,可以选择包含所声明变量的特定地址区域,访问宽为 1 位、8 位、16 位或 32 位的区域。将存储器区域(如,BYTE 或 WORD)拆分为一个较小的存储器区域(如 BOOL),又称"片段访问"(Slice access)。

注意:无法使用片段访问对覆盖 AT 的结构、常量和变量进行寻址。

以下内容使用TIA V17 Pro软件测试。

1. 使用语法

下列语法用于寻址:

1. .X

2. .B

3. .W

4. .D

该语法包含以下部分:

部分 说明
访问的变量
X
B
W
D
访问宽度为"位(1 位)"
访问宽度为"字节(8 位)"
访问宽度为"字(16 位)"
访问宽度为"双字(32 位)"
访问 内的位号。编号 0 表示访问最低有效位
访问 内的字节号。编号 0 表示访问最低有效字节
访问的 内的字号。编号 0 表示访问最低有效字
访问的 内的双字号。编号 0 表示访问最低有效双字

通常针对Byte、Word等数据类型的变量进行片段访问,如图1所示。也可对 INT、DINT 等整数数据类型的变量进行片段访问。

c7d5bd56-7805-11ed-8abf-dac502259ad0.jpg

图1. 片段访问结构

注意:当使用SCL编程对INT、DINT 等整数数据类型的变量进行片段访问时,不能启用SCL程序块的IEC检查,否则提示语法错误,如图2所示。

c7e9bfae-7805-11ed-8abf-dac502259ad0.jpg

图2. 对整数变量片段访问的特殊情况

2. 片段访问使用示例

1. 对 DB 块变量进行 Slice 访问(优化或非优化DB均可)

创建一个 S7-1500 的项目,在程序块中新建优化DB “数据块_1”和非优化DB “数据块_2”,并新建DWORD和WORD数据类型的变量,如图 3 所示。

c7fc5380-7805-11ed-8abf-dac502259ad0.jpg

图3. 创建 DB 块变量

在程序段 1 简单编程(程序无实际意义仅为应用示例),变量输入方法:拖拽变量,然后在变量后面输入“.X0"或".B0",如图 4 所示。

c827d58c-7805-11ed-8abf-dac502259ad0.jpg

图4. 对 DB 块变量的进行 Slice 访问

2. FB、FC 块接口变量的 Slice 访问

以FB为例,在 Input 和 Output 分别创建变量"Input_1"和"Output_1",数据类型为WORD。编程使用方法和DB变量的片段访问一样,先拖拽变量然后再输入“.X0"或".B0",如图 5 所示。

c84f52b0-7805-11ed-8abf-dac502259ad0.jpg

图5. 对FB接口变量进行 Slice 访问

审核编辑:汤梓红

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

    关注

    4975

    文章

    12261

    浏览量

    454966
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162005
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5850

原文标题:S7-1500 通过片断访问对变量区域进行寻址

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

收藏 人收藏

    评论

    相关推荐

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

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

    S7-1500系统架构及特点

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

    S7-1200使用AT覆盖变量

    S7-1200 要访问声明变量内的数据区域,可以通过附加声明来覆盖所声明的变量。这样可以选择对不同数据类型的已声明
    的头像 发表于 03-11 11:10 3377次阅读

    S7-1200使用Slice方式对变量进行寻址

    可以选择包含所声明变量的特定地址区域,可以访问宽为 1 位、8 位、16 位或 32 位的区域,这种访问类型称之为“片段
    的头像 发表于 03-14 14:16 2388次阅读

    关于S7-1500访问声明变量内的数据区域

    S7-1500访问声明变量内的数据区域,可以通过附加声明来覆盖所声明的变量。其优势在于无需指
    的头像 发表于 10-08 11:26 1384次阅读

    关于S7-1200或S7-1500 PLC的通信

    WinCC V7.4SP1中针对S7-1200 或 S7-1500通信,可以创建状态变量和控制变量,用来显示和控制S7-1200 或 S7-1500 PLC的通信。
    发表于 10-09 10:05 1786次阅读

    S7-1500S7-1500之间S7通信

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

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

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

    一文轻松学会西门子Slice方式变量寻址

    【导读】博途中不但变量数据类型的隐式转换很好用,而且对于变量的Slice(直译:片或部分)寻址也很方便,下面就来说下S7-1200/1500如何以用Slice方式对
    的头像 发表于 04-07 10:58 1676次阅读

    S7-1500与G120变频器通过标准报文1进行Profinet通信步骤

    S7-1500与G120变频器通过标准报文1进行Profinet通信的具体步骤 具体步骤可参考如下 :以S7-1500作为Profinet的控制器,以G120变频器作为Profinet
    发表于 04-10 09:35 3次下载
    <b class='flag-5'>S7-1500</b>与G120变频器<b class='flag-5'>通过</b>标准报文1<b class='flag-5'>进行</b>Profinet通信步骤

    S7-1500和S7-1200存储区域保持性设置

    与S7-300/400一样,S7-1500和S7-1200都有存储区M区,另外S-1500还有存储区(定时器、计数器),这些区域都可以设置保持性。下面详细介绍如何设置这些区域的保持性。
    的头像 发表于 04-21 09:49 6921次阅读

    S7-1500中各种语言结构的移植

    S7-1500 中,统一了所有编程语言的间接寻址选项,因此在移植过程中将部分转换 S7-300/400 中支持的间接寻址
    的头像 发表于 06-25 15:36 708次阅读

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

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

    基于S7-1500双边通信的组态编程步骤

    S7-1500 之间通过 BSEND/BRCV 方式进行双边通信的组态编程步骤,用于实现两台 S7-1500 都在同一项目中组态的场景。
    发表于 10-15 17:34 1058次阅读
    基于<b class='flag-5'>S7-1500</b>双边通信的组态编程步骤

    西门子博途:通过片断访问变量区域进行寻址的步骤

    可以选择包含所声明变量的特定地址区域。可以访问宽为 1 位、8 位、16 位或 32 位的区域
    的头像 发表于 04-28 09:24 87次阅读