zxy760803
級別: *
|
楊工,一般來說,EI指令應該放在主程序中的什么地方呢?對這一點三菱的編程手冊說得很不詳細。 如果EI放在主程序的開始(不考慮DI指令),那么,在主程序的執行中,產生的中斷都是有效的; 如果放在主程序的中間,在主程序開始一直到EI指令之間產生的中斷是無效的。那么現在就有一個問題了,如果恰好在這個期間產生了中斷,那么這個中斷不就丟失了嗎?在高速計數的程序中,這種情況是應該避免的吧? 我的問題是,這個EI到底應該放在程序中的什么地方才是最合理的?感謝 |
---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
這個我也不太清楚 |
|
---|---|---|
|
小巖
級別: *
|
個人認為,中斷應該不論放在什么位置,都是優先運行 的吧。只要信號一過來就會馬上運行,不會因運算周期的影響的吧。 |
---|---|
|
gm2637
級別: *
|
樓主說得的確是,中斷的使用,手冊上說得很模糊,我只知道是類似于調用指令的東西,不知道有沒有這種書籍詳細地解釋它的使用. |
---|---|
|
kawasakilu
級別: 略有小成
|
據說EI的位置不管放在哪里產生的中斷都不會丟失。在EI指令之前產生的中斷不被執行,被系統記憶,在EI之后再執行,所以不會丟。 |
---|---|
|
langman
級別: 家園常客
|
見手冊155頁有這么一句話: 即使在DI-EI指令間(禁止中斷區間)發生中斷,亦能對其記憶并在EI指令之后執行。禁止區間長的話,接受中斷就滯后。 解釋:中斷發生在禁止區間,仍然能被采納,但要等到掃描到下次EI才能執行(如果發生在許可區間,當場就能被執行)。 我習慣將中斷許可放在主程序開始位置,用特殊繼電器(M8050~M8059)來控制中斷開關。 |
|
---|---|---|
本帖最近評分記錄:
|
w_gang888
級別: *
|
這個說的比較明白了, 如果要求實時中斷比較嚴格的話就要放在開頭最好了 |
---|---|
|