秋霞人成在线观看免费视频,欧美毛片一区二区三区福利,国产乱辈通伦影片在线播放亚洲,无码人妻精品中文字幕免费,无码人妻精品中文字幕免费

中自數(shù)字移動傳媒

您的位置:首頁 >> 產(chǎn)業(yè)動態(tài) >> 18個ModBus RTU常見問題答疑(附1164個三菱PLC應(yīng)用案例)

18個ModBus RTU常見問題答疑(附1164個三菱PLC應(yīng)用案例)

已有40485次閱讀2020-03-19標(biāo)簽:
        一、ModBus RTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?
 
        ModBus協(xié)議是應(yīng)用層報文傳輸協(xié)議(OSI模型第7層),它定義了一個與通信層無關(guān)的協(xié)議數(shù)據(jù)單元(PDU),即PDU=功能碼+數(shù)據(jù)域。
 
        ModBus協(xié)議能夠應(yīng)用在不同類型的總線或網(wǎng)絡(luò)。對應(yīng)不同的總線或網(wǎng)絡(luò),Modbus協(xié)議引入一些附加域映射成應(yīng)用數(shù)據(jù)單元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三種通信方式:
 
        1.以太網(wǎng),對應(yīng)的通信模式是MODBUSTCP。
 
        2.異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無線等),對應(yīng)的通信模式是MODBUSRTU或MODBUSASCII。
 
        3.高速令牌傳遞網(wǎng)絡(luò),對應(yīng)的通信模式是ModbusPLUS。
 
        二、關(guān)于ModBus RTU通訊協(xié)議的提問?
 
        ModBus主要由站地址(一個字節(jié))+功能碼(一個字節(jié))+首地址(兩個字節(jié))+訪問字?jǐn)?shù)(兩個字節(jié))+校驗碼(CRC16或LRC兩個字節(jié))總共8個字節(jié)組成。其實VB中編程很簡單從組建添加MSComm組建就行了,難的是校驗,
        
        三、ModBus、RTU、ModBus RTU分別是什么?
 
        ModBus協(xié)議是工控行業(yè)的標(biāo)準(zhǔn)協(xié)議,前身為莫迪康所寫,現(xiàn)已被施奈德收購。
 
        而ModBus分為兩種協(xié)議:即串口協(xié)議(ModBus rtu)和網(wǎng)口協(xié)議(ModBus tcp)協(xié)議,一般的工控機(jī)只支持rs232或者RS485的串口模式,這個時候工控機(jī)的協(xié)議棧里就只有modbusRTU協(xié)議,當(dāng)他從串口接收到數(shù)據(jù)時,會直接根據(jù)報文中的數(shù)據(jù)進(jìn)行控制,如果需要用modbusTCP協(xié)議進(jìn)行傳輸,則需要使用帶有網(wǎng)口的PLC。
 
        具體的幀格式如下:
 
        ModBus RTU 地址域功能碼數(shù)據(jù)差錯校驗
 
        ModBus TCP 目的地址協(xié)議id 長度單元號功能碼數(shù)據(jù)
 
        簡單的說 tcp是由RTU加工而來的,而RTU則是另外一種概念,不包含在ModBus協(xié)議內(nèi),是工控行業(yè)對監(jiān)控設(shè)備的簡稱。
 
        四、關(guān)于modbus_RTU協(xié)議主機(jī)發(fā)送的命令的一些問題
 
        01 讀保持線圈狀態(tài)(Read coilstatus)
 
        02 讀輸入線圈狀態(tài)(Readinput status)
 
        03 讀保持寄存器(Readholding register)
 
        04 讀輸入寄存器(Readinput register)
 
        05 寫單個線圈(Forcesingle coil)
 
        06 寫單個寄存器(Presetsingle register)
 
        15 寫多個線圈(Forcemultiple coils)
 
        16 寫多個寄存器(Presetmultiple registers)
 
        這些都是什么意思
 
        答:01 讀取邏輯線圈組狀態(tài)
 
        02 讀取離散量線圈組狀態(tài)
 
        03 讀取一個或多個保持寄存器的二進(jìn)制值
 
        04 讀取一個或多個輸入寄存器的二進(jìn)制值
 
        05 改變邏輯線圈狀態(tài)
 
        06 改變單個寄存器的二進(jìn)制值
 
        15 改變多個寄存器的二進(jìn)制值
 
        16 指定多個操持寄存器的二進(jìn)制值
 
        五、OPC轉(zhuǎn)modbusRTU方式我現(xiàn)在有一個OPC服務(wù)器,里面很多tag,tag是AB里出來的,怎么將tag連到ModBus?
 
        Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通訊協(xié)議,這個是各廠商的硬件屬性一樣.只是現(xiàn)在計算機(jī)組態(tài)軟件都支持很多種協(xié)議的PLC.你理解反了。
 
        Profibus、Fielbus、Modbus、CC-link這些協(xié)議,是一種通訊協(xié)議,一般不需要你去編程,就好象你使用計算機(jī),你不需要編寫IP協(xié)議一樣,只是要遵循它。
 
        遵循的意思就是,你必須按照該廠家所支持的協(xié)議在PLC或者DCS硬件組態(tài)的時候按照該通訊協(xié)議設(shè)置硬件.其實這個很簡單.這里簡單指的是,你學(xué)編程,重點是編寫執(zhí)行控制的動作的程序,硬件通訊協(xié)議不需要你自己動手寫。
 
        六、什么是ModBus RTU master?
 
        就是選RTU模式,因為MODBUS分為ASCII模式和RTU模式,MASER就是設(shè)置為主站,一般為PLC端,變頻器設(shè)為從站,還要注意主站和從站地址的設(shè)置。
 
        七、ModBus RTU 為什么沒有開始和結(jié)束標(biāo)記?
 
        由于Modbusrtu幀的每個字節(jié)是16進(jìn)制數(shù),數(shù)值范圍在00~FF,若像ModbusASCII那樣用02、03表示開始和結(jié)束標(biāo)記,則與數(shù)值2、3發(fā)生沖突,無法判斷其是標(biāo)記還是數(shù)值,無法數(shù)據(jù)解包。
 
        八、ModBus tcp 到RTU的轉(zhuǎn)換?
 
        請仔細(xì)查看幀格式:
 
        modbusRTU 地址域功能碼數(shù)據(jù)差錯校驗
 
        modbusTCP 目的地址協(xié)議id 長度單元號功能碼數(shù)據(jù)
 
        寫一個TCP轉(zhuǎn)RTU的程序放到設(shè)備里做modbus網(wǎng)橋即可
 
        九、ModBus RTU通訊線被燒?
 
        用萬用表量一下出來的通訊線,電壓不超過5V應(yīng)該沒問題,一般不會燒東西,接的時候區(qū)分正和負(fù)。很多產(chǎn)品B是正,量一下看看。
 
        十、觸摸屏ModBus RTU怎么設(shè)置?
 
        一般是通過宏指令自己編程實現(xiàn),當(dāng)然也有支持RTU的,在通訊類型菜單
 
        十一、MODBUS RTU協(xié)議中浮點數(shù)是如何存儲,讀到浮點數(shù)寄存器的數(shù)值如何轉(zhuǎn)換成所需的浮點數(shù)?
 
        浮點數(shù)保存的字節(jié)格式如下:
 
        地址 +0 +1 +2 +3
 
        內(nèi)容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
 
        這里S 代表符號位,1是負(fù),0是正
 
        E 偏移127的冪,二進(jìn)制階碼=(EEEEEEEE)-127。
 
        M24位的尾數(shù)保存在23位中,只存儲23位,最高位固定為1。此方法用最較少的位數(shù)實現(xiàn)了較高的有效位數(shù),提高了精度。零是一個特定值,冪是0尾數(shù)也是0。
 
        浮點數(shù)-12.5作為一個十六進(jìn)制數(shù)0xC1480000保存在存儲區(qū)中,這個值如下:
 
        地址 +0 +1 +2 +3
 
        內(nèi)容0xC1 0x48 0x00 0x00
 
        浮點數(shù)和十六進(jìn)制等效保存值之間的轉(zhuǎn)換相當(dāng)簡單。下面的例子說明上面的值-12.5如何轉(zhuǎn)換。浮點保存值不是一個直接的格式,要轉(zhuǎn)換為一個浮點數(shù),位必須按上面的浮點數(shù)保存格式表所列的那樣分開
 
        例如:
 
        地址 +0 +1 +2 +3
 
        格式 SEEEEEEE EMMM MMMM MMMM MMMM MMMM MMMM
 
        二進(jìn)制11000001 01001000 00000000 00000000
 
        十六進(jìn)制 C1 48 00 00
 
        從這個例子可以得到下面的信息:
 
        符號位是1 表示一個負(fù)數(shù) 冪是二進(jìn)制10000010或十進(jìn)制130,130減去127是3,就是實際的冪。
 
        尾數(shù)是后面的二進(jìn)制數(shù)10010000000000000000000
 
        在尾數(shù)的左邊有一個省略的小數(shù)點和1,這個1在浮點數(shù)的保存中經(jīng)常省略,加上一個1和小數(shù)點到尾數(shù)的開頭,得到尾數(shù)值如下:
 
        1.10010000000000000000000
 
        接著,根據(jù)指數(shù)調(diào)整尾數(shù).一個負(fù)的指數(shù)向左移動小數(shù)點.一個正的指數(shù)向右移動小數(shù)點.因為指數(shù)是3,尾數(shù)調(diào)整如下:
 
        1100.10000000000000000000
 
        結(jié)果是一個二進(jìn)制浮點數(shù),小數(shù)點左邊的二進(jìn)制數(shù)代表所處位置的2的冪
 
        例如:1100表示
 
        (1*2^3)+(1*2^2)+(0*2^1)+(0*2^0)=12。
 
        小數(shù)點的右邊也代表所處位置的2的冪,只是冪是負(fù)的。
 
        例如:.100...表示(1*2^(-1))+(0*2^(-2))+(0*2^(-2))...=0.5。
 
        這些值的和是12.5。因為設(shè)置的符號位表示這數(shù)是負(fù)的,因此十六進(jìn)制值0xC1480000表示-12.5。
 
        十二、RS-485的設(shè)備,遵守MODBUS-RTU協(xié)議。怎樣用的電腦讀取信息?
 
        用電腦的串口,接個485轉(zhuǎn)換器,接到設(shè)備的485接口,再找個串口軟件,根據(jù)設(shè)備資料上的寄存器地址發(fā)送modbus報文,modbus報文通過串口軟件發(fā)送啊,報文格式:0103 00 00 00 01 840A 讀寄存器命令。
 
        十三、vbmodbus給modScan32rtu發(fā)送數(shù)據(jù)應(yīng)該怎么寫?
 
        確定兩個軟件哪個是主,哪個是從。然后再確定通訊協(xié)議是RTU、ASCII還是TCP。如果是TCP,就用socket控件。RTU\ASCII就用COM控件。然后給對應(yīng)的口按照協(xié)議收發(fā)數(shù)并解析就可以了。
 
        十四、ModBus RTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?
 
        modbus 協(xié)議包括了MODBUSRTU
 
        十五、ModBus RTU通訊協(xié)議如何判斷超時?
 
        設(shè)置一個標(biāo)志量用來表示是否超時;再用一個定時器,定時時長為發(fā)送3.5個字符的時間(當(dāng)然為了保險時間可以長一些);在定時器中置超時標(biāo)志;在串口中斷中每收到一個字節(jié)時定時器清零;主程序中根據(jù)超時標(biāo)志做相應(yīng)處理。
 
        十六、如何理解MODBUS協(xié)議RTU模式中的1.5和3.5字符間隔?
 
        發(fā)送兩幀數(shù)據(jù)之間要有一定的時間間隔,以保證接收方UART能夠區(qū)分。這個時間間隔在MODBUSRTU模式中要求是1.5和3.5字符間隔,也即是傳輸1.5和3.5個字符的時間,它與設(shè)置的通信參數(shù)有關(guān),計算為:
 
        若串口通信參數(shù)設(shè)置為(注:開始位固定為1):數(shù)據(jù)位8,奇偶校驗位1,停止位1,波特率9600bps,則傳輸一個字符(即1個字節(jié))的時間為:(1+8+1+1)/9600=0.00114583s=1.1454583ms
 
        1.5字符間隔=1.5x1.1454583ms=1.71818745ms
 
        3.5字符間隔=3.5x1.1454583ms=4.00910405ms
 
        十七、ModBus RTU測試軟件?
 
        推薦:modscan32 還有最新得mobus poll
        
        十八、ModBus RTU協(xié)議,上位機(jī)與儀表通信,讀寫數(shù)據(jù)都正確,為什么儀表掉電,寫入的參數(shù)又丟失了?怎么保存?
 
        兩種可能:
 
        1.如果在儀表上設(shè)置參數(shù)掉電后都保存不了的話,基本可以確定是儀表問題;
 
        2.有些儀表寫入?yún)?shù)后還需要向固定的寄存器寫入確認(rèn)參數(shù),為了保證寫入?yún)?shù)真確,需要檢查儀表通信部分說明書。
