发布于 2008-08-01 08:33:25
0楼
堆栈是一个计算机术语。
说得通俗点,它就是一个“层”的概念,比如S7-200的堆栈为8层。
打个比方,我们用来存储零件的柜子共有八层,我们一般都是用第一层来中转东西,可是有的时候第一层装东西了还没出货,又来了一样零要存储,怎么办? 这时你可以用到第二层,如果第二层有东西你还可以用第三层…… 当然,PLC存储“零件”是有它的规律的,和指令的形式有关,但是大体的原则是先用第一层,再用第二层……
LD I0.0 //将I0.0的状态存储到第一层(iv0),原第一层到第七层仿效往下移,第八层被剔除,假设结果为S1,那么S1=I0.0
O I0.1 //将I0.1的状态和iv0取或,然后结果再覆盖iv0,假设结果为S2,那么S2=I0.0 OR I0.1
LD I0.2 //将I0.2的状态存储到第一层(iv0),原第一层到第七层仿效往下移,第八层被剔除,假设结果为S3,那么S3=I0.2,还要注意,上面的结果S2已经移到第二层了!
O I0.3 //将I0.3的状态和iv0取或,然后结果再覆盖iv0,假设结果为S4,那么S4=I0.2 OR I0.3
ALD //将栈顶两个值取与(即第一层iv0和第二层iv1取与),假设结果为S5,那么S5=S2 AND S4= (I0.0 OR I0.1) AND (I0.2 OR I0.3)
……
……
另外,没有那一种东西是应不应该学的,而是你想不想学。 可以说,什么东西都有用,但是要看你用不用得上,有没有精力,愿不愿意……
I can do it