河北唐山西門子代理商|授權代理
請注意《S7-200西門子PLC 系統(tǒng)手冊》中,關于三種定時器刷新規(guī)律的描述。
按這種方法使用定時器時,定時器的置位、復位可能與程序掃描周期不配合,存在造成上述問題的機制。定時比較短的定時任務應使用“定時中斷"功能,這樣更為可靠。
82:編了一個利用定時器的程序,在編譯時已經(jīng)通過,為何下載到CPU中時提示出錯?
這種情況往往是調用的定時器號與定時器類型不配合造成的。參見幫助的表格,如T7只能用作TONR,而不能用于TON或TOF。
83:定時中斷(SMB34/SMB35)最長定時為255ms,如何實現(xiàn)更長時間的定時?
可以采用T32/T96中斷,最長時間可到32.767s。在定時中斷服務程序中對進入中斷的次數(shù)進行計數(shù),也能實現(xiàn)更長時間的中斷延時。
84:定時中斷個數(shù)不夠怎么辦?
每個定時中斷服務程序不一定只能處理一項定時任務,可以把幾個任務放在一個定時中斷服務程序中。
對于定時間隔不同的任務,可以計算出它們的定時長度的最大公約數(shù),以此作為定時中斷的時間設置。在中斷服務程序內部對中斷事件進行計數(shù),據(jù)此編程別處理不同的任務。
85:使用子程序時,為何動作只能執(zhí)行一次,或者某些狀態(tài)不能結束?
如果發(fā)生動作不能重復執(zhí)行,或者狀態(tài)不能結束(像鎖死了一樣),而這些功能都與子程序有關時,請檢查是否有條件調用子程序。調用子程序的條件在上述動作執(zhí)行后,或者進入某個狀態(tài)后不再有效,無法再次“激活",而脫離上述狀態(tài)或復位的指令正好在子程序內,必然造成上述的現(xiàn)象。
86:帶形式參數(shù)的子程序,定義為OUT類型的變量為何會在多次調用子程序時互相干擾?
那是因為定義為OUT類型的形式參數(shù)又在子程序內部參與了運算。凡是此類參數(shù)都應當定義為IN_OUT類型。
87:與中斷服務程序有關的計算任務,為何會偶爾得出不正確的結果?
出現(xiàn)這種現(xiàn)象的原因多是在主(子)程序和中斷程序之間傳遞數(shù)據(jù)的機制不當。
中斷程序可能在任何時刻執(zhí)行,如果此時主程序(或子程序)正在對中斷程序使用的數(shù)據(jù)進行操作,其中間結果可能帶入中斷程序,造成計算結果的變化;同樣地,在中斷程序中產生數(shù)據(jù)也對主(子)程序中的計算有類似影響。
88:中斷服務程序看起來沒有執(zhí)行?
可以在中斷程序中加一個測試程序段,如使用SM0.0(常為“1")將一個輸出點置位(使用Set指令),觀察是否進入中斷服務程序。中斷程序不執(zhí)行,多數(shù)原因是初始化(連接中斷事件和中斷程序)的問題,或者沒有“開中斷"。應該使用SM0.1(或沿觸發(fā))執(zhí)行一次初始化,然后開中斷。
89:TP170、TP170 micro與S7-200相連接如何做“時鐘同步"?
TP170默認的時鐘格式與S7-200西門子PLC時鐘指令所讀取的時間日期格式有所區(qū)別,讀出的時鐘需要改變格式才能與TP170等做時鐘同步。在TP170的組態(tài)軟件ProTool的在線幫助中有相關的介紹。
90:高速計數(shù)器怎樣占用輸入點?
高速計數(shù)器根據(jù)被定義的工作模式,按需要占用CPU上的數(shù)字量輸入點。每一個計數(shù)器都按其工作模式占用固定的輸入點。在某個模式下沒有用到的輸入點,仍然可以用作普通輸入點;被計數(shù)器占用的輸入點(如外部復位),在用戶程序中仍然訪問到。
91: 為什么高速計數(shù)器不能正常工作?
在程序中要使用初次掃描存儲器位SM0.1來調用HDEF指令,而且只能調用一次。如果用SM0.0調用或者第二次執(zhí)行HDEF指令會引起運行錯誤,而且不能改變第一次執(zhí)行HDEF指令時對計數(shù)器的設定。