串列匯流排、並行匯流排、現場匯流排,工業乙太網求科普?

今年大學剛畢業進了閑職,上個月一衝動辭職了進小私企開始出來從事科技行業,不想只是Know是什麼,想Understand是什麼。最好能附帶鏈接。謝


串列匯流排和並行匯流排,屬於計算機領域的一個通信的概念。

串列,簡而言之,一般通信的雙方通過兩根線就可以實現數據的收發,像我們電腦中用的RS232等就是標準的串列匯流排,現在的USB也用的是串列,這種由於數據是串列的,因為一次只能發送一位。

並行,是相對於串列來講,數據傳輸有多根線,因為一次就能發送多位。

那麼問題來了,串列和並行哪個更快呢?

也許你會覺得並行一次可以傳多位,肯定比串列快。那麼你就錯了,匯流排傳輸的速率,不僅取決於一次能發送多少位,而且還取決於你發送一次所用的速度。而並行匯流排,牽涉到多個數據線的數據同步問題,一般速率很難提高,且匯流排越長,越易受到干擾。而串列匯流排則沒有這個問題,因此像現在的USB介面的速度可以做到很快。

也許你會問,串列匯流排和並行匯流排,在DCS中主要用在什麼地方。答案就是你說的DPU與IO模件之間的通信,一般就是通過串列或並行的匯流排來進行通信的。

然而隨著技術的進步,現場匯流排技術的提出,在傳統的串列和並行的基礎上,國際上的一些大牌工控企業,提出了幾個現場匯流排協議,如西門子的profibus等等。而關於現場匯流排,有些在物理層,用的也是傳統的串列和並行匯流排,而區別在於傳輸層與網路層,相比於傳統的Modbus具有更加豐富的功能。當然,現在的現場匯流排,更具優勢的就是摒棄這種匯流排的物理連接,而直接採用乙太網連接,即我們所說的網線連接。而你所講的工業乙太網,就是這樣的一種連接形式。

因為現在PC上位機與DCS間一般都是採用工業乙太網連接的,而如此DCS與IO模件也採用這種連接,就相當於全系統都採取了工業乙太網。


  • 工業數據有時效性,超時的反饋數據的參考意義降低甚至失效
  • 有些關鍵數據,在規定的時間間隔內必須更新,否則後果嚴重(比如多軸聯動,安全連鎖)
  • 具備實時性的現場匯流排,加上實時操作系統和實時軟體,才能滿足以上要求。因此,現場匯流排的協議設計要保證實時性。

    對於工業乙太網和CAN匯流排,其底層都使用了一種衝突檢測機制(CSMA/CD),即:發送的時候監聽,發現有另一個設備佔用信道,則自動停止發送並等待重試。這就導致一個問題,如果匯流排負荷比較高,可能導致設備無法及時發送數據,實時性無法保證。

    profibus,modbus等串口匯流排因為是基於主從模式,不存在實時性問題(數據阻塞)。而工業乙太網和CAN匯流排是基於生產者消費者模式,有實時性問題。其中CAN匯流排因為報文長度較短,且控制網路規模較小且確定,經過一定的優化和調整,可以很好的解決實時性問題。

    所以,關鍵問題就出在如何把標準乙太網協議改造成工業乙太網協議,滿足實時性要求,同時要完全兼容標準乙太網協議。

    舉個極端的例子,車間有一個工業乙太網匯流排。上面掛了許多remote io模塊、伺服控制器、plc、視覺模塊。此外,還掛了幾個高清的安防攝像頭。這時候還要求幾個伺服軸之間保持位置同步。。。工業乙太網就是要解決上面問題。

    工業乙太網協議,市場上主要有四種。西門子PROFINET、羅克威爾Ethernet/IP、倍福的EtherCAT、三菱CC-LINK IE。

    參考:Martin Rostan: 未來只有四種主流工業乙太網技術

首先是匯流排可以理解為連接設備用於通訊的線。在這條線上的通訊使用的不同的通訊協議例如 profibus DP modbus rtu 。直觀點就是用線把所有設備都串起來了。

串列和並行是發送數據的不同方式。串列是一個個發,並行是多個一起發。

現場匯流排簡單點可以這麼理解,以前只是控制器和模塊在匯流排上,現在好了連現場的儀錶都可以連在匯流排上了。不需要現場的儀錶先把測量值變成4-20ma或者0-10v的信號,不需要模擬量採集卡件,直接可以通過匯流排像讀取現場儀錶的信息(包括測量值、量程範圍等等在內的很多)。現場匯流排常見的有CAN 和 HART 。

