西門子自動化系統中Profibus DP總線的使用非常廣泛,在使用的過程中如何對正在運行的總線設備進行診斷,故障檢測,是很有必要的事情,今天老鬼就把這些問題做簡要的總結,希望學習完成后大家能夠完成對DP總線的診斷和監控。
應用PROFIBUS-DP和SIMATIC S7診斷評估遠程組態時,用戶程序可以使用兩個不同的S7功能塊。
如果除了診斷概要外還需要有關總線節點上錯誤和故障的詳細信息,請使用功能塊FB125。
功能塊FC125是一個簡化版本,它只提供有關“哪些總線節點上發生故障或者錯誤”的信息(診斷概要)。該功能塊不能顯示詳細的信息。
一、FB125和FC125的應用領域
FB125和FC125可用于下列集成的DP接口和外部DP接口:
CPU 313C-2 DP
CPU 314C-2 DP
CPU 315-2 DP(從6ES7 315-2AF02-0AB0起)
CPU 315-2 DP(僅適用于6ES7 315-2AF01-0AB0):
不能使用FC125
FB125不能通過Start/RESET檢測到有故障的從站
CPU 316-2 DP
CPU 318-2 DP
C7-626 DP(從6ES7 626-2AG01-0AE3起)
C7-633 DP和C7-634 DP
SINUMERIK 840D帶有集成的CPU315-2 DP(6ES7 315-2AF01-0AB0):
不能使用FC125
FB125不能通過Start/RESET檢測到有故障的從站
SINUMERIK 840DI,帶有集成的CPU315-2 DP(6ES7 315-2AF03-0AB0)
CPU 41x-2/3/4 DP
CP 443-5
IM 467和IM 467 FO
WIN AC
WIN LC
不適用于CP 342-5
二、硬件配置實例
以下面的硬件配置為實例來介紹如何調用FC125【FC_Siemens_DP_Diag】來完成對Profibus總線的診斷。
三、FC125“FC_Siemens_DP_Diag”接口簡介
接口參數說明
CHECK_ACTIVE :
為1時開始檢測從站。
EXTERNAL_DP_INTERFACE :
選擇DP 主站的接口,0 表示集成在CPU 上的DP 主站,1 表示外部DP 主站接口,如CP443-5 等。
DP_MASTERSYSTEM :
PROFIBUS 的ID 號,在硬件組態中可以查看到PROFIBUS的ID 號。有幾條PROFIBUS網絡,就要調用FC125 幾次,分別賦值它們的PROFIBUS ID 號,數據類型為INT。
DATA_FIELD :
50 個字節的數據區,僅供FC125 內部使用,數據類型為POINTER。
SUM_SLAVES_DIAG :
從站診斷的總數,數據類型為INT。
LIST_SLAVES_NOT_PRESENT:
檢查到丟失的從站(軟件已經組態但是現場沒有連接硬件),16個字節的數據區,每一個數據位對應一個從站,置1 表示一個從站丟失,如果丟失的從站返
回或維修好,相對應的位復位。數據類型為POINTER。
LIST_SLAVES_ERROR :
故障的從站(部分模塊有故障,其他模塊可以連續運行),16 個字節的數據區,每一個數據位對應一個從站,置1 表示一個從站故障,如果故障的從站返回或
維修好,相對應的位復位。數據類型為POINTER。
RETVAL :
調用FC125 時的狀態返回值,數據類型為INT。
BUSY :
為1表示當前正在執行。
四、建立DB125數據塊,保存FC125運行數據,如下:
五、在OB1中插入FC125按照下圖進行接口參數賦值。
【注意:當CHECK_ACTIVE,m0.0=1時診斷功能使能】
六、如何讀取診斷信息?
經過上面的程序處理,可以得到兩個數據區 LIST_SLAVES_NOT_PRESENT 和LIST_SLAVES_ERROR。這兩個參數,每個都具有16字節的數據。這16個字節的每個位,就代表一個DP從站設備。它可以表示16×8=128個站點。
某個位被置1,就表示該位代表的從站丟失或故障;但從站故障消失,該位會自動復位為0。對于DP網絡1來說,它具有的4個從站,其診斷位
在“GLOBAL_DIAG_DB”.DP_SLAVE1.LIST_SLAVES_NOT_PRESENT
或者“GLOBAL_DIAG_DB”.DP_SLAVE1.LIST_SLAVES_ERROR數據區的1-4位,而DP網絡2,其具有的3個從站,在“GLOBAL_DIAG_DB”.DP_SLAVE2.LIST_SLAVES_NOT_PRESENT
或者“GLOBAL_DIAG_DB”.DP_SLAVE2.LIST_SLAVES_ERROR數據區的1-3位。
下面的問題是,如何從從診斷數據集中取出對應從站的診斷位信息。
有很多方法,最直接的方法是,直接在DB中找到這些位的絕對地址,如DP網絡1的第2個從站,其丟失診斷位的絕對地址是:DB100.DBX52.1,故障診斷位的絕對地址是:DB100.DBX68.1。
這種方法簡單直接,但不利于程序移植。間接的辦法是,將診斷數據集中診斷位,右移到雙字的最右端,也就是雙字的最低位,再與DW#16#1常數進行異或非運算,如結果=1,則被移動的診斷位代表的從站就存在丟失或者故障。具體使用哪種方法來取得診斷位的確切信息,取決于具體編程人員的習慣。重要的是,當取得了從站的診斷位信息,如何利用診斷位來控制流程。
責任編輯:haq
-
plc
+關注
關注
5010文章
13271瀏覽量
463057 -
西門子
+關注
關注
94文章
3034瀏覽量
115780 -
編程
+關注
關注
88文章
3614瀏覽量
93686
發布評論請先 登錄
相關推薦
評論