優先級錯誤組織塊(OB85)
--程序順序錯誤(OB85)
? 存在中斷 OB的啟動事件,但由于還沒有將該 OB下載到 CPU而不能執行該OB。
? 訪問系統功能塊的實例數據塊時發生錯誤。
? 更新過程映像表時發生錯誤(模塊不存在或處于故障狀態)。
如果OB85尚未編程,則當檢測到這些事件其中之一時,CPU會轉為STOP模式。
可以使用SFC 39至42禁用或延遲,并重新啟用優先級錯誤OB。
優先級錯誤OB的本地數據
下表說明了優先級錯誤OB的臨時(TEMP)變量。變量名為OB85的默認名稱。
OB85_EV_CLASS BYTE 事件等級和標識符: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 ?優先級,可通過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 在出錯時處于活動狀態的OB的優先級
OB85_OB_NUM BYTE 在出錯時處于活動狀態的OB的編號
OB85_DATE_TIME DATE_AND_TIME 調用OB時的DATE_AND_TIME
必須使用 STEP 7在S7程序中將 OB85創建為對象。在所生成的塊中編寫將要在OB85中執行的程序,然后將其作為用戶程序的一部分下載到 CPU中。
例如,可以將 OB85用于下列目的:
? 評估OB85的啟動信息,并確定哪個模塊處于故障狀態或沒有插入(指定模塊啟動地址)。
? 通過SFC49 LGCGADR,查找所涉及的模塊的插槽。
如果沒有編程 OB85,那么當檢測到優先級錯誤時,CPU變成停止模式。
在相應的關于塊的幫助中,可以獲取 OB、SFB 和SFC 的詳細資料。
編程實例:
L B#16#A1
B#16#A1 由于使用STEP 7創建了組態,您的程序或操作系統將為未裝載到CPU上的OB創建一個啟動事件。尚未加載的OB發生錯誤事件
L #OB85_FLT_ID
==I
SPB K_OB
L B#16#A2
由于使用STEP 7創建了組態,您的程序或操作系統將為未裝載到CPU上的OB創建一個啟動事件。尚未加載的OB發生錯誤事件
==I
SPB K_OB
L B#16#A3 操作系統訪問模塊時出錯 ,訪問未加載的塊時出錯
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進入停機狀態
ENDE: NOP 0
為什么要在OB85里編輯停機功能呢?
原因:
1. OB85的故障代碼:B#16#A1 產生的原因是由于使用STEP 7創建了組態,您的程序或操作系統將為未裝載到CPU上的OB創建一個啟動事件。尚未加載的OB發生錯誤事件.
OB85的內部變量出錯.
2. 由于使用STEP 7創建了組態,您的程序或操作系統將為未裝載到CPU上的OB創建一個啟動事件。尚未加載的OB發生錯誤事件.
審核編輯:劉清
-
cpu
+關注
關注
68文章
10854瀏覽量
211590 -
SFC
+關注
關注
0文章
44瀏覽量
11289 -
CSFB
+關注
關注
0文章
9瀏覽量
14851
原文標題:優先級錯誤組織塊(OB85)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論