摘要:本文分析了PROFIBUS-DP現場總線的基本特性和通訊協議,介紹了一種基于赫優訊嵌入式模塊COM-C的PROFIBUS-DP主站系統的設計方案,并在DCS系統中成功應用。目前,該系統已投入現場運行,穩定可靠,取得很好的實效。
關鍵字:PROFIBUS-DP主站;現場總線;DCS系統;嵌入式模塊
[align=center]The design of PROFIBUS-DP Master system based on Hilscher embedded module
ZHANG Xiao-gang, DENG Wu-peng
(1. Zhejiang SUPCON Technology Co., Ltd, Hangzhou, 310053
2. Hilscher Gesellschaft für Systemautomation mbH Shanghai Representative Office, Shanghai, 200010)
張曉剛1,鄧梧鵬2
(1. 浙江中控技術股份有限公司 浙江 杭州310053;
2. 德國赫優訊自動化系統有限公司上海代表處 上海 200010)[/align]
Abstract: This paper analyzes the character and protocol of PROFIBUS-DP, and introduces one solution of PROFIBUS-DP Master system based on Hilscher embedded module, which is applied in DCS successfully. The system runs steadily on the field, and gets good feedback from customers.
Key words: PROFIBUS-DP Master, Fieldbus, DCS, Embedded module
0 引言
現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現,標志著工業控制技術領域又一個新時代的開始,并將對該領域的發展產生重要影響。
作為歐洲首屈一指的開放式現場總線PROFIBUS(Process Fieldbus)已經被全世界所接受,成為國際化的開放式現場總線標準,并在中國發展迅速,廣泛應用于加工制造、過程等自動化領域中。
目前,越來越多的國內自動化設備制造商都已開發出了帶有PROFIBUS從站接口的設備,并在市場上獲得廣泛的認可。然而,自主開發的帶有PROFIBUS主站通訊接口的設備卻很少。本文介紹了一種基于嵌入式模塊COM-C的PROFIBUS-DP主站系統的設計方案,基于該方案設計的產品已經在浙江中控的WebField ECS-100 DCS系統中得到成功應用。
1 PROFIBUS-DP通訊協議
1.1 PROFIBUS的組成
PROFIBUS是由西門子公司推出的一種開放式現場總線標準,是德國標準(DIN19245)和歐洲標準(EN50170)的現場總線標準,并已納入國際標準IEC 61158中。它是一種具有廣泛應用范圍的、開放的數字通信系統,特別適用于工廠自動化和過程自動化領域。
PROFIBUS由相互兼容的三個部分組成,即PROFIBUS-FMS、PROFIBUS-DP、PROFIBUS-PA。
PROFIBUS-FMS:用于車間級通用的控制及通信任務,是一個令牌環結構、實時多主網絡。
PROFIBUS-DP:是一種高速且優化的通信方案,主要用于實現現場級控制與分布式I/O及其他現場級設備之間的通信。
PROFIBUS-PA:專為過程自動化而設計,符合本征安全規范,適用于防爆區的應用。
PROFIBUS這三層協議使其成為能夠提供制造業自動化、工程自動化、樓宇自動化以及電力自動化完整解決方案的唯一的現場總線系統。
1.2 PROFIBUS-DP
PROFIBUS-DP協議設計用于現場層的快速數據交換,中央可編程控制器(如,PLC、PC或過程控制系統)通過快速串行連接與分散的現場設備(如,I/O、驅動器、閥門或變送器)進行通信。依據各種應用領域的特殊需求,已經用特殊功能逐步地擴展了DP的基本功能,目前有三種版本:DP-V0,DP-V1和DP-V2,每一種版本都有自己專用的關鍵特性,如圖1所示。版本的這種區別,主要反映了依據不斷增長的應用需求而完成的規范工作的時間順序。
[align=center]

