这里最关键的就是A的值对应C的地址时,这个值是1—16,还是其它的,如果是1—16,而数组的数据类型是整数的话,则A的值需要左移4位,变成字的地址。如下
L #A
L 1
-I
SLW 4
LAR1
L W [AR1,P#8.0] //C在FB中以8.0开始,你的A最小为1,所以是P#7.0
T #B
1、为什么是SF错误?
因为这里没有OPN 数据块指令,才出现SF错误。并且这个数据块必须已下载到PLC中。
2、一个常数形成地址指针需要乘以8,即右移3位,形成32位指针:
其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。
AR:
0000 0000 0000 0BBB BBBB BBBB BBBB BXXX
3、程序因为:
OPN D I 1 // (打开数据块C)
L #A
SLD 3 //形成地址常数
LAR1
L DIW [AR1,P#8.0] //C在FB中以8.0开始
T #B