時(shí)間:2009-12-02 11:40:18來(lái)源:sunjuan
表2從機(jī)回答數(shù)據(jù)幀報(bào)文
(2)ASCII碼
表3主機(jī)詢問(wèn)數(shù)據(jù)幀報(bào)文
表4從機(jī)回答數(shù)據(jù)幀報(bào)文
MODBUS在世紀(jì)星中的應(yīng)用
在世紀(jì)星中,除了支持MODBUS-RTU和ASCII碼兩種數(shù)據(jù)傳送模式外,還支持MODBUS TCP/IP 傳送方式。事實(shí)上,MODBUS TCP/IP的命令格式和MODBUS-RUT是很相似的,MODBUS TCP/IP只是缺少兩個(gè)字節(jié)的CRC校驗(yàn)。在MODBUS協(xié)議中,是根據(jù)不同的功能碼來(lái)完成不同的讀寫(xiě)功能的,世紀(jì)星中支持的功能碼及其功能如表5所示:
表5 世紀(jì)星所支持的功能碼
在硬件設(shè)備中,數(shù)據(jù)存儲(chǔ)在寄存器內(nèi),每個(gè)存儲(chǔ)數(shù)據(jù)的寄存器對(duì)應(yīng)一個(gè)寄存器地址,上位機(jī)就是根據(jù)這些地址組織命令去讀寫(xiě)寄存器里的數(shù)據(jù)。一個(gè)兩個(gè)字節(jié)的整型數(shù)據(jù)存儲(chǔ)在一個(gè)寄存器地址中,一個(gè)四字節(jié)的整型或浮點(diǎn)型數(shù)據(jù)則要存儲(chǔ)在連續(xù)的兩個(gè)寄存器地址中,通常都是高地址存放數(shù)據(jù)的高字,低地址存放數(shù)據(jù)的低字。
由于很多用MODBUS協(xié)議的儀表廠家都在以自己的方式來(lái)說(shuō)明儀表上的參數(shù)以及它對(duì)應(yīng)的寄存器地址,所以一部分廠家是以十六進(jìn)制來(lái)標(biāo)記寄存器地址,而另一部分廠家用十進(jìn)制。為了使用戶在工程里建立變量時(shí)方便的和儀表上的寄存器連接,世紀(jì)星分別在MODBUS-RTU和ASCII碼兩種通信方式下,支持十六進(jìn)制通道號(hào)和十進(jìn)制通道號(hào)兩種變量連接方式,因此,就免去了用戶做很多的十六進(jìn)制和十進(jìn)制之間轉(zhuǎn)換的工作。
在設(shè)備的說(shuō)明書(shū)中,一般會(huì)指定寄存器地址,數(shù)據(jù)類(lèi)型,該地址的寄存器支持的功能碼等要素,以MODBUS-RTU 十六進(jìn)制的驅(qū)動(dòng)為例,如果寄存器地址為0005H,數(shù)據(jù)類(lèi)型為兩個(gè)字節(jié)的整形,支持03H功能碼讀數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0005,變量類(lèi)型為I/O整數(shù),數(shù)據(jù)類(lèi)型可以分為有符號(hào)的INT或無(wú)符號(hào)的UINT 或者BCD碼,在進(jìn)行通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示:
主機(jī)發(fā)送:
從機(jī)返回:
由設(shè)備返回的命令,可以知道設(shè)備返回了兩個(gè)字節(jié)的有效數(shù)據(jù)(00 1A),則寄存器地址為0005H里的數(shù)據(jù)為001AH=26。
如果寄存器地址為0009H,數(shù)據(jù)類(lèi)型為兩個(gè)字節(jié)的整型,支持06H功能碼寫(xiě)數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0009,變量類(lèi)型為I/O整數(shù),數(shù)據(jù)類(lèi)型可以為有符號(hào)的INT或無(wú)符號(hào)的UINT 或者BCD碼,在通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示(寫(xiě)入數(shù)據(jù)258=0102H):
主機(jī)發(fā)送:
從機(jī)返回:
經(jīng)過(guò)發(fā)送上表中的命令,0102H便成功寫(xiě)入到寄存器地址為0009H號(hào)的寄存器中。
如果寄存器地址為0010H,數(shù)據(jù)類(lèi)型為四個(gè)字節(jié)的整型或浮點(diǎn)型,支持10H功能碼寫(xiě)數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0010,變量類(lèi)型為I/O實(shí)數(shù),數(shù)據(jù)類(lèi)型可以為有整型的LONG或浮點(diǎn)型的FLOAT,在通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示(寫(xiě)入數(shù)據(jù)258=0102H):
主機(jī)發(fā)送:
從機(jī)返回:
經(jīng)過(guò)發(fā)送上表中的命令,0102H便成功寫(xiě)入到寄存器地址為0010H號(hào)的寄存器中,0000H成功寫(xiě)入了寄存器地址為0011H號(hào)的寄存器中。
上述內(nèi)容就是在世紀(jì)星中根據(jù)設(shè)備說(shuō)明書(shū)連接保持寄存器的變量連接方式,以及通信的過(guò)程,其它的例如輸入寄存器,輸入線圈等都和保持寄存器是類(lèi)似的,通過(guò)特定的功能碼對(duì)特定地址的寄存器進(jìn)行讀寫(xiě)操作,這里就不一一介紹了。
小結(jié)
在平時(shí)用戶使用世紀(jì)星和支持MODBUS協(xié)議的儀表進(jìn)行通信的過(guò)程中,我們和客戶也有很多的交流,在多數(shù)情況下,世紀(jì)星都能很正常的和儀表進(jìn)行通信,但現(xiàn)在還是避免不了的一種情況是,有些用戶的儀表支持的并不是標(biāo)準(zhǔn)的MODBUS協(xié)議。
MODBUS是一種通用的協(xié)議,但就細(xì)節(jié)來(lái)說(shuō),很多廠家還是各有各的用法,這使我們認(rèn)識(shí)到了我們的MODBUS通信還是缺少一些靈活性,而我們一定會(huì)針對(duì)這種情況做一些改進(jìn)工作,力求更多的使用MODBUS協(xié)議的客戶能夠方便使用我們的軟件和儀表高效可靠的通信?蛻舻臐M意,永遠(yuǎn)是我們努力追求的目標(biāo)。標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06
推薦專(zhuān)題
更多>