圖1 PROFIBUS-DP各版本的主要功能[/align]
DP-V0提供DP基本功能,包括循環的數據交換,以及站診斷、模塊診斷和特定通道的診斷。
DP-V1包含依據過程自動化的需求而增加的功能,特別是用于參數賦值、操作、智能現場設備的可視化和報警處理等的非循環的數據通信。此外,DP-V1有三種附加的報警類型:狀況報警,刷新報警和制造商專用的報警。
DP-V2包含主要根據驅動技術的需求而增加的其它功能。由于增加的功能,如等時同步從站模式和從站與從站通信等,DP-V2也可以被實現為驅動總線,用于控制驅動軸的快速運動時序。
2 PROFIBUS-DP主站系統設計
PROFIBUS是一種開放的標準,原則上,該協議可以在任何處理器上實現。目前,自動化廠商在開發PROFIBUS-DP主站設備時,主要有以下三種解決方案:
1. 軟PROFIBUS主站,該方案完全由軟件來實現PROFIBUS協議,由微處理器來運行完整的協議堆棧。該方案開發難度和開發風險都特別大,開發周期也長,而且需要開發人員對PROFIBUS協議、框架特別熟悉。產品開發出來后,需要送歐洲進行協議一致性測試和認證。
2. 專用ASIC芯片外加擴展固化程序Firmware,該方案是采用較多的一種,由專用的ASIC芯片實現PROFIBUS協議數據鏈路層的介質訪問控制功能;而數據鏈路層的其他功能和應用層的功能則由微處理器運行其擴展固化程序實現。但是,目前國內市場很難購買到Firmware,如果由用戶自己編寫Firmware則難度增加,開發周期也長,同樣需要送歐洲進行協議一致性測試和認證。
3. 嵌入式模塊主站,該方案是開發PROFIBUS-DP主站設備采用最多的一種,模塊內部已經集成專用的ASIC芯片和固化程序Firmware。該方案開發難度和開發風險都大大減少,開發周期縮減,并且協議已經通過了一致性測試和認證。
本文采用的是第三種方案——嵌入式模塊主站,使用的是德國赫優訊(Hilscher)自動化系統有限公司的嵌入式模塊COM-CN-DPM(PROFIBUS-DP Master),由該模塊實現PROFIBUS-DP主站協議,主機系統通過嵌入式模塊提供的雙端口內存(Dual-Port Memory,DPM)接口與模塊進行數據通信,用戶不需要關心PROFIBUS協議的具體實現,只需往DPM接口讀/寫數據就可以,因此,該模塊就像一個內存,使用起來非常方便。
2.1 硬件設計
嵌入式模塊COM-CN-DPM提供給用戶的硬件接口有X1和X2兩個排針連接頭,X1連接頭(50根管腳),即雙端口內存接口,包含與主機通信必備的控制線、數據線和地址線。X2連接頭(30根管腳),即現場總線接口,包含PROFIBUS信號線以及LED狀態指示燈。
嵌入式模塊COM-C與主機接口電路如圖2所示。由于PROFIBUS協議都由模塊內部實現,因此用戶應用程序只需通過提供的API接口和訪問方式,對雙端口內存進行讀/寫操作。通過現場總線接口,將PROFIBUS信號線引出,只需在母板上連接一個9針D-Sub連接頭,通過此接口將模塊連接到PROFIBUS-DP網絡中。該模塊同時提供LED狀態指示燈,可將LED信號線引出到母板上,方便用于診斷模塊的通信狀況。
[align=center]

圖2 嵌入式模塊與主機接口電路[/align]
由于該模塊已經集成實現PROFIBUS協議的所有必備電路,因此在外圍電路設計的時候非常簡單方便,其電路連接與MCU和內存的連接相似。在該主站系統中,同時還設計了以太網接口,方便遠程文件的下載。
2.2 軟件設計
嵌入式模塊COM-C提供的主機接口是雙端口內存DPM,用戶應用程序通過DPM接口來訪問該模塊。同時,為了提高整個系統的實時性和可靠性,主機系統使用的是實時多任務操作系統Linux。因此,在進行軟件設計時,主要完成驅動程序以及應用程序的編寫。
2.2.1 雙端口內存DPM結構
嵌入式模塊COM-C提供的雙端口內存DPM接口是8KByte的地址空間,其具體結構如圖3所示。
[align=center]

