“速記”海量工業(yè)協(xié)議的好辦法,建議收藏!
相信一提到工業(yè)物聯(lián)網(wǎng)(IIoT)通信協(xié)議,大家都能隨意的信手拈來幾個,比如RS-232、RS-485.又比如DeviceNet、Modbus RTU、Modbus TCP、Ethernet/IP、PROFINET,再或者TCP、UDP、OPC UA、MQTT,但是它們之間有什么區(qū)別和聯(lián)系呢?剪不斷理還亂!下面帶大家撥開迷霧見云天,此文建議大家收藏!
新手要快速掌握眾多協(xié)議的區(qū)別與聯(lián)系,首先得了解一個東西,它就是“OSI模型”。
OSI(開放式系統(tǒng)互聯(lián))模型是一種通信協(xié)議的標(biāo)準(zhǔn)化參考模型,由國際標(biāo)準(zhǔn)化組織(ISO)在1984年發(fā)布,旨在為計算機和通信設(shè)備提供通用的參考框架,以實現(xiàn)不同廠商之間的互通性和互操作性。該模型將計算機網(wǎng)絡(luò)通信分為七個層次,每個層次提供不同的功能和服務(wù),從下層到上層逐漸抽象和封裝數(shù)據(jù),并且每層之間通過接口定義了標(biāo)準(zhǔn)化的協(xié)議和服務(wù),使得不同廠商的設(shè)備可以相互通信。
OSI模型在工業(yè)物聯(lián)網(wǎng)中也有著重要的作用,因為在IIoT的應(yīng)用中,設(shè)備之間需要進(jìn)行數(shù)據(jù)交換和通信,而通信協(xié)議的選擇和實現(xiàn)都要遵循OSI參考模型的原則。例如,現(xiàn)場總線通信協(xié)議如Profibus、Foundation Fieldbus等都是基于OSI參考模型設(shè)計的,它們在不同的OSI層次上執(zhí)行不同的功能,并且具有一定的互操作性。
此外,在工業(yè)物聯(lián)網(wǎng)應(yīng)用中,也會涉及到以太網(wǎng)、TCP/IP、HTTP、MQTT等標(biāo)準(zhǔn)化協(xié)議,這些協(xié)議也是基于OSI參考模型設(shè)計的,它們的不同層次和功能也與OSI參考模型緊密相關(guān)。因此,OSI模型是工業(yè)物聯(lián)網(wǎng)中非常重要的標(biāo)準(zhǔn)化參考模型,它為工業(yè)物聯(lián)網(wǎng)設(shè)備的通信和交互提供了指導(dǎo)和支持。
七個層次分別是:
1.物理層(Physical Layer):負(fù)責(zé)傳輸原始比特流,定義了電器、物理設(shè)備和傳輸媒介的特性,如電壓、電流、編碼和物理接口等。
2.數(shù)據(jù)鏈路層(Data Link Layer):負(fù)責(zé)數(shù)據(jù)的幀同步、流控制和差錯校驗等,它的主要任務(wù)是將原始比特流轉(zhuǎn)換為具有邏輯意義的數(shù)據(jù)幀。
3.網(wǎng)絡(luò)層(Network Layer):負(fù)責(zé)在源主機和目標(biāo)主機之間選擇合適的路徑,并通過路由器進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和尋址,實現(xiàn)不同網(wǎng)絡(luò)之間的互聯(lián)互通。
4.傳輸層(Transport Layer):提供端到端的可靠數(shù)據(jù)傳輸,包括數(shù)據(jù)的分段、傳輸控制、差錯恢復(fù)和流量控制等。
5.會話層(Session Layer):負(fù)責(zé)建立、管理和維護(hù)應(yīng)用程序之間的會話和連接,包括會話的建立、維護(hù)和終止等。
6.表示層(Presentation Layer):負(fù)責(zé)數(shù)據(jù)的格式轉(zhuǎn)換、加密解密、壓縮解壓縮和數(shù)據(jù)描述等,使得不同系統(tǒng)之間可以正確解釋數(shù)據(jù)。
7.應(yīng)用層(Application Layer):為用戶提供各種網(wǎng)絡(luò)應(yīng)用服務(wù),如電子郵件、文件傳輸、遠(yuǎn)程登錄和網(wǎng)頁瀏覽等。
說了那么多,下面才是我們的重點!敲黑板了!在工業(yè)自動化領(lǐng)域中,通信協(xié)議通常也可以被劃分為多個層次,其中一些層次與 OSI 參考模型的層次相對應(yīng),如下所示:
1. 物理層(Physical Layer):負(fù)責(zé)傳輸數(shù)據(jù)信號,常用的工業(yè)物理層協(xié)議包括 RS-232、RS-485、Profibus PA、Foundation Fieldbus 等。
2. 數(shù)據(jù)鏈路層(Data Link Layer):負(fù)責(zé)將數(shù)據(jù)分幀、差錯檢測和糾正、流量控制等,常用的工業(yè)數(shù)據(jù)鏈路層協(xié)議包括 Profibus DP、DeviceNet、Modbus RTU 等。
3. 網(wǎng)絡(luò)層(Network Layer):負(fù)責(zé)將數(shù)據(jù)包從源地址傳輸?shù)侥繕?biāo)地址,通過路由器進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和尋址等,常用的工業(yè)網(wǎng)絡(luò)層協(xié)議包括 Modbus TCP、Ethernet/IP、PROFINET 等。
4. 傳輸層(Transport Layer):提供可靠的端到端的數(shù)據(jù)傳輸,常用的工業(yè)傳輸層協(xié)議包括 TCP、UDP、ISO Transport Service on top of TCP (ISO over TCP) 等。
5. 會話層(Session Layer):負(fù)責(zé)建立、管理和維護(hù)應(yīng)用程序之間的會話和連接,常用的工業(yè)會話層協(xié)議包括 OPC UA、MQTT 等。
6. 表示層(Presentation Layer):負(fù)責(zé)數(shù)據(jù)格式轉(zhuǎn)換、加密解密、壓縮解壓縮等,常用的工業(yè)表示層協(xié)議包括 OPC UA、DDS 等。
7. 應(yīng)用層(Application Layer):為用戶提供各種網(wǎng)絡(luò)應(yīng)用服務(wù),常用的工業(yè)應(yīng)用層協(xié)議包括 OPC UA、Modbus TCP、PROFINET IO、Ethernet/IP 等。
需要注意的是,工業(yè)協(xié)議的分類方式和層次劃分并非完全統(tǒng)一,不同廠商和組織也可能使用不同的劃分方式和層次。以上僅是一種常見的分類方式。