技术论坛

AC累加器

作者 主题
游民

经验值: 99
发帖数: 20
精华帖: 0
主题:【求助】AC累加器


只看楼主 楼主 2021-11-18 10:08:48

AC累加器存储器,一般用在那个地方,怎么用?求大神帮助,谢谢  THANK YOU IN ADEVICE 


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1731030&b_id=64&s_id=0&num=15

奇侠

经验值: 8139
发帖数: 843
精华帖: 14
回复:AC累加器
推荐帖


只看楼主 1楼 2021-11-18 11:34:54

可用于计算,数据类型转换,指针,临时变量,参数传递,可用的地方非常多


13478405725
以下网友喜欢您的帖子:

  
至圣

经验值: 17186
发帖数: 2946
精华帖: 6
回复:AC累加器
推荐帖


只看楼主 2楼 2021-11-19 13:09:04

 从百度复制黏贴而来:

CPU提供了4个32位累加器(AC0~AC3),可以按字节、字和双字来存取累加器中的数据。按字节、字只能存取累加器的低8位或低16位,双字存取全部的32位,存取的数据长度由所用的指令决定。可以像存储器那样使用读/写单元,例如可以用它向子程序传递参数,或从子程序返回参数,以及用来存放计算的中间值。


如果对它不甚了解,可以暂时不理睬它,不使用它。人家一个复杂、容量大的程序没有任何一个地方使用AC*, 人家的程序照样被评为优秀软件。

等你有空时,再去慢慢理解AC累加器。如果没有空,10年8年不去使用它们,都不会影响你的的编程。不过你对它不甚了解,可能看别人家使用了累加器的程序会效率低些,仅此而已。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25990
发帖数: 11808
精华帖: 43
回复:AC累加器
推荐帖


只看楼主 3楼 2021-11-19 13:51:28

在200PLC中,AC就是公共资源,一共2套,中断使用一套,非中断使用一套。

AC是不可多得的宝贵资源,弃之可惜,应多多利用。

使用AC的好处,就是可以少动脑筋,还有就是指令码短,编译后的程序容量小。

有一利就有一弊。毕竟AC才4个,属于公共资源,不可能指望长线使用不冲突。

所以,AC适合短线、临时、可视范围内使用。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2037
发帖数: 219
精华帖: 3
回复:AC累加器
推荐帖


只看楼主 4楼 2021-11-19 21:55:38

AC0~AC4,可以按8,16,32位访问。

不同的是,AC1~AC3可以作为指针使用,AC0不可以,比如MOVW  *AC0  ,VW1     *AC0处会报错。

个人体会:主程序和子程序中可以使用累加器,在中断程序中尽量不用。


多学长知识 多问长见识
以下网友喜欢您的帖子:

  
侠士

经验值: 1799
发帖数: 338
精华帖: 0
回复:AC累加器
推荐帖


只看楼主 5楼 2021-12-15 16:02:49

可以看一下这段程序就可以理解AC0的作用了




 
以下网友喜欢您的帖子:

  
至圣

经验值: 23705
发帖数: 3383
精华帖: 52
回复:AC累加器


只看楼主 6楼 2021-12-15 16:11:37

楼主, 可以说cpu的计算就是通过累加器来进行的。


所有的操作, 都归结为cpu指令。

而所有的指令, 几乎都要操作累加器和 程序计数器。


不忘初心
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:AC累加器


只看楼主 7楼 2021-12-15 18:32:44

如果有一个字节型的数据要转换成浮点数,那你试一下编程看看,然后告诉你AC怎么用?这是最明显的一个优势。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12705
发帖数: 1584
精华帖: 1
回复:AC累加器


只看楼主 8楼 2021-12-15 18:56:15
以下是引用yanxiao在2021-11-19 13:51:28的发言 >3楼

在200PLC中,AC就是公共资源,一共2套,中断使用一套,非中断使用一套。

AC是不可多得的宝贵资源,弃之可惜,应多多利用。

使用AC的好处,就是可以少动脑筋,还有就是指令码短,编译后的程序容量小。

有一利就有一弊。毕竟AC才4个,属于公共资源,不可能指望长线使用不冲突。

所以,AC适合短线、临时、可视范围内使用。

才知道中断里面有一套累加器。

我想问问yanxiao老师:中断里面的那套累加器寻址的话,是AC几?


努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 12705
发帖数: 1584
精华帖: 1
回复:AC累加器


