- {{item.name}}
SLICE的功能
- 0
- 98
S7-1500 通过片断访问对变量区域进行寻址
对于S7-1500/1200 PLC,可以选择包含所声明变量的特定地址区域,访问宽为 1 位、8 位、16 位或 32 位的区域。将存储器区域(如,BYTE 或 WORD)拆分为一个较小的存储器区域(如 BOOL),又称"片段访问"(Slice access)。
注意:无法使用片段访问对覆盖 AT 的结构、常量和变量进行寻址。
以下内容使用TIA V17 Pro软件测试。
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> | 访问 <tag> 内的位号。 编号 0 表示访问最低有效位 |
<BYTE number> | 访问 <tag> 内的字节号。编号 0 表示访问最低有效字节 |
<WORD number> | 访问的 <tag> 内的字号。编号 0 表示访问最低有效字 |
<DWORD number> | 访问的 <tag> 内的双字号。编号 0 表示访问最低有效双字 |
通常针对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 访问
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}