圖3 雙端口內存地址空間[/align]
用戶應用程序通過雙端口內存DPM來訪問PROFIBUS-DP主站嵌入式模塊COM-C,該雙端口內存分為兩個部分,協議無關(循環數據地址空間)與協議相關(非循環數據地址空間)。循環數據包含PROFIBUS-DP主站與從站之間相互交換的過程映像輸入輸出數據,非循環數據包含與PROFIBUS-DP協議相關的參數、報文、命令、狀態等數據。
● 過程映像輸出數據:主機用戶程序發送給PROFIBUS-DP從站的輸出數據。
● 過程映像輸入數據:PROFIBUS-DP從站發送給主機用戶程序的輸出數據。
● 發送郵箱:主機用戶程序發送給PROFIBUS-DP從站的非循環報文信息,命令、診斷、配置文件下載等。
● 接收郵箱:PROFIBUS-DP從站發送給主機用戶程序的非循環報文信息,從站報警、狀態、配置文件上傳等。
● 協議參數:PROFIBUS-DP協議參數信息,波特率、看門狗時間、循環時間等。
● 協議狀態:PROFIBUS-DP網絡狀態信息,網絡狀態、錯誤、超時等。
● 系統狀態:嵌入式模塊COM-C中運行的操作系統的狀態信息和模塊的基本信息。
● 狀態/握手標志:設備初始化狀態信息,過程映像輸入輸出數據和郵箱報文同步位,模塊寫,主機應用程序讀。
● 命令/握手標志:用戶應用程序狀態信息,過程映像輸入輸出數據和郵箱報文同步位,主機應用程序寫,模塊讀。
2.2.2 驅動程序的設計
赫優訊提供基于PCI接口、Compact-PCI接口和ISA接口的Linux設備驅動,在該系統中,主機CPU直接對嵌入式模塊COM-C進行訪問,因此可以借鑒提供的Linux設備驅動代碼,進行移植。
Linux設備驅動主要完成對嵌入式模塊COM-C雙端口內存的訪問,提供一個通用的驅動程序接口,用戶程序通過調用接口函數來訪問PROFIBUS主站嵌入式模塊COM-C。Linux設備驅動的框架如圖4所示,這樣做的好處就是,如果以后要使用赫優訊公司的其它類型的現場總線(如DeviceNet、CANopen)嵌入式模塊COM-C, Linux設備驅動不需要改變,直接可用。
[align=center]

圖4 設備驅動框架[/align]
Linux設備驅動主要實現的函數如表1。
[align=center]表1 Linux設備驅動函數表

[/align]
2.2.3 應用程序的設計
應用程序主要實現的功能:配置文件的遠程接收和下載,與遠程監控系統網絡數據的收發,網絡監控等等。
網絡配置工具SyCon生成的網絡配置文件,可導出成DBM格式的文件,然后通過Mailbox(報文的形式)下載到嵌入式模塊的Flash中。配置文件下載流程如圖5所示。
[align=center]

圖5 配置文件下載流程[/align]
部分代碼如下:
/***** 下載配置文件 *****/
memset(&txMsg.data, 0, sizeof(txMsg.data));
/* 讀出DBM文件中的相關信息 */
fseek(pfFile, 40, SEEK_SET);
fread(&ul, 1, 4, pfFile);
…….
usFileLength=*(unsigned short*)&txMsg.data[9];
usFileLength=(unsigned short)usFileLength*2;
memcpy(&txMsg.data[17], &abTemp[0], 34);
/* 建立第一個報文 */
txMsg.rx = 0x00;
txMsg.tx = 0xff;
txMsg.ln = 51;
txMsg.nr = ++bNo;
txMsg.a = 0;
txMsg.f = 0;
txMsg.b = 6;
txMsg.e = 4;
txMsg.data[0] = 3;
if ( SendReceiveMessage(&txMsg, &rxMsg, 10000L)) goto LeaveProgram;
fseek(pfFile, 44, SEEK_SET);
iRead=fread(&txMsg.data[0], 1, DOWNLOAD_LEN, pfFile);
usTransmittedLength = 0;
/* 超過一個報文的最大長度,進入循環,連續發送報文*/
txMsg.ln = (unsigned char)(iRead);
txMsg.nr = ++bNo;
txMsg.e = 8;
do
{
usTransmittedLength+=(unsigned short)iRead;
if ( SendReceiveMessage(&txMsg, &rxMsg, 1000L)) goto LeaveProgram;
iRead=fread(&txMsg.data[0], 1, DOWNLOAD_LEN, pfFile);
txMsg.ln = (unsigned char)iRead;
txMsg.nr = ++bNo;
txMsg.e = 8;
} while (iRead = = DOWNLOAD_LEN);
/* 發送最后一個報文 */
txMsg.e = 0xc;
usTransmittedLength += (unsigned short)iRead;
if ( SendReceiveMessage(&txMsg, &rxMsg, 15000L)) goto LeaveProgram;
/***** 下載配置文件結束 *****/
3 PROFIBUS-DP主站模塊在DCS系統中的應用
WebField系列控制系統是浙江中控技術股份有限公司為適應網絡技術的發展,特別是Internet、Web技術的發展而推出的基于網絡技術的控制系統。該系統融合了最新的現場總線技術、嵌入式軟件技術、先進控制技術與網絡技術,實現了多種總線兼容和異構系統綜合集成。各種國內外DCS、PLC及現場智能設備都可以接入到WebField系列控制系統中,實現企業內過程控制設備信息的共享。
WebField系列控制系統結構如圖6所示。
[align=center]

