網(wǎng)關(guān)、連接設(shè)備、交換機(jī)、設(shè)備服務(wù)器、媒體轉(zhuǎn)換器 … 這些概念是不是非常容易混淆 ? 的確,不僅您有這樣的疑問,在兩種不同網(wǎng)絡(luò)之間進(jìn)行通訊是一種挑戰(zhàn)。
OSI模型
首先,讓我們從針對(duì)所有數(shù)據(jù)通訊的基本模型- OSI 模型開始。
通訊的基本原理是使用 OSI 模型的不同層作為子集。第一層表示最底層,也就是物理通訊線路的電氣信號(hào)。第 7 層是用戶層,在這一層兩種設(shè)備才能交換和理解相互之間的數(shù)據(jù)。一個(gè)簡(jiǎn)單的例子是我們不僅需要聽到其他人講話,還要理解對(duì)方的語言,這就相當(dāng)于理解 “ 數(shù)據(jù) ” 的含義。使用相同的第 7 層協(xié)議的設(shè)備,就像說一種語言一樣能夠自由地交換和理解數(shù)據(jù)。
基本的 RS-232 接口僅僅定義了第一層,能夠確保兩個(gè) RS-232 設(shè)備之間進(jìn)行電氣連接而不會(huì)造成電氣沖突。但是要在兩個(gè)設(shè)備之間進(jìn)行通訊和數(shù)據(jù)解釋,則需要兩個(gè)設(shè)備都使用相同的協(xié)議,來定義通訊規(guī)則和數(shù)據(jù)格式。
目前在汽車行業(yè)比較流行的 CAN 協(xié)議,也僅僅是第 2 層協(xié)議。在汽車中,制造商使用 CAN 作為通訊鏈路,但可以將自己的第 7 層協(xié)議添加到 CAN 使得汽車中的所有通訊節(jié)點(diǎn)能夠相互理解。而任何該車以外的 CAN 節(jié)點(diǎn),如果不是使用相同的協(xié)議,是根本不能參與車內(nèi)的通訊的。
在工業(yè)現(xiàn)場(chǎng)不同制造商的 CAN 設(shè)備需要進(jìn)行互聯(lián)因此基于 CAN 定義了開放式的第 7 層協(xié)議,例如 DeviceNet 和 CANopen 。因?yàn)槭褂昧讼嗤牡?7 層協(xié)議,兩個(gè)來自不同制造商的 DeviceNet 節(jié)點(diǎn)是可以相互通訊和交換數(shù)據(jù)的。
以太網(wǎng)和 TCP/IP 協(xié)議覆蓋了 OSI 模型的 1-4 層,因此提供了比 CAN 技術(shù)更多的功能和更強(qiáng)的性能。兩個(gè)以太網(wǎng)節(jié)點(diǎn)可以進(jìn)行通訊互聯(lián),但是 TCP/IP 僅僅提供了數(shù)據(jù)傳輸機(jī)制和服務(wù)任務(wù),例如建立連接、處理錯(cuò)誤重發(fā)等。雖然兩個(gè)使用以太網(wǎng) TCP/IP 的節(jié)點(diǎn)能夠相互對(duì)話,但不能理解對(duì)方的話語,因?yàn)樗鼈儧]有說同一種 “ 語言 ” -即第 7 層協(xié)議不是由 TCP/IP 定義的。在 TCP/IP 之上還必須有應(yīng)用層例如 SNMP, HTTP, FTP 等用于交換和處理網(wǎng)絡(luò)上的各種數(shù)據(jù)。所有的 IT 協(xié)議都是在第 7 層進(jìn)行標(biāo)準(zhǔn)化的。在工業(yè)領(lǐng)域還有附加的第 7 層協(xié)議來處理實(shí)時(shí)數(shù)據(jù)交換和設(shè)備行規(guī)等。兩個(gè)典型的實(shí)例就是 EtherNet/IP (IP = Industrial Protocol) 和 Modbus-IDA (Interface for Distributed Automation) ,它們都是用于 TCP/IP 之上的協(xié)議。
好的,有了這些信息作為背景知識(shí),讓我們來看一下如何將一種網(wǎng)絡(luò)轉(zhuǎn)換至另一種。
媒體轉(zhuǎn)換器和重復(fù)器
媒體轉(zhuǎn)換器通常工作在 OSI 模型的第 1 層和第 2 層。它們做的是將電氣信號(hào)從一個(gè)物理媒體轉(zhuǎn)移到另一個(gè)物理媒體。例如 RS-232 <-> RS-422 轉(zhuǎn)換器就是在這兩種不同電氣信號(hào)之間進(jìn)行轉(zhuǎn)發(fā)。另一個(gè)例子是以太網(wǎng) 100Mbit CAT5 Cable <->100Mbit 光纖轉(zhuǎn)換器。
媒體轉(zhuǎn)換器在工業(yè)場(chǎng)合種十分有用,可從一種物理媒體轉(zhuǎn)發(fā)至另一種,但僅僅是信號(hào)的轉(zhuǎn)發(fā),而不進(jìn)行任何應(yīng)用層的附加功能。
當(dāng)信號(hào)通過很長(zhǎng)的電纜進(jìn)行傳輸?shù)臅r(shí)候,就會(huì)減弱和畸變,我們稱之為衰減。如果電纜長(zhǎng)到一定程度,衰減最終會(huì)導(dǎo)致信號(hào)無法識(shí)別。重復(fù)器就是用來使信號(hào)傳得更遠(yuǎn)。它工作在 OSI 物理層來重新生成通訊信號(hào)并將其重發(fā)到其它網(wǎng)段。
重復(fù)器主要用于延長(zhǎng)網(wǎng)絡(luò)上節(jié)點(diǎn)之間的通訊距離。 重復(fù)器將減弱的信號(hào)從一個(gè)段獲取并進(jìn)行重新生成,然后轉(zhuǎn)送到下一個(gè)段。重復(fù)器既不翻譯也不過濾任何信息。只有兩個(gè)段使用相同的訪問方法的時(shí)候才能使用重復(fù)器。
例如,重復(fù)器是不能連接一個(gè)使用 CSMA/CD ( 以太網(wǎng) ) 的網(wǎng)段和一個(gè)使用令牌的網(wǎng)段。
工業(yè)以太網(wǎng)交換機(jī)
交換機(jī)可看作為智能重復(fù)器。它們將物理層信號(hào)放大,但同時(shí)還提供對(duì)所接收包的智能分析。具有存儲(chǔ)和轉(zhuǎn)發(fā)技術(shù)的以太網(wǎng)交換機(jī)可查看收到的整個(gè)數(shù)據(jù)幀及其端口。先通過 CRC 校驗(yàn)檢查通訊位是否被破壞,如果校驗(yàn)錯(cuò)誤則將這幀數(shù)據(jù)丟棄。如果 CRC 校驗(yàn)成功,交換機(jī)將查看目的地址并將數(shù)據(jù)幀轉(zhuǎn)發(fā)至目的幀所在的端口。
設(shè)備服務(wù)器/網(wǎng)橋
設(shè)備服務(wù)器也稱作網(wǎng)橋,網(wǎng)橋工作在 OSI 模型的 1-4 層。它進(jìn)行連接建立、重發(fā)和錯(cuò)誤處理等。數(shù)據(jù)可以方便地通過網(wǎng)橋進(jìn)行交換,但是是以匿名數(shù)據(jù)塊進(jìn)行發(fā)送的。第 4 層本身沒有數(shù)據(jù)處理機(jī)制。
對(duì)于以太網(wǎng),設(shè)備服務(wù)器非常多地用于將串行網(wǎng)絡(luò),例如 RS-232 橋接到以太網(wǎng)。設(shè)備服務(wù)器具有完整的 TCP/IP 協(xié)議棧,在它的串口側(cè),串口數(shù)據(jù)封裝在 TCP/IP 幀中,然后通過以太網(wǎng)傳送。這聽上去有些像媒體轉(zhuǎn)換器,但設(shè)備服務(wù)器進(jìn)行了更復(fù)雜的時(shí)序和協(xié)議處理。
如果串口服務(wù)器于基于 PC 的系統(tǒng)通訊, PC 通常運(yùn)行應(yīng)用軟件來從 TCP/IP 幀中提取數(shù)據(jù)。 PC 上的軟件將創(chuàng)建一個(gè)虛擬的串口用于與設(shè)備通訊。這種方式不需要向原有的應(yīng)用添加任何新功能,就可將數(shù)據(jù)在 PC 和設(shè)備之間進(jìn)行透明傳輸,既便需要對(duì)軟件和硬件進(jìn)行改動(dòng),也非常少。大多數(shù)情況下,最終用戶看不到直接的串行連接,它已被以太網(wǎng)上的虛擬端口所取代。使用這種方式,設(shè)備服務(wù)器可以實(shí)現(xiàn)將位于很遠(yuǎn)的 PC 通過以太網(wǎng)與串行設(shè)備交換數(shù)據(jù)。
如果使用工業(yè)中常用的 PLC, 則需要兩個(gè)設(shè)備服務(wù)器。一個(gè)在設(shè)備側(cè)將串行設(shè)備封裝至 TCP/IP 幀,另一個(gè)在 PLC 側(cè)將數(shù)據(jù)從 TCP/IP 幀中還原。
設(shè)備服務(wù)器在基于消息的網(wǎng)絡(luò)中能夠很好地工作,在這種情況下非循環(huán)的數(shù)據(jù)包能夠被傳送到其它類型的網(wǎng)絡(luò)上,保持其原有的結(jié)構(gòu)和格式。
然而,大多數(shù)工業(yè)應(yīng)用還需要處理 I/O 數(shù)據(jù)傳輸,也就是用于快速更新的循環(huán)數(shù)據(jù)來實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)通訊。所有這些協(xié)議都需要第 7 層協(xié)議來橋接不同的網(wǎng)絡(luò)。
設(shè)備服務(wù)器的另一個(gè)限制是缺少基于 Web 的數(shù)據(jù)處理。很多設(shè)備服務(wù)器具有內(nèi)置 web 服務(wù)器用于其自身的配置,但事實(shí)上第 4 層協(xié)議是不能處理數(shù)據(jù)值的。因此也不可能在內(nèi)置 web 服務(wù)器上通過 SSI 腳本或 Java applets 顯示應(yīng)用數(shù)據(jù)。
還有一種網(wǎng)橋能夠?qū)⒋薪涌跀?shù)據(jù)轉(zhuǎn)換至某些現(xiàn)場(chǎng)總線,例如Profibus。這聽上去與我們下面要討論的網(wǎng)關(guān)極為相似。但它的工作原理還是網(wǎng)橋,因?yàn)樗荒軌驅(qū)?shù)據(jù)進(jìn)行應(yīng)用層的解析,而只是將串行報(bào)文整體作為Profibus的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。這類網(wǎng)橋產(chǎn)品的缺點(diǎn)是其自身不能處理串行報(bào)文的幀格式和收發(fā)機(jī)制(如:掃描周期、超時(shí)時(shí)間、重發(fā)次數(shù)等),而這些任務(wù)都需要現(xiàn)場(chǎng)總線的主站(如PLC)來完成。從而增加了總線的負(fù)擔(dān),降低了實(shí)時(shí)性和可靠性。
網(wǎng)關(guān)(第7層網(wǎng)關(guān))
網(wǎng)關(guān)可實(shí)現(xiàn)不同結(jié)構(gòu)和協(xié)議的通訊之間的互聯(lián)。它們可以實(shí)現(xiàn)在不同網(wǎng)絡(luò)之間進(jìn)行重新打包和格式轉(zhuǎn)換,因此一種網(wǎng)絡(luò)能夠理解其它網(wǎng)絡(luò)的應(yīng)用數(shù)據(jù)。
網(wǎng)關(guān)將信息重新打包以符合目的系統(tǒng)的需要。網(wǎng)關(guān)能夠修改報(bào)文的格式因此可以符合接收端的應(yīng)用程序。網(wǎng)絡(luò)通常用來連接兩個(gè)不可能使用相同通訊協(xié)議和數(shù)據(jù)格式的系統(tǒng)。
網(wǎng)關(guān)集成了 OSI 模型 1 至 7 層的全部?jī)?nèi)容。這就實(shí)現(xiàn)了真正意義上兩個(gè)網(wǎng)絡(luò)之間的數(shù)據(jù)翻譯和處理,并達(dá)到了真正聯(lián)接兩個(gè)網(wǎng)絡(luò)的目的。通過網(wǎng)關(guān)橋接以太網(wǎng)和其它協(xié)議,例如 DeviceNet, Profibus 或簡(jiǎn)單的串行協(xié)議,可以實(shí)現(xiàn)在內(nèi)置 web 服務(wù)器中使用網(wǎng)絡(luò)數(shù)據(jù),真正實(shí)現(xiàn)基于 web 的監(jiān)測(cè)和控制。
關(guān)于將串口數(shù)據(jù)轉(zhuǎn)換至以太網(wǎng)或其它網(wǎng)絡(luò),有必要進(jìn)行進(jìn)一步的解釋。事實(shí)上串口協(xié)議是不具備完整 7 層協(xié)議的,這使得數(shù)據(jù)連接有些困難。例如條碼閱讀器這種設(shè)備僅僅傳送內(nèi)置于特定設(shè)備的 ASCII 數(shù)據(jù)。
串行網(wǎng)關(guān)
將RS-232/422/485設(shè)備接入現(xiàn)場(chǎng)總線或工業(yè)以太網(wǎng),可以由“串行網(wǎng)關(guān)”來實(shí)現(xiàn)。Anybus Communicator 串行網(wǎng)關(guān)利用數(shù)據(jù)緩存區(qū)的方式來解決轉(zhuǎn)換問題。從串行設(shè)備來的數(shù)據(jù)被映射到網(wǎng)關(guān)的本地存儲(chǔ)區(qū)中,通過一個(gè)配置工具軟件,網(wǎng)關(guān)可以定義在串行數(shù)據(jù)流中哪些字節(jié)是純數(shù)據(jù)而哪些是命令控制信息。被選中的純數(shù)據(jù)被映射到另一側(cè)網(wǎng)絡(luò)的第 7 層,因此可以被網(wǎng)絡(luò)上其它節(jié)點(diǎn)所接收和理解。
這種解決方案的一個(gè)很大好處就是網(wǎng)關(guān)相當(dāng)于一個(gè)網(wǎng)絡(luò)設(shè)備,由于其內(nèi)置了一個(gè)嵌入式網(wǎng)卡。這樣網(wǎng)關(guān)將所選擇的數(shù)據(jù)字節(jié)轉(zhuǎn)換為 PLC 和現(xiàn)場(chǎng)總線系統(tǒng)所能理解的格式。這樣串行設(shè)備就被看成為現(xiàn)場(chǎng)總線網(wǎng)絡(luò)上的其它設(shè)備(如I/O模塊)一樣。
Anybus Communicator 網(wǎng)關(guān)更高級(jí)的功能是它還可以通過 Modbus RTU 等協(xié)議主動(dòng)地與設(shè)備進(jìn)行控制和通訊,并將特定的數(shù)據(jù)連接到 Profibus 或以太網(wǎng)等工業(yè)網(wǎng)絡(luò)上。它也可以被用于 web 網(wǎng)關(guān)位串口設(shè)備提供基于 web 的管理、監(jiān)測(cè)和控制功能。
網(wǎng)絡(luò)-網(wǎng)絡(luò)網(wǎng)關(guān)
隨著對(duì)工廠級(jí)網(wǎng)絡(luò)靈活性和多樣性需求的不斷增加,網(wǎng)絡(luò)之間的互聯(lián)顯得越來越重要。工業(yè)網(wǎng)關(guān)為聯(lián)接不同現(xiàn)場(chǎng)總線網(wǎng)絡(luò)提供了一種解決方案,無論是同在一個(gè)工廠或是與工廠以外。 Anybus X-gateway 系列是聯(lián)接任意兩種現(xiàn)場(chǎng)總線網(wǎng)絡(luò)的網(wǎng)關(guān)產(chǎn)品。請(qǐng)瀏覽相關(guān)頁面了解如何使用 Anybus X-gateway ,簡(jiǎn)單地實(shí)現(xiàn) I/O 數(shù)據(jù)交換,將新舊網(wǎng)絡(luò)進(jìn)行聯(lián)接并相互通訊。
總結(jié)
在兩個(gè)網(wǎng)絡(luò)之間進(jìn)行通訊并非簡(jiǎn)單的問題,分析具體的應(yīng)用需要是十分重要的。
當(dāng)需要解決兩種網(wǎng)絡(luò)之間不同媒體之間轉(zhuǎn)換的情況時(shí),媒體轉(zhuǎn)換器是很好的選擇。其設(shè)置也通常非常簡(jiǎn)單。
當(dāng)遇到基于以太網(wǎng)的網(wǎng)絡(luò)和基于 PC 的監(jiān)測(cè)時(shí),設(shè)備服務(wù)器是很有吸引力的方案。
網(wǎng)關(guān)能夠解決所有兩個(gè)網(wǎng)絡(luò)之間的數(shù)據(jù)聯(lián)接問題。網(wǎng)關(guān)需要在安裝的時(shí)候進(jìn)行設(shè)置和定義所需連接的兩種網(wǎng)絡(luò)數(shù)據(jù)。

(轉(zhuǎn)載)