優(yōu)先級錯誤組織塊(OB85)
--程序順序錯誤(OB85)
在下列情況下,CPU操作系統(tǒng)調(diào)用 OB85:
? 存在中斷 OB的啟動事件,但由于還沒有將該 OB下載到 CPU而不能執(zhí)行該OB。
? 訪問系統(tǒng)功能塊的實例數(shù)據(jù)塊時發(fā)生錯誤。
? 更新過程映像表時發(fā)生錯誤(模塊不存在或處于故障狀態(tài))。
如果OB85尚未編程,則當(dāng)檢測到這些事件其中之一時,CPU會轉(zhuǎn)為STOP模式。
可以使用SFC 39至42禁用或延遲,并重新啟用優(yōu)先級錯誤OB。
優(yōu)先級錯誤OB的本地數(shù)據(jù)
下表說明了優(yōu)先級錯誤OB的臨時(TEMP)變量。變量名為OB85的默認(rèn)名稱。
OB85_EV_CLASS BYTE 事件等級和標(biāo)識符:B#16#35B#16#38 (僅限于錯誤代碼B#16#B3和B#16#B4)B#16#39 (僅限于錯誤代碼B#16#B1、B#16#B2、B#16#B3和B#16#B4)
OB85_FLT_ID BYTE 錯誤代碼(可能值:B#16#A1、B#16#A2、B#16#A3、B#16#A4、B#16#B1、B#16#B2、B#16#B3、B#16#B4)
OB85_PRIORITY BYTE ?優(yōu)先級,可通過STEP 7分配(硬件配置)
OB85_OB_NUMBR BYTE OB編號(85)
OB85_RESERVED_1 BYTE 保留
OB85_RESERVED_2 BYTE 保留
OB85_RESERVED_3 INT 保留
OB85_ERR_EV_CLASS BYTE 引起錯誤的事件的等級
OB85_ERR_EV_NUM BYTE 引起錯誤的事件的編號
OB85_OB_PRIOR BYTE 在出錯時處于活動狀態(tài)的OB的優(yōu)先級
OB85_OB_NUM BYTE 在出錯時處于活動狀態(tài)的OB的編號
OB85_DATE_TIME DATE_AND_TIME 調(diào)用OB時的DATE_AND_TIME
必須使用 STEP 7在S7程序中將 OB85創(chuàng)建為對象。在所生成的塊中編寫將要在OB85中執(zhí)行的程序,然后將其作為用戶程序的一部分下載到 CPU中。
例如,可以將 OB85用于下列目的:
? 評估OB85的啟動信息,并確定哪個模塊處于故障狀態(tài)或沒有插入(指定模塊啟動地址)。
? 通過SFC49 LGCGADR,查找所涉及的模塊的插槽。
如果沒有編程 OB85,那么當(dāng)檢測到優(yōu)先級錯誤時,CPU變成停止模式。
在相應(yīng)的關(guān)于塊的幫助中,可以獲取 OB、SFB 和SFC 的詳細(xì)資料。
編程實例:
L B#16#A1
B#16#A1 由于使用STEP 7創(chuàng)建了組態(tài),您的程序或操作系統(tǒng)將為未裝載到CPU上的OB創(chuàng)建一個啟動事件。尚未加載的OB發(fā)生錯誤事件
L #OB85_FLT_ID
==I
SPB K_OB
L B#16#A2
由于使用STEP 7創(chuàng)建了組態(tài),您的程序或操作系統(tǒng)將為未裝載到CPU上的OB創(chuàng)建一個啟動事件。尚未加載的OB發(fā)生錯誤事件
==I
SPB K_OB
L B#16#A3 操作系統(tǒng)訪問模塊時出錯 ,訪問未加載的塊時出錯
L #OB85_FLT_ID
==I
SPB K_B
SPA F_PA
K_OB: SPA STOP
SPA ENDE
K_B: SPA STOP
SPA ENDE
F_PA: NOP 0
SPA ENDE
STOP: CALL "STP" SFC 46 ---PLC停機使用SFC 46 "STP"使CPU進(jìn)入停機狀態(tài)
ENDE: NOP 0
為什么要在OB85里編輯停機功能呢?
原因:
1. OB85的故障代碼:B#16#A1 產(chǎn)生的原因是由于使用STEP 7創(chuàng)建了組態(tài),您的程序或操作系統(tǒng)將為未裝載到CPU上的OB創(chuàng)建一個啟動事件。尚未加載的OB發(fā)生錯誤事件.
OB85的內(nèi)部變量出錯.
2. 由于使用STEP 7創(chuàng)建了組態(tài),您的程序或操作系統(tǒng)將為未裝載到CPU上的OB創(chuàng)建一個啟動事件。尚未加載的OB發(fā)生錯誤事件.
審核編輯:劉清
-
cpu
+關(guān)注
關(guān)注
68文章
11013瀏覽量
215303 -
SFC
+關(guān)注
關(guān)注
0文章
44瀏覽量
11436 -
CSFB
+關(guān)注
關(guān)注
0文章
9瀏覽量
14970
原文標(biāo)題:優(yōu)先級錯誤組織塊(OB85)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
RTOS應(yīng)用中的優(yōu)先級反轉(zhuǎn)問題
stm32定時器優(yōu)先級
如何應(yīng)用優(yōu)先級錯誤處理組織塊(OB85)
Step7 OB組織塊介紹和使用技巧
解析一個由OB85編程引起CPU停機

cortex M內(nèi)核優(yōu)先級設(shè)置

2.FreeRTOS中斷優(yōu)先級和任務(wù)優(yōu)先級

STM32F103芯片中斷優(yōu)先級以及FreeRTOS優(yōu)先級設(shè)置

uC/OS-II學(xué)習(xí)筆記——優(yōu)先級反轉(zhuǎn)與優(yōu)先級繼承機制

中斷優(yōu)先級處理的原則及配置 搶占優(yōu)先級和響應(yīng)優(yōu)先級的區(qū)別

FreeRTOS任務(wù)的優(yōu)先級示例
OB優(yōu)先級和運行時特性
Free RTOS的優(yōu)先級翻轉(zhuǎn)

什么是優(yōu)先級反轉(zhuǎn)

評論