S7-200SMART調(diào)用子程序都有哪些陷阱
















補(bǔ)充知識:
西門子200沿的應(yīng)用
今天給工廠編輯一個小的控制程序時,在編輯過程中疏忽了一個問題,圖示:

請大家看看我紅色框圖中外部“位”及“沿”的使用,開始編輯的本意是當(dāng)狀態(tài)轉(zhuǎn)換到自動操作時,給順控指令及相應(yīng)的輸出做一些初始化操作。將程序下載到cpu后,監(jiān)控順控指令并沒有按我這個“思路”運行,打開狀態(tài)圖表監(jiān)控,順控指令沒有一個“步”被激活,也就是說初始化操作無效。
當(dāng)I0.0(自動_手動狀態(tài)轉(zhuǎn)換)= 1時,調(diào)用自動子程序中的上升沿并沒有起作用。于是,將自動子程序網(wǎng)絡(luò)1段的I0.0改為其它“位”地址I0.3后,程序能夠正常運行,圖示:

那么,上升沿?zé)o效的原因就在這個調(diào)用子程序的條件I0.0的應(yīng)用上是肯定的。這個過程中我曾經(jīng)轉(zhuǎn)換過I0.0狀態(tài)轉(zhuǎn)換開關(guān),也就是說這個I0.0的狀態(tài)肯定是有0和1的轉(zhuǎn)換過程。
打開軟件“F1”幫助,有這么一段提示的話,圖示:

這里的“首次掃描”,應(yīng)該是指調(diào)用子程序時的第一次掃描周期中,這樣,在同一個周期內(nèi)作為同一個“位”地址,調(diào)用子程序及上升沿觸發(fā)的條件就無法滿足,子程序初始化中的上升沿?zé)o效也在“情理”之中了。
程序雖然相對簡單,但要深刻領(lǐng)悟簡單指令中的應(yīng)用,還是需要注意應(yīng)用時其中的要求及說明,不然,掉“坑”是必然了。因為在現(xiàn)場遇見了這個問題,馬上修改了程序,也就沒有把在線監(jiān)控的截圖給做上,請諒解。