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