技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 世紀(jì)星標(biāo)準(zhǔn)Modbus協(xié)議驅(qū)動(dòng)揭秘——設(shè)備初始化字設(shè)置技巧

世紀(jì)星標(biāo)準(zhǔn)Modbus協(xié)議驅(qū)動(dòng)揭秘——設(shè)備初始化字設(shè)置技巧

時(shí)間:2010-05-24 16:07:04來(lái)源:wuyue

導(dǎo)語(yǔ):?雖然Modbus有其標(biāo)準(zhǔn)的傳輸格式,但在一些細(xì)節(jié)方面,各個(gè)廠家所支持的Modbus協(xié)議還是有些差別。

   在前兩期的《世紀(jì)星月刊》中已經(jīng)詳細(xì)介紹了Modbus的基本概念和類(lèi)型,作為工業(yè)控制系統(tǒng)中的一種通用協(xié)議,為很多儀表廠家所使用。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。雖然Modbus有其標(biāo)準(zhǔn)的傳輸格式,但在一些細(xì)節(jié)方面,各個(gè)廠家所支持的Modbus協(xié)議還是有些差別。
      過(guò)去,在我們?yōu)榭蛻糇黾夹g(shù)支持時(shí)常會(huì)發(fā)生這樣的情況,由于儀表支持的Modbus協(xié)議與我們軟件所支持的有一些細(xì)微區(qū)別,就會(huì)導(dǎo)致世紀(jì)星讀出的數(shù)據(jù)與實(shí)際數(shù)據(jù)不符合。要解決這個(gè)問(wèn)題,就必須重新定制一個(gè)驅(qū)動(dòng)提供給客戶進(jìn)行更新,這樣一來(lái),對(duì)于客戶或者對(duì)于我們技術(shù)支持人員都會(huì)耽誤一定的時(shí)間,而且,某些客戶的現(xiàn)場(chǎng)沒(méi)有條件上網(wǎng)進(jìn)行驅(qū)動(dòng)更新,這樣就給客戶造成了更大的不便。
      為解決這一問(wèn)題,我們?cè)诳偨Y(jié)常遇問(wèn)題的基礎(chǔ)上,對(duì)世紀(jì)星中的Modbus驅(qū)動(dòng)進(jìn)行了改善,可以通過(guò)Modbus設(shè)備初始化字設(shè)置直接解決以下三個(gè)問(wèn)題:
  1)16位整數(shù)的字節(jié)順序的調(diào)整;
  2)32位整數(shù)(或?qū)崝?shù))字順序的調(diào)整;
  3)寫(xiě)單個(gè)寄存器時(shí)所使用功能碼的選擇。

      初始化字格式為(XXX),每個(gè)X的值為1或者為0,括號(hào)為半角符號(hào),當(dāng)初始化字設(shè)置為空時(shí),系統(tǒng)默認(rèn)為(000)。
      第一,16位整數(shù)的字節(jié)順序的調(diào)整:
      第一個(gè)X:值為0時(shí),表示16位整數(shù)傳送時(shí)高字節(jié)在前,低字節(jié)在后;值為1時(shí),表示16位整數(shù)傳送時(shí)低字節(jié)在前,高字節(jié)在后。
      例:設(shè)備傳送的16位整數(shù)(即兩個(gè)字節(jié)):12H 34H。當(dāng)X值為0時(shí),賦值給變量的數(shù)據(jù)為1234H(十進(jìn)制數(shù)為4660);當(dāng)X值為1時(shí),賦值給變量的數(shù)據(jù)為3412H(十進(jìn)制數(shù)為13330)。
      第二,32位整數(shù)(或?qū)崝?shù))字順序的調(diào)整:
      第二個(gè)X:值為0時(shí),表示32位數(shù)據(jù)低字在前,高字在后;值為1時(shí),表示32位數(shù)據(jù)高字在前,低字在后。當(dāng)讀取的數(shù)據(jù)為32位的長(zhǎng)整型或浮點(diǎn)數(shù)時(shí),要搭配第一個(gè)X和第二個(gè)X配置讀取數(shù)據(jù)的字節(jié)順序。


      以長(zhǎng)整型為例:
      設(shè)備傳送的32位整數(shù)(即四個(gè)字節(jié)):12H 34H 56H 78H。
      當(dāng)XX值為00時(shí),賦值給變量的數(shù)據(jù)為56781234H(十進(jìn)制數(shù)為1450709556);
      當(dāng)XX值為01時(shí),賦值給變量的數(shù)據(jù)為12345678H(十進(jìn)制數(shù)為305419896);
      當(dāng)XX值為10時(shí),賦值給變量的數(shù)據(jù)為78563412H(十進(jìn)制數(shù)為2018915346);
      當(dāng)XX值為11時(shí),賦值給變量的數(shù)據(jù)為34127856H(十進(jìn)制數(shù)為873625686)。
      第三,寫(xiě)單個(gè)寄存器時(shí)所使用功能碼的選擇:
      第三個(gè)X:X值為0時(shí),使用06(06H)號(hào)功能碼向設(shè)備寫(xiě)入單字整數(shù)數(shù)據(jù);X值為1時(shí),使用16(10H)號(hào)功能碼像設(shè)備寫(xiě)入單字整數(shù)數(shù)據(jù)。
      例如:上位機(jī)要將設(shè)備地址為2,寄存器地址為5的16位寄存器設(shè)置為18(12H):
      當(dāng)X值為0時(shí),上位機(jī)發(fā)送的命令為:02 06 00 05 00 12 19 F5;
      第一個(gè)字節(jié):02,表示設(shè)備地址;
      第二個(gè)字節(jié):06,為功能碼字節(jié),06號(hào)功能碼的作用為預(yù)置單個(gè)16位寄存器;
      第三第四個(gè)字節(jié):0005,表示的是上位機(jī)發(fā)送命令所預(yù)置的寄存器的地址;
      第五第六個(gè)字節(jié):0012H,表示上位機(jī)要將地址為5的16位寄存器設(shè)置為18(12H);
      第七第八個(gè)字節(jié):19 F5,為CRC校驗(yàn)字節(jié)。
      當(dāng)X值為1時(shí),上位機(jī)發(fā)送的命令為:02 10 00 05 00 01 02 00 12 70 D3。
      第一個(gè)字節(jié):02,表示設(shè)備地址;
      第二個(gè)字節(jié):10H(十進(jìn)制為16),為功能碼字節(jié);
      第三第四個(gè)字節(jié):0005,表示的是上位機(jī)發(fā)送命令所預(yù)置的多個(gè)寄存器的起始地址為0005H;
      第五第六個(gè)字節(jié):0001,表示上位機(jī)要進(jìn)行設(shè)置的寄存器個(gè)數(shù);
      第七個(gè)字節(jié):02,表示后面跟著的2個(gè)字節(jié)數(shù)據(jù)是要預(yù)置到指定寄存器中去的;
      緊跟在第七個(gè)字節(jié)后的兩個(gè)字節(jié)便是要預(yù)置到指定寄存器中的數(shù)據(jù)了;
      最后兩個(gè)字節(jié):9C08,為CRC校驗(yàn)字節(jié)。
      當(dāng)初始化字為空或者三個(gè)X值都為0時(shí),世紀(jì)星采用原版的Modbus驅(qū)動(dòng)解析數(shù)據(jù)的方式進(jìn)行存取數(shù)據(jù)。因此用戶在使用Modbus驅(qū)動(dòng)進(jìn)行通信時(shí),可以暫時(shí)不設(shè)置初始化字,當(dāng)取出的數(shù)據(jù)與實(shí)際的數(shù)據(jù)相差較大時(shí),再參考這篇文章進(jìn)行調(diào)試,或者可直接聯(lián)系我們世紀(jì)星的技術(shù)支持人員幫助您調(diào)試。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:PLC在成方機(jī)上的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(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é)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)