為什么工業(yè)現(xiàn)場(chǎng)要搞那么多不同的通訊協(xié)議?
這個(gè)問(wèn)題比較大,我就簡(jiǎn)單說(shuō)一說(shuō)工業(yè)領(lǐng)域里面有五花八門的通訊協(xié)議的主要原因和工業(yè)總線的發(fā)展歷史。
主要觀點(diǎn)來(lái)自于這本書(shū):書(shū)名:Industrial Communication Technology Handbook 版本:第二版 作者:Richard Zurawski。
IEC在1985年曾經(jīng)設(shè)想通過(guò)委員會(huì)來(lái)確定一種唯一的標(biāo)準(zhǔn)化的總線系統(tǒng),來(lái)統(tǒng)一工廠和流程自動(dòng)化的網(wǎng)絡(luò)江湖。
但是經(jīng)過(guò)14年的技術(shù)和政治斗爭(zhēng),最終失敗了。取而代之的是妥協(xié)的產(chǎn)物IEC 61158和IEC 61784-1。我們來(lái)看下IEC 61158標(biāo)準(zhǔn)的畫(huà)風(fēng):

經(jīng)過(guò)各個(gè)國(guó)家代表長(zhǎng)達(dá)十幾年的爭(zhēng)論,最終的總線標(biāo)準(zhǔn)不是一種,而是20種!
驚不驚喜,意不意外?
這就相當(dāng)于本來(lái)地球聯(lián)盟想要?jiǎng)?chuàng)建一個(gè)新的世界語(yǔ),讓所有人不要再?gòu)挠變簣@到大學(xué)辛辛苦苦學(xué)外語(yǔ),結(jié)果各國(guó)爭(zhēng)論了十幾年,最終制定的地球語(yǔ)言標(biāo)準(zhǔn)是列舉了二十種現(xiàn)在大家正在使用的最流行的語(yǔ)言。

下面正經(jīng)答題。
工業(yè)和智能樓宇等領(lǐng)域存在許多種現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),主要由于如下4個(gè)原因:
- 工業(yè)現(xiàn)場(chǎng)有各種網(wǎng)絡(luò)拓?fù)漕愋?/li>
 - 工業(yè)現(xiàn)場(chǎng)需要傳輸?shù)臄?shù)據(jù)的特點(diǎn)不同
 - 技術(shù)進(jìn)步和市場(chǎng)需求導(dǎo)致出現(xiàn)新的總線標(biāo)準(zhǔn)
 - 不同企業(yè)和國(guó)家要制定自己的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),通過(guò)標(biāo)準(zhǔn)獲利
 
其中原因1、2是最主要的因素,是內(nèi)因,原因3、4是次要因素,同時(shí)也是外因。
首先我們直觀感受下有哪些現(xiàn)場(chǎng)總線:

原因一、工業(yè)現(xiàn)場(chǎng)有各種網(wǎng)絡(luò)拓?fù)漕愋?/h4>
工業(yè)總線是數(shù)字化的通信標(biāo)準(zhǔn),用于取代模擬信號(hào)傳輸,讓更多的信息可以在現(xiàn)場(chǎng)設(shè)備和高層的控制系統(tǒng)之間進(jìn)行雙向傳輸。
那雙向傳輸數(shù)據(jù)是在哪兩端之間進(jìn)行雙向傳輸呢?我們看下工廠的自動(dòng)化金字塔模型:

