您现在的位置是:首页 > PLC技术 > PLC技术

指针是如何被用于存储器间接寻址的?

来源:艾特贸易2017-06-05

简介指针用来指向一个地址,使用这种寻址方式的优点在于可以在程序运行过程中实现变址。指针用于存储器间接寻址,程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符,


    指针用来指向一个地址,使用这种寻址方式的优点在于可以在程序运行过程中实现变址。指针用于存储器间接寻址,程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符,以及一个偏移量(偏移量必须在方括号内给出)。

    下面给出一个双字格式的指针的例子:

    LP#8.7把指针值装载到累加器1

    TI[MD2]把指针值传送到MD2

   AI[MD2]查询I8,7的信号状态

    =Q[MD2]给输出位Q8.7赋值

    存储区域内部寻址及交叉寻址:程序中采用这些寻址方式的语句包含一个指令及下列内容——地址标识符、地址寄存器标识符、偏移量。地址寄存器(AR1AR2)及偏移量必须写在方括号内。

    存储区域内部寻址例程:指针不包含指示存储区域的信息。

    LP#8.7把指针值装载到累加器1

   LAR1把指针从累加器1装载到AR1

   AI[AR1P#0.0]查询I8.7的信号状态

    =Q[AR1P#1.1]给输出位Q10.0赋值

    例程中,偏移量0.0不起作用。输出Q10.0等于8.7 (ARl)加偏移量1.1。结果是10.0,而不是9.8

    存储区域交叉寻址例程:在存储区域交叉寻址中,指针中包含指示存储区域的信息(示例中为IQ)。

    LP#18.7把指针值及存储区域标识符装载到累加器1

   LAR1把存储区域I和地址8.7装载到AR1

    LP#Q8.7把指针值和地址标识符装载到累加器1

   LAR2把存储区域Q和地址8.7装载到AR2

   AI [AR1P#0.0]查询输入位I8.7的信弓状态

    =[AR2P#1.1]给输出位Q10.0赋值

    例程中,偏移量0.0不起作用,输出Q10.0等于8.7(AR2)加偏移量1.1。结果是10.0,而不是9.8