分享到:

[ 新聞搜索 ]  [ ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ]  [ 返回頂部 ]

移動互聯(lián)

2010年,中國移動互聯(lián)網(wǎng)用戶規(guī)模達(dá)到3.03億人2011年,中國移動互聯(lián)網(wǎng)行業(yè)進(jìn)入了更加快速發(fā)展的一年,無論是用戶規(guī)模還是手機(jī)應(yīng)用下載次數(shù)都有了快速的增長。在移動互聯(lián)網(wǎng)發(fā)展的大的趨勢下,中自傳媒已經(jīng)開始進(jìn)行區(qū)別于傳統(tǒng)互聯(lián)網(wǎng)的運營模式探索,伴隨著產(chǎn)業(yè)鏈和產(chǎn)業(yè)格局的變化提供創(chuàng)新的服務(wù)

更多>>推薦視頻

工業(yè)轉(zhuǎn)型升級-中國電器工業(yè)協(xié)會電力電子分會 秘書長 肖向鋒

工業(yè)轉(zhuǎn)型升級-中國電器工業(yè)協(xié)會

在本次2012北京國際工業(yè)自動化展上,我們將全面剖析在新...
中國高壓變頻器產(chǎn)業(yè)發(fā)展之路——走過十三年 李玉琢

中國高壓變頻器產(chǎn)業(yè)發(fā)展之路——

中國高壓變頻器產(chǎn)業(yè)發(fā)展之路走過十三年 李玉琢
從企業(yè)家角度 談行業(yè)的未來發(fā)展——匯川技術(shù)股份有限公司

從企業(yè)家角度 談行業(yè)的未來發(fā)展

從企業(yè)家角度 談行業(yè)的未來發(fā)展匯川技術(shù)股份有限公司
現(xiàn)代能源變換的核心技術(shù)——電力電子 李崇堅

現(xiàn)代能源變換的核心技術(shù)——電力

中國電工技術(shù)學(xué)會常務(wù)理事---李崇堅,電力電子是先進(jìn)能源...
打造專業(yè)電力電子元器件品牌 助力變頻器產(chǎn)業(yè)發(fā)展

打造專業(yè)電力電子元器件品牌 助

聯(lián)合主辦單位深圳市智勝新電子有限公司領(lǐng)導(dǎo)嘉賓致辭 7月...