從上圖我們可以看到,工廠里的網(wǎng)絡(luò)按照實(shí)際業(yè)務(wù)其實(shí)分為6層。比如最底層的傳感器和執(zhí)行器需要與PLC或CNC等控制器進(jìn)行連接,PLC、CNC與設(shè)備主控制器之間也需要組網(wǎng);更上層的車間里的所有設(shè)備需要通過(guò)網(wǎng)絡(luò)互相通信,在車間級(jí)上面是工廠級(jí)、企業(yè)級(jí)的生產(chǎn)信息的網(wǎng)絡(luò)。
OSI模型提出的年代,有許多計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)互相不兼容。要是想在不同計(jì)算機(jī)網(wǎng)絡(luò)之間互相通信,就需要投入許多特殊的軟件和硬件去做網(wǎng)絡(luò)適配。OSI模型就是要解決這個(gè)問(wèn)題。
ISO引入了開(kāi)放系統(tǒng)的概念。開(kāi)放系統(tǒng)包含遵循一組標(biāo)準(zhǔn)的軟件組件和硬件組件。其實(shí)這個(gè)與現(xiàn)在的AWS云計(jì)算是同樣的道理。AWS通過(guò)提供標(biāo)準(zhǔn)化的API接口和服務(wù)。邊緣計(jì)算EdgeX框架和IIC的架構(gòu)也是同樣的設(shè)計(jì)思路。而開(kāi)放系統(tǒng)定義了標(biāo)準(zhǔn)的軟件接口和硬件,有了這些標(biāo)準(zhǔn),就可以保證不同廠商的設(shè)備可以互相兼容互相通信。
為了簡(jiǎn)化數(shù)據(jù)傳輸這個(gè)復(fù)雜的問(wèn)題,OSI模型采用了嚴(yán)格的層級(jí)化的分層模型。
OSI模型有三個(gè)重要的概念:
- 協(xié)議:第N層的協(xié)議跟對(duì)等的N層協(xié)議進(jìn)行對(duì)話。
 - 服務(wù):每一層向上一層提供服務(wù), 上一層調(diào)用下一層的服務(wù)
 - 接口:每?jī)蓪又g,上一層根據(jù)服務(wù)接口調(diào)用下一層的服務(wù)而不用知道具體實(shí)現(xiàn)
 

現(xiàn)場(chǎng)總線協(xié)議也是根據(jù)ISO/OSI模型來(lái)建模的。但是在大部分情況下,實(shí)際只用了1、2、7層。這是從MAP的失敗中吸取的教訓(xùn)。要是完整實(shí)現(xiàn)7層模型,要的資源要多得多,也沒(méi)法高效的實(shí)現(xiàn)。因此MiniMAP和后續(xù)的IEC總線標(biāo)準(zhǔn)就只有三層結(jié)構(gòu):物理層、數(shù)據(jù)鏈路層和應(yīng)用層。
簡(jiǎn)化的協(xié)議層棧反映了許多自動(dòng)化應(yīng)用中的實(shí)際情況。許多總線都是獨(dú)立的網(wǎng)絡(luò),用中繼器最多用網(wǎng)橋來(lái)擴(kuò)展。因此,網(wǎng)絡(luò)層和傳輸層(主要用于路由和端到端控制)就不必要了。其他省略掉的層也是同樣道理??偩€協(xié)議不是太復(fù)雜的。因此會(huì)話和表示層也不是必需的。
但是也不是所有的總線系統(tǒng)都是1、2、7層架構(gòu)。有幾種總線,明確定義了其他層。特別是在智能樓宇領(lǐng)域,情況有點(diǎn)特殊。由于智能樓宇里面節(jié)點(diǎn)數(shù)量眾多,總線要有能力支持層級(jí)化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),比如三號(hào)樓/二夾層/3號(hào)新風(fēng)系統(tǒng)/某控制器/…。
因此智能樓宇總線只有三層就不合理了。
EIB和KNX就有網(wǎng)絡(luò)和傳輸層,用于在層級(jí)化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中路由和端到端控制。
BACnet有網(wǎng)絡(luò)層,這個(gè)網(wǎng)絡(luò)層對(duì)它很重要,因?yàn)锽ACnet是個(gè)高層協(xié)議,需要控制多種低層協(xié)議和鏈路,比如以太網(wǎng)、基于RS-485的MS/TP和LonTalk。對(duì)于這種異構(gòu)的網(wǎng)絡(luò),一個(gè)統(tǒng)一的網(wǎng)絡(luò)層就很重要。
當(dāng)然有時(shí)也會(huì)需要3-6層的特定功能。這種情況下會(huì)把所需的功能放到2層或7層。對(duì)于IEC 61158總線標(biāo)準(zhǔn),3和4層的功能可以放在2層或7層,而5、6層的功能總是放在7層。
總線里面協(xié)議結(jié)構(gòu)最復(fù)雜的應(yīng)該是LonWorks。哪怕現(xiàn)在主要用于智能樓宇,它其實(shí)設(shè)計(jì)為一個(gè)應(yīng)用領(lǐng)域無(wú)關(guān)的通用的控制網(wǎng)絡(luò)。它與一般的高效的常規(guī)總線相比,更像局域網(wǎng)。在LonTalk協(xié)議里,定義了OSI的所有7層,雖然第6層功能很少。第3層網(wǎng)絡(luò)層功能特別豐富,支持許多類型的數(shù)據(jù)鏈路(智能樓宇領(lǐng)域數(shù)據(jù)鏈路種類特別多)、支持許多地址尋址模式、高級(jí)路由功能、支持許多通信對(duì)象,不光可以傳輸過(guò)程數(shù)據(jù)和網(wǎng)絡(luò)管理,還可以文件傳輸。
工控領(lǐng)域中常用的總線系統(tǒng)中,ControlNet和P-NET比較特別,它們都實(shí)現(xiàn)了3層和4層。
原因二、工業(yè)現(xiàn)場(chǎng)需要傳輸?shù)臄?shù)據(jù)的特點(diǎn)不同
從總線需要傳輸?shù)臄?shù)據(jù)特點(diǎn)來(lái)看,也有許多種。有的數(shù)據(jù)要求實(shí)時(shí)性高,有的數(shù)據(jù)是周期性的,有的則是突發(fā)的,有的數(shù)據(jù)是生產(chǎn)數(shù)據(jù),有的數(shù)據(jù)是管理數(shù)據(jù),有的數(shù)據(jù)是在總線上走隧道.......
這些差異也決定了不可能用一種總線體系來(lái)傳輸各種不同特點(diǎn)的數(shù)據(jù):

