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

描述

说明

可以选择包含所声明变量的特定地址区域。可以访问宽为 1 位、8 位、16 位或 32 位的区域。将存储器区域(如,BYTE 或 WORD)拆分为一个较小的存储器区域(如 BOOL),又称为“分段”。

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

语法

下列语法用于寻址:

.X

.B

.W

.D

该语法包含以下部分:

部分 说明
访问的变量。该变量的数据类型必须为“Bit string”或“Integer”。
在 SCL 中,如果禁用 IEC 检查,则只能对数据类型为“Integer”的变量进行片段访问。
X
B
W
D
访问宽度为“位(1 位)”的 ID
访问宽度为“字节(8 位)”的 ID
访问宽度为“字(16 位)”的 ID
访问宽度为“双字(32 位)”的 ID
待访问 内的位号。编号 0 表示访问最低有效位。
待访问 内的字节号。
编号 0 表示访问最低有效字节。
访问的 内的字号。
编号 0 表示访问最低有效字。
访问的 内的双字号。
编号 0 表示访问最低有效双字。

片段访问示例

以下示例说明了位、字节、字和双字模式下片段的寻址方式:

寻址 说明
"Engine".Motor.X0
"Engine".Motor.X7
"Motor" 为全局数据块 "Engine". 中数据类型为 BYTE、WORD、DWORD 或 LWORD 的变量
X0 将寻址位地址 0,X7 则寻址 "Motor" 中的位地址 7。
"Engine".Speed.B0
"Engine".Speed.B1
"Speed" 为全局数据块 "Engine". 中数据类型为 WORD、DWORD 或 LWORD 的变量
B0 将寻址字节地址 0,B1 则寻址 "Speed" 中的字节地址 1。
"Engine".Fuel.W0
"Engine".Fuel.W1
"FUEL" 为全局数据块 "Engine". 中数据类型为 DWORD 或 LWORD 的变量
W0 将寻址字地址 0,W1 则寻址 "Fuel" 中的字地址 1。
"Engine".Data.D0
"Engine".Data.D1
"Data" 为全局数据块 "Engine". 中数据类型为 LWORD 的变量
D0 将寻址双字地址 0,D1 则寻址 "Data" 中的双字地址 1。



审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分