登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:关于S7中的栈
点击:2033 回复:8
楼主
编辑
引用
管理
人间有电
我们公司是做低压成套,最近迷上了PLC,由于没有这方面的经验,找了很多入门的书和资料,对梯形图总算能了解一点,但被:<栈〉这个指令难住了,逻辑入,读,出栈等等都不知其所以然,想请那位老师举个实例帮我分析分析,在此先谢过了
wuy_hs@163.com
09-02-05 08:16
1楼
编辑
引用
管理
lwcccf
AND(与)载入(ALD)指令采用逻辑AND(与)操作将堆栈第一级和第二级中的数值组合,并将结果载入堆栈顶部。执行ALD后,堆栈深度减1。OR(或)载入(OLD)指令采用逻辑OR(或)操作将堆栈第一级和第二级中的数值组合,并将结果载入堆栈顶部。执行OLD后,堆栈深度减1。逻辑进栈(LPS)指令复制堆栈中的顶值并使该数值进栈。堆栈底值被推出栈并丢失。逻辑出栈(LPP)指令将堆栈中的一个数值出栈。第二个堆栈数值成为堆栈新顶值。逻辑读取(LRD)指令将第二个堆栈数值复制至堆栈顶部。不执行进栈或出栈,但旧堆栈顶值被复制破坏。载入堆栈(LDS)指令复制堆栈中的堆栈位n,并将该数值置于堆栈顶部。堆栈底值被推出栈并丢失。
09-02-05 12:00
2楼
编辑
引用
管理
大名小名
你就想像栈是一个竹筒,一头封死了,一头有开口可以往里面放东西,这样第一个放进去的东西,就只能最后一个倒出来。第二个放进去的,就倒数批二个倒出来。
至于它有什么用:再打个比方,你在洗衣服,洗到一半,你妈叫你去扫地(妈妈的话不能不听),你怕忘了你洗到哪来了(当然现实中不会,这只是假设。),你在纸上写到“洗到第3件了”然后放到哪个竹筒里去。然后你去扫地,扫了一个房间,突然你爸又叫你,说“我下去买盒烟,炉子上的水快开了,开了你帮我把它灌一下”,水烧干了会出事的,当然比扫地重要,于是你又在纸上写到“我扫地扫到了第一个房间”,然后放进竹筒,然后你去处理水,把水的事处理完了,你再从竹筒里倒出第一张纸,看着上面写着“扫到第一间房”,于是你接着扫完后面的房间。再从竹筒里再倒出一张出来,看见上面写到“洗到第3件”于是你接着洗第4件。
当然上面事情比较简单,但是你想想,如果你做事情的时候千头万绪,有1000件事情,而且你又不能知道它们什么时候会发生,你能记得住每件事做到哪来了吗?所以就用上面的竹筒这种方法,遇到事情如果比当前的事情重要,就把它的进度写下来,然后丢进去,处理完了手头的事情,没事做的时候,就倒一个出来接着做。这就是一个栈的应用的模型,当然栈还有其它的非常多的用途,这个你得多看看书
09-02-05 12:02
3楼
编辑
引用
管理
ch_lixian
讲的很形象!很详细!学习了。谢谢
09-02-05 15:34
4楼
编辑
引用
管理
马克思
引用
lwcccf
在 2009-2-5 12:00:10 发言
【内容省略】
说的很牛 分析的很好 理解的也不错 菜鸟来顶下他
09-02-05 15:50
5楼
编辑
引用
管理
lhw982117910
3楼比喻的很形象,这样好理解多了。
09-02-05 16:41
6楼
编辑
引用
管理
lixiaobai
3楼对于用处讲的很生动,很好理解,支持了
09-02-05 21:10
7楼
编辑
引用
管理
user_luo
heheh 3楼的说的好形象哦
受教育!!!
09-02-08 00:23
8楼
编辑
引用
管理
yyh8441
讲得好,通俗易懂
09-02-08 09:44
工控新闻
推动“5G+工业互联网”规模应用
2024_ITES深圳工业展回顾 波菲格
思特威全新推出智能交通应用9MP及6MP高性能CMOS图像传感器
直播预告 | 西克3D视觉经典应用连连看(第四期:国内新兴行业的应用)
威图工程师大赛全国前三强诞生
涂装软件大升级!ABB联合斯泰尔工程软件,打造降本增效新引擎
TSN多轴实时反馈与同步运动,看我72变
汇川技术×海博思创开启战略合作,共创数字能源未来
更多新闻资讯