200smart 递增递减指令如何使用有什么功能?累加器存储区功能

200smart 递增递减指令功能作用,累加器存储区AC 0   AC 1   AC 2    AC 3    如何使用

最佳答案

1、
INC_X  递增指令,对输入值 IN 加 1 并将结果输入 OUT 中。
该指令,前面的 INC 是递增的意思,下划线后面的 X,这个 X 可以是:B、W、DW;
那就分成了三个指令,INC_B、INC_W、INC_DW
INC_B 最后的B,表明操作数的类型为 BYTE ,那就是将 IN 脚的字节自加1后赋值给BYTE 型的 OUT;
INC_W 最后的W,表明操作数是整数,那就是 IN 脚的整数自加1后,赋值给 INT型的 OUT;
INC_DW 最后的DW,表明操作数是双整数,那就是IN 脚的双整数自加1后,赋给双整型的 OUT;
每一个指令又分为二种情况:
第一种是,操作数 IN 和 OUT 是同一个变量,比如:
INC_B,操作数 IN 是 VB0,操作数 OUT 是 VB0,那就是 VB0 自加1;
第二种是,操作数 IN 和 OUT 不是同一个变量,比如:
INC_B,操作数 IN 是 VB0,操作数 OUT 是 VB1,那就是 VB0 自加 1的值存储在 VB1,原 VB0 的值并不改动;
DEC_X 指令是递减指令,只是做减1操作,其余与上面的解释类同。
有关这方面的内容,可以参考《系统手册》 7.8.4 递增和递减
2
CPU 提供了四个 32 位累加器(AC0、 AC1、 AC2 和 AC3)。
可以按位、字节、字或双字访问累加器中的数据。被访问的数据大小取决于访问累加器时所使用的指令,当以字节或字的形式访问累加器时,使用的是数值的低 8 位或低 16 位。当以双字的形式访问累加器时,使用全部 32 位。
关于累加器的内容可参考系统手册第 4.2章节。
3、结合上面的指令
INC_B  AC0 那就是 AC0 的低 8 位,做字节加1再存回 AC0 的低 8 位
INC_W  AC0 那就是 AC0 的低 16 位,做整数加1再存回 AC0 的低 16 位
INC_DW  AC0 那就是 AC0 所有位看成一个双整数,做双整数加1再存回 AC0。
另外强调一点 AC0 寄存器最好是先赋值,也就是它的值在使用时,要由程序保证它的可用性。
4、系统手册链接
S7-200 SMART V2.5系统手册 
https://support.industry.siemens.com/cs/document/109745610

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc281680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午10:12
下一篇 2020年10月30日

相关推荐