有读者反馈说搞不清楚西门子S7-300/400PLC的寄存器和累加器有什么区别?今天这篇文章我们就来谈谈这个话题。
首先,我们说的寄存器和累加器,都是属于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)中将存储第一次的操作数,比如下面这两条指令:
执行完第一条后,ACCU1的值为MW100的值;执行完第二条后,ACCU1的值为MW102的值,ACCU2的值为MW100的值;
传送(T)指令用来将累加器1(ACCU1)中的值保存到相应的存储区,比如下面的指令:
装载(L)指令将MW100的值装载到累加器1中(ACCU1)中,然后传送指令(T)将累加器1(ACCU1)中的值保存到MW104中,从而实现了MW100值的复制功能。
本章小结:寄存器是CPU的高速存储单元,用来暂时存储CPU运算时所需要的指令、数据、地址等信息,CPU中有各种各样的寄存器;累加器是寄存器的一种,其主要功能是用来对操作数进行运算(保存中间结果)并处理运算的结果。
相关参考文章:
官网提供本文PDF版本下载:
发表评论