打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PLC高手编程都会用Slice方式对变量进行寻址
编程S7-1200可以选择包含所声明变量的特定地址区域,可以访问宽为 1 位、8 位、16 位或 32 位的区域,这种访问类型称之为“片段访问”(Slice access)。通过 slice(片段访问)方式,可以选择所声明变量中的特定寻址区域;可以实现从单个位到变量级别的符号访问;片段访问不能寻址常量。slice 方式支持这2种方式的块:可标准访问的块、可优化访问的块。

1. 语法表达

下列语法用于寻址:

1. <Tag>.x<Bit number>

2. <Tag>.b<BYTE number>

3. <Tag>.w<WORD number>

4. <Tag>.d<DWORD number>

语法说明

部分说明
<Tag>访问的变量标识。
x
b
w
d
访问宽度为“位(1 位)”的标识
访问宽度为“字节(8 位)”的标识
访问宽度为“字(16 位)”的标识
访问宽度为“双字(32 位)”的标识
<BIT number>待访问内的位号。编号 0 表示访问最低有效位。
<BYTE number>待访问内的字节号。编号 0 表示访问最低有效字节。
<WORD number>访问的内的字号。编号 0 表示访问最低有效字。
<DWORD number>访问的内的双字号。编号 0 表示访问最低有效双字。

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

2. 使用说明

(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”。最后如下图所示。

惊喜:扫码获取8套PLC视频教程+软件,无需转发!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
TIA块访问的基本知识
keil c 绝对地址访问
S7-1200 TCP通讯遇到DB1不存在---未装载DB1.的错误
单片机c语言 第六课 变量
单片机C语言学习
MS15-106 JScript ArrayBuffer.slice 任意地址读漏洞分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服