[摘要] 結合工程應用實例介紹了PROFIBUS-DP現場總線診斷功能開發(fā)和運用
[關鍵詞] PROFIBUS-DP 現場總線 診斷功能
Abstract combined with practical application of engineering, this paper introduces how to develop and apply the diagnosing function of one kind important of field buses: PROFIBUS-DP.
Key words PROFIBUS-DP field bus diagnosing function
0 前言
切絲機是煙草制絲線的主機設備。設備控制系統(tǒng)的可靠性、先進性直接影響用戶生產效率和經濟效益。我公司從一九九八年開發(fā)新型切絲機以來基于串行數據通訊總線電控系統(tǒng)先后開發(fā)了六套,其中運用西門從PROFIBUS-DP通用、標準型總線電控系統(tǒng)有三套。采用該控制系統(tǒng)切絲機銷售量占切絲機銷售總數95%以上。采用先進總線技術使控制信息純數據化,簡化了硬件電路、線纜的數量。提高了控制系統(tǒng)可靠性。塑造了切絲機控制系統(tǒng)的新形象。但是由于基于現代電子、計算機、通訊的串行數據傳輸新技術;是現代電子技術和低壓電路融合;是二十世紀末崛起的工業(yè)自動化控制新技術,所以在工程設計和使用中還存在不少新問題。比如與傳統(tǒng)控制安裝施工比較,總線的安裝使用要求很高:總線的長度,和動力線并列鋪放距離,接地方式和位置都有明確規(guī)定。無論設計還是安裝、維護、使用抱著以往相對粗糙經驗,總線都不可能在惡劣工業(yè)環(huán)境中正常使用。另外由于牽涉新技術多,在使用維護中對用戶工程技術人員業(yè)務素質都有較高要求。
1 總線問題現狀
從全國切絲機用戶售后服務反饋信息統(tǒng)計,因為總線電纜接線、布線和從站問題造成故障而不能及時處理占總故障率30%。如何提高總線控制可靠性,以及提高系統(tǒng)自診斷能力,讓用戶在第一時間發(fā)現問題,清楚問題準確位置,即時加以處理,是提高產品質量、售后服務效率和公司形象的當務之急。
2 圖形信息式PROFIBUS-DP總線診斷自診斷功能。
西門子PROFIBUS-DP總線是切絲機的核心應用技術之一,整個切絲機控制顯示數據傳遞都由它完成。但是PROFIBUS-DP總線和掛接在總線上從站自診斷應用開發(fā)還是空白?,F在切絲機總線一旦出問題完全憑經驗處理,很多用戶因缺乏實際操作經驗無從下手。售后服務因缺少具體總線故障信息無法實現遠程診斷,增加服務難度和服務成本。在查閱西門子PROFIBUS-DP總線診斷資料基礎上。開發(fā)了關于切絲機PROFIBUS-DP總線系統(tǒng)圖形信息自診斷功能。
2.1 PROFIBUS-DP總線診斷功能塊應用說明
在切絲機源程序中嵌入PROFIBUS-DP總線診斷功能塊FB125。該功能塊主要是針對西門子公司PROFIBUS-DP總線產品開發(fā)運用。由于切絲機電控系統(tǒng)內部掛接在總線上的從站分別是英國CT公司驅動器,德國PHONEIX公司INLINE分散式數字量、模擬量輸入輸出模塊。是非西門子公司產品,診斷數據、格式、含義和西門子公司總線產品完全不一樣。所以在熟悉FB125功能塊接口參數含義基礎上,還要研究PHONEIX公司INLINE分散模塊,英國CT公司驅動器診斷數據規(guī)范,并進行測試和編譯使FB125處理數據能夠準確報告從站模塊診斷信息。比如故障位置、故障器件名稱、故障原因和排除方法。
2.1.1 總線診斷功能塊調用和參數說明
FB125功能塊在程序OB1、OB82 、OB86中直接調用,調用后及輸入輸出參數描述如下:
Network: 4該程序塊用于切絲機分布PROFIBUS-DP總線的診斷(interrupt)
CALL "DETAIL_DP_DIAG" , "DETAIL_DIAG_DB"
DP_MASTERSYSTEM :=1 // 主站地址號。
EXTERNAL_DP_INTERFACE:=FALSE //PROFIBUS-DP是集成總線接口。
MANUAL_MODE :=DB50.DBX126.0 //診斷模式:自動模式設定為“0”;手動模式設定為“1”。
SINGLE_STEP_SLAVE :=DB50.DBX126.1 //切換顯示另一個故障從站標志。
SINGLE_STEP_ERROR :=DB50.DBX126.2 //切換到已指示的故障從站上另一個錯誤標志。
RESET :=DB50.DBX126.3 //總線復位。
SINGLE_DIAG :=DB50.DBX126.4 //手動模式:讀指定的DP從站信息。
SINGLE_DIAG_ADR :="DB50".SING_DIAG_ADR // 手動模式:被單獨診斷的從站地址。
ALL_DP_SLAVES_OK :=DB50.DBX126.5 //所有DP從站無故障,總線“OK”。
SUM_SLAVES_DIAG :="DB50".SUM_SLAVES_DIAG//所有出故障的從站數量。
SLAVE_ADR :="DB50".SLAVE_ADR //故障從站地址(1-126)。
SLAVE_STATE :="DB50".SLAVE_STATE //地址所指示故障從站的狀態(tài)。(0:DP從站OK;1:DP從站失敗 ;2 :DP從站故障; 3:DP從站沒有被配置或被診斷。
SLAVE_IDENT_NO :="DB50".SLAVE_IDENT_NO //地址所指示故障從站的“ID”號碼。
ERROR_NO :="DB50".ERROR_NO //地址所指示故障從站的錯誤號碼。
ERROR_TYPE :="DB50".ERROR_TYPE //地址所指示故障從站的錯誤類型。
MODULE_NO :="DB50".MODULE_NO //地址所指示故障從站的故障模塊號碼。
MODULE_STATE :="DB50".MODULE_STATE //地址所指示故障從站的故障模塊狀態(tài)。
CHANNEL_NO :="DB50".CHANNEL_NO //地址所指示故障從站的故障模塊的故障通道號碼。
CHANNEL_TYPE :="DB50".CHANNEL_TYPE //地址所指示故障從站的故障模塊的故障通道類型。
CHANNEL_ERROR_CODE :="DB50".CHANNEL_ERROR_ CODE//地址所指示故障從站的故障模塊的故障通道號碼。
CHANNEL_ERROR_INFO_1 :="DB50".CHANNEL_ERROR_ INFO_1//地址所指示故障從站的故障模塊的故障通道錯誤信息類型。
CHANNEL_ERROR_INFO_2 :="DB50".CHANNEL_ERROR_ INFO_2//S7診斷錯誤類型為“4”信息的位號碼(必須是S7模塊)。
DIAG_COUNTER :="DB50".DIAG_COUNTER //顯示“DP”從站所有診斷的總和。
DIAG_OVERFLOW :=DB50.DBX126.6 //同時接收的診斷從站數量大于“32".
BUSY :=DB50.DBX126.7 //指示“FB”塊在處理“DP”系統(tǒng)。
程序中FB125功能塊的例證數據塊DB125用于存貯診斷數據??偩€從站診斷信息分別放在DBB932---DBB1271字節(jié)中。其中:
·DBB932到1175存貯當前故障從站標準診斷數據。
·DBB1176到1191作為位寄存器標示配置的總線從站。
·DBB1192到1207作為位寄存器標示總線已處理的總線從站。
·DBB1208到1223作為位寄存器標示總線未處理的總線從站。
·DBB1224到1239作為位寄存器標示故障總線從站。
·DBB1240到1255作為位寄存器標示故障和受影響總線從站。
·DBB1256到1271作為位寄存器存貯故障和受影響總線從站,直至CPU從啟動或復位清零。
·DBB1272到1397存貯診斷總線從站地址。
在上面診斷字節(jié)中總線節(jié)點以位寄存器形式存貯標示時,各從站地址在字節(jié)中分布位置圖標示如下: