西门子S7300/400中DBW和DIW有什么区别

时间:2016-05-27 14:23:25  来源:  作者:

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

粤ICP备17024453号