欧姆龙CP1 PLC的寻址方式
寻址,就是要找到指令需要的操作数的地址。
一般,PLC的寻址方式有两种,一种是直接寻址,一种是间接寻址。
直接寻址就是直接找到需要操作的地址,间接寻址是在直接寻址的基础之上,把直接寻址得到的地址中的内容作为指针(变量地址),再进行寻址。
欧姆龙CP1 PLC的间接寻址方式有两种,一种是使用寄存器D区做间接寻址;一种是使用索引寄存器IR或数据寄存器DR做间接寻址。
下面以D区寻址方式进行说明。
在地址前面加上“*”号表示以BCD数的方式进行寻址;在地址前面加上“@”号表示以BIN数的方式进行寻址。
如,“*D10”,D10是指针,内容是BCD数据;“@D10”,D10是指针,内容是BIN数据;
如下图所示,当0.00接通时,寄存器D10中的数据为BCD数100,
当0.01接通时,MOV指令把BCD数5555传送到D10指针指引的D
区寄存器,就是D100中,D100的值就是#5555。
如下图所示,当0.00接通时,寄存器D10中的数据为BCD数200,转换为BIN数就是512,当0.01接通时,MOV指令把BCD数5555传送到D10指针指引的D区寄存器,就是D512中,D512的值就是#5555。
如果有要求把通道300中的模拟量每隔1秒钟采样一次,依次放至D1~D100寄存器中,采样结束,输出100.00。可用如下间接寻址的方式编写程序,可以大大节省程序数量和编程时间。
注意此处的“++B”应该用微分形式的指令,所以在前面加上“@”,如果不加,则程序无效。此处程序也可用下图方式编写。