对于S7-1500/1200 PLC,可以选择包含所声明变量的特定地址区域,访问宽为 1 位、8 位、16 位或 32 位的区域。将存储器区域(如,BYTE 或 WORD)拆分为一个较小的存储器区域(如 BOOL),又称"片段访问"(Slice access)。
注意:无法使用片段访问对覆盖 AT 的结构、常量和变量进行寻址。
以下内容使用TIA V17 Pro软件测试。
1. 使用语法
下列语法用于寻址:
1.
2.
3.
4.
该语法包含以下部分:
部分 | 说明 |
|
访问的变量 |
X B W D |
访问宽度为"位(1 位)" 访问宽度为"字节(8 位)" 访问宽度为"字(16 位)" 访问宽度为"双字(32 位)" |
|
访问 |
|
访问 |
|
访问的 |
|
访问的 |
通常针对Byte、Word等数据类型的变量进行片段访问,如图1所示。也可对 INT、DINT 等整数数据类型的变量进行片段访问。
图1. 片段访问结构
注意:当使用SCL编程对INT、DINT 等整数数据类型的变量进行片段访问时,不能启用SCL程序块的IEC检查,否则提示语法错误,如图2所示。
图2. 对整数变量片段访问的特殊情况
2. 片段访问使用示例
1. 对 DB 块变量进行 Slice 访问(优化或非优化DB均可)
创建一个 S7-1500 的项目,在程序块中新建优化DB “数据块_1”和非优化DB “数据块_2”,并新建DWORD和WORD数据类型的变量,如图 3 所示。
图3. 创建 DB 块变量
在程序段 1 简单编程(程序无实际意义仅为应用示例),变量输入方法:拖拽变量,然后在变量后面输入“.X0"或".B0",如图 4 所示。
图4. 对 DB 块变量的进行 Slice 访问
2. FB、FC 块接口变量的 Slice 访问
以FB为例,在 Input 和 Output 分别创建变量"Input_1"和"Output_1",数据类型为WORD。编程使用方法和DB变量的片段访问一样,先拖拽变量然后再输入“.X0"或".B0",如图 5 所示。
图5. 对FB接口变量进行 Slice 访问
审核编辑:汤梓红
-
plc
+关注
关注
5019文章
13400浏览量
465955 -
存储器
+关注
关注
38文章
7534浏览量
164487 -
S7-1500
+关注
关注
3文章
301浏览量
6543
原文标题:S7-1500 通过片断访问对变量区域进行寻址
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门
关于S7-1200或S7-1500 PLC的通信
S7-1500 CPU支持与其它S7-1500 CPU进行直接数据交换
S7-1500通过PROFINET与RFID通信
S7-1500与G120变频器通过标准报文1进行Profinet通信步骤
![<b class='flag-5'>S7-1500</b>与G120变频器<b class='flag-5'>通过</b>标准报文1<b class='flag-5'>进行</b>Profinet通信步骤](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
S7-1500和S7-1200存储区域保持性设置
S7-1500中各种语言结构的移植
DCM与S7-1500 PN是如何进行通讯的?
![DCM与<b class='flag-5'>S7-1500</b> PN是如何<b class='flag-5'>进行</b>通讯的?](https://file1.elecfans.com/web2/M00/8C/78/wKgaomSs81uAbJ3RAABTDCy32K8605.jpg)
基于S7-1500双边通信的组态编程步骤
![基于<b class='flag-5'>S7-1500</b>双边通信的组态编程步骤](https://file1.elecfans.com/web2/M00/A8/37/wKgaomUrs8yAfAy8AAAeVHMzJmk506.jpg)
评论