標題: 【S7-300】關于Step7 FC功能中的Temp變量的學習【轉載】 [打印本頁]
作者: hujia 時間: 2015-5-27 23:56
標題: 【S7-300】關于Step7 FC功能中的Temp變量的學習【轉載】
start和driver是外部輸入輸出接口。
例:如果在TEMP接口中新建一個變量A,數據類型為BOOL,地址0.0
1,正確的FC程序如下:
| #start #A
|--| |---------()
|
| #A #driver
|--|/|---------()
2,錯誤的例子:
| #A #driver
|--|/|---------()
|
| #start #A
|--| |---------()
分析:
程序的掃描是從上到下。S7 FC中的接口TMEP中的變量必須遵守:先賦值后使用的原則。
1程序,當start的值從0變為1,A也將從0變為1。掃描到第一段程序時,因為A的值已經發生改變,程序將成功掃描到A的常閉觸點從1變為0,那么driver線圈將成功得從原來的1改變為0。
2程序,因為掃描到第一段程序的時候CPU沒有發現A的值改變。之后A值將一直保持不變,即使start的值從0變為1,A值也不會發生改變;結果是程序沒有反應。下面是大家的一些心得體會
西門子這一點比其他的PLC都靈活,FB的DB作為FB的變量的固定存放地址,而Temp則是有系統分配臨時區L地址。比如:存在FC1,FC2兩個功能,它們都有兩個Temp,那么當調用FC1時,系統分配L區域地址給FC1的Temp,如分配了LB0,LB1,那么當FC1調用完成后,系統認為LB0,LB1已經不需要,但是西門子的系統不會對臨時區進行清零,只是繼續分配,當調用FC2時,系統將LB0,LB1重新分配給FC2的Temp,此時如果不遵循先賦值后使用的準則,那么FC2的Temp使用的值將是FC1的Temp的值。
臨時變量可以用于所有塊中 (OB, FC, FB)。當塊執行的時候它們被用來臨時存儲數據,當退出該塊時這些數據將丟失。因此, 在PLC掃描運行時, FC塊中的臨時變量TEMP不能自鎖!
TEMP變量不能自鎖的原因顯而易見:
每個掃描周期開始時,TEMP變量的值并不像Q或M那樣可以保持上個周期的值。除非明確對其賦值,否則它的值是不確定的。
我使用TEMP只有一個原則:
第一次出現某個TEMP變量,必須是對其賦值(或線圈刷新)的寫指令,而不能是讀指令。
如果出現問題,建議使用STAT變量替代。
對TEMP的認識都有問題!
我的建議是做邏輯不用TEMP,只在做運算是用TEMP,會省去很多麻煩
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
在线观看的av|
天天狠狠
|
激情视频小说
|
国产激情视频在线观看
|
成人在线免费看
|
美女扒开腿让人桶爽原神
|
www.午夜
|
欧美日韩在线免费观看
|
91免费国产
|
欧美精品乱码视频一二专区
|
全部免费毛片在线播放高潮
|
亚洲午夜av
|
综合久久99
|
性久久久久久久
|
国产精品久久久久久无人区
|
日日夜夜人人
|
欧美精品999|
五月婷婷激情
|
糖心vlog精品一区二区
|
www99热|
青青草国产在线视频
|
黄色片免费网站
|
国产欧美久久久
|
成人欧美一区二区三区白人
|
成年人视频在线播放
|
狠狠躁夜夜躁人爽
|
欧美a级成人淫片免费看
|
天堂中文在线视频
|
国产天堂在线
|
欧美日韩国产一区
|
免费的黄色网址
|
黄色一级视频免费看
|
中国黄色一级片
|
日韩在线视频免费观看
|
性欧美8khd高清极品
|
国产一区在线观看视频
|
成人一级视频
|
午夜视频在线免费观看
|
久久久久婷婷
|
日本成人一区二区三区
|
综合久久综合
|