日本福利一区_最近中文高清在线观看_免费黄色电影在线观看_亚洲天堂成人在线 - 91人人

用戶中心
· 企業(yè)空間 首頁 | 資訊 | 技術(shù) | 產(chǎn)品 | 企業(yè) | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
北京世紀(jì)長秋科技有限公司
企業(yè)空間 > 案例應(yīng)用 > 正文
  • 世紀(jì)星標(biāo)準(zhǔn)Modbus協(xié)議驅(qū)動揭秘(一)
  • 發(fā)布時間:2010/11/3 13:39:58   修改時間:2010/11/3 13:39:58 瀏覽次數(shù):2064
  •   MODBUS協(xié)議是莫迪康公司1978年發(fā)明用于電子控制器進(jìn)行控制和通信的協(xié)議。不同廠商生產(chǎn)的符合MODBUS協(xié)議的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。MODBUS協(xié)議采用主從(master-slave)技術(shù),是一種問答方式的通信協(xié)議。每次通信均由主機發(fā)出數(shù)據(jù)請求信息,從機接收到正確消息后就可以發(fā)送數(shù)據(jù)到主機以響應(yīng)請求;主機也可以直接發(fā)信息修改從機的數(shù)據(jù),實現(xiàn)雙向讀寫。  在具體介紹Modbus協(xié)議之前,先向大家簡單介紹一下設(shè)備中的數(shù)據(jù)如何存儲。我們常把設(shè)備中存儲數(shù)據(jù)的單元稱為寄存器,按照存儲數(shù)據(jù)的類型可以分為位寄存器和16位寄存器兩種,如圖1所示:

     


    圖1

      位寄存器的容量為1位,16位寄存器的容量為16位,每一個存儲數(shù)據(jù)的寄存器都有一個對應(yīng)的寄存器地址,Modbus協(xié)議就是根據(jù)寄存器地址來查詢數(shù)據(jù)或者設(shè)置數(shù)據(jù)到特定的寄存器中。如圖1所示,位寄存器用來存儲離散值,即開關(guān)量;16位寄存器用來存儲16位整數(shù),16位寄存器里的數(shù)據(jù)既可以獨立表示一個16位整數(shù),也可以用兩個連續(xù)的16位寄存器表示32位整型或?qū)嵭偷臄?shù)據(jù),低地址存放低16位,高地址存放高16位。
      接下來詳細(xì)介紹Modbus協(xié)議。Modbus協(xié)議分為三種通信方式:Modbus RTU、Modbus ASCII以及Modbus TCP。
      首先,Modbus TCP的通信格式和Modbus RTU非常相似,唯一的差別只是Modbus RTU最后帶兩個字節(jié)的CRC校驗,而Modbus TCP沒有。
      其次,Modbus ASCII的通信格式與Modbus RTU其實“神合貌離”,就是把Modbus RTU的每一個字節(jié)(例如:27H)高四位(2)和低四位(7)拆分為兩個字節(jié),并以ASCII碼的方式表現(xiàn)出來(32 37),再給命令幀分別加上起始符和結(jié)束符便可以,當(dāng)然Modbus RTU和Modbus ASCII的校驗的方式不同,這里暫不詳述,所以同一條命令用Modbus RTU方式和Modbus ASCII方式表現(xiàn)出來,雖然在命令長度的上有很大的區(qū)別,但其實際表達(dá)的意思卻是一樣。
      下面就以Modbus RTU為例,詳細(xì)表述世紀(jì)星組態(tài)軟件是如何讀取設(shè)備中的數(shù)據(jù),并且將數(shù)據(jù)設(shè)置到設(shè)備中。

     

    1.讀數(shù)據(jù)
      上位機發(fā)送命令:02 03 00 05 00 02 D4 39
      設(shè)備返回的數(shù)據(jù):02 03 04 20 08 20 10 49 3D
      之前沒有接觸過Modbus RTU協(xié)議的朋友們看了上面列出的數(shù)據(jù),會稍有不解,這里為大家詳細(xì)解釋一下。
      1)發(fā)送的命令:
      第一個字節(jié):02,它表示的是設(shè)備地址。在同一條485總線上,可能會接多個設(shè)備,而這個設(shè)備地址就相當(dāng)于每一個設(shè)備的標(biāo)識,繼而決定每一個設(shè)備的設(shè)備地址在同一條總線上必須是唯一。
      第二個字節(jié):03,這個字節(jié)是功能碼字節(jié),作用就是告訴設(shè)備,上位機想要讀取的是什么樣的數(shù)據(jù),世紀(jì)星組態(tài)軟件支持的讀數(shù)據(jù)的功能碼有:01H、02H、03H和04H,具體含義請參照表1。

     


    表1

      第三第四個字節(jié):00 05,表示的是一個寄存器地址,它告訴設(shè)備上位機想要讀取的數(shù)據(jù),是從寄存器地址5開始的一個或多個寄存器里的數(shù)據(jù)。
      第五第六個字節(jié):00 02,表示的是讀取寄存器的個數(shù),結(jié)合第三第四個字節(jié),就是告訴設(shè)備,上位機想要讀取的數(shù)據(jù)是從寄存器地址5開始的2個寄存器里的數(shù)據(jù),即寄存器地址為5和6的寄存器里的數(shù)據(jù)。
      第七第八個字節(jié):D4 39,是CRC校驗碼,不論是讀數(shù)據(jù)還是設(shè)置數(shù)據(jù),發(fā)送和返回命令里的最后兩個字節(jié)都是CRC校驗碼,具體的計算方法這里暫不詳述。

      2)返回的數(shù)據(jù):
      第一個字節(jié):02,表示設(shè)備地址,作用同發(fā)送命令中第一個字節(jié)02。
      第二個字節(jié):03,表示功能碼,作用同發(fā)送命令中第二個字節(jié)03。
      第三個字節(jié):04,表示返回有效數(shù)據(jù)的字節(jié)個數(shù),這里要說明一下的是對于位寄存器(包括表1中的線圈狀態(tài)和輸入狀態(tài)),每一個寄存器的容量只有一位,如果上位機發(fā)送的命令中要求連續(xù)讀8個位寄存器(即發(fā)送命令中的第五第六個字節(jié)為00 08),設(shè)備返回的數(shù)據(jù)中的第三個字節(jié)只為1,因為一個字節(jié)的容量為8位,可以表示8個位寄存器的狀態(tài)。而對于表1中的保持寄存器和輸入寄存器,每一個寄存器的容量為16位,它可以表示一個16位的整型數(shù)據(jù),或者一個32位整型或?qū)嵭蛿?shù)據(jù)的高16位或低16位。所以設(shè)備回傳一個保持寄存器或輸入寄存器的數(shù)據(jù)需要兩個字節(jié),這就解釋了發(fā)送命令中要求讀取2個保持寄存器的數(shù)據(jù),設(shè)備返回的有效數(shù)據(jù)為4個字節(jié)。
      緊跟在第三個字節(jié)后面的4個字節(jié)的數(shù)據(jù)便是設(shè)備返回的有效數(shù)據(jù),結(jié)合發(fā)送的命令,我們可知在寄存器地址為0005H的寄存器中存儲的數(shù)據(jù)為2008H(十進(jìn)制為8200),寄存器地址為0006H的寄存器中存儲的數(shù)據(jù)為2010H(十進(jìn)制為8208)。
      第八第九個字節(jié):49 3D,是CRC校驗碼。

     

    2. 寫數(shù)據(jù)
      1)寫位寄存器
      上位機發(fā)送命令:02 05 00 05 FF 00 9C 08
      設(shè)備返回的數(shù)據(jù):02 05 00 05 FF 00 9C 08
      第一個字節(jié):02,表示設(shè)備地址,這里就不做重復(fù)介紹。
      第二個字節(jié):05,為功能碼字節(jié),05號功能碼的作用為強置一個位寄存器的0/1(ON/OFF)狀態(tài)。
      第三第四個字節(jié):0005,表示的是上位機發(fā)送命令所強置的寄存器的地址。
      第五第六個字節(jié):FF00H,表示上位機要將地址為5的位寄存器強置為1,當(dāng)強置為0時,第五第六個字節(jié)為:00 00。
      第七第八個字節(jié):9C 08,為CRC校驗字節(jié)。
      設(shè)備正常返回時,返回的數(shù)據(jù)與上位機發(fā)送的命令是完全一致的。

      2)寫單個16位寄存器
      上位機發(fā)送命令:02 06 00 05 00 12 19 F5
      設(shè)備返回的數(shù)據(jù):02 06 00 05 00 12 19 F5
      第一個字節(jié):02,表示設(shè)備地址。
      第二個字節(jié):06,為功能碼字節(jié),06號功能碼的作用為預(yù)置單個16位寄存器。
      第三第四個字節(jié):0005,表示的是上位機發(fā)送命令所預(yù)置的寄存器的地址。
      第五第六個字節(jié):0012H,表示上位機要將地址為5的16位寄存器預(yù)置為12H(十進(jìn)制為18)。
      第七第八個字節(jié):19 F5,為CRC校驗字節(jié)。
      設(shè)備正常返回時,返回的數(shù)據(jù)與上位機發(fā)送的命令完全一致。

      3)寫多個16位寄存器
      上位機發(fā)送命令:02 10 00 06 00 02 04 01 02 00 00 DC FD
      設(shè)備返回的數(shù)據(jù):02 10 00 06 00 04 21 F8
      發(fā)送的命令:
      第一個字節(jié):02,表示設(shè)備地址。
      第二個字節(jié):10H(十進(jìn)制為16),為功能碼字節(jié),10H號功能碼的作用為預(yù)置多個16位寄存器。
      第三第四個字節(jié):0006,表示的是上位機發(fā)送命令所預(yù)置的多個寄存器的起始地址為0006H。
      第五第六個字節(jié):0002,表示上位機要連續(xù)預(yù)置連續(xù)的兩個寄存器。
      第七個字節(jié):04,表示后面跟著的4個字節(jié)數(shù)據(jù)是要預(yù)置到指定寄存器中去的。
      緊跟在第七個字節(jié)后的四個字節(jié)便是要預(yù)置到指定寄存器中的數(shù)據(jù),結(jié)合前面的信息,我們知道這條命令是要將0102H(十進(jìn)制為258)預(yù)置到地址為6的寄存器中,0000H預(yù)置到地址為7的寄存器中。
      最后兩個字節(jié):9C08,為CRC校驗字節(jié)。
      返回的數(shù)據(jù):
      第一個字節(jié):02,表示設(shè)備地址。
      第二個字節(jié):10H(十進(jìn)制為16),為功能碼字節(jié)。
      第三第四個字節(jié):0006,表示的是上位機發(fā)送命令所預(yù)置的多個寄存器的起始地址位0006H。
      第五第六個字節(jié):0004,表示上位機預(yù)置了連續(xù)的兩個寄存器即4個字節(jié)的有效數(shù)據(jù)。
      第七第八個字節(jié):19 F5,為CRC校驗字節(jié)。
      無論是強制位寄存器還是預(yù)置16位寄存器,設(shè)備返回數(shù)據(jù)的作用僅僅是告訴上位機數(shù)據(jù)已經(jīng)成功設(shè)置到設(shè)備寄存器中了。

      關(guān)于Modbus RTU協(xié)議格式的暫時介紹到這里,希望這篇文章可以讓對通信協(xié)議不了解甚至沒有接觸過Modbus協(xié)議的朋友們對Modbus有初步的認(rèn)識。在下一期的《世紀(jì)星月刊》中,我會繼續(xù)介紹世紀(jì)星組態(tài)軟件對Modbus 協(xié)議的支持情況,希望會對世紀(jì)星的廣大用戶有所幫助。

  • 企業(yè)介紹
