内部寄存器的寻址,是欧美系PLC所独有的,它不同于日系的PLC。因为日系的PLC一般是直接使用。比如三菱的PLC,它用D0,D1来表示内部的数据寄存器。M0,M1 表示的是位寄存器,D0 和M0之间没有任何关系而欧系PLC与日系的完全不同,是使用和计算机一样的寻址方法。
计算机最基本的存储单位是位,同样,在PLC内也是采用位作为最基本的寻址单位。八个位组成一个字节,两个字节组成一个字。西门子博途软件平台中,高位在低字节,低位在高字节。这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放,这和我们的阅读习惯一致。这样说起来可能很抽象,我们直接看图。
如图,这是最基本的存储单元,MB0.0表示的是一个最基本的位,MB0表示一个字节,很明显,从MB0.0到MB0.7的八个位组成了一个字节,也就是MB0。其中MB0.0相当于三菱plc的M0,而MB0可以认为是三菱PLC的D0,很显然,他们是你中有我,我中有你的关系。所以,写程序前一定要做好规划,避免地址重叠。
这就是西门子博途软件平台的寻址方式,很显然,他有重叠的部分,这是我们要注意的,也是和日系PLC最大的不同,也可以说是欧系PLC的一个大陷阱。比如,MW1 和 MW0 MW2有重叠的部分,我们使用了MW1之后,为了避免地址重复,就不要再使用MW0 和MW1了。MD0 同理。