从STEP7 Basic V10.5 + SP2 以上可以使用 FieldRead 和FieldWrite指令对数组单元进行间接寻址.指令的调用:指令路径:基本指令——移动指令——原有指令,在原有指令下面可以找到读取域和写入域指令,创建DB块,并建立Array数据类型的变量
INDEX: 要读取的数组的单元号
MEMBER: 数组单元首地址VALUE: 存储读出的数据下例中是读取数组1中的数据2,并保存在参数VALUE:MW10 中。
FieldWrite 指令
INDEX: 要写入的数组的单元号VALUE: 要写入的数据MEMBER:数组单元首地址下例中是向数组2中的元素3写入数值MW20。
常见问题
为什么软件里无法找到 FieldRead 和 FieldWrite指令?答: 只有 STEP7BasicV10.5 + SP2 以上的版本才支持 FieldRead和FieldWrite指令,并且指令树里也无法找到,只能通过调用空指令块,并在下拉菜单里选择使用这两个指令。
FieldRead 和 FieldWrite 指令是否可以对其它数据区或数据类型实现间接寻址?答:FieldRead和FieldWrite指令只能对DB块中的数组单元进行间接寻址访问,DB 块中的其它数据类型以及其它数据区如M,I,Q区数据都不支持这个功能。
为什么FieldRead 和 FieldWrite 指令的参数显示红色不正确?答:必须保证参数 "MEMBER"和"VALUE" 的数据类型一致, 如果一个是字节,一个是实数,就会显示红色不正确的提示。如下图: