西门子S7-300plc的累加器在语句表程序中扮演了极为重要的角色,几乎所有的指令操作都是在累加器中完成的。
西门子S7-200PLC的4个32位累加器是象V存储器一样的存储单元。它可以存储8位、16位和32位的数据。可用它来向子程序传递参数,或者从子程序返回参数,或者存储计算的中间结果。也可以使用累加器存储或传递指针。使用累加器不用考虑数据长度的问题,用来保存运算的中间结果特别方便。
S7-200的系统手册在讲系统对中断的支持时说:“由于中断指令影响触点、线圈和累加器逻辑,所以系统保存和恢复逻辑堆栈、累加寄存器以及指示累加器和指令操作状态的特殊存储器标志位(SM)。这避免了进入中断程序或从中断程序返回对主用户程序造成破坏。”
这就是说,调用中断程序之前,累加器的数据被自动保存,调用结束后,保存的数据被自动恢复到累加器。因此在中断程序中使用的是另一套累加器!所以,累加器不能用来在主程序和中断程序之间传递数据。