不同層面的業(yè)務(wù)需求是不同的,因此需要根據(jù)實(shí)際的應(yīng)用場(chǎng)景對(duì)相應(yīng)的總線協(xié)議進(jìn)行優(yōu)化設(shè)計(jì)。
- 傳感器層面的總線系統(tǒng),要考慮的重點(diǎn)是低成本、高性能,抗干擾,傳輸距離,可靠性,實(shí)時(shí)性,與通信硬件接口匹配。
 - 控制器之間的總線系統(tǒng),考慮的是靈活性能適應(yīng)各種業(yè)務(wù)場(chǎng)景和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、組態(tài)容易。
 - 智能樓宇的總線系統(tǒng),需要能支持層級(jí)化的網(wǎng)絡(luò)結(jié)構(gòu)(工廠-大樓-樓層-控制器-設(shè)備),支持許多類型的數(shù)據(jù)鏈路(智能樓宇領(lǐng)域數(shù)據(jù)鏈路種類特別多)、支持許多地址尋址模式、高級(jí)路由功能。
 
原因三、技術(shù)進(jìn)步和市場(chǎng)需求導(dǎo)致出現(xiàn)新的總線標(biāo)準(zhǔn)
2000年后,由于以太網(wǎng)的發(fā)展和控制器對(duì)實(shí)時(shí)性提出更高的要求,許多原來(lái)基于串口的總線,改為以太網(wǎng)網(wǎng)絡(luò),就有了Modbus/TCP、ProfiNET、EtherCAT等總線標(biāo)準(zhǔn)。
同時(shí)由于這段時(shí)間WSN無(wú)線傳感網(wǎng)的技術(shù)發(fā)展,HART總線也出現(xiàn)了無(wú)線版本——Wireless-HART。
原因四、不同企業(yè)和國(guó)家要制定自己的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),通過(guò)標(biāo)準(zhǔn)獲利
都說(shuō)一流企業(yè)定標(biāo)準(zhǔn),可見(jiàn)標(biāo)準(zhǔn)的重要性。對(duì)于標(biāo)準(zhǔn)制定企業(yè)來(lái)說(shuō),可以通過(guò)標(biāo)準(zhǔn)獲利。
從1980起,隨著PLC和智能傳感器和執(zhí)行器的技術(shù)進(jìn)步,自動(dòng)化行業(yè)有了很大的發(fā)展。對(duì)布線緊湊的進(jìn)一步要求,加上微電子行業(yè)的發(fā)展,已經(jīng)足夠支撐專用總線的發(fā)展。不同的應(yīng)用需求催生了不同的總線系統(tǒng),當(dāng)時(shí)自動(dòng)化公司設(shè)計(jì)開(kāi)發(fā)總線標(biāo)準(zhǔn)也是行業(yè)趨勢(shì)和時(shí)髦的事情,就像現(xiàn)在每個(gè)工控公司都在搞工業(yè)物聯(lián)網(wǎng)一樣。
對(duì)總線概念理解的幾個(gè)澄清
工廠里車間里有各種各樣的網(wǎng)絡(luò),以太網(wǎng)、無(wú)線、工業(yè)總線等,互相通訊很困難。
普通的計(jì)算機(jī)網(wǎng)絡(luò)有Area的概念,如局域網(wǎng)Local Area Network,個(gè)域網(wǎng)PAN Personal Area Network,廣域網(wǎng)WAN。工廠里也有Area的概念,比如CAN就是控制器局域網(wǎng)絡(luò)Controller Area Network。
工業(yè)現(xiàn)場(chǎng)的許多傳感器總線沒(méi)有復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),因此網(wǎng)絡(luò)層、傳輸層都不需要。同一個(gè)總線也會(huì)隨著技術(shù)進(jìn)步和應(yīng)用行業(yè)需求而不斷的發(fā)展演化不同的版本,典型的就是CAN總線標(biāo)準(zhǔn)??匆粋€(gè)總線標(biāo)準(zhǔn)好不好,首先要基于其應(yīng)用場(chǎng)合,其次要結(jié)合該總線出現(xiàn)的時(shí)代背景來(lái)理解其設(shè)計(jì)的年代和理念。
總線標(biāo)準(zhǔn)能否在市場(chǎng)上成功,不是遵循適者生存的模式,而是看總線標(biāo)準(zhǔn)提出者的市場(chǎng)占有率。這個(gè)提出者可以是工業(yè)巨頭如西門子、施耐德和他們的一班Partner小弟公司,也可以是許多工控公司和IT公司結(jié)盟組成的標(biāo)準(zhǔn)委員會(huì)。簡(jiǎn)單的將總線分為現(xiàn)場(chǎng)傳感器執(zhí)行器的總線和機(jī)器/生產(chǎn)流程總線是錯(cuò)誤的,實(shí)際分類比這個(gè)復(fù)雜。
總線的最早起源其實(shí)是航空和汽車行業(yè),后面才應(yīng)用到工業(yè)現(xiàn)場(chǎng)和智能樓宇等領(lǐng)域。每種工業(yè)總線的解決方案都是聚焦于解決特定問(wèn)題的,在設(shè)計(jì)時(shí)會(huì)綜合考慮性能、可靠性、硬件成本、軟件成本、靈活性、管理便捷性等各種因素。
工業(yè)總線通常情況下是網(wǎng)絡(luò)化的嵌入式系統(tǒng),但是在一些情況下也會(huì)呈現(xiàn)出分布式操作系統(tǒng)的特點(diǎn)。
許多總線只定義了 OSI 7層模型的1、2、7層,即物理層、數(shù)據(jù)鏈路層和應(yīng)用層。原因是網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,不需要路由功能和端到端的控制。
現(xiàn)場(chǎng)總線發(fā)展歷史
第一階段:1970年~1980年 醞釀階段
現(xiàn)場(chǎng)總線的起源來(lái)自四個(gè)方面的技術(shù)進(jìn)步:
基于電話網(wǎng)絡(luò)的數(shù)據(jù)傳輸協(xié)議,如V.21、X.21等,是現(xiàn)場(chǎng)總線串行數(shù)據(jù)傳輸?shù)谋亲?。?shí)驗(yàn)測(cè)量?jī)x器和計(jì)算機(jī)外設(shè)的并行總線接口標(biāo)準(zhǔn)化和數(shù)據(jù)實(shí)時(shí)傳輸。電子工程師定義標(biāo)準(zhǔn)化的通訊接口的理念也被現(xiàn)場(chǎng)總線繼承了。另外多個(gè)空間上分布的多個(gè)實(shí)驗(yàn)儀器數(shù)據(jù)如何多站multidrop實(shí)時(shí)傳輸?shù)臉?biāo)準(zhǔn),如用于核物理的計(jì)算機(jī)自動(dòng)測(cè)量和控制CAMAC標(biāo)準(zhǔn)和電子測(cè)試設(shè)備總線GPIB,也建立起來(lái)了。計(jì)算機(jī)科學(xué)理論的發(fā)展OSI模型自頂向下的分層設(shè)計(jì)理念,后來(lái)成為了現(xiàn)場(chǎng)總線分層設(shè)計(jì)的核心指導(dǎo)思想。電子技術(shù)的發(fā)展,集成電路微型化、I2C、微處理器、連接器技術(shù)、RS-485差分信號(hào)抗干擾,成為后來(lái)總線標(biāo)準(zhǔn)的硬件技術(shù)的基石。

