<nobr id="zkazv"></nobr>

      午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
      首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
       首頁(yè) | 公司簡(jiǎn)介 | 聯(lián)系方式 | 公司動(dòng)態(tài) | 產(chǎn)品 | 供應(yīng) | 應(yīng)用實(shí)例 | 下載 | 文摘 | 誠(chéng)聘 | 論壇
      世紀(jì)星標(biāo)準(zhǔn)Modbus協(xié)議驅(qū)動(dòng)揭秘(一)

      北京世紀(jì)長(zhǎng)秋科技有限公司
      收藏本文     查看收藏

        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ù),是一種問(wèn)答方式的通信協(xié)議。每次通信均由主機(jī)發(fā)出數(shù)據(jù)請(qǐng)求信息,從機(jī)接收到正確消息后就可以發(fā)送數(shù)據(jù)到主機(jī)以響應(yīng)請(qǐng)求;主機(jī)也可以直接發(fā)信息修改從機(jī)的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫。  在具體介紹Modbus協(xié)議之前,先向大家簡(jiǎn)單介紹一下設(shè)備中的數(shù)據(jù)如何存儲(chǔ)。我們常把設(shè)備中存儲(chǔ)數(shù)據(jù)的單元稱為寄存器,按照存儲(chǔ)數(shù)據(jù)的類型可以分為位寄存器和16位寄存器兩種,如圖1所示:

      世紀(jì)星組態(tài)軟件

      圖1

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

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

      世紀(jì)星組態(tài)軟件
      表1

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

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

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

        2)寫單個(gè)16位寄存器
        上位機(jī)發(fā)送命令:02 06 00 05 00 12 19 F5
        設(shè)備返回的數(shù)據(jù):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位寄存器預(yù)置為12H(十進(jìn)制為18)。
        第七第八個(gè)字節(jié):19 F5,為CRC校驗(yàn)字節(jié)。
        設(shè)備正常返回時(shí),返回的數(shù)據(jù)與上位機(jī)發(fā)送的命令完全一致。

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

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


       

      狀 態(tài): 離線

      公司簡(jiǎn)介
      產(chǎn)品目錄

      公司名稱: 北京世紀(jì)長(zhǎng)秋科技有限公司
      聯(lián) 系 人: 徐向農(nóng)
      電  話: 010-84645656
      傳  真: 010-84646515
      地  址: 北京市朝陽(yáng)區(qū)惠新東街8號(hào)設(shè)計(jì)大廈14層
      郵  編: 100029
      主  頁(yè):
       
      北京世紀(jì)長(zhǎng)秋相關(guān)文摘:
      世紀(jì)星油庫(kù)進(jìn)出油量監(jiān)測(cè)方案
      《世紀(jì)星組態(tài)軟件》的獨(dú)特功能
      世紀(jì)星:罐區(qū)安全 全面監(jiān)控
      世紀(jì)星實(shí)現(xiàn)彈簧按鈕功能升級(jí)
      世紀(jì)星控件DBComm:小塊兒有大“智慧”——DBComm.OCX控件 實(shí)現(xiàn)PID控制
      世紀(jì)星組態(tài)軟件完美的時(shí)間轉(zhuǎn)換函數(shù):DateTimeConvert
      世紀(jì)星組態(tài)軟件強(qiáng)大的數(shù)據(jù)庫(kù)查詢函數(shù)
      建立完美通信:世紀(jì)星與西門子S7-200以太網(wǎng)
      怎樣通過(guò)OPC Client與世紀(jì)星交互
      世紀(jì)星與硬件設(shè)備的連接秘笈
      世紀(jì)星組態(tài)軟件新技術(shù):短息報(bào)警功能
      世紀(jì)星組態(tài)軟件的數(shù)據(jù)存儲(chǔ)策略
      更多北京世紀(jì)長(zhǎng)秋文摘...
      通過(guò)中華工控網(wǎng)在線留言北京世紀(jì)長(zhǎng)秋科技有限公司:
      用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
      請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)
       
      中華工控網(wǎng) GKong.com制作發(fā)布 廣告聯(lián)系
      主站蜘蛛池模板: 美腿丝袜亚洲综合第一页| 麻花传媒免费网站在线观看| 99久久无码私人网站| 中文字幕久久六月色综合| 精品国产熟女一区二区三区| 欧美xxxxhd高清| 99中文字幕精品国产| 亚洲高潮喷水无码AV电影| 国产精品久久露脸蜜臀| 国产中文三级全黄| 日本欧美大码a在线观看| 九九热免费在线视频观看| 国产91精品一区二区麻豆| 久久精品亚洲精品国产色婷| 国产精品黄在线观看免费| 亚洲国产精品高清线久久| 精品少妇无码一区二区三批| 久久精品午夜视频| 久久亚洲av成人无码软件| 无码内射中文字幕岛国片| 欧洲精品久久久AV无码电影| 熟妇啊轻点灬大JI巴太粗| 天堂V亚洲国产V第一次| 人妻少妇精品视频专区| 亚洲中文久久久精品无码| 日韩国产中文字幕精品| 亚洲精国产一区二区三区| 18禁国产一区二区三区| 开心五月激情综合久久爱| 国产激情一区二区三区不卡| 自拍偷在线精品自拍偷99| 国产蜜臀在线一区二区三区| 久草热大美女黄色片免费看| 亚洲一区二区不卡av| 黄色一级片一区二区三区| 日韩美女亚洲性一区二区| 亚洲肥熟女一区二区三区| 天堂在线精品亚洲综合网| 久久三级国内外久久三级| 亚洲自在精品网久久一区| 日韩中文日韩中文字幕亚|