資源描述:
《modbus通訊協(xié)議簡(jiǎn)介》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、MODBUS通訊協(xié)議簡(jiǎn)介MODBUS通訊協(xié)議簡(jiǎn)介MODBUS通訊協(xié)議簡(jiǎn)介MODBUS通訊協(xié)議簡(jiǎn)介MODBUS通訊協(xié)議簡(jiǎn)介工業(yè)控制已從單機(jī)控制走向集中監(jiān)控、集散控制,如今已進(jìn)入網(wǎng)絡(luò)時(shí)代,工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。Modbus就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。一、概述Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過此協(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é)議定義了
2、一個(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)容的公共格式。當(dāng)在一Modbus網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴(kuò)展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯(cuò)誤
3、檢測(cè)的方法。1、在Modbus網(wǎng)絡(luò)上轉(zhuǎn)輸標(biāo)準(zhǔn)的Modbus口是使用一RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn)??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)??刂破魍ㄐ攀褂弥?從技術(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢)。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。典型的主設(shè)備:主機(jī)和可編程儀表。典型的從設(shè)備:可編程控制器。主設(shè)備可單獨(dú)和從設(shè)備通信,也能以廣播方式和所有從設(shè)備通信。如果單獨(dú)通信,從設(shè)備返回一消息作為回應(yīng),如果是以廣播方式查詢的,則不作任何回應(yīng)
4、。Modbus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、一錯(cuò)誤檢測(cè)域。從設(shè)備回應(yīng)消息也由Modbus協(xié)議構(gòu)成,包括確認(rèn)要行動(dòng)的域、任何要返回的數(shù)據(jù)、和一錯(cuò)誤檢測(cè)域。如果在消息接收過程中發(fā)生一錯(cuò)誤,或從設(shè)備不能執(zhí)行其命令,從設(shè)備將建立一錯(cuò)誤消息并把它作為回應(yīng)發(fā)送出去。2、在其它類型網(wǎng)絡(luò)上轉(zhuǎn)輸在其它網(wǎng)絡(luò)上,控制器使用對(duì)等技術(shù)通信,故任何控制都能初始和其它控制器的通信。這樣在單獨(dú)的通信過程中,控制器既可作為主設(shè)備也可作為從設(shè)備。提供的多個(gè)內(nèi)部通道可允許同時(shí)發(fā)生的傳輸進(jìn)程。在消
5、息位,Modbus協(xié)議仍提供了主-從原則,盡管網(wǎng)絡(luò)通信方法是"對(duì)等"。如果一控制器發(fā)送一消息,它只是作為主設(shè)備,并期望從從設(shè)備得到回應(yīng)。同樣,當(dāng)控制器接收到一消息,它將建立一從設(shè)備回應(yīng)格式并返回給發(fā)送的控制器。Modbus是Modicon公司為其PLC與主機(jī)之間的通訊而發(fā)明的串行通訊協(xié)議。其物理層采用RS232、485等異步串行標(biāo)準(zhǔn)。由于其開放性而被大量的PLC及RTU廠家采用。Modbus通訊方式采用主從方式的查詢-相應(yīng)機(jī)制,只有主站發(fā)出查詢時(shí),從站才能給出響應(yīng),從站不能主動(dòng)發(fā)送數(shù)據(jù)。主站可以向某一個(gè)
6、從站發(fā)出查詢,也可以向所有從站廣播信息。從站只響應(yīng)單獨(dú)發(fā)給它的查詢,而不響應(yīng)廣播消息。Modbus的串行口的通訊參數(shù)(如波特率、奇偶校驗(yàn))可由用戶選擇。二、MODBUS協(xié)議傳送方式MODBUS通訊協(xié)議有兩種傳送方式:RTU方式和ASCII方式,兩種方式如下所示:項(xiàng)目RTU方式ASCII方式字節(jié)長(zhǎng)度8BITS7BITS奇偶校驗(yàn)1BITOR0BIT1BITOR0BIT字節(jié)中止1BITOR2BITS1BITOR2BITS開始標(biāo)記不要:(冒號(hào))結(jié)束標(biāo)記不要CR,LF數(shù)據(jù)間隔24BIT1S出錯(cuò)檢驗(yàn)方式CRC-16
7、LRC控制器能設(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信。用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗(yàn)方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè)Modbus網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。三、Modbus消息幀兩種傳輸模式中(ASCII或RTU),傳輸設(shè)備以將Modbus消息轉(zhuǎn)為有起點(diǎn)和終點(diǎn)的幀,這就允許接收的設(shè)備在消息起始處開始工作,讀地址分配信息,判斷哪一個(gè)設(shè)備被選中(廣播方式則傳給所有設(shè)備),判知何時(shí)信息已完成。部分的消息也能偵測(cè)到并且
8、錯(cuò)誤能設(shè)置為返回結(jié)果。1、ASCII幀使用ASCII模式,消息以冒號(hào)(:)字符(ASCII碼3AH)開始,以回車換行符結(jié)束(ASCII碼0DH,0AH)。其它域可以使用的傳輸字符是十六進(jìn)制的0.9,A.F。網(wǎng)絡(luò)上的設(shè)備不斷偵測(cè)":"字符,當(dāng)有一個(gè)冒號(hào)接收到時(shí),每個(gè)設(shè)備都解碼下個(gè)域(地址域)來判斷是否發(fā)給自己的。消息中字符間發(fā)送的時(shí)間間隔最長(zhǎng)不能超過1秒,否則接收的設(shè)備將認(rèn)為傳輸錯(cuò)誤。2、RTU幀使用RTU模式,消息發(fā)送至少要以3.5個(gè)字符時(shí)