在工業(yè)控制、電力通訊、智能儀表等領(lǐng)域,通常情況下是采用串口通信的方式進(jìn)行數(shù)據(jù)交換。最初采用的方式是RS232接口,由于工業(yè)現(xiàn)場(chǎng)比較復(fù)雜,各種電氣設(shè)備會(huì)在環(huán)境中產(chǎn)生比較多的電磁干擾,會(huì)導(dǎo)致信號(hào)傳輸錯(cuò)誤。
1979年施耐德電氣制定了一個(gè)用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議Modbus協(xié)議,現(xiàn)在工業(yè)中使用RS485通信場(chǎng)合很多都采用Modbus協(xié)議,所以今天我們來(lái)了解下RS485通信和Modbus通信協(xié)議。
【RS485通信】
實(shí)際上在RS485之前RS232就已經(jīng)誕生,但是RS232也有不足:
1、接口的信號(hào)電平值較高,達(dá)到十幾V,容易損壞接口電路的芯片,而且和TTL電平不兼容,因此和單片機(jī)電路接起來(lái)的話必須加轉(zhuǎn)換電路。
2、接口使用的信號(hào)線與其他設(shè)備形成共地模式的通信,這種共地模式傳輸容易產(chǎn)生干擾,并且抗干擾性能也比較弱。
3、傳輸距離、速率都有限,最多只能通信幾十米;只能兩點(diǎn)之間進(jìn)行通信,不能夠?qū)崿F(xiàn)多機(jī)聯(lián)網(wǎng)通信。
針對(duì)RS232接口以上不足,出現(xiàn)了RS485等新的接口標(biāo)準(zhǔn),RS485具備以下的特點(diǎn):
1、邏輯“1”以兩線間的電壓差為+(2—6)V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。接口信號(hào)電平比RS232降低了,不易損壞電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。
2、RS485通信速度快,數(shù)據(jù)最高傳輸速率為10Mbps以上;其內(nèi)部的物理結(jié)構(gòu),采用的是平衡驅(qū)動(dòng)器和查分接收器的組合,抗干擾能力大大增加。
3、傳輸距離最遠(yuǎn)可達(dá)到1200米左右,但傳輸速率和傳輸距離是成反比的,只有在100KB/s以下的傳輸速率,才能達(dá)到最大的通信距離,如果需要傳輸更遠(yuǎn)距離可以使用中繼。
4、可以在總線上進(jìn)行聯(lián)網(wǎng)實(shí)現(xiàn)多機(jī)通信,總線上允許掛多個(gè)收發(fā)器,從現(xiàn)有的RS485芯片來(lái)看,有可以掛32、64、128、256等不同個(gè)設(shè)備的驅(qū)動(dòng)器。
RS485有兩線制和四線制,四線制只能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,現(xiàn)很少采用。兩線制這種接線方式為總線式拓樸結(jié)構(gòu),在同一總線上最多可以掛接32個(gè)結(jié)點(diǎn)。在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個(gè)主機(jī)帶多個(gè)從機(jī)。
很多情況下,連接RS-485通信鏈路時(shí)只是簡(jiǎn)單地用一對(duì)雙絞線將各個(gè)接口的“A”、“B”端連接起來(lái)。而忽略了信號(hào)地的連接,這種連接方法在許多場(chǎng)合是能正常工作的,但卻埋下了很大的隱患,這有2個(gè)原因:
共模干擾問(wèn)題:RS-485接口采用差分方式傳輸信號(hào)方式,并不需要相對(duì)于某個(gè)參照點(diǎn)來(lái)檢測(cè)信號(hào),系統(tǒng)只需檢測(cè)兩線之間的電位差就可以了。但人們往往忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7~+12V,只有滿足上述條件,整個(gè)網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會(huì)影響通信的穩(wěn)定可靠,甚至損壞接口。
EMI問(wèn)題:發(fā)送驅(qū)動(dòng)器輸出信號(hào)中的共模部分需要一個(gè)返回通路,如沒(méi)有一個(gè)低阻的返回通道(信號(hào)地),就會(huì)以輻射的形式返回源端,整個(gè)總線就會(huì)像一個(gè)巨大的天線向外輻射電磁波。
由于PC機(jī)默認(rèn)的只帶有RS232接口,以下方法可以得到PC上位機(jī)的RS485電路:
1、通過(guò)RS232/RS485轉(zhuǎn)換電路將PC機(jī)串口RS232信號(hào)轉(zhuǎn)換成RS485信號(hào),對(duì)于情況比較復(fù)雜的工業(yè)環(huán)境最好是選用防浪涌帶隔離的產(chǎn)品。
2、通過(guò)PCI多串口卡,可以直接選用輸出信號(hào)為RS485類型的擴(kuò)展卡。
【Modbus通信協(xié)議】
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(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),描述了一控制器請(qǐng)求訪問(wèn)其它設(shè)備的過(guò)程,如何回應(yīng)來(lái)自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
Modbus具有以下幾個(gè)特點(diǎn):
1、標(biāo)準(zhǔn)、開(kāi)放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。目前,支持Modbus的廠家超過(guò)400家,支持Modbus的產(chǎn)品超過(guò)600種。
2、Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無(wú)線等。
3、Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶使用容易,廠商開(kāi)發(fā)簡(jiǎn)單。
一、Modbus 寄存器種類說(shuō)明
1— 線圈狀態(tài):輸出端口,可設(shè)定端口的輸出狀態(tài),也可以讀取該位的輸出狀態(tài)
2— 離散輸入狀態(tài):輸入端口,通過(guò)外部設(shè)定改變輸入狀態(tài),可讀但不可寫(xiě)
3— 保持寄存器:控制器運(yùn)行時(shí)被設(shè)定的某些參數(shù),可讀可寫(xiě)
4— 輸入寄存器:控制器運(yùn)行時(shí)從外部設(shè)備獲得的某些參數(shù),可讀不可寫(xiě)
二、Modbus 通訊數(shù)據(jù)格式
單個(gè)寫(xiě)入:
多個(gè)寫(xiě)入:
讀取:
三、Modbus 功能碼簡(jiǎn)述
功能碼可以分為位操作和字節(jié)操作,位操作的最小單位是Bit,字節(jié)操作的最小單位為2個(gè)字節(jié)(Byte)。
1— 位操作指令:讀線圈狀態(tài)01H、讀離散輸入狀態(tài)02H、寫(xiě)單個(gè)線圈05H、寫(xiě)多個(gè)線圈0FH.
2— 字節(jié)操作指令:讀保存寄存器03H、讀輸入寄存器04H、寫(xiě)單個(gè)保存寄存器06H、寫(xiě)多個(gè)保存寄存器10H.
四、Modbus功能碼
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6898瀏覽量
88838 -
MODBUS
+關(guān)注
關(guān)注
28文章
1762瀏覽量
76843 -
RS232
+關(guān)注
關(guān)注
13文章
739瀏覽量
94245 -
工業(yè)控制
+關(guān)注
關(guān)注
37文章
1444瀏覽量
85788
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論