工業控制中的通信協議就是在工業場景中,各個設備之間進行數據交互的時候能夠相互理解的交流語言,就像兩個不同國家的人需要先對應好大家一起用英語交流還是用中文交流。下面就簡單介紹一下在工業控制中到底存在多少種“語言”,以及各種語言的特點。
在眾多公開或私有協議中可分為如下幾類:
標準協議:國際標準或公認的標準協議,如Modbus、DNP3、IEC104等,就像國際通用的交流語言。
私有公開:只有廠商自己設備支持并提供官方協議文檔,如Omron FINS協議、三菱Melsec協議等,就像中國南方或北大的地方話,只有當地的一個地區的人能相互理解。
私有不公開:只有廠商自己設備支持且官方不提供協議文檔,如S7、西門子PPI協議、GE SRTP等。
下面我們找一些工業控制系統中比較常用的協議,詳述一下各協議的特點。
1.Modbus 協議
Modbus協議最初由Modicon公司開發出來,在1979年末該公司成為施耐德自動化部門的一部分,現在Modbus已經是工業領域全球最流行的協議。此協議支持傳統的RS-232、RS-422、RS-485和以太網設備。
由于modbus協議是完全公開透明的,所需的軟硬件又非常簡單,這就使它成為了一種通用的工業標準。許多工業設備,包括PLC,DCS,智能儀表等都在使用Modbus協議作為他們之間的通訊標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。
Modbus 協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。
modbus通訊協議是一種主從式異步半雙工通信協議,采用主從式通訊結構,可以使一個主站對應多個從站進行雙向通信。它描述了一控制器請求訪問其它設備的過程,如何回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。
Modbus協議包括ASCII、RTU等通訊方式,并沒有規定物理層。此協議定義了控制器能夠認識和使用的消息結構,而不管它們是經過何種網絡進行通信的。標準的Modicon控制器使用RS232C實現串行的Modbus。Modbus的ASCII、RTU協議規定了消息、數據的結構、命令和就答的方式,數據通訊采用主-從方式,主站發出數據請求消息,從站接收到正確消息后就可以發送數據到主站以響應請求;主站也可以直接發消息修改從站的數據,實現雙向讀寫。
當在一Modbus網絡上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息并用Modbus協議發出。在其它網絡上,包含了Modbus協議的消息轉換為在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節地址、路由路徑及錯誤檢測的方法。
當在網絡上通信時,Modbus協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成應答并使用Modbus協議發送給詢問方。
Modbus協議需要對數據進行校驗,串行協議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗。另外,Modbus采用主從方式定時收發數據,在實際使用中如果某從站點斷開后(如故障或關機),主端可以診斷出來,而當故障修復后,網絡又可自動接通。因此,Modbus協議的可靠性較好。
Modbus 協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。標準、開放,用戶可以免費、放心地使用Modbus協議,不需要交納許可證費,也不會侵犯知識產權。目前,支持Modbus的廠家超過400家,支持Modbus的產品超過600種。Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發簡單。
2、PROFIBUS
一種用于工廠自動化車間級監控和現場設備層數據通信與控制的現場總線技術,可實現現場設備層到車間級監控的分散式數字控制和現場通信網絡,PROFIBUS,是一種國際化.開放式.不依賴于設備生產商的現場總線標準。PROFIBUS傳送速度可在 9.6kbaud~12Mbaud范圍內選擇且當總線系統啟動時,所有連接到總線上的裝置應該被設成相同的速度。廣泛適用于制造業自動化、流程工業自動化和樓宇、交通電力等其他領域自動化。PROFIBUS是一種用于工廠自動化車間級監控和現場設備層數據通信與控制的現場總線技術。可實現現場設備層到車間級監控的分散式數字控制和現場通信網絡,從而為實現工廠綜合自動化和現場設備智能化提供了可行的解決方案。
PROFIBUS協議結構是根據ISO7498國際標準,以開放式系統互聯網絡(Open System Interconnection-OSI)作為參考模型的。該模型共有七層。 (1)PROFIBUS-DP:定義了第一.二層和用戶接口。第三到七層未加描述。用戶接口規定了用戶及系統以及不同設備可調用的應用功能,并詳細說明了各種不同PROFIBUS-DP設備的設備行為。 (2)PROFIBUS-FMS:定義了第一.二.七層,應用層包括現場總線信息規范(Fieldbus Message Specification - FMS)和低層接口(Lower Layer Interface - LLI)。FMS包括了應用協議并向用戶提供了可廣泛選用的強有力的通信服務。LLI協調不同的通信關系并提供不依賴設備的第二層訪問接口。 (3) PROFIBUS-PA:PA的數據傳輸采用擴展的PROFIBUS-DP協議。另外,PA還描述了現場設備行為的PA行規。根據IEC1158-2標準,PA的傳輸技術可確保其本征安全性,而且可通過總線給現場設備供電。使用連接器可在DP上擴展PA網絡。 注:第一層為物理層,第二層為數據鏈路層,第三-六層末使用,第七層為應用層。
3、OPC協議
為了便于自動化行業不同廠家的設備和應用程序能相互交換數據,定義了一個統一的接口函數,就是OPC協議規范。OPC服務器的功能就是與下位機進行數據的交換,其中包含了大量的通訊程序和數據存貯程序。有了OPC就可以使用統一的方式去訪問不同設備廠商的產品數據。其他的軟件商只需開發面對服務器的程序即可,不用對不同的硬件設備開發不同的硬件驅動程序。減小了工作量,也方便了使用。
OPC基金會前前后后規定了不同的接口定義,如下:
OPC DA (Data Access, exchange of real-time values)
OPC A&E (Alarms & Events, exchange of alarms and events)
OPC HDA (Historical Data Access, exchange of historical values)
OPC XML DA (XML-based exchange of real-time values)
以上所有的接口定義,我們現在都統稱為OPC。OPC是基于WINDOWS COM/DCOM接口技術來規定的。
OPC UA
為了應對標準化和跨平臺的趨勢,為了更好的推廣OPC,OPC基金會近些年在之前OPC成功應用的基礎上推出了一個新的OPC標準-OPC UA。OPC UA接口協議包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一個地址空間就能訪問之前所有的對象,而且不受WINDOWS平臺限制,因為它是從傳輸層Scoket以上來定義的,導致了靈活性和安全性比之前的OPC都提升了。
OPC UA的優勢:
1.一個通用接口集成了之前所有OPC的特性和信息,A&E, DA,OPC XML DA or HDA
2.更加開放,平臺無關性,WINDOWS,LINUX都能兼容
3.擴展了對象類型,支持更復雜的數據類型比如變量,方法和事件
4.在協議和應用層集成了安全功能,更加安全
5.易于配置和使用
核心的區別是因為OPC和OPC UA協議使用的TCP層不一樣,如下:
OPC是基于DOM/COM上,應用層最頂層;OPC UA是基于TCP IP scoket 傳輸層.
其他一些區別:
OPC雖然通過配置COM/DOM來提供數據加密和簽名功能,配置防火墻,用戶權限來讓數據訪問變得更加安全,但是會增加額外的工作量,尤其是對非IT的工程師來說;對于OPC UA,數據加密和簽名,防火墻等都是默認的功能。比如基于DOM的OPC使用的動態端口分配,端口不固定,讓防火墻難以確定,而OPC UA的端口都是唯一的,比如840D是PORT 4840,SIMATIC S7是PORT 4845。DOM/COM也可以生成不同級別的事件日志,但日志內容不夠詳細,只會提供“誰連接上服務器”這種,而對于OPC UA來說都是默認的功能,生成的日志內容更全面。