只看楼主 9楼 2021-12-15 18:57:16
以下是引用芳季在2021-12-15 18:32:44的发言 >7楼

如果有一个字节型的数据要转换成浮点数,那你试一下编程看看,然后告诉你AC怎么用?这是最明显的一个优势。

9494,做了这个程序,就知道累加器的优越性了。


努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:AC累加器


只看楼主 10楼 2021-12-15 19:45:49
以下是引用zbhdm在2021-12-15 18:56:15的发言 >8楼

才知道中断里面有一套累加器。

我想问问yanxiao老师:中断里面的那套累加器寻址的话,是AC几?

以下是引用yanxiao在2021-11-19 13:51:28的发言 >3楼:在200PLC中,AC...

引用3楼详细内容:

在200PLC中,AC就是公共资源,一共2套,中断使用一套,非中断使用一套。

AC是不可多得的宝贵资源,弃之可惜,应多多利用。

使用AC的好处,就是可以少动脑筋,还有就是指令码短,编译后的程序容量小。

有一利就有一弊。毕竟AC才4个,属于公共资源,不可能指望长线使用不冲突。

所以,AC适合短线、临时、可视范围内使用。

一样地叫ac。只是此ac不同彼ac。

主程序和其调用的子程序共用一套ac。中断程序和其调用的子程序共用另一套ac。

如果主程序和中断都在调用同一个子程序。那么……我也不知道会怎样。大家猜。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:AC累加器


只看楼主 11楼 2021-12-15 20:40:03

最优越的这份工作我也很少使用AC。

更多使用的是:当有些子程序输出参数我没有必要使用的时候,但是调用了又必须写个东西在管脚上,这个时候不管哪里都填AC0。AC0不行就填L0.0。完美。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1821
发帖数: 224
精华帖: 0
回复:AC累加器


只看楼主 12楼 2021-12-16 08:49:32
以下是引用forginger在2021-12-15 16:02:49的发言 >5楼

可以看一下这段程序就可以理解AC0的作用了



写的详细!


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1039
发帖数: 104
精华帖: 0
回复:AC累加器


只看楼主 13楼 2021-12-16 09:06:06
以下是引用forginger在2021-12-15 16:02:49的发言 >5楼

可以看一下这段程序就可以理解AC0的作用了



看着这个就明白了,很直观


夯实基础,成长···
以下网友喜欢您的帖子:

  
游侠

经验值: 358
发帖数: 50
精华帖: 0
回复:AC累加器


只看楼主 14楼 2021-12-17 21:25:04
用法就是先赋值再使用,好处是作为中间变量临时变量使用很方便,特别是数学计算中类型转换
 
以下网友喜欢您的帖子:

  
版主

经验值: 25990
发帖数: 11808
精华帖: 43
回复:AC累加器


只看楼主 15楼 2021-12-21 22:25:31
以下是引用芳季在2021-12-15 19:45:49的发言 >10楼

一样地叫ac。只是此ac不同彼ac。

主程序和其调用的子程序共用一套ac。中断程序和其调用的子程序共用另一套ac。

如果主程序和中断都在调用同一个子程序。那么……我也不知道会怎样。大家猜。

以下是引用zbhdm在2021-12-15 18:56:15的发言 >8楼:才知道中断里面有一...

引用8楼详细内容:

才知道中断里面有一套累加器。

我想问问yanxiao老师:中断里面的那套累加器寻址的话,是AC几?

以下是引用yanxiao在2021-11-19 13:51:28的发言 >3楼:在200PLC中,A...

引用3楼详细内容:

在200PLC中,AC就是公共资源,一共2套,中断使用一套,非中断使用一套。

AC是不可多得的宝贵资源,弃之可惜,应多多利用。

使用AC的好处,就是可以少动脑筋,还有就是指令码短,编译后的程序容量小。

有一利就有一弊。毕竟AC才4个,属于公共资源,不可能指望长线使用不冲突。

所以,AC适合短线、临时、可视范围内使用。

我猜。假是A子程序,被主程序和子程序都调用。


先说L区。

如果主程序调用A时,发生中断,中断又调用A,现在,A中的L区是不会共用?

不会。系统分配不同的L区给主程序和中断。


再说AC。

既然有两套,主程序 和 中断 的AC,当然不会冲突,各用各的。


实际上,只要数据不和指令是绑定的,从任何地方调用子程序,都不应当发生冲突。


例外的情况,就是指令本身包含数据!

比如沿指令、计数器、定时器。。。等。







 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
AC累加器
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。