北京世紀(jì)長秋科技有限公司是從事工業(yè)自動化軟件研發(fā)的高新技術(shù)企業(yè),提供軟件開發(fā)、銷售、服務(wù)及工業(yè)自動化系統(tǒng)集成等整套服務(wù),以創(chuàng)新為本的理念,為用戶提供量身定做的解決方案。 我們的團隊由充滿創(chuàng)新活力、綜合素質(zhì)高的業(yè)內(nèi)精英組成,擁有經(jīng)…  更多>>
  • 產(chǎn)品分類
  • 聯(lián)系方式

北京世紀(jì)長秋科技有限公司

聯(lián)系人:徐向農(nóng)

地址:北京市順義區(qū)空港工業(yè)區(qū)B區(qū)裕東路7號

郵編:100029

電話:010-84645656

傳真:010-84646515

公司網(wǎng)址:http://www.chncla.com

  • 該空間手機版

掃描此二維碼即可訪問該空間手機版

  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點擊這里注冊.
  • 網(wǎng)友反饋
  • 王工 在2023/10/17 10:43:00留言
  • 留言類型:得到貴公司產(chǎn)品的價格信息,
  • 詳細(xì)留言:買軟件,系統(tǒng)一些的東西,聯(lián)系您這邊一直聯(lián)系不上
  • 鄭文瑞 在2022/8/8 13:14:00留言
  • 留言類型:得到貴公司產(chǎn)品的價格信息,貴公司產(chǎn)品銷售人員聯(lián)系我,
  • 詳細(xì)留言:需要組態(tài)軟件
  • 崔文濤 在2022/4/14 14:14:00留言
  • 留言類型:我想得到貴公司產(chǎn)品的價格信息,
  • 詳細(xì)留言:得到貴公司產(chǎn)品詳細(xì)資料,得到貴公司產(chǎn)品的價格信息,
  • 馬成亮 在2021/5/23 10:32:00留言
  • 留言類型:得到貴公司產(chǎn)品詳細(xì)資料,得到貴公司產(chǎn)品的價格信息,
  • 詳細(xì)留言:組態(tài)軟件
  • 方雪峰 在2021/4/13 16:22:00留言
  • 留言類型:得到貴公司產(chǎn)品詳細(xì)資料,
  • 詳細(xì)留言:我是一名大四學(xué)生,無機非金屬材料專業(yè),畢業(yè)設(shè)計為混凝土攪拌站的設(shè)計 希望貴公司能提供一些生產(chǎn)資料進(jìn)行學(xué)習(xí)借鑒,祝貴公司生意興隆
更多請進(jìn)入空間管理中心查看
關(guān)于我們 | 網(wǎng)站地圖 | 聯(lián)系我們
© 2003-2018    經(jīng)營許可編號:京ICP證120335號
公安機關(guān)備案號:110102002318  服務(wù)熱線:010-82053688
我要反饋