西門子s7-300/400plc硬件中斷組織塊(ob40~ob47)用于快速響應輸入模塊、點對點通信處理器(cp)和功能模塊(fm)的信號變化。具有硬件中斷功能的上述模塊將中斷信號傳送到cpu時,將觸發(fā)硬件中斷。絕大多數(shù)s7-300 cpu只能使用ob40,s7-400 cpu可以使用的硬件中斷ob的個數(shù)與cpu的型號有關。為了產生硬件中斷,在組態(tài)有硬件中斷功能的模塊時,應啟用硬件中斷。
在數(shù)字量輸入模塊的“輸入”選項卡,用復選框啟用硬件中斷,然后分組或逐點設置上升沿產生中斷、下降沿產生中斷,或上升沿、下降沿均產生中斷。
在模擬量輸入模塊的“輸入”選項卡,用復選框啟用輸入值超出限制產生硬件中斷,然后設置輸入值的上限值和下限值。
在功能模塊的屬性對話框的“基本參數(shù)”選項卡,可選擇是否根據(jù)模塊的技術功能對某些事件觸發(fā)硬件中斷。
在點對點通信處理器的屬性對話框的“基本參數(shù)”選項卡,可選擇是否產生中斷。
硬件中斷被模塊觸發(fā)后,操作系統(tǒng)將用ob40的局部變量ob40_mdl_addr(字)向用戶提供模塊的起始地址,ob40_point_addr(雙字)是數(shù)字量輸入模塊產生硬件中斷的點的編號、或模擬模塊超出了限制的通道號。
硬件中斷組織塊ob40的首要任務是通過ob40_mdl_addr和ob40_point_addr提供的地址信息,用比較指令判斷是哪個模塊、模塊中的哪一點產生的中斷。然后對中斷事件作出相應的處理。
在編寫梯形圖比較程序時有個小問題需要注意,ob40_mdl_addr和ob40_point_addr的數(shù)字類型分別是字和雙字,不能直接用于整數(shù)比較指令和雙整數(shù)比較指令。需要將它們保存到其他地址,然后參與比較。