你把要激活的程序做成子程序,再設(shè)定時間調(diào)用,還有就是用中斷,系統(tǒng)有定時中斷時基
子程序可以把整個用戶程序按照功能進行結(jié)構(gòu)化的組織。一個“好”的程序總是把全部的控制功能分為幾個符合工藝控制規(guī)律的子功能塊,每個子功能塊可以由一個或多個子程序組成。這樣的結(jié)構(gòu)也非常有利于分步調(diào)試,以免許多功能綜合在一起無法判斷問題的所在;而且,幾個類似的項目也只需要對同一個程序作不多的修改就能適用。
子程序在調(diào)用時會保持當(dāng)前的邏輯運算結(jié)果,但是不保存累加器(ACx)的內(nèi)容
子程序在執(zhí)行到末尾時自動返回,不必加返回指令;在子程序中間也可以使用條件返回指令
子程序不能使用跳轉(zhuǎn)語句跳入、跳出
子程序返回時,回到調(diào)用子程序的指令后面,繼續(xù)執(zhí)行上一級程序
S7-200 CPU最多可以調(diào)用64個子程序(CPU226為128個)
子程序可以嵌套調(diào)用,即子程序中再調(diào)用子程序,一共可以嵌套8層
在中斷服務(wù)程序中不能欠套調(diào)用子程序,被中斷服務(wù)程序調(diào)用的子程序中不能再出現(xiàn)子程序調(diào)用
子程序可以帶參數(shù)調(diào)用,在子程序的局部變量表中設(shè)置參數(shù)的類型;一共可以帶16個參數(shù)(形式參數(shù))
S7-200中使用中斷服務(wù)程序來響應(yīng)這些內(nèi)部、外部的中斷事件。中斷服務(wù)程序需要通過用戶編程與特定的中斷事件聯(lián)系起來,才能工作。中斷程序與子程序最大的不同是,中斷服務(wù)程序不能由用戶程序調(diào)用,而只能由特定的事件觸發(fā)執(zhí)行。
無法準(zhǔn)確預(yù)測何時執(zhí)行中斷服務(wù)程序。
中斷服務(wù)程序只有由用戶程序把中斷服務(wù)程序標(biāo)號(名稱)與中斷事件聯(lián)系起來,并且開放系統(tǒng)中斷后才能進入等待中斷并隨時執(zhí)行的狀態(tài)
多個中斷事件可以連接同一個中斷服務(wù)程序;一個中斷服務(wù)程序只能連接一個中斷事件
中斷服務(wù)程序也可由用戶程序取消與中斷事件的連接;隊列中的特定中斷事件可以被指令取消;也可用指令禁止全部中斷
中斷程序只需與中斷事件連接一次,除非需要重新連接
進入中斷服務(wù)程序時,S7-200的操作系統(tǒng)會“保護現(xiàn)場”,從中斷程序返回時,仍然恢復(fù)當(dāng)時的程序執(zhí)行狀態(tài)
中斷事件各有不同的優(yōu)先級別
中斷服務(wù)程序不能再被中斷。中斷程序執(zhí)行時,如果再有中斷事件發(fā)生,會按照發(fā)生的時間順序和優(yōu)先級排隊
中斷服務(wù)程序執(zhí)行到末尾會自動返回,也可以由邏輯控制中途返回
S7-200 CPU最多可以使用128個中斷程序,中斷程序不能嵌套
在中斷程序中只能調(diào)用一層子程序,中斷程序中的子程序不能嵌套,否則會出錯
中斷程序應(yīng)短小而簡單,執(zhí)行時對其他處理不要延時過長,即越短越好