「工控小技巧」西門子300PLC軟冗餘的實現與說明

一. 軟冗餘的使用場景

自動化水平不斷增強的工業產線最關注生產率和產品質量的提高,這同時也增加了對自動化系統可用性的依賴程度。如果自動化系統發生故障(例如CPU故障),那麼在生產上和停機時間上所造成的損失可能非常巨大。

在很多實際應用中,人們更關注於整合特定容錯系統的必需性,而不是冗餘質量的要求或是冗餘自動化系統所需的工廠規模。

在很多情況下,提供直接的軟體機制就足夠了。諸如此類的要求,透過軟冗餘予以實現。

二. 軟冗餘基本資訊介紹

1。 系統結構

冗餘系統的軟體:

· Step7程式設計軟體(V5。5+SP4)

· 軟冗餘軟體包(V1。2)

硬體:

§ 2臺西門子300PLC

§ 2臺CP343-1

§ 2臺IM153-2DP介面模組

§ 2臺CP341通訊模組

2。 軟冗餘系統工作原理

在軟冗餘系統進行工作時,A、B控制系統(處理器,通訊,I/O)獨立執行,由主系統的PLC掌握對ET200M從站中的I/O控制權。A,B系統中的PLC程式由非冗餘(non-duplicated)使用者程式段和冗餘(redundant backup)使用者程式段組成,主系統PLC執行全部的使用者程式,備用系統PLC只執行非冗餘使用者程式段,而跳過冗餘使用者程式段。

以下為冗餘系統中PLC內部執行過程:

「工控小技巧」西門子300PLC軟冗餘的實現與說明

使用者需要在初始化程式中(OB100)定義冗餘部分的資料,該資料區可以包括:一個過程映像區,一個定時器區,一個計數器區,一個位地址區和一個數據塊區,S7-300同步的最大資料量為8kBytes,S7-400同步的最大資料量為64kBytes。

三. PLC部分組態與除錯

1。 軟冗餘功能塊介紹

開啟Step7軟體:檔案>開啟>庫,訪問SWR_LIB庫。

「工控小技巧」西門子300PLC軟冗餘的實現與說明

這些資料包中,有兩個用於S7-300,另外三個用於S7-400。因為本例中採用Ethernet網路做資料同步,因此著重介紹SWR_AGSEND_300資料包。

冗餘功能塊說明如下:

「工控小技巧」西門子300PLC軟冗餘的實現與說明

2。 PLC軟冗餘及程式編寫

· 建立兩個S7-300站的專案,SIMATIC 300(A),SIMATIC 300(B)

· 開啟SIMATIC 300(A)站

· 從硬體目錄選擇機架

· 開啟SIMATIC 300(A)站的機架,插入CPU 315-2 PN/DP,DP地址為2

· 插入CP 343-1

· 將IM153-2介面模組組態到DP網路中,DP地址為3

· 重複以上步驟,對SIMATIC 300(B)站進行組態

將軟冗餘程式複製到專案中:

「工控小技巧」西門子300PLC軟冗餘的實現與說明

在OB1中呼叫FB101程式塊

「工控小技巧」西門子300PLC軟冗餘的實現與說明

在0B100中呼叫FC100初始化程式

「工控小技巧」西門子300PLC軟冗餘的實現與說明

軟冗餘中有一些特殊的DB塊,在編寫程式時注意避開這些特殊DB塊。

A: 軟冗餘工作DB,程式會自動生成,不需要在專案中手動新增

B: DB5為FB101的背景資料塊,注意生成DB5的長度(358位元組)

C: 冗餘DB區,主站的資料隨時同步備用站。需要手動建立。並且生成的

DB塊長度需要大於2個位元組。否則會造成CPU停機。

D: 非冗餘DB塊,不要手動建立,程式自動生成。A-B B-A必須同時使用,

建立的長度必須是偶數字節,不能是奇數字節,否則將造成CPU停機。

3。 軟冗餘程式測試

在WinCC中建立兩個連結通道,將PLC中資訊展示到上位機中,如下圖所示:

「工控小技巧」西門子300PLC軟冗餘的實現與說明

如果將主站Station A 手動打到 STOP狀態,主站會切換到Station B,並且會給出冗餘失敗報警,如下圖所示:

「工控小技巧」西門子300PLC軟冗餘的實現與說明