Profibus
PROFIBUS是一個用在自動化技術的現場總線標準,在1987年由德國西門子公司等十四家公司及五個研究機構所推動[1],PROFIBUS是程式總線網絡(PROcess FIeld BUS)的簡稱[2]。PROFIBUS和用在工業乙太網路的PROFINET是二種不同的通訊協定。
PROFIBUS | |
---|---|
管理機構 | PROFIBUS & PROFINET International (PI) |
通訊協定資料 | |
網絡種類 | 裝置網絡、程序控制 |
物理介質 | 雙絞線、光纖 |
網絡拓撲 | 匯流排(Bus) |
裝置定址方式 | 指撥開關或使用硬件/軟件 |
起源
PROFIBUS的歷史可追溯到1987年聯邦德國開始的一個合作計劃,此計劃有十四家公司及五個研究機構參與,目標是要推動一種串列現場總線,可滿足現場裝置介面的基本需求。為了這個目的,參與的成員同意支援有關工廠生產及程式自動化的共通技術研究[1]。
PROFIBUS中最早提出的是PROFIBUS FMS(FMS代表Field bus Message Specification)[3],是一個複雜的通訊協定,為要求嚴苛的通訊任務所設計,適用在車間級通用性通訊任務[4]。後來在1993年提出了架構較簡單,速度也提昇許多的PROFIBUS DP(DP代表Decentralized Peripherals)。PROFIBUS FMS是用在PROFIBUS主站之間的非確定性通訊。PROFIBUS DP主要是用在PROFIBUS主站和其遠端從站之間的確定性通訊,但仍允許主站及主站之間的通訊。
目前的PROFIBUS可分為二種,分別是大多數人使用的PROFIBUS DP和用在程序控制的PROFIBUS PA:
- PROFIBUS DP(分散式週邊,Decentralized Peripherals)用在工廠自動化的應用中,可以由中央控制器控制許多的感測器及致動器,也可以利用標準或選用的診斷機能得知各模組的狀態。
- PROFIBUS PA(過程自動化,Process Automation)應用在過程自動化系統中,由程序控制系統監控量測裝置控制,是本質安全的通訊協定[2],可適用於防爆區域(工業防爆危險區分類中的Ex-zone 0及Ex-zone 1)。其實體層(纜線)符合IEC 61158-2,允許由通訊纜線提供電源給現場裝置,即使在有故障時也可限制電流量,避免製造可能導致爆炸的情形。因為使用網絡供電,一個PROFIBUS PA網絡所能連接的裝置數量也就受到限制。PROFIBUS PA的通訊速率為31.25 kbit/s。PROFIBUS PA使用的通訊協定和PROFIBUS DP相同,只要有轉換裝置就可以和PROFIBUS DP網絡連接,由速率較快的PROFIBUS DP作為網絡主幹,將訊號慱遞給控制器。在一些需要同時處理自動化及程序控制的應用中就可以同時使用PROFIBUS DP及PROFIBUS PA。
2009年底時PROFIBUS網絡上的裝置已經有三千萬個,其中五百萬個裝置是用在程序控制。
技術
PROFIBUS通訊協定(OSI模型)
OSI模型 | PROFIBUS | ||||
---|---|---|---|---|---|
7 | 應用層 | DPV0 | DPV1 | DPV2 | 網絡管理 |
6 | 表示層 | -- | |||
5 | 會談層 | ||||
4 | 傳播層 | ||||
3 | 網路層 | ||||
2 | 資料鏈結層 | FDL | |||
1 | 實體層 | EIA-485 | 光纖 | MBP* |
備註:*MBP為曼徹斯特匯流排電力傳輸(Manchester Bus Powered)的縮寫。
應用層
為了有效利用PROFIBUS DP的機能,PROFIBUS DP定義了幾種不同的服務等級:
- DP-V0:循環式的資料交換,診斷機能。
- DP-V1:循環式及非循環式的資料交換,警告處理。
- DP-V2:時鐘同步數據模式,從機和從機之間的資料廣播。
資料鏈結層
資料鏈結層FDL(總線資料鏈結層)混合了一般主站(master)-從站(slave)之間的通訊及權杖傳遞的訊息。在PROFIBUS網絡中,控制器或控制系統為主站,感測器及致動器為從站。
傳送的訊息不止一種,依其起始字元(start delimiter, SD)可以識別是哪一種訊息: [2]
無資料:SD1 = 0x10
SD1 | DA | SA | FC | FCS | ED |
變動長度資料:SD2 = 0x68
SD2 | LE | LEr | SD2 | DA | SA | FC | DSAP | SSAP | PDU | FCS | ED |
固定長度資料:SD3 = 0xA2
SD3 | DA | SA | FC | PDU | FCS | ED |
權杖(Token):SD4 = 0xDC
SD4 | DA | SA | ED |
簡單的收到告知(acknowledgement):SC = 0xE5
SC |
SD:起始字元
LE:協定資料單位(protocol data unit, PDU)及DA、SA、FC、DSAP及SSAP所有資料的長度
LEr:重複LE的內容(因PROFIBUS的漢明距離HD=4,不在FCS檢查碼範圍內的資料需重覆一次,因此需重複LE內容)
FC:功能碼
DA:目的裝置地址
SA:來源裝置地址
DSAP:目的裝置的服務點(SAP)
SSAP:來源裝置的服務點
SAP(十進位) | 服務 |
---|---|
預設值0 | 循環資料交換(Write_Read_Data) |
54 | 主站至主站服務點(M-M Communication) |
55 | 更改從站地址(Set_Slave_Add) |
56 | 讀取輸入(Rd_Inp) |
57 | 讀取輸出(Rd_Outp) |
58 | 給DP從站的控制命令(Global_Control) |
59 | 讀取組態(Configuration)資料(Get_Cfg) |
60 | 讀取診斷資料(Slave_Diagnosis) |
61 | 寫入參數設置資料(Set_Prm) |
62 | 檢查組態資料(Chk_Cfg) |
除了SAP55之外的其他服務點都是必備的,若裝置中沒有非揮發性記憶體,可以不支援更改從站地址的SAP55服務。
PDU: 協定數據單元(Protocol Data Unit)
FCS:框架檢查碼,是直接將訊息中的位元組相加而得,包括PDU、DA、SA、FC、DSAP及SSAP,不考慮溢位。
ED:結束字元,為0x16
傳送位元組時使用非同步的傳送模式,奇偶校驗位為偶校驗位,啟始位元及停止位元均為1個。當傳送資料時在位元組的停止位元跟下一位元組的啟始位元之間不能有停頓。主站在檢測網絡上至少33位元沒有資料(為邏輯狀態1)時,會送出一筆新的訊息。
位元傳輸層
位元傳輸層有三種不同的傳輸方式:
- 若依據EIA-485規範(舊稱「RS-485」或「RS485」)的電氣傳輸方式[5],會使用阻抗150歐姆的雙絞線,位元速率範圍可以從9.6 kbit/s到12 Mbit/s。兩台中繼器之間的網絡線長也有限制,隨位元速率的不同,上限從100米到1200米。這種傳輸方式主要配合PROFIBUS DP使用。
- 若使用光纖做為介質傳輸,可以使用星型、匯流排(bus)或是環型的網絡拓撲,兩台中繼器之間的網絡線長也可以到15公里,也可以使用環型網絡拓撲以冗餘的方式使用網絡,即使網絡中有一點損壞,仍然可以正常的運作。
- 若使用「曼徹斯特匯流排電力傳輸」(Manchester Bus Powered,MBP)的傳輸方式,網絡上不但有訊號,也可提供裝置電源。因為這種傳輸方式可以減少裝置消耗的功率,因此可以在防爆需求的場合下使用。其匯流排拓撲最長可以到1900米,而且允許有60米的網絡枝連接到裝置,其位元固定為31.25kbit/s,此傳輸方式特別為用在程序控制的PROFIBUS PA所設計。
許多廠商的產品可以在流動裝置或是無線資料傳輸的場合使用PROFIBUS,不過這些產品還沒有對應的技術標準。
應用行規
應用行規(profile)是PROFIBUS為了特殊的應用或裝置,所事先定義的組態,其中包括特殊的功能及特徵。[6]應用行規是由PROFIBUS國際組織(PROFIBUS international,PI)的各工作小組所訂定,由PROFIBUS國際組織所發佈。應用行規讓用戶可以確定不同廠商提供的類似裝置可以有一致的機能,對產品的開放性、互操作性及互換性都很重要。用戶的選擇空間變大,也驅使裝置廠商提升產品效能及減低成本。
目前已有許多PROFIBUS的應用行規,例如針對編碼器、量測裝置、智能泵、機械人及數控機床等應用行規。也有針對特殊應用的應用行規,如針對HART、無線PROFIBUS及在程式自動化裝置中使用PROFIBUS PA的應用行規。其他的應用行規包括運動控制的PROFIdrive及功能安全(Functional Safety)的PROFIsafe。
標準
PROFIBUS在1991/1993年成為德國工業標準DIN 19245,在1996年成為歐洲標準EN 50170 V.2,在1996年成為現場總線國際標準IEC 61158/IEC 61784的組成部份(TYPE 3)。在2006年PROFIBUS也成為中華人民共和國的機械工業GB/T20540-2006。 [2]
組織
PROFIBUS用戶組織(PROFIBUS Nutzerorganisation e.V,簡稱PNO)在1989年成立。這個組織主要是由歐洲的PROFIBUS製造商及用戶所組成。在1992年成立了第一個地區性用戶組織(PROFIBUS Schweiz in Switzerland),後來也各地區的地區性用戶組織(RPAs)也相繼成立。
在1995年所有的地區性用戶組織整合成一個國際性的傘狀組織PROFIBUS & PROFINET國際協會(PROFIBUS & PROFINET International, PI)。至2010年為止,PROFIBUS在全世界有25個地區性用戶組織(包括PNO),超過1400個成員[7],包括許多重要的自動化裝置服務的廠商及許多終端客戶。
參考資料
- ^ 1.0 1.1 PROFIBUS 20年回顾:从科研项目到世界市场的主导者. 控制工程網. 2009-08-03 [2010-12-14]. (原始內容存檔於2015-09-14).
- ^ 2.0 2.1 2.2 2.3 李正軍. 《現場總線及其應用技術》. 機械工業出版社. 2005: p301–326. ISBN 7-111-15510-6.
- ^ PROFIBUS标准. 中國工控網. [2010-12-14]. (原始內容存檔於2012-04-14).
- ^ 陳景文. PROFIBUS总线通信协议在造纸中的应用. 自動化在線. 2007-03-24 [2010-12-14]. (原始內容存檔於2011-11-01).
- ^ PROFIBUS工業網路介紹. EE Times電子工程專輯. UBM Asia 香港商亞洲博聞有限公司台灣分公司. 2007-12-29 [2016-03-14]. (原始內容存檔於2009-07-17).
- ^ Manfred Popp. 《The New Rapid Way to PROFIBUS-DP》. PROFIBUS Nutzerorganisation e.V. 2003: p139.
- ^ A COMMUNITY OF 1400. PROFIBUS & PROFINET international. [2010-12-13]. (原始內容存檔於2010-12-13).