西门子S7300中DB和DI数据块寄存器,使用DB寄存器打开数据块后,使用DBX、DBB、DBW、DBD等来访问数据块里的变量
比如
OPN DB1
L DBW 0//此时访问的就是DB1. DBW 0
比如
OPN DB1
L DBW 0//此时访问的就是DB1. DBW 0
使用寄存器打开数据块后,使用DIX、DIB、DIW、DID等来访问数据块里的变量
比如
OPN DI 1
L DIW//此时访问的也是DB1.DBW 0
OPN DI 1
L DIW//此时访问的也是DB1.DBW 0
因为调用FB时,系统自动使用DI寄存器来打开背景数据块,所以通常DI寄存器又被称为背景数据块寄存器,如果在FB里不使用OPN DI打开数据块,直接使用DIW访问的就是背景数据块里的一个字变量,所以在FB里最好不要使用寄存器打开其它的数据,否则造成参数访问混乱。
总之,看到并不一定是访问的背景数据块,要看是否在里使用,是否使用了打开了其它数据块,不在里寄存器和寄存器使用没有区别。