找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 PLC学习 查看内容

西门子Slice方式变量寻址

2023-5-1 10:38| 发布者: gkket| 查看: 834| 评论: 0

摘要: 【一】语法表达式以及说明(1)语法表达式Tag.xBit numberTag.bBYTE numberTag.wWORD number4.Tag.dDWORD number(2)语法说明部分说明Tag访问的变量标识。xbwd访问宽度为“位(1 位)”的标识访问宽度为“字节(8 ...

【一】语法表达式以及说明


(1)语法表达式

  1. <Tag>.x<Bit number>


  2. <Tag>.b<BYTE number>

  3. <Tag>.w<WORD number>

4.<Tag>.d<DWORD number>

(2)语法说明

部分

说明

<Tag>

访问的变量标识。

x
b
w
d

访问宽度为“位(1 位)”的标识
访问宽度为“字节(8 位)”的标识
访问宽度为“字(16 位)”的标识
访问宽度为“双字(32 位)”的标识

<BIT number>

待访问 <tag> 内的位号。编号 0 表示访问最低有效位。

<BYTE number>

待访问 <tag> 内的字节号。编号 0 表示访问最低有效字节。

<WORD number>

访问的 <tag> 内的字号。编号 0 表示访问最低有效字。

<DWORD number>

访问的 <tag> 内的双字号。编号 0 表示访问最低有效双字。

(3)功能说明

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

(4)注意事项

从博途V13以后,语法规则从 "<Tag>.x" 改为 "<Tag>.%x",并且对于S7-300/400是不支持这种变量的片访问方式;对于S7-1200/1500其它类型的变量,比如数组元素,访问形式都差不多,大家自己动手试试吧!

【二】使用说明

(1)使用 DB 块变量进行 Slice 访问

创建一个 S7-1200 的项目,在程序块中新建一个 DB 块(优化的块访问),创建一个变量,数据类型为 DWord,可以看到该变量没有绝对地址,如下图所示:

在程序段 1 中插入常开和赋值指令,常开指令填写地址“DB1.Static_1.X0”,赋值指令填写地址“DB1.Static_1.X1”,其中 X0 和 X1 分别表示变量 Static_1 的第 0 位和第 1 位,如下图所示:

在程序段 2 中插入 MOVE 指令,IN 管脚填写地址“DB1.Static_1.B0”,OUT 管脚填写地址“DB1.Static_1.B1”,其中 X0 和 X1 分别表示变量 Static_1 的第 0 字节和第 1 字节,如下图所示:

依次类推,对字访问,就是填写地址“DB1.Static_1.W0”和“DB1.Static_1.W1”。

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

创建程序块(本例创建 FC 块,优化的块访问),在 Input 和 Output 分别创建变量“Input_1”和“Output_1”,数据类型分别是 DInt 和 Dword,可以看到这两个变量没有绝对地址,如下图所示:

程序段 1,常开指令填写地址“Input_1.X0”,赋值指令填写地址“Output_1.X0”;程序段2,MOVE 指令的 IN 管脚填写地址“Input_1.W0”,OUT 管脚填写地址“Output_1.W0”。最后如下图所示。

关注公众号,加入500人微信群,下载100G免费资料!

最新评论

热门文章
关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 08:18 , Processed in 0.064316 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部