西门子plcs7300中db和di数据块寄存器,使用db寄存器打开数据块后,使用dbx、dbb、dbw、dbd等来访问数据块里的变量
比如
opndb1
ldbw0//此时访问的就是db1.dbw0
使用di寄存器打开数据块后,使用dix、dib、diw、did等来访问数据块里的变量
比如
opndi1
ldiw0//此时访问的也是db1.dbw0
因为调用fb时,系统自动使用di寄存器来打开背景数据块,所以通常di寄存器又被称为背景数据块寄存器,如果在fb里不使用opndi打开数据块,直接使用diw访问的就是背景数据块里的一个字变量,所以在fb里最好不要使用di寄存器打开其它的数据,否则造成参数访问混乱。
总之,看到diw并不一定是访问的背景数据块,要看是否在fb里使用,是否使用了opndi打开了其它数据块,不在fb里db寄存器和di寄存器使用没有区别。