圖6 系統結構圖[/align]
由圖可見,WebField系列控制系統包含管理信息網、操作網、過程控制網和I/O總線4層網絡。
管理信息網采用通用的以太網技術,用于工廠級的信息傳送和管理,是實現全廠綜合管理的信息通道。操作網采用快速以太網技術,實現C/S模式下服務器與客戶端的數據通訊及操作網節點的時間同步。過程控制網(SCnetII網)實現操作站節點與控制站的連接,完成信息、控制命令的傳輸與發送,采用雙重化冗余設計,使得信息傳輸可靠、高速。I/O總線是控制站內部通信網絡,包括SBUS、PROFIBUS、Modbus、DeviceNet等現場總線。
基于COM-C模塊設計的PROFIBUS-DP主站系統是WebField系列DCS中過程控制網節點之一。它解決了系統與其他廠家測控系統和智能設備的互聯問題,用于將標準PROFIBUS-DP從站設備連入系統,通過鏈接器和耦合器還可以接入PROFIBUS-PA設備。通過SCNetⅡ通訊協議,其他廠家測控系統和智能設備的過程參數可成功地與系統內控制站、操作站等進行信息雙向通信,實現組態、管理、顯示、操作及運算等功能,從而使異種設備成為WebField系列DCS的一部分。
PROFIBUS網絡配置工具SyCon可安裝于工程師站,通過SyCon組態軟件提供的API函數,可實現PROFIBUS組態到DCS組態軟件的完全信息共享,從而實現整個控制系統的一體化組態。
基于PROFIBUS-DP主站模塊開發的主站卡已經成功應用于WebField系列DCS中,并且在過程控制網、PROFIBUS-DP網絡都可以進行冗余配置,保證了PROFIBUS網絡信息傳輸的可靠性。截至目前,該PROFIBUS-DP主站卡已經在現場有幾百個成功的應用。
4 結束語
本文在研究PROFIBUS-DP現場總線通訊協議的基礎上,提出了高可靠性的PROFIBUS-DP主站設計方案,并且在DCS系統中成功應用,已投入現場運行,穩定可靠,取得很好的實效。目前,國內廠家多限于對國外產品的系統集成及PROFIBUS-DP從站產品的開發,對PROFIBUS-DP主站產品的研究開發甚少,因此本文對開發PROFIBUS-DP主站產品具有借鑒作用。
參考文獻:
[1] 中國現場總線專業委員會(CPO)秘書處。現場總線PROFIBUS基礎知識及用戶安裝、投運導則[M].
[2] PROFIBUS International Business Office. PROFIBUS Specification EN 50170 Vol 2. 1998
[3] Hilscher Gesellschaft für Systemautomation mbH. Toolkit Manual [EB/OL]. http://www.hilscher.com/support_manuals.html
[4] Hilscher Gesellschaft für Systemautomation mbH. Device Driver Manual [EB/OL]. http://www.hilscher.com/support_manuals.html
[5] Hilscher Gesellschaft für Systemautomation mbH. PROFIBUS-DP Master Protocol Interface Manual [EB/OL].
http://www.hilscher.com/support_manuals.html
作者簡介
張曉剛(197811——) 男 工學碩士 浙江中控技術股份有限公司工業通訊技術部高級工程師 專門從事工業通訊網絡技術的研究和DCS設備的開發
聯系方式:
浙江中控技術股份有限公司
地址:浙江省杭州市濱江區六和路309號中控科技園A4
郵編:310053
Email:zhangxg@supcon.com
鄧梧鵬(198004 ——) 男 工學碩士 德國赫優訊自動化系統有限公司技術主管 專門從事現場總線、實時工業以太網技術的研究。
聯系方式:
德國赫優訊自動化系統有限公司上海代表處
地址:上海市黃浦區人民路885號淮海中華大廈2208室
郵編:200010
Email:wdeng@hilscher.com
電話: 021-63555161*18