上面的程序要想看懂的话必须得了解西门子程序的寻址方法,具体是做什么得结合你的各个变量的具体含义才能知道是什么含义。上面用到了直接寻址和间接寻址的方法。不是一两句能说清楚的。L W[AR1,P#0.0]这个个间接寻址中的交叉寻址,其中W指的是你的字符宽度,W代表的是字,就是这个指针的指向宽度为2个字节,AR1为你事先装载进去的指针指向起始地址,例如
L [MW20]
LAR1
这个就是在位存储区中的第20个字的位置,字符宽度为2两个字节。装载到地址寄存器1中。
L W[AR1,P#0.0]这就是以AR1的地址为起始地址偏移0.0个偏移量。这样就找到了你需要使用的地址了。现在国内的程序员对间接寻址的使用比较少,主要是直接寻址。这样的间接寻址就相当于C语言中的指针~!使用比较灵活,如果使用不当的话就会使PLC死机的状况。但是如果使用的好的话可以简便程序结构,并且便于程序的标准化~!如果还有什么问题可以继续留言~!
LOOP:
是循环指令,循环次数由计数寄存器CX指定。是否执行循环体的判断指令在循环体之后,所以,至少执行1次循环体,即至少循环1次。执行LOOP指令时,CPU自动将CX的值减1,若CX=0,则结束循环;否则,重复执行循环体。
和、
kjij
yjg
yuyuyjugyjyuyguyuyuuyugyubjguubjjgtdrsaea
hgjhjhjhjhjnmhjhjhjgjgj
c