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

STL中添加到地址寄存器

来源:艾特贸易2018-04-28

简介可以将一个值按顺序添加到地址寄存器中,比如在程序循环中,每一次循环地址值都要增加。可以在语句中将该值定义为常量(作为区内指针),或者定义为累加器 1 的右边字中的内容

    可以将一个值按顺序添加到地址寄存器中,比如在程序循环中,每一次循环地址值都要增加。可以在语句中将该值定义为常量(作为区内指针),或者定义为累加器1的右边字中的内容。地址寄存器(区内或跨区)中的指针类型和地址区是保留的(未定的)。

    1.使用指针加

    语句+AR1 P#y.x+AR2 P#yx将一个指针添加到指定的地址寄存器。注意,使用这些语句,区指针的最大值为P#4095.7。如果累加器中的值大于P#4095.7,该数值就译码为以二进制补码表示的定点数并且被减去。

    比如,一个数据区和一个字值进行比较。如果比较值大于数据区中的值,则存储器位被设为“1”,否则设为“0”。

   OPN    DB 14;

   LAR1    P#DBX2 0.0;

   LAR2    P#M10.0;

   LQuantity_Data;

   Loop  T    LoopCounter;

   L    ComparisonVa1;

   L    W[AR1,P#0.0];

   >I    ;

   =   [AR2,P#0.0];

   +AR1    P#2.0;

   +AR2    P#0.1;

   L    LoopCounter;

   LOOP    Loop;

    2.使用累加器中的值加

    语句+AR1+AR2将累加器1中的数值的译码为INT类型,使用正确的符号将其扩展为24位,并把它与地址寄存器的内容相加。这样,指针被简化。超出字节地址的最大范围(065535)也没有更深的影响:其最高位将被“截断”(如图1所示)。

    注意:位地址加载到第0位~第2位。如果要增加累加器1中的字节地址,必须从第3位开始加(将数值左移3位)。

添加到地址寄存器

    1    添加到地址寄存器

    举例:在数据块DB 14中,如果要删除16字节,且这些字节的地址是根据存储器双字MD 220中的指针和存储器字节MB 18中的一个(字节)偏移量计算出来的,那么在与AR1相加之前,必须调整MB 18的内容(SLW3)。

   OPN    DB 14;

   LAR1    MD 220;

   L    MB 18;

   SLW    3;

   +AR1    ;

   L    0

   T    DBD[AR1,P#0.0];

   T    DBD[AR1,P#4.0];

   T    DBD LAR1,P#8.0];

   T    DBD[AR1,P#12.0];

    注意:使用位格式填充较大的数据区时,系统功能SFC 21 FILL是有效的。

(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:艾特贸易网客服为您服务