最初工廠通過所謂的大型微處理器的系統(tǒng)控制的“分布式控制系統(tǒng)”或“DCS”。一個中央控制系統(tǒng)控制的整個系統(tǒng)(在控制室)。所有傳感器和執(zhí)行器的通過點(diǎn)到點(diǎn)的連線方式連接到控制系統(tǒng)。或者在網(wǎng)絡(luò)拓?fù)渲刑砑?/p>
為了減少成本Modicon公司(施耐德大型PLC的前身)發(fā)明了最完整的可編程邏輯控制器PLC
因為PLC需要共享數(shù)據(jù),所以, Modicon 在1979 創(chuàng)造一個通訊協(xié)議: Modicon + fieldbus = MODBUS
Modbus協(xié)議基礎(chǔ)
Modbus協(xié)議
有不同類型Modbus協(xié)議(MODBUS ASCII,Modbus RTU,MODBUS TCP/ IP,Modbus Plus, Modbus Pemex...)
此培訓(xùn)文檔主要介紹RTU和TCP / IP
Modbus 的分類
一種模式是ASCII(美國信息交換碼),
另一種模式是RTU(遠(yuǎn)程終端設(shè)備)。
施耐德電氣最常用的是串口協(xié)議是Modbus RTU
Modbus RTU最常用的串口設(shè)備包括:RS232、RS422、RS485
RS232
由電子工業(yè)協(xié)會(Electronic Industries Association,EIA) 所制定的異步傳輸標(biāo)準(zhǔn)接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態(tài)出現(xiàn)
RS232主要的缺點(diǎn)只能點(diǎn)到點(diǎn)通訊.
傳輸速度最大10 M位/s.
電纜的理論長度為15米。在實(shí)踐中,通過使用質(zhì)量好的電纜,有可能超過這個長度。只需使用屏蔽電纜(普通,或更好的雙絞線)能夠?qū)⑼ㄓ嶋p方的距離延長到25-30米。
RS422
RS-422(EIA RS-422-A標(biāo)準(zhǔn))是歷史上的蘋果Macintosh計算機(jī)使用的串行連接。RS-422使用差分電信號,而不像RS-232對樣使用對地不平衡的信號。差分傳輸?shù)陌l(fā)送和接收都使用兩根線,具有更好的抗噪性和更長的距離的信號。這些優(yōu)勢使得RS-422更適合工業(yè)應(yīng)用。
由于接收器采用高輸入阻抗和發(fā)送驅(qū)動器比RS232更強(qiáng)的驅(qū)動能力,故允許最多可接10個節(jié)點(diǎn)。即一個主設(shè)備(主),多個從設(shè)備(從),從設(shè)備之間不能通信,支持點(diǎn)對多的雙向通信。最大傳輸速率10 M位/s
通訊線長度和最高速度關(guān)系
12m = 10 M位s/sec
120m = 1 M位s/sec
1200m = 100 k位s/sec
RS485
RS485標(biāo)準(zhǔn)由電信行業(yè)協(xié)會和電子工業(yè)聯(lián)盟定義。使用該標(biāo)準(zhǔn)的數(shù)字通信網(wǎng)絡(luò)能在遠(yuǎn)距離條件下以及電子噪聲大的環(huán)境下可以有效傳輸信號。RS-485使得廉價本地網(wǎng)絡(luò)以及多支路通信鏈路的配置成為可能。
RS485現(xiàn)在多采用的是兩線制接線方式,這種接線方式為總線式拓?fù)浣Y(jié)構(gòu),只需兩根數(shù)據(jù)線和一個地線*。
對于主與多個從設(shè)備通訊,RS485是迄今為止最流行的方法。在無中繼器最多可支持32個節(jié)點(diǎn),長度約1200米。
一個串行Modbus網(wǎng)絡(luò)有一個主設(shè)備和多個從設(shè)備,該通信是半雙工。
在不加重發(fā)器repeater的情況下,每個段最多32個站。
在干擾惡劣的環(huán)境下還應(yīng)采用鎧裝型雙絞屏蔽電纜
在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機(jī)帶多個從機(jī)。很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來,而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,原因1是共模干擾:RS-485接口采用差分方式傳輸信號方式,并不需要相對于某個參照點(diǎn)來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了,但容易忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7到+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作;當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時就會影響通信的穩(wěn)定可靠,甚至損壞接口;原因二是EMI的問題:發(fā)送驅(qū)動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。
RS485的終端電阻和極化電阻
建議在通訊網(wǎng)絡(luò)的兩端加終端電阻120歐姆1nF,保證阻抗匹配。
極化電阻加在主站側(cè),可有效提高主站帶從站的能力,一般在從站比較多的時候采用。
設(shè)備少距離短的情況下不加終端負(fù)載電阻整個網(wǎng)絡(luò)能很好的工作,但隨著距離的增加性能將降低。理論上,在每個接收數(shù)據(jù)信號的中點(diǎn)進(jìn)行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實(shí)際上難以掌握,美國MAXIM公司有篇文章提到一條經(jīng)驗性的原則可以用來判斷在什么樣的數(shù)據(jù)速率和電纜長度時需要進(jìn)行匹配:當(dāng)信號的轉(zhuǎn)換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的3倍以上時就可以不加匹配。
一般終端匹配采用終端電阻方法,RS-485應(yīng)在總線電纜的開始和末端都并接終端電阻。終端電阻在RS-485網(wǎng)絡(luò)中取120Ω。相當(dāng)于電纜特性阻抗的電阻,因為大多數(shù)雙絞線電纜特性阻抗大約在100~120Ω。這種匹配方法簡單有效,但有一個缺點(diǎn),匹配電阻要消耗較大功率,對于功耗限制比較嚴(yán)格的系統(tǒng)不太適合。另外一種比較省電的匹配方式是RC匹配。利用一只電容C隔斷直流成分可以節(jié)省大部分功率。
RS485的串口配置
RS485總線上的每個設(shè)備都需要配置一些參數(shù),TM241使用SoMachine配置,TM221要使用SoMachine basic的軟件。
Modbus從站地址在一條總線上不能重復(fù),對于一些從站設(shè)備比如變頻器ATV320、340、伺服等還要求修改后重新上電!
RS485總線上所有設(shè)備的波特率、數(shù)據(jù)位、停止位、校驗方式必須都相同!
波特率是指單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。
數(shù)據(jù)位是指通信中實(shí)際數(shù)據(jù)位的參數(shù),標(biāo)準(zhǔn)的值是5、6、7和8位。RTU自動是8位,其它設(shè)置是給ASII碼使用的
停止位是用來表示單個包的最后一位。典型的值為1,1.5和2位。停止位
校驗位在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。沒有校驗位也是可以的。
Modbus數(shù)據(jù)幀格式
MODBUS協(xié)議定義了一個與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡(luò)上的MODBUS協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加域。
地址碼:第一個字節(jié),每個從機(jī)都有具有唯一的地址碼,并且響應(yīng)回送均以各自的地址碼開始。主機(jī)發(fā)送的地址碼表明將發(fā)送到的從機(jī)地址,而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址,地址碼為0時是廣播模式。
功能碼:通訊傳送的第二個字節(jié)。作為主機(jī)請求發(fā)送,通過功能碼告訴從機(jī)執(zhí)行什么動作。作為從機(jī)響應(yīng),從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來的功能碼一樣,并表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。如果從機(jī)發(fā)送的功能碼的最高位為1(比如功能碼大與此同時127),則表明從機(jī)沒有響應(yīng)操作或發(fā)送出錯。
數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實(shí)際數(shù)值、設(shè)置點(diǎn)、主機(jī)發(fā)送給從機(jī)或從機(jī)發(fā)送給主機(jī)的地址。
差錯校驗:使用 CRC碼,它是二字節(jié)的錯誤檢測碼。
Modbus地址和數(shù)值
所有的電子設(shè)備的內(nèi)部存儲區(qū)用于存儲不同類型的數(shù)據(jù)。它最初開發(fā)用于PLC與其他設(shè)備進(jìn)行Modbus通信。在通常情況下,使用四個類型的連接傳感器和執(zhí)行設(shè)備。
PLC需要存儲數(shù)據(jù)以便進(jìn)行操作.
每個存儲區(qū)存儲不同的數(shù)值
Modbus的功能碼
功能碼:主機(jī)發(fā)送的功能碼告訴從機(jī)執(zhí)行什么任務(wù)。
Modbus的校驗碼
校驗碼:Modbus通訊采用CRC-16循環(huán)冗余錯誤校驗 ,冗余循環(huán)碼CRC包含2個字節(jié),即16位二進(jìn)制。
CRC計算方法是:
1、 加載一值為0XFFFF的16位寄存器,此寄存器為CRC寄存器。
2、 把第一個8位二進(jìn)制數(shù)據(jù)(即通訊信息幀的第一個字節(jié))與16位的CRC寄存器的相異或,異或的結(jié)果仍存放于該CRC寄存器中。
3、 把CRC寄存器的內(nèi)容右移一位,用0填補(bǔ)最高位,并檢測移出位是0還是1。
4、 如果移出位為零,則重復(fù)第三步(再次右移一位);如果移出位為1,CRC寄存器與0XA001進(jìn)行異或。
5、 重復(fù)步驟3和4,直到右移8次,這樣整個8位數(shù)據(jù)全部進(jìn)行了處理。
6、 重復(fù)步驟2和5,進(jìn)行通訊信息幀下一個字節(jié)的處理。
7、 將該通訊信息幀所有字節(jié)按上述步驟計算完成后,得到的16位CRC寄存器的高、低字節(jié)進(jìn)行交換
8、 最后得到的CRC寄存器內(nèi)容即為:CRC校驗碼。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51169瀏覽量
754186 -
DCS
+關(guān)注
關(guān)注
20文章
613瀏覽量
50130 -
MODBUS
+關(guān)注
關(guān)注
28文章
1810瀏覽量
77063 -
中央控制系統(tǒng)
+關(guān)注
關(guān)注
0文章
30瀏覽量
9233
發(fā)布評論請先 登錄
相關(guān)推薦
評論