這只是為了容易理解和區(qū)分各類協(xié)議,實(shí)際上,隨著各種協(xié)議的發(fā)展,很多自身都跨越了很多層次,能夠?qū)崿F(xiàn)多層協(xié)議的功能,我們做的劃分只是它最重要的功能所處的協(xié)議層。
前言
在目前軟件事業(yè)部有很大一部分是傳統(tǒng)IT從業(yè)人員,對(duì)于工業(yè)控制協(xié)議比較陌生,因此再做工業(yè)大數(shù)據(jù)采集時(shí),對(duì)于各類工業(yè)協(xié)議有時(shí)容易搞不清楚,我簡(jiǎn)單把在做工業(yè)大數(shù)據(jù)采集時(shí)常見的幾種工業(yè)協(xié)議整理了一下,以便搞清這些工業(yè)協(xié)議的概念和區(qū)別。
OSI(Open System Interconnect)參考模型
常見的工業(yè)協(xié)議按照OSI(Open System Interconnect)參考模型分到了不同層次
這只是為了容易理解和區(qū)分各類協(xié)議,實(shí)際上,隨著各種協(xié)議的發(fā)展,很多自身都跨越了很多層次,能夠?qū)崿F(xiàn)多層協(xié)議的功能,我們做的劃分只是它最重要的功能所處的協(xié)議層。
物理層
RS232
在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通訊。
RS-232-C接口是目前最常用的 一種串行通訊接口。
RS-232-C是美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronic IndustryAssociation)制定的一種串行物理接口標(biāo)準(zhǔn)。
RS是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),C表示修改次數(shù)(“RS-232-C”中的“-C”只不過表示RS-232的版本,所以與“RS-232”簡(jiǎn)稱是一樣的)
。
RS-232-C總線標(biāo)準(zhǔn)設(shè)有25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道。
工業(yè)控制的RS-232口一般只使用RXD、TXD、GND三條線。通常 RS-232 接口以9個(gè)引腳 (DB-9) 或是25個(gè)引腳 (DB-25) 的型態(tài)出現(xiàn),一般個(gè)人計(jì)算機(jī)上會(huì)有兩組 RS-232 接口,分別稱為 COM1 和 COM2。
RS485
隨著企業(yè)信息化法發(fā)著的需要,企業(yè)在儀表選型時(shí)其中的一個(gè)必要條件就是要具有聯(lián)網(wǎng)通信接口。
最初是數(shù)據(jù)模擬信號(hào)輸出簡(jiǎn)單過程量,后來儀表接口是RS232接口,這種接口可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,但這種方式不能實(shí)現(xiàn)聯(lián)網(wǎng)功能。隨后出現(xiàn)的RS485解決了這個(gè)問題。
485通訊接口一個(gè)對(duì)通訊接口的硬件描述,它只需要兩根通訊線,即可以在兩個(gè)或兩個(gè)以上的設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。
這種數(shù)據(jù)傳輸?shù)倪B接,是半雙工的通訊方式。
在某一個(gè)時(shí)刻,一個(gè)設(shè)備只能進(jìn)行發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。而RS232是全雙工,最少3條通信線(RX,TX,GND),因?yàn)槭褂媒^對(duì)電壓表示邏輯,由于干擾,導(dǎo)線電阻等原因,通訊距離不遠(yuǎn),低速時(shí)幾十米也是可以的。
在RS232或RS485設(shè)備聯(lián)成的設(shè)備網(wǎng)中,如果設(shè)備數(shù)量超過2臺(tái),就必須使用RS485做通訊介質(zhì),RS485網(wǎng)的設(shè)備間要想相互通信息只有通過“主(Master)”設(shè)備中轉(zhuǎn)才能實(shí)現(xiàn),這個(gè)主設(shè)備通常是PC,而這種設(shè)備網(wǎng)中只允許存在一個(gè)主設(shè)備,其余全部是”從(Slave)”設(shè)備。
而現(xiàn)場(chǎng)總線技術(shù)是以ISO/OSI模型為基礎(chǔ)的,具有完整的軟件支持系統(tǒng),能夠解決總線控制、沖突檢測(cè)、鏈路維護(hù)等問題 。
數(shù)據(jù)鏈路層
CAN
控制器局域網(wǎng)CAN( Controller Area Network)屬于現(xiàn)場(chǎng)總線的范疇,是一種有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò)。
是由德國(guó)博世公司在20世紀(jì)80年代專門 為汽車行業(yè)開發(fā)的一種串行通信總線。
由于其高性能、高可靠性以及獨(dú)特的設(shè)計(jì)而越來越受到人們的重視,被廣泛應(yīng)用于諸多領(lǐng)域。
CAN協(xié)議分為二層:物理層和數(shù)據(jù)鏈路層。
CAN的信號(hào)傳輸采用短幀結(jié)構(gòu),傳輸時(shí)間短,具有自動(dòng)關(guān)閉功能,具有較強(qiáng)的抗干擾能力。
CAN支持多主工作方式,并采用了非破壞性總線仲裁技術(shù),通過設(shè)置優(yōu)先級(jí)來避免沖突,通訊距離最遠(yuǎn)可達(dá)10KM/5Kbps/s,通訊速率最高可達(dá)40M /1Mbp/s,網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)實(shí)際可達(dá)110個(gè)。
由于CAN總線本身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而向自動(dòng)控制、航空航天、航海、過程工業(yè)、機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器等領(lǐng)域發(fā)展;
ProfiBus
ProfiBus是德國(guó)標(biāo)準(zhǔn)(DIN19245)和歐洲標(biāo)準(zhǔn)(EN50170)的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)。
由PROFIBUS–DP、PROFIBUS-FMS、PROFIBUS-PA系列組成。
- DP用于分散外設(shè)間高速數(shù)據(jù)傳輸,適用于加工自動(dòng)化領(lǐng)域。
- FMS適用于紡織、樓宇自動(dòng)化、可編程控制器、低壓開關(guān)等。
- PA用于過程自動(dòng)化的總線類型,服從IEC1158-2標(biāo)準(zhǔn)。
PROFIBUS是一種用于工廠自動(dòng)化車間級(jí)監(jiān)控和現(xiàn)場(chǎng)設(shè)備層數(shù)據(jù)通信與控制的現(xiàn)場(chǎng)總線技術(shù)。
可實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備層到車間級(jí)監(jiān)控的分散式數(shù)字控制和現(xiàn)場(chǎng)通信網(wǎng)絡(luò),從而為實(shí)現(xiàn)工廠綜合自動(dòng)化和現(xiàn)場(chǎng)設(shè)備智能化提供了可行的解決方案。
該標(biāo)準(zhǔn)廣泛適用于制造業(yè)自動(dòng)化、流程工業(yè)自動(dòng)化和樓宇、交通電力等其他領(lǐng)域自動(dòng)化。
應(yīng)用層
ModBus
Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個(gè)品牌)在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。
ModBus網(wǎng)絡(luò)是一個(gè)工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計(jì)算機(jī)通過公用線路或局部專用線路連接而成。
其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。
它可應(yīng)用于各種數(shù)據(jù)采集和過程監(jiān)控。
ModBus網(wǎng)絡(luò)只有一個(gè)主機(jī),所有通信都由他發(fā)出。網(wǎng)絡(luò)可支持247個(gè)之多的遠(yuǎn)程從屬控制器,但實(shí)際所支持的從機(jī)數(shù)要由所用通信設(shè)備決定。采用這個(gè)系統(tǒng),各PC可以和中心主機(jī)交換信息而不影響各PC執(zhí)行本身的控制任務(wù)。
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。==通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信==。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。
有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請(qǐng)求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
==Modbus是通訊協(xié)議,而RS232、RS485只能代表通訊的物理介質(zhì)層和鏈路層。==
Modbus協(xié)議支持傳統(tǒng)的RS-232、RS-422、RS-485和以太網(wǎng)設(shè)備。
許多工業(yè)設(shè)備,包括PLC,DCS,智能儀表等都在使用Modbus協(xié)議作為他們之間的通訊標(biāo)準(zhǔn)。
軟件接口
OPC
OPC全稱是Object Linking and Embedding(OLE) for Process Control,它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場(chǎng)過程控制應(yīng)用建立了橋梁。
在過去,為了存取現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息,每一個(gè)應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場(chǎng)設(shè)備的種類繁多,且產(chǎn)品的不斷升級(jí),往往給用戶和軟件開發(fā)商帶來了巨大的工作負(fù)擔(dān)。
通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。
在這種情況下,OPC標(biāo)準(zhǔn)應(yīng)運(yùn)而生。OPC標(biāo)準(zhǔn)以微軟公司的OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE 2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。
總結(jié)
大致上可以這樣理解,
- RS232、RS485是硬件接口技術(shù),
- CAN、ProBus等是現(xiàn)場(chǎng)總線技術(shù),
- ModBus是工業(yè)控制協(xié)議,
- OPC是網(wǎng)絡(luò)數(shù)據(jù)接口