发布于 2011-11-04 10:09:00
9楼
TEMP与STAT的区别,详见:
http://www.ad.siemens.com.cn/club/bbs/post.aspb_id=4&a_id=392943&s_id=0&num=11#anch
http://www.ad.siemens.com.cn/club/bbs/post.aspb_id=4&a_id=531772&s_id=0&num=10#anch
http://www.ad.siemens.com.cn/club/bbs/post.aspb_id=4&a_id=764877&s_id=0&num=8#anch
每个逻辑块的前部有一个变量声明表即称为局部变量声明表,它是对当前逻辑块控制程序所使用的局部数据进行声明。局部变量分为参数(输入参数IN、输出参数OUT、I/O参数)局部变量(包括临时变量temp和静态变量stat)。其中组织块OB只有临时变量,而功能FC没有静态变量stat。
1,temp是临时变量,cpu调用时分配内存,调用结束后释放内存,stat属于静态变量,分配内存不释放,所以临时变量不占用db块地址
2,temp是临时变量,stat是静态变量。temp在FB和FC中都可以用,但是FC和FB调用完之后,TEMP变量也随之消失;而stat变量只有FB中才可以用,它有存储功能。
3,temp只在本扫描周期内有作用,下一个周期就会被自动复位。所以如果你的数据需要需要在下一个扫描周期内使用的,那么就不能使用temp变量。
stat静态变量:它可以保存数据,数据的保存地址就是这个fb的背景数据块内
IN FANG