SCL 中变量的间接寻址
间接寻址类似于绝对地址寻址。 指定圆括号中的偏移量而非地址。 偏移量由一个字节变量组成,如果是布尔型操作数,有一字节变量和一位变量。 字节和位变量必须是 INT 数据类型。
PLC 变量表的定时器和计数器无法以这种方法间接寻址。
语法
以下语法可用于间接寻址全局变量:
Operand ID (Byte tag)
Operand ID (Byte tag.Bit tag)
以下语法可用于间接寻址 DB 变量:
MyDB.OperandID(ByteTag)
MyDB.OperandID(ByteTag.BitTag)
示例
示例 1: 根据变量 i 的值,将输入字 2 到 8 中的一个设置为 0。
在 SCL 中寻址 将以下程序代码复制到剪贴板。
#i:=2;
FOR #i := 2 TO 8 DO
%IW(#i) := 0 ;
END_FOR;
示例 2: 根据变量 i 的值,将 DB10 中的字 2 到 8 中的一个设置为 0。
在 SCL 中寻址 将以下程序代码复制到剪贴板。
#i:=2;
FOR #i := 2 TO 8 DO
%DB10.DW(#i) := 0 ;
END_FOR;
以上为TIA帮助文件中的间接寻址内容,我在软件中使用时,%IW(#i) 这种形式是不被软件认可的,编译时报错,问题是没有确定数据类型。请问大家这个问题怎么处理?