读懂S7 | 您所在的位置:网站首页 › step7编程语言有几种 › 读懂S7 |
有读者反馈说搞不清楚西门子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中有各种各样的寄存器;累加器是寄存器的一种,其主要功能是用来对操作数进行运算(保存中间结果)并处理运算的结果。 相关参考文章: S7-1200硬件篇之读懂CPU的内部存储区官网提供本文PDF版本下载: |
CopyRight 2018-2019 实验室设备网 版权所有 |