檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

使用 FB125 程序來判斷系統中的錯誤,FB125 可以診斷總線上站點的各種故障信息。FB125 是一箇中斷驅動功能塊,它可以檢測到從站的組態,掉站等故障,並且給出詳細的報錯信息。使用 FB125 來診斷故障必須在 OB1, OB82 和 OB86 中調用FB125。

組態軟件和硬件:

所用軟件:STEP7 V5.2

所用硬件:

1.PROFIBUS-DP 主站 S7-400 CPU414-3

2. PROFIBUS-DP 從站 IM 153-2 (redundant) 、ET 200S / CPU、Diagnostic Repeater。

3. MPI 網卡 CP5611

4.PROFIBUS 電纜及接頭

配置完畢的系統組態圖如下:

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

下面通過 FB125 來診斷系統中的各種故障

首先,插入功能塊 OB82、OB86。在 Step 7 界面下選中 Blocks,在右側空白區域點擊鼠標右鍵,在下拉菜單中選擇 Insert New Object-〉Organization Block,插入所需的 OB82 和 OB86 組織塊,如下圖所示。

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

由於在程序中要使用 DB125 存儲故障信息,所以按照添加 OB 塊的步驟添加 OB125。

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

分別打開 OB1,OB82 和 OB86,在其中調用 FB125 和 DB125,輸入程序,例子程序如

下:

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

程序為診斷信息分配了存儲空間,下面對每條語句的診斷功能做進一步的說明。

以下參數從 1-8 均為輸入量

1、DP_MASTERSYSTEM (INT)表示配置的 DP 主站系統的個數,在本例中為 1。

2、EXTERNAL_DP_INTERFACE(BOOL):=0,CPU 主站的集成 DP 接口;=1,外部接口,如 CP/IM。

3、MANUAL_MODE (BOOL):=0,自動模式,此模式下不支持單個從站的診斷;=1,手動模式,可以進行單個從站的診斷。

4、SINGLE_STEP_SLAVE (BOOL):轉到下一個出錯的 DP 從站。

5、SINGLE_STEP_ERROR(BOOL):轉到正在顯示的 DP 從站的下一個錯誤。

6、RESET (BOOL):=1,復位,初始化系統。

7、SINGLE_DIAG (BOOL):只在手動模式下(MANUAL_MODE=1)有效。=1,讀 DP 從站的診斷。可在 SINGLE_DIAG_ADR 配置該從站的站號。

8、SINGLE_DIAG_ADR (BYTE):只在手動模式下(MANUAL_MODE=1)有效。與 SINGLE_DIAG 配合使用,在其中設置單獨診斷的從站的站號。

以下參數 9-25 均為輸出量。

9、ALL_DP_SLAVES_OK (BOOL):=0,系統中從站存在故障;=1,系統中從站運行正常。

10、SUM_SLAVES_DIAG (BYTE):出錯的 DP 從站的數目。

11、SLAVE_ADR (BYTE):出錯的 DP 從站的站號。

12、SLAVE_STATE (BYTE)

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

13 、SLAVE_IDENT_NO (WORD):與 SLAVE_ADR 有關。

14、ERROR_NO (BYTE):與當前 SLAVE_ADR 參數指示的從站相對應的錯誤編號,每個編號都有一個與之相對應的故障信息。

15、ERROR_TYPE (BYTE)

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

16、MODULE_NO (BYTE):與當前 SLAVE_ADR 參數指示的從站相對應的模塊編號,指示出錯的從站對應的槽或模塊。

17、MODULE_STATE (BYTE):與當前 SLAVE_ADR 參數指示的從站相對應的模塊狀態。

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

18、CHANNEL_NO (BYTE):與當前 SLAVE_ADR 參數指示的從站相對應的故障模塊的通道編號。

19、CHANNEL_TYPE (BYTE):與當前 SLAVE_ADR 參數指示的從站相對應的模塊中出錯通道的類型。

20、CHANNEL_ERROR_CODE (INT):與當前 SLAVE_ADR 參數指示的從站相對應,每一個錯誤的通道都明確地給出了錯誤信息,每條信息對應著一個標號,具體標號對應的故障信息參見手冊 P4-P8 表格。

21、CHANNEL_ERROR_INFO_1(DWORD):與當前 SLAVE_ADR 參數指示的從站相對應,故障通道上的位錯誤信息,不同的錯誤信息對應不同的錯誤類型(ERROR_TYPE)。

22、CHANNEL_ERROR_INFO_2(DWORD):與當前 SLAVE_ADR 參數下,與上文中 ERROR_TYPE 中的編號 4(S7 診斷)相對應,提供了滿足 S7 模塊 DS0 數據記錄的特殊錯誤信息,詳見手冊 P11 表格。

23、DIAG_COUNTER (BYTE):顯示的診斷 DP 從站的總數。

24、DIAG_OVERFLOW (BOOL):同時接受診斷的總數大於 32 個,從站超過了 FB125 可以處理的上限,需要執行RESET 復位。

25、BUSY (BOOL):FB125 正在診斷 DP 系統。DB125 的功能:在程序中,用到了數據塊 DB125,其作用如下:

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

下圖為從站編號的分配表。

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

通過以上兩個表格,可以判斷出系統中從站的狀態,下面通過一個例子來說明。

在編程界面下選擇菜單欄中 PLC->Monitor/Modify Variables。

檢查PLC控制系統故障,教你用西門子FB125程序來做出正確判斷

在 23 欄中,起始地址為 1176 字節,已組態的從站為 3,4,5,6 和 16 號從站。

在 24 欄中,起始地址為 1192 字節,已檢測到的從站為 3,4 和 16 號從站。

在 25 欄中,起始地址為 1208 字節,檢測不到的從站為 5,6 號從站。

在 26 欄中,起始地址為 1224 字節,沒有故障從站。

在 27 欄中,起始地址為 1240 字節,受影響的從站為 5,6 號從站。

可以看到,通過 FB125 可以獲得一個詳細的診斷結果,從故障站點,故障模塊,故障通道,逐步明確故障的發生地點;根據故障信息,有助於找出故障原因,從而排除故障。同時數據存儲區可以做為接口被其它程序讀取和調用(如 WINCC),更直觀的找出故障從站和錯誤信息。


分享到:


相關文章: