西門子1200,1500PLC支持診斷錯誤中斷,可以為具有診斷功能的模塊啟用診斷錯誤中斷功能來檢測模塊狀態(tài)。 OB82 時唯一支持診斷錯誤事件的 OB ,出現(xiàn)故障(進入事件),故障解除(離開事件)均會觸發(fā)診斷中斷 OB82 。當(dāng)模塊檢測到故障并且在軟件中使能了診斷錯誤中斷時,操作系統(tǒng)將啟動診斷錯誤中斷,診斷錯誤中斷 OB82 將中斷正常的循環(huán)程序優(yōu)先執(zhí)行。此時無論程序中有沒有診斷中斷 OB82,CPU 都會保持 RUN 模式,同時 CPU 的 ERROR 指示燈閃爍。如果希望 CPU 在接收到該類型的錯誤時進入 STOP 模式,可以在 OB82 中加入 STP 指令使 CPU 進入 STOP 模式。 如果沒有激活其它中斷 OB,則調(diào)用診斷中斷 OB (OB 82)。如果已經(jīng)在執(zhí)行其它中斷 OB,診斷錯誤中斷將置于同優(yōu)先級的隊列中。 在用戶程序中只能使用一個診斷中斷 OB。當(dāng)觸發(fā)診斷錯誤中斷時,通過 OB82 的接口變量可以讀取相應(yīng)的啟動信息,可以幫助確定事件發(fā)生的設(shè)備、通道和錯誤原因。OB82 的接口變量及啟動信息參考下圖: IO_state 變量 下表列出了 IO_state 變量所能包含的可能 I/O 狀態(tài): OB82中編程如下: 添加1500plc與擴展模塊 設(shè)置診斷功能 模塊 AQ4xU/I ST 硬件標(biāo)識 269,通道1地址是 98。程序下載后,在監(jiān)控表中給“通道1”設(shè)置輸出值5000,如果此時出現(xiàn)了短路故障,則將立即觸發(fā)診斷錯誤功能。 觸發(fā)診斷錯誤中斷時,CPU 如何響應(yīng)? 1、啟用診斷錯誤中斷且 CPU 中創(chuàng)建了 OB82 ; 2、OB82 是唯一支持診斷錯誤事件的 OB ;一次只能報告一個通道的診斷錯誤; 3、如果多通道設(shè)備的兩個通道出現(xiàn)錯誤,則第二個錯誤只會在以下情況觸發(fā) OB82 :第一個通道錯誤已清除,由第一個錯誤觸發(fā)的 OB82 已執(zhí)行完畢,并且第二個錯誤仍然存在; 4、事件的進入或離開都會觸發(fā)一次 OB82 ; 5、觸發(fā) OB82 ,CPU 不會進入 STOP 模式。 哪些情況會觸發(fā)診斷錯誤中斷? 如下錯誤將觸發(fā)診斷錯誤中斷 OB82 : ① 無用戶電源 ② 超出上限 ③ 超出下限 ④ 斷路(電流) ⑤ 短路(電壓) |
|
來自: 反恐精英禿鷲 > 《應(yīng)用》