子程式與中斷程式的異同 PLC程式設計基礎中斷方式

2021-10-12 21:03:31 字數 1152 閱讀 8965

plc中均內建有中斷功能及脈衝捕捉功能。用於完成一些特定的功能應用。如,訊號捕捉;編碼器訊號中斷、脈衝測量中斷等。程式中斷時不受順控程式(主程式)的運算週期的影響,將中斷源訊號作為觸發訊號,立即執行中斷程式(中斷子程式)的功能。plc的中斷過程如下圖所示:

plc程式中斷過程示意圖

現目前市面上的plc均已具備如下幾種中斷方式:

輸入中斷

定時中斷

高速計數中斷

脈衝捕捉中斷

脈寬/週期測量中斷

使用輸入訊號(一般為plc主機本體輸入點),中斷一般的順控程式,在配置為中斷源的輸入訊號動作的時刻,優先執行中斷子程式,中斷程式完成後在跳出,繼續執行中斷產生時候的程式。現場運用的過程中,一般用於對某些特殊訊號進行處理的場合。

使用plc的定時器在設定的固定週期間隔,產生中斷動作並中斷一般的順控程式,優先執行中斷子程式。一般用於對設定時候後,有其他功能要求的場景。

使用plc的當高速計數器,當前值達到規定值時產生中斷,暫停當前正在執行的順控程式,當中斷處理程式執行完成後,再進行中斷產生時的程式執行。高速計數中斷在編碼器資料處理中斷的使用上,非常的多。

脈衝捕捉中斷功能通過輸入io的輸入訊號從off變為on,並將特殊輔助繼電器(如:m8170~m8177)被設定為中斷處理。通過在一般的順控程式中使用這個(如:m8170~m8177),可以方便地獲取在一般的輸入處理中無法獲取的on寬度的訊號。 但是,如果在1個運算週期中要執行幾次on/off這樣的處理時,請使用輸入中斷功能。即脈衝捕捉中斷無法完成過快的處理。

脈寬/週期測量中斷功能通過輸入io的輸入訊號off→on,將輸入訊號上公升沿的1/6μs環形計數器值儲存到特殊資料暫存器中。此外,通過輸入訊號的on→off,將輸入訊號下降沿的1/6μs環形計數器值儲存到特殊資料暫存器中,同時將上公升沿與下降沿的計數器值的差設定為 1/60後,將脈寬 (10μ s單位 )儲存到特殊資料暫存器 中。

設定為脈衝週期測量模式時,通過輸入訊號的off→ on,將上一次輸入訊號上公升沿至此次輸入訊號上公升沿的差 設定為1/60後,將10μs單位的脈衝週期儲存到特殊資料暫存器中。

子程式呼叫與巨集定義的異同 巨集與子程式的區別

巨集和子程式都是為了簡化源程式的編寫,提高程式的可維護性,但是它們二者之間存在著以下本質的區別 1 在源程式中,通過書寫巨集名來引用巨集,而子程式是通過 call 指令來呼叫 2 匯程式設計序對巨集通過巨集擴充套件來加入其定義體,巨集引用多少次,就相應擴充套件多少次,所以,引用巨集不會縮短目標程式 ...

中斷服務子程式

中斷是嵌入式系統中重要的組成部分,這導致了很多編譯開發商提供一種擴充套件 讓標準c支援中斷。具代表事實是,產生了乙個新的關鍵字 interrupt。interrupt double compute area double radius 這個函式有太多的錯誤了,以至讓人不知從何說起了 1 isr 不能...

中斷服務子程式

中斷是嵌入式系統中重要的組成部分,這導致了很多編譯開發商提供一種擴充套件 讓標準c支援中斷。具代表事實是,產生了乙個新的關鍵字 interrupt。interrupt double compute area double radius 這個函式有太多的錯誤了,以至讓人不知從何說起了 1 isr 不能...