PROFIBUS
自動化技術的現場匯流排標準
PROFIBUS是一個用在自動化技術的現場匯流排標準,在1987年由德國西門子公司等十四家公司及五個研究機構所推動,PROFIBUS是程序匯流排網路(PROcess FIeld BUS)的簡稱。PROFIBUS和用在工業乙太網的PROFINET是二種不同的通信協議。
PROFIBUS的歷史可追溯到1987年聯邦德國開始的一個合作計劃,此計劃有十四家公司及五個研究機構參與,目標是要推動一種串列現場匯流排,可滿足現場設備介面的基本需求。為了這個目的,參與的成員同意支持有關工廠生產及程序自動化的共通技術研究。
PROFIBUS中最早提出的是PROFIBUS FMS(FMS代表Field bus Message Specification),是一個複雜的通信協議,為要求嚴苛的通信任務所設計,適用在車間級通用性通信任務。後來在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)應用在過程自動化系統中,由過程式控制制系統監控量測設備控制,是本質安全的通信協議,可適用於防爆區域(工業防爆危險區分類中的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)可以識別是哪一種消息:
無數據: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:起始字元
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”)的電氣傳輸方式,會使用阻抗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為了特殊的應用或設備,所事先定義的配置,其中包括特殊的功能及特徵。應用行規是由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。
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個成員,包括許多重要的自動化設備服務的廠商及許多終端客戶。