工業乙太網這個就是乙太網,就是網線。只是和我們上網用的協議不一樣而已。不過可以理解為和我們常用的乙太網是一樣的。都是要搭建網路設置IP地址的。


什麼是並行匯流排?串列匯流排?

並行匯流排就是一組走並行信號的傳輸通道;而串列匯流排就是一組走串列信號的傳輸通道。

何為並行信號?

並行信號就是以並行方式通信的信號,在並行通信中一個位元組(8位)數據是在8條並行傳輸線上同時由源端傳到目的地,也可以說有多個數據線(幾根就是幾位),在每個時鐘脈衝下可以發送多個數據位(幾位的並行口就發送幾位)。

所以早期對串列通信與並行通信的理解為:同樣的一個位元組數據(8位),並行通信有8根線路,所以只要一次就可以傳送過去,形象的說,把線路(通道)比作道路,能並排開幾輛車的就可以說是「並行」

何為串列信號?

串列信號就是以串列方式通信的信號。串列通信指數據在單條一位寬的傳輸線上,一比特接一比特地按順序傳送的方式,在早期的定義里也有說只有一根數據線,每個時鐘脈衝下只能發送一位數據的方式;

所以早期對串列通信的理解為:同樣的一個位元組數據(8位),串列通信要分8次由低位到高位按順序一位位地傳送。形象的說,把線路(通道)比作道路,只能一輛一輛開的就屬於「串列」了。

並行匯流排與串列匯流排的對比

很明顯,並行通信的速度要比串列通信的速度快得多,效率更高,費時更少。

不過這些都是早期I/O速率都不高的情況下的理論理解,但信息技術飛速發展,之前的理解放在現在來看已經過時了,因為現在是高速串列信號時代了。

在高速狀態下,並行口的幾根數據線之間存在串擾,而並行口需要信號同時發送同時接收,任何一根數據線的延遲都會引起問題。而串列只有一根數據線,不存在信號線之間的串擾,而且串列還可以採用低壓差分信號,可以大大提高它的抗干擾性,所以可以實現更高的傳輸速率,儘管並行可以一次傳多個數據位,但是時鐘遠遠低於串列,所以目前串列傳輸是高速傳輸的首選。

另外,由於並行信號由於需要多位傳輸路徑,這在早期是可以接受的。但是摩爾定律的現象使得與幾十年前相比可生產的晶元中硅電路的數量大幅增加,而晶元封裝技術的pin密度並沒有像硅密度一樣以相同的速度在增加,因此I/O pin的封裝實際上比硅電路還貴,這就意味著對於大多數晶元來說pin管腳越來越多變得不可接受。

參考資料:http://www.edadoc.com/cn/TechnicalArticle/Show.aspx?id=1096


占坑,最近爭取搞個文章出來。



工業乙太網並不是乙太網,它是基於乙太網衍生出來的一種。
工作期間了解了一點工業乙太網的知識。
有說錯的,歡迎指正~
----------------begining------------------------------------
第一個,實時性
工業乙太網區別於普通乙太網的最大一點就是,實時性。

操作系統分為實時操作系統和非實時操作系統。
什麼是真正的實時操作系統
借用一下這個博客的裡面的內容。親們可以自行前往觀看。
實時就是說,一定的時間內我發一個指令一定要被處理,不然就是系統失敗。
比如 windows就是非實時,有時候軟體開多了,電腦就卡,就是因為指令不能被及時處理。
而實時操作系統比較有名的就是linux了。

第二個,就是工業區別於其他的關於運用環境,
工業運用對溫度、干擾要求會更高。

-------------------------ending------------------------------

你一說工業乙太網我就很好奇,你用的是什麼。

我是因為工作關係,接觸到的是EtherCAT。


推薦閱讀:

有哪些與控制、機器人等相關的 quotes?
作為有志於投身於智能機器人領域的學生,學習方嚮應該選擇機器人的控制,還是人工智慧?
自動化本科畢業目前在國企製造業 想在嵌入式方向發展 該怎麼辦?
有哪些有關控制、機器人等工程、理論或演算法的忠告?
現在學plc前景好嗎?

TAG:計算機 | 通信 | 自動化 | DCS | 工控 |