在航空航天領(lǐng)域,由于對(duì)接線和重量的限制要求,遠(yuǎn)在板級(jí)總線發(fā)明之前,在1973年就已經(jīng)有了MIL STD 1553 總線。它是第一種真正的現(xiàn)場(chǎng)總線,首先用于F16戰(zhàn)斗機(jī)上。它已經(jīng)有了當(dāng)代總線的許多特點(diǎn):
- 數(shù)據(jù)和控制命令在同一根線上串行傳輸
 - 主從結(jié)構(gòu)
 - 遠(yuǎn)距離傳輸
 - 集成控制器
 
后來(lái),為了降低布線重量和成本,汽車和工控行業(yè)借鑒航空航天領(lǐng)域的設(shè)計(jì),按照類似的想法設(shè)計(jì)了幾種工業(yè)總線。重要的有Modbus、GPIB等總線。
第二階段:1980年~2000年 發(fā)展階段
從1980起,隨著PLC和智能傳感器和執(zhí)行器的技術(shù)進(jìn)步,自動(dòng)化行業(yè)有了很大的發(fā)展。對(duì)布線緊湊的進(jìn)一步要求,加上微電子行業(yè)的發(fā)展,已經(jīng)足夠支撐專用總線的發(fā)展。不同的應(yīng)用需求催生了不同的總線系統(tǒng),當(dāng)時(shí)自動(dòng)化公司設(shè)計(jì)開(kāi)發(fā)總線標(biāo)準(zhǔn)也是行業(yè)趨勢(shì)和時(shí)髦的事情,就像現(xiàn)在每個(gè)工控公司都在搞工業(yè)物聯(lián)網(wǎng)一樣。
1978年Hubert Zimmermann提出了OSI模型,ISO于1984年發(fā)布了ISO/OSI模型標(biāo)準(zhǔn)。ISO/OSI模型是對(duì)現(xiàn)場(chǎng)總線最重要的貢獻(xiàn)。OSI模型的設(shè)計(jì)目的是成為一個(gè)所有設(shè)備廠商都能實(shí)現(xiàn)的開(kāi)放網(wǎng)絡(luò)模型,來(lái)克服使用眾多私有網(wǎng)絡(luò)模型所帶來(lái)的集成困難。而現(xiàn)場(chǎng)總線也是要解決工廠里的各種異構(gòu)網(wǎng)絡(luò)互相通信的問(wèn)題。因此OSI模型很快成為了現(xiàn)場(chǎng)總線設(shè)計(jì)的指導(dǎo)思想。
1982年GM首先使用OSI模型理念,設(shè)計(jì)了Manufacturing Application Protocol,簡(jiǎn)稱MAP,試圖解決工業(yè)現(xiàn)場(chǎng)各種層級(jí)的網(wǎng)絡(luò)的通信問(wèn)題。這個(gè)協(xié)議設(shè)計(jì)地強(qiáng)大又靈活,但是不可避免也變得很復(fù)雜,實(shí)現(xiàn)成本太高。于是就對(duì)這個(gè)協(xié)議進(jìn)行了簡(jiǎn)化,簡(jiǎn)化的結(jié)果就是MiniMAP協(xié)議。MiniMAP協(xié)議只有1、2、7層,專注于工廠里的底層網(wǎng)絡(luò)通訊問(wèn)題,而不是所有層面的通訊都要考慮。但是這個(gè)協(xié)議還是沒(méi)有獲得成功。
后來(lái)取得成功的是Manufacturing Message Specification(MMS)協(xié)議。它定義了許多抽象對(duì)象和服務(wù),后來(lái)成為許多其他總線協(xié)議設(shè)計(jì)的起點(diǎn)。
許多現(xiàn)場(chǎng)總線的一個(gè)特點(diǎn)是根據(jù)傳統(tǒng)接口來(lái)定義,只有最下面的物理層和數(shù)據(jù)鏈路層,沒(méi)有應(yīng)用層。后來(lái)應(yīng)用層也加上了,這樣就可以用于其他領(lǐng)域。
CAN就是一個(gè)這個(gè)演化過(guò)程的例子:起先CAN用于汽車行業(yè),所以定義了OSI模型的最下面兩層就夠用了。但是在工控領(lǐng)域,擴(kuò)展性和互操作性很重要,高層的功能很重要。于是到了工控領(lǐng)域,就加上了一層特殊的應(yīng)用層。CAN一開(kāi)始沒(méi)有定義應(yīng)用層,反而成了許多不同的總線系統(tǒng)(CANopen、SDS、DeviceNet)使用CAN作為低層接口的原因。
第三階段:2000年~現(xiàn)在 繁榮階段
2000年后,由于以太網(wǎng)的發(fā)展和對(duì)實(shí)時(shí)性要求的提高,許多原本基于串口的總線逐漸改為以太網(wǎng)網(wǎng)絡(luò),如Modbus/TCP、ProfiNET、EtherCAT等標(biāo)準(zhǔn)。同時(shí),隨著無(wú)線傳感網(wǎng)絡(luò)(WSN)技術(shù)的發(fā)展,HART總線也推出了無(wú)線版本——Wireless-HART。這些通訊協(xié)議在工業(yè)現(xiàn)場(chǎng)的應(yīng)用是為了滿足不同設(shè)備和系統(tǒng)之間的通訊需求。每種協(xié)議都有其特定的優(yōu)勢(shì)和適用場(chǎng)景,比如Modbus/TCP適用于簡(jiǎn)單的數(shù)據(jù)交換,而EtherCAT則適用于對(duì)實(shí)時(shí)性要求更高的應(yīng)用。這種多樣化的通訊協(xié)議使得工業(yè)現(xiàn)場(chǎng)的設(shè)備能夠更加靈活地互聯(lián)互通,提高了生產(chǎn)效率和系統(tǒng)可靠性。因此,盡管增加了一定的復(fù)雜性和成本,但使用不同的通訊協(xié)議能夠更好地滿足工業(yè)現(xiàn)場(chǎng)的多樣化需求,促進(jìn)了工業(yè)自動(dòng)化技術(shù)的發(fā)展和應(yīng)用。















 
 
 








 
 
 
 