6ES7151-3BA23-OABO
上海晉營公司優勢產品; PLC 、觸摸屏、變頻器、電纜及通訊卡、數控系統、網絡接頭、伺服驅動、 凡在公司采購西門子產品,均可質保一年,假一罰十
以滿足客戶的需求為宗旨 , 以誠為本 , 精益求精
上海晉營自動化科技有限公司
:喬 靜
電 話:(同號)
傳 真:
郵 箱:3548508227
:3548508227
上海市松江區翔昆路150號
C98043-A7002-L4 西門子6RA70電源板
C98043-A7003-L4 6RA70可逆電源板*
6SX7010-0FF05 西門子變頻器CBP2通訊板
6SE3290-0XX87-8PB0 CB15接口板 西門子MM440變頻器Profibus通訊接口板
6SE7090-0XX84-0AB0 CUVC板
6SE7090-0XX84-0AD1 CUMC
C98043-A7001-L2 新版CUD1板
C98043-A7001-L1 老版CUD1板
6RY1703-0AA01 CUD1板
C98043-A7006-L1 CUD2板
6SE7090-0XX84-0FF5 CBP2板 6SE70變頻器通訊板
6SX7010-0FF05 CBP2板 6SE70變頻器通訊板
6SE7090-0XX84-0FJ0 西門子變頻器SLB光纖通訊板
6SE6400-7AA00-0BA0 西門子430/440變頻器IO板/端子板
IO板 MC1790L811F02 A5E03410206
6AV3 607-1JC30-0AX1 OP7
6AV6642-0BA01-1AX1 觸摸屏TP177B
6ES7321-1BH02-0AA0 電 話:(同號)
6ES7322-1BH01-0AA0
6ES7323-1BH01-0AA0
6ES7321-1BL00-0AA0
6ES7322-1BL00-0AA0
6ES7323-1BL00-0AA0
6ES7332-5HD01-0AB0
6ES7331-7KF02-0AB0
6ES7331-7PF01-0AB0
6ES7331-7PF11-0AB0
6ES7972-0CB20-0XA0 西門子功能S7-300編程電纜 USB-MPI+
6GK7343-1EX30-0XE0
6GK7243-1EX01-0XE0
6ES7461-3AA00-7AA0 IM461-3
6ES7151-3BA23-0AB0
6AV6642-0DC01-1AX1 OP177B
6AV6642-0BC01-1AX1
6AV6642-0AA11-1AX1
6AV6643-0CD01-1AX1
6ES7315-2AH14-0AB0
6ES7315-2EH14-0AB0
6ES7131-0BL00-0XB0 ET200B
6ES7133-0BL00-0XB0 ET200B
6EP1961-3BA10 西門子SITOP電源
6ES7307-1EA01-0AA0
6ES7151-3BA23-OABO
1.1 項目介紹
圖 1 PROFINET IO網絡拓撲,用于SFC51/SFB52/SFB54的診斷。其中CPU319-3PN/DP用做IO控制器,SCALANCE X交換機和ET200S, ET200Eco作為IO設備進行連接。
圖 1 PROFINET IO網絡拓撲 電 話:(同號)
本例中使用到的主要硬件和軟件如下:
名稱 | 數量 | 版本 | 訂貨號 |
CPU319-3PN/DP | 1 | V2.8 | 6ES7 318-3EL00-0AB0 |
SCALANCE X208 | 1 | V4.0 | 6GK5 208-0BA10-2AA3 |
SCALANCE X201-3P IRT | 1 | V4.1 | 6GK5 201-3BH00-2BA3 |
IM151-3 PN | 1 | V6.1 | 6ES7 151-3BA23-0AB0 |
IM151-3 PN FOC | 1 | V4.0 | 6ES7 151-3BB21-0AB0 |
PM-E | 2 | 6ES7 138-4CA01-0AA0 | |
2DO HF | 2 | 6ES7 132-4BB01-0AB0 | |
ET200 eco PN | 1 | 6ES7 142-6BG00-0AB0 | |
Step7 | 1 | V5.4+SP5 |
1.2 硬件組態
按照1.1中的硬件在Step7中進行組態。然后分配設備名,下載組態數據到CPU319中,具體設置設備名以及完成PROFINET通訊,請參考下載中心《S7-300 PROFINET IO 通訊快速入門》72325620
圖 2 Step7的硬件組態
其中,“Ethernet(1):PROFINET-IO-System(100)”總線的100表示PROFINET總線的序號。IO設備例如SCALACNE X和ET200上從1到5,表示PROFINET IO的設備號。
2 SFC51診斷
2.1 介紹
系統狀態列表(SSL)用于描述可編程邏輯控制器的當前狀態。SSL的內容只能通過系統功能進行讀取,而不能修改。換言之,部分列表是虛擬列表,只是在有特殊請求時由CPU的操作系統所創建。
SFC 51 “RDSYSST” 系統功能用于讀取 “系統狀態列表” (簡寫為SSL),部分列表或 CPU 的 SSL 列表摘錄。對于 PROFINET IO,這些 SSL包含了 I/O 模塊,PROFINET IO 主站系統或實際控制器的狀態信息。當選擇所用的、特別是在一個中斷或啟動 OB 中使用的 SSL ID 時,必須注意的是 SFC 僅能同步執行。如果執行 SFC 之后,Busy 位激活表明幾個循環執行一次 SFC,數據還沒有*讀出,因此數據是無效的。接收到的系統狀態列表數據記錄包括了診斷 PROFINET IO 設備上的信息概覽。
PN通信部分列表是虛擬列表,只是在有請求時由CPU的操作系統所創建。虛擬列表來自 CPU 內部的PN IO控制器的緩沖區,緩沖區由控制器的啟動和ALARM信息進行維護和刷新。
可以使用在PROFINET IO診斷的SSL_ID:
SSL_ID (W#16#...) | 部分列表(PROFINET) | INDEX (W#16#...) |
0C91 | PROFINET接口模塊(集成的或外部的)上的模塊的模塊狀態信息 | 邏輯基地址,輸出模塊 bit15=1 |
0D91 | PROFINET中的所有模塊的模塊狀態信息 | bits 0到10: 站號,bits 11到 14: PN IO系統總線號的后兩位, Bit 15: 1 |
0094 | PROFINET接口模塊(集成的或外部的)上站的預期狀態 | 100-115: PN IO系統總線號 |
0294 | 讀取實際的站點是否存在 | 同上 |
0694 | 讀取實際的站點是否出錯 | 同上 |
0794 | 讀取實際的站點維護狀態 | 同上 |
0C96 | PROFINET中的所有模塊的模塊狀態信息 | 邏輯基地址,輸出模塊 bit15=1 |
通過SFC51只能獲取站或模塊的狀態信息,例如,丟站,或者該模塊有錯誤,并不能獲取模板的故障的詳細信息,例如哪一個模板的通道發生斷線,短路等。
2.2 編程 電 話:(同號)
這里使用SFC51來讀取每一個站點的實際狀態,判斷該站是否發生丟站故障。在PLC中添加并下載空的OB86,防止測試丟站時,發生CPU停機現象。當然也可以使用OB86來讀取每一個IO設備的實際狀態,但需要更多的編寫程序,關于使用OB86來獲取IO站點的狀態信息,請參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
在OB1中加入SFC51,關于參數設置,點擊“F1”參考SFC51在線幫助。程序示例如下:
CALL "RDSYSST"
REQ :=M0.0
SZL_ID :=MW2
INDEX :=MW4
RET_VAL :=MW6
BUSY :=M0.1
SZL_HEADER:=DB1.SSL_HEADER
DR :=DB1.RECORD
按照上表在變量表中設置SSL_ID=0294 (MW2)和INDEX=16#64 (MW4),其中16進制64的十進制為100,表示PROFINET總線的序號,請參考圖 2 Step7的硬件組態。添加要查看的變量,并使能M0.0為1。其中讀取到的數據記錄個數為1 (DB1.DBW2),該數據記錄的長度為258bytes (DB1.DBW0)。DB1.DBW4表示PROFINET總線的序號,這里為100 (64H) 。對于DB1.DBB6為2#0011_1111,其中bit0表示組信息,如果為1,表示至少有一個IO設備與IO控制器進行通訊,如果為0,表示IO站點全部丟失。Bit1~Bit5表示設備號1~5的IO設備的狀態,1表示IO設備存在,0表示IO設備丟站。至于其它Bit和高字節中的Bit依次類推,表示對應IO設備的狀態。
圖 3 根據變量表查看設備狀態
根據這些位Bit1~5,可以很方便的在WinCC/WinCC Flexible中或任何第三方與PLC通訊的HMI上進行顯示,方便用快速發現和維護現場故障。
3 SFB52診斷
3.1 介紹
SIMATIC S7 診斷數據記錄提供了附加的詳細信息的診斷性能。系統功能塊SFB 52 “RDREC” 用于讀取這些數據記錄。
調用時,系統功能塊對要診斷的站ID進行尋址,并以 INDEX 參數標明要讀出的數據記錄。這可能是*機架或分布式組件(PROFIBUS DP或PROFINET IO)中的一個模塊。如果沒有診斷信息,則系統功能塊執行后沒有輸出。由于 SFB 52 “RDREC” 是一個異步執行的 SFB,即執行過程橫跨幾個 SFB調用,因此該塊只能在循環操作中使用。不能在診斷 OB 或定時中斷 OB 中使用。除了出錯的精確位置外,SFB 52 診斷數據記錄還包含發生錯誤的類型信息。為了進一步分析,可對該信息進行評估。
在MLEN中要讀取的zui多字節數。目標區域RECORD的選定長度至少應等于
MLEN字節的長度。輸出參數VALID如為TRUE,則表明已將數據記錄成功傳送到目標區域RECORD中。此時,輸出參數LEN包含所取得的數據的長度(以字節計)。輸出參數ERROR用以指示是否發生數據記錄傳送錯誤。如果發生錯誤,則輸出參數STATUS包含錯誤信息。
該功能塊屬于狀態驅動類型,可以在OB1或者其它循環OB塊中調用,用于讀取診斷記錄或者組態記錄等數據記錄。
PROFINET IO 設備模型說明了模塊化和緊湊型現場設備的結構。 它根據 PROFIBUS DP 的基本特性構建。子模塊和 API 的定義已添加至設備模型,以增加 IO 設備的靈活性。
一個 PROFINET IO 設備包括一個或多個“邏輯設備”, 這些設備依次包含一個或多個 API(應用程序進程標識符),至少包含 API 0。
設備的特性通過IO設備的基于XML的GSD(General Station Description)文件來描述。可以通過PROFINET XML Viewer來讀取GSDXML文件。
涉及到分級的概念,AP,API,SLOT,SUBSLOT。每個尋址級別都有一組可用的診斷記錄和組態記錄。 通過記錄編號的首字母來區別各記錄組的診斷級別,如下圖 4 診斷級別。關于PROFINET IO設備模型和診斷的數據記錄結構請參考 19289930
圖 4 診斷級別
3.2 編程
這里使用SFB52來讀取ET200S IM151-3PN FOC站點輸出模塊的狀態,例如斷線等,參考圖 5 ET200S FOC的硬件組態列表。在PLC中添加并下載空的OB82,防止測試斷線故障時,發生CPU停機現象。當然也可以使用OB82來讀取IO設備的模塊狀態信息,但需要更多的編寫程序,關于使用OB82來獲取IO站點的模塊的狀態信息,請參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
圖 5 ET200S FOC的硬件組態列表
雙擊該站的2DO DC24V/0.5AHF模板,設置使能通道0相關的診斷“斷線”,參考圖 6 ET200S 2DO模塊的參數設置。
圖 6 ET200S 2DO模塊的參數設置
在OB1中加入SFB52,關于參數設置,點擊“F1”參考SFB52在線幫助。程序示例如下:
CALL "RDREC" , DB52
REQ :=M0.2
ID :=MD8
INDEX :=MW12
MLEN :=MW14
VALID :=M0.3
BUSY :=M0.4
ERROR :=M0.5
STATUS:=MD18
LEN :=MW22
RECORD:=DB2.DB_RECORD
按照需要上表在變量表中設置ID=16#00008002 (MD8)和INDEX=16#800A (MW12),其中8002表示該輸出模板的邏輯地址,請參考圖 4 ET200S FOC的硬件組態列表。添加要查看的變量,并使能Q2.0為1,此時激活斷線故障,DO模板、ET200S FOC接口模板以及CPU的SF燈亮。設置MLEN (MW14) 的數據長度為100,需要大于或等于實際讀取到的數據記錄的長度,否則無法讀到相關的診斷的信息。然后使能M0.2為1,讀取到的數據記錄如下圖 7 診斷數據記錄。其中zui后一個字DB2.DBW24為16#0006,表示在該站的2 (DB2.DBW10) 號槽,1 (DB2.DB12) 號子槽的通道0 (DB2.DBW20) 發生“斷路”故障,參考圖 8 ChannelErrorType編碼。更多詳細的通道故障類型信息,請參考 19289930
也可以更高一級的診斷級別,例如AR級,設置ID=16#00001FDF (MD8) 接口模板的診斷地址和INDEX=16#E00A (MW12) 也可以讀取到相同的診斷數據記錄,不過由于該級別zui高,那么可以獲得該站的各個模板和各個通道的詳細診斷信息。
根據故障類型的編碼,可以很方便的在WinCC/WinCC Flexible中或任何第三方與PLC通訊的HMI上設置診斷信息并進行顯示,方便用快速發現和維護現場故障。
需要注意在Step7中調用SFB52時,不要一直觸發REQ,也就是說REQ不要一直為1,在需要的時候調用該功能塊,因為一味的觸發會占用PLC更多的資源和占用更多的帶寬。
圖 7 診斷數據記錄
圖 8 ChannelErrorType編碼
4 SFB54診斷
4.1 介紹 電 話:(同號)
SFB "RALRM" 從外圍設備模塊(集中結構)或從DP從站或PROFINET IO設備組件
接收中斷及其所有相應信息。然后將此信息提供給輸出參數。
帶有附加詳細輸出參數中的信息包含被調用OB的啟動信息以及中斷源的信息。由于要檢查外圍設備中斷,故只能在由CPU操作系統啟動的中斷OB中調用SFB 54。中斷 OB 外的 SFB 54“RALARM” 調用是不*的,因為此時不能獲取診斷狀態的重要信息。
在TINFO和AINFO數據緩存中,AINFO中的USI=16#8000 (WORD 26) 時快速獲得診斷的一些重要信息如下:
TINFO 的 WORD 20 站號.
AINFO 的 WORD 4 中斷類型
WORD 12 插槽號(SLOT)
WORD 28 通道號(CHANNEL)
WORD 32 出錯類型
4.2 編程
這里使用SFB54來捕獲ET200S IM151-3PN FOC站點輸出模塊的中斷狀態,例如斷線等,參考圖 5 ET200S FOC的硬件組態列表。在OB82中添加SFB54,用于捕獲斷線故障。當然也可以使用OB82來讀取IO設備的模塊狀態信息,但需要更多的編寫程序,關于使用OB82來獲取IO站點的模塊的狀態信息,請參考下載中心《使用OB8x診斷SIMATIC PLC(PN) 》87668286
雙擊該站的2DO DC24V/0.5AHF模板,設置使能通道0相關的診斷“斷線”,參考圖 6 ET200S 2DO模塊的參數設置。
在OB82中加入SFB54,關于參數設置,點擊“F1”參考SFB54在線幫助。程序示例如下:
L #OB82_MDL_ADDR
T MD 30
CALL "RALRM" , DB54
MODE :=1
F_ID :=MD30
MLEN :=1000
NEW :=M1.0
STATUS:=MD36
ID :=MD40
LEN :=MW44
TINFO :="TINFO".TINFO
AINFO :="AINFO".AINFO
在變量表中添加TINFO和AINFO的數據記錄。其中TINFO的WORD20為8005,表示PROFINET總線序號為100的系統中站號5發生故障。根據圖 9 AINFO變量表,可知AINFO中的DB4.DBW32為16#0006,表示在該站的2 (DB4.DBW12) 號槽,1 (DB4.DB14) 號子槽的通道0 (DB2.DBW28) 發生“斷路”故障,參考圖 8 ChannelErrorType編碼。更多詳細的通道故障類型信息,請參考 19289930