陳在平 張 宇 倪建云 賈 超
(天津理工大學 a.天津市復雜系統控制理論及應用重點實驗室;b.自動化學院,天津 300384)
Profibus-DP作為開放式現場總線標準之一,被廣泛應用于制造業自動化、流程工業自動化及樓宇自動化等自動化領域。DP從站可作為通信接口,使不同制造商所生產的設備不進行特別調整即可接入DP網絡[1]。而傳輸多路IO量數據就是DP從站的一種基本且常用的功能。DP從站的硬件設計已經非常成熟,主要由單片機、協議芯片和隔離驅動電路構成。其中,單片機要滿足1KB以上RAM,8KB以上ROM的要求,如STM32系列及STC90系列單片機等;協議芯片主要有SPC3、VPC3及VPC3+C等;隔離驅動電路可由HCPL7101、HCPL0601和485驅動芯片(如SN75ALS176D)搭建,也可選取驅動、隔離一體芯片,如ADM2486等。筆者應用DP的診斷技術,可將各個從站的故障信息及時反饋到主控制器上,以便快速定位到故障站點并排除故障,方便了維護,該方法對于縮短故障排除時間和提高設備的穩定性有很大幫助,能夠整體提高生產效率[2]。
由于DP從站的設計方案已十分典型,筆者不過多說明,主要介紹Profibus診斷技術在DP從站的IO量數據傳輸中的應用,圖1為獲取診斷信息的硬件電路。

圖1 獲取診斷信息的硬件電路
認為當inpower端與GND短路時即為故障,LM311D為比較器,3腳接收inpower的電平信號,2腳是略高于0的低電平,正常情況下7腳輸出低電平。當故障(即inpower與GND短路)出現時,3腳為0V,要低于2腳電壓,比較器翻轉,7腳輸出高電平,由Test端輸送給單片機的IO端口,即診斷信號出現。
由于在標準DP協議中擴展了診斷部分,因此從站程序設計主要由主程序軟件設計和診斷程序軟件設計兩部分組成。
主程序流程如圖2所示。其中SPC3的初始化部分要放在主程序的起始位置,主要包括設定寄存器變量名、設置看門狗初值、設置從站地址和標志號及設定緩沖區長度等內容[3]。一旦進入數據交換后,除非出現從站地址改變等特殊情況,否則不會退出數據交換的大循環。

圖2 主程序流程
當有診斷信號出現時(如硬件設計中的Test端出現高電平),單片機則進入診斷程序,處理診斷數據。因為可以根據單片機的空閑引腳來決定診斷信號的數量,即可擴展成多路診斷同時出現的情況,所以需要在程序里判斷診斷類型,并設置相應的擴展診斷數據的長度和對應的診斷代碼。最后調用診斷數據塊,填充擴展診斷信息,在本流程中,將出現診斷的從站地址作為診斷信息填充進去。筆者設定了兩種診斷類型,即對應了兩類故障,任何一類故障出現均可觸發診斷,并告知主站進行處理。診斷部分流程如圖3所示。
采用西門子S7-300 PLC作為主站,型號為314C-2 DP,在STEP7中使用功能塊OB82獲取診

圖3 診斷程序流程
斷信息,用系統功能塊SFC51獲取系統信息,并存儲在數據塊DB13中。最終在OB1中調用各個功能塊,下面給出OB82的部分程序:
…
L #OB82_IO_FLAG
L B#16#54
==I
JC go
L #OB82_MDL_ADDR
L W#16#8000
OW
T #OB82_MDL_ADDR
go: L #OB82_MDL_ADDR
T MW 30
L #OB82_EV_CLASS
L B#16#39
==I
S M 40.0
JC com
R M 40.0
L #OB82_MDL_ADDR
T MW 30
…
系統測試主要由對總線網絡通信部分的測試和對診斷部分的測試兩部分組成。
通信測試部分采用配備DP接口的西門子PLC作為主站,擴展外部診斷的DP從節點作為從站。在SIMATIC MANAGER中組態DP網絡并編寫主站程序,編譯沒有錯誤后下載到西門子PLC S7-300中運行[4]。通過ProfiTrace抓取網絡中的報文信息,獲取DP網絡的運行情況。圖4為DP從站與主站正常通信時的數據交換狀況,采用1字節長度(即8路IO量)進行數據交換,主站發送數據01給從站,從站返回88給主站,具體的數據長度可根據實際情況進行設定。

圖4 DP通信測試
對診斷部分的測試是在通信測試的基礎上進行的,本測試模擬了兩類故障(圖5為兩類故障均出現的情況),用戶可根據實際需求擴展故障類型。配置好DP網絡后,在STEP-7程序中添加診斷中斷功能塊OB82和數據塊DB13,當故障出現時,PLC的SF指示燈變亮,在ProfiTrace中也能監測到站號的左上角有紅燈閃爍。如果是一類故障,則在DB13數據塊的DBB7中添加診斷信息,如果是二類故障,則在DBB8中添加診斷信息。在本測試中,把出現問題的10號從站的地址作為診斷信息(地址為十六進制0X0A)填充到數據區中。
通過系統測試,可以驗證DP從站在Profibus-DP網絡中運行的正確性和穩定性,在出現故障后,能及時準確地向主站反映故障信息和出現故障的從節點地址。
詳細地闡述了外部診斷技術在Profibus-DP從站中的應用、具體測試方案和實驗結果。使用該設計方案,可以在不改動基本電路的基礎上,對I/O部分簡單調整,即可使大部分外圍設備連接到DP網絡上,并且能夠準確快速地檢測到外圍電路的故障診斷信息,及時定位并排除電路故障。
[1] 鄭小倩,黃明琪. PROFIBUS-DP主站和從站通訊的設計與實現[J].微計算機信息,2007,23(1):48~49,108.
[2] 張強.采用SPC3設計Profibus-DP智能從站[J].自動化儀表,2005,26(3):17~20.
[3] 周侗,魏劍嵬,劉丹,等.基于PROFIBUSDP從設備開發的協議分析與軟件設計[J].信息與控制,2005,34(1):115~118.
[4] 王永華,李娜,閻佩獻.基于工業以太網和PROFIBUS的FCS實時在線故障診斷系統[J].制造業自動化,2010,32(12):24~26,115.