久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6439|回復: 0
打印 上一主題 下一主題
收起左側

【S7-300】關于Step7 FC功能中的Temp變量的學習【轉載】

[復制鏈接]
跳轉到指定樓層
樓主
ID:26188 發表于 2015-5-27 23:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
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,會省去很多麻煩





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊人春色在线观看 | 91丨国产 | 日本在线免费视频 | 亚洲看片 | 日韩中文字幕免费在线观看 | 亚洲综合电影 | 国产成人精品网站 | 婷婷免费在线 | 国产日韩欧美一区二区 | 综合二区 | 精品福利在线 | 91文字幕巨乱亚洲香蕉 | 天天草草草 | 久久精品国产a三级三级三级 | 午夜影院普通用户体验区 | 亚洲国产欧美91 | 在线日韩欧美 | 日本成人区 | 看黄在线 | 亚洲国产成人av好男人在线观看 | 亚洲毛片网站 | 蜜桃在线视频 | 中文字幕一区二区三区精彩视频 | 久久精品aaa| 一区二区av| 欧美日韩国产精品一区二区 | 亚洲成人精品在线 | 午夜av一区二区 | 久久久久久久久久久成人 | 国产精品18hdxxxⅹ在线 | 久久精品国产一区二区三区不卡 | 91私密视频 | 日本久久精品视频 | 久久精品二区亚洲w码 | 精品久久久久久亚洲综合网 | av在线播放网 | 亚洲国产精品日韩av不卡在线 | 色橹橹欧美在线观看视频高清 | av一区二区三区四区 | 日韩三级电影在线看 | 久久国产精品视频观看 |