貴州西門子V90伺服系統(tǒng)代理商

西門子S7-300/400 PLC的通信錯誤組織塊(OB87)
在使用通信功能塊或全局?jǐn)?shù)據(jù)(GD)通信進(jìn)行數(shù)據(jù)交換時,如果出現(xiàn)下列通信錯誤,操作系統(tǒng)將調(diào)用OB87,有如下情況:
①接受全局?jǐn)?shù)據(jù)時,檢測到不正確的幀標(biāo)識符(ID)。
②全局?jǐn)?shù)據(jù)通信的狀態(tài)信息數(shù)據(jù)塊不存在或太短。
⑧接受到非法的全局?jǐn)?shù)據(jù)包編號。
如果用于全局?jǐn)?shù)據(jù)通信狀態(tài)信息的數(shù)據(jù)塊丟失,需要用OB87生成該數(shù)據(jù)塊將它下載到CPU??梢允褂?/span>SFC39~42封鎖或延時并使能通信錯誤OB。
如果模塊具有診斷能力又使能了診斷中斷,當(dāng)它檢測到錯誤時,它輸出一個診斷中斷請求給CPU,以及錯誤消失時,操作系統(tǒng)都會調(diào)用OB82。當(dāng)一個診斷中斷被觸發(fā)時,有問題的模塊自動地在診斷中斷OB的啟動信息和診斷緩沖區(qū)中存入4個字節(jié)的診斷數(shù)據(jù)和模塊的起始地址??梢杂?/span>SFC39~SFC42來禁用、延時或再使用診斷中斷(OB82),表4-58描述了診斷中斷OB82的臨時變量。
表4-58 OB82的變量申明表
在編寫OB82的程序時,要從OB82的啟動信息中獲得與出現(xiàn)的錯誤有關(guān)的更確切的診斷信息。例如,其是哪一個通道出錯,出現(xiàn)的是哪種錯誤。使用SFC51“RDSYSST”也可以讀出模塊的診斷數(shù)據(jù),用SFC52“WR USMSG”可以將這些信息存入診斷緩沖區(qū)。
現(xiàn)在通過結(jié)合模板的短線診測應(yīng)用和SFC51來說明診斷中斷組織塊OB82的使用方法。
首先,在SIMATIC管理器中新建一個項目,插入一個300站。再進(jìn)行硬件組態(tài),在機(jī)架上插入CPU 314C-2DP和一塊具有中斷功能模擬量輸入模塊SM331,配置SM331模塊的“輸入(Inputs)”選項,選擇0-1通道組為兩線制電流(2DMU),其他通道組為電壓,并注意模塊的量程卡要與設(shè)置的相同。選中“啟用( Enable)”框中的“診斷中斷(Diagnostic Interrupt)”選項,選中“診斷(Diagnostics)”選項中的0-1通道組中的“組診斷(Group Diagnostics)”和“檢查線路斷開(with Check for Wire Break)”選項,如圖4-129所示。
單擊“確定”按鈕,然后雙擊“CPU 314C-2DP”,選擇“中斷(Interrupts)”選項,可以看到CPU支持OB82,如圖4-130所示。硬件組態(tài)完成后,保存編譯,下載到CPU中。
完成診斷程序。當(dāng)在硬件組態(tài)中設(shè)定的診斷中斷執(zhí)行后,可以通過它的臨時變量OB82_MDL_ADDR讀出產(chǎn)生診斷中斷的模塊的邏輯地址。STEP 7不能時時監(jiān)控程序的運行。

在SIMATIC管理器中S7 Program (1)下插入一個STL Source文件STL Source (1),如圖4-131所示。
打開OB1,在“庫( Libraries)”→“Standard Libraries”→“System Function Blocks”下找到SFC51“RDSYSST DIAGNSTC”,按<F1>鍵,出現(xiàn)SFC51在線幫助信息,在幫助信息的部單擊“Example for module diagnostics with the SFC51”,然后單擊“STL Source File”,選中全部STL Source源程序復(fù)制到STL Source (1)中,編譯并保存。這是在Blocks中生成OB1、OB82、DB13和SFC51。
打開OB82,對其中的程序做簡單的修改,將19和20行的程序復(fù)制到go:后面,如圖4-132所示。再進(jìn)行保存,下載到CPU中。
下載完成后,將CPU上的模式選擇開關(guān)切換到“RUN”狀態(tài),此時,CPU上的“RUN”燈和“SF”燈會亮,SM331模塊上的“SF”燈也會亮。同時,查看CPU的診斷緩沖區(qū)可以獲得相應(yīng)的故障信息。
打開DB13數(shù)據(jù)塊,在線監(jiān)控,如圖4-133所示。因為通道斷線事件發(fā)生,所以診斷信息存儲到COME數(shù)組中。
本例中COME數(shù)組字節(jié)的解釋如下:
COME[1]=B#16#D:表示通道錯誤,外部故障和模塊問題。
COME[2]=B#16#15:表示此段信息為模擬量模塊的通道信息。
COME[3]=B#16#0:表示CPU處于運行狀態(tài),無字節(jié)2中標(biāo)示的故障信息。
COME[4]=B#16#0:表示無字節(jié)3中標(biāo)示的故障信息。
COME[5]=B#16#71:表示模擬量輸入。
COME[6]=B#16#8:表示模塊的每個通道有8個診斷位。
COME[7]=B#16#8:表示模塊的通道數(shù)。
COME[8]=B#16#3:表示0通道錯誤和1通道錯誤,其他通道正常。
COME[9]=B#16#10:表示0通道斷線。
COME[10]=B#16#10:表示1通道斷線。
COME[11]=B#16#0:表示2通道正常,其他通道與2通道相同。

貴州西門子V90伺服系統(tǒng)代理商