这两个画红色圈的AC0是同一个AC0吧,是什么数据类型?

这两个画红色圈的AC0是同一个AC0吧,是什么数据类型?

问题补充:
这个AC0应该占有2个字节吧,包含VB5940和VB5941?

图片说明:

这两个画红色圈的AC0是同一个AC0吧,是什么数据类型?   

最佳答案

1、
累加器是可以像存储器一样使用的读/写器件。
例如,可以使用累加器向子例程传递参数或从子例程返回参数,并可存储计算中使用的中间值。
CPU 提供了四个 32 位累加器(AC0、 AC1、 AC2 和 AC3)。可以按字节、字或双字访问累加器中的数据。
被访问的数据大小取决于访问累加器时所使用的指令。
当以字节的形式访问累加器时,使用的是累加器数值的低 8 位;或低 16 位。
当以字的形式访问累加器时,使用的是累加器数值低 16 位。
当以双字的形式访问累加器时,使用全部 32 位。
请参考《S7-200 SMART V2.4系统手册 》,P74页相关内容
https://support.industry.siemens.com/cs/document/109745610
2、图中的两个红圈
I_BCD,指令的OUT脚是WORD类型的变量,此脚写累加器AC0,则AC0的低16位有效,只不过是VW5960转换成BCD码,存在了AC0的低16位 ;
I_B ,指令的 IN 脚要求数据类型是16位的整数,此脚此时写AC0,则访问AC0 的低 16 位,但其 OUT 脚是字节类型的,则是将 AC0 的低8位转成一个字节。

提问者对于答案的评价:
那么高8位做什么用?

最佳答案作者回复:
高的位弃之即可

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

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

相关推荐