西门子S7-300,400的寄存器和累加器

首先,我们说的寄存器和累加器,都 是属于S7-300/400的CPU模块内部的 组成部分。 寄存器,英文名称:Register,是 CPU的高速存储单元,用来暂时存储 CPU运算时所需要的指令、数据、地 址等信息。CPU中有各种各样的寄存 器,比如状态字寄存器,地址寄存 器,数据块寄存器等等......而累加器,其实也是寄存器的一 种。

累加器,英文名称:Accumulator,简 写:ACCU,是用于处理字节、字或 双字的寄存器,其长度为32位(4个 字节)。在S7-300中有两个累加器, ACCU1和ACCU2;在S7-400中有四 个累加器,ACCU1~ACCU4;绝大多 数的语句表指令的执行都需要累加器 的参与,将操作数放入到累加器,进 行运算(保存中间结果),然后再将 运算结果从累加器传送到某个存储 区。

说到这里,不得不说两个指令:装载 (L)和传送(T); 装载(L)指令用来将一个字节,字或 者双字装载到累加器1(ACCU1) 中,而累加器1(ACCU1)中原来的 数据,将保存到累加器2(ACCU2) 中。如果使用两次装载指令,则累加 器2(ACCU2)中将存储第一次的操 作数,比如下面这两条指令:

西门子S7-300,400的寄存器和累加器_第1张图片

执行完第一条后,ACCU1的值为 MW100的值;执行完第二条后, ACCU1的值为MW102的值,ACCU2 的值为MW100的值; 传送(T)指令用来将累加器 1(ACCU1)中的值保存到相应的存 储区,比如下面的指令:

西门子S7-300,400的寄存器和累加器_第2张图片

装载(L)指令将MW100的值装载到 累加器1中(ACCU1)中,然后传送 指令(T)将累加器1(ACCU1)中的 值保存到MW104中,从而实现了 MW100值的复制功能。

西门子PLC地址寄存器装入和传送 对于地址寄存器,可以不经过累加器1而直接将操作数装入或传出,或将两个地址寄存器的内容直接 交换。

指令格式: LAR1

说明:将操作数的内容装入地址寄存器1(AR1);

指令格式: LAR2

说明:将操作数的内容装入地址寄存器2(AR2);

指令格式:TAR1

说明:将ARl的内容传送给存储区或AR2;

指令格式:TAR2

说明:将ARl的内容传送给存储区或AR2;

指令格式:CAR

说明:交换ARl和AR2的内容

例 如:

LARl P#I0.0 //将输入位I0.0的地址指针装入AR1

LAR2 P#0.0 //将二进制数2#00000000 00000000 00000000 00000000 AR2

LAR1 P#Start //将符号名为Start的存储器的地址指针装入AR1

LAR1AR2 //将AR2的内容装入AR1

LARl DBD20 //将数据双字DBD 20的内容装入AR1

TAR1 AR2 //将ARl的内容传送至

AR2 TAR2 //将AR2的内容传送至累加器1

TARl MD 20 //将ARl的内容传送至存储器双字MD 20 CAR //交换ARl和AR2的内容

你可能感兴趣的:(西门子PLC)