指针、数据类型全解析
1. 指针类型介绍
1.1 DB 指针
DB 指针用于将标签传递给块参数或函数参数。除了区域指针外,DB 指针还包含一个作为 UINT 编号的数据块编号。若区域指针包含操作数区域全局数据(DBX)或实例数据(DIX),它会指定数据块;在其他情况下,数据块编号为零。
DB 指针的表示方法为:P#Data_block.Data_operand,例如:
- P#DB10.DBX20.5:表示数据块 10 中的数据位 20.5
- P#DB102.DBD250.0:表示数据块 102 中的数据双字 250
1.2 ANY 指针
ANY 指针用于将标签或操作数区域传递给块参数或函数参数。相较于 DB 指针,ANY 指针还包含数据类型和重复因子,因此可以额外指向一个(绝对寻址的)操作数区域。
常量的表示形式为:P#[Data_block.]Operand Type Quantity,例如:
- P#DB11.DBX30.0 INT 12:表示从 %DBB30 开始的 %DB11 中包含 12 个字的区域
- P#M16.0 BYTE 8:表示从 %MB16 开始的 8 字节区域
- P#I18.0 WORD 1:表示输入字 %IW18
- P#I1.5 BOOL 1:表示输入 %I1.5
需要注意的是,ANY 指针中的操作数地址必须始终是位地址。如果以绝对模式寻址数据区域,则数据块中不能激活“优化块访问”块属性(标准访问)。当该区域没有定义标签时,使用绝对寻址的操作数区域才有意义。可以使用 P#P0.0 VOID 0 创建“
指针与数据类型详解
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



