发布于 2006-09-08 14:16:28
0楼
其实楼主的疑惑并不复杂!首先我们必须了解,所谓TEMP变量,就是我们常说的临时变量这种变量存储在堆栈中。堆栈是什么?有什么特点?,由于来不及翻书,我就谈一点自己的理解(不正确、规范的地方请谅解!)。我认为,堆栈其实是一个用来存放数据的区域,这个区域本身没有什么特殊的地方,就是RAM的一部分,但值得关注的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’。就像弹夹,最后压入的子弹最先击发!我们都知道,PLC只有一个堆栈,假如没有在FC(或FB、OB)中对该堆栈执行过压入数据的操作(初始化或写变量),这样就容易造成FC(或FB、OB)间数据的传递了。而在一个监视画面中,由于程序执行速度很快,我们就很容易将两者看成同时变化了!这个事实提醒我们,在使用TEMP变量时必须要先“写”,然后才“读”!
好好生活,天天向上!