<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> PLC基礎(chǔ)入門教程 >> 正文

      modbus協(xié)議實(shí)例講解,功能碼和報(bào)文詳解

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2023/3/31

      本文以綜科智控品牌的IO控制器為例,直接以實(shí)際例子講解modbus協(xié)議

      目錄

      一、MODBUS協(xié)議簡介4

      1.什么是MODBUS協(xié)議4

      2.MODBUS協(xié)議格式5

      2.1MODBUS-RTU報(bào)文模型(用于串口通訊)5

      2.2MODBUS-TCP報(bào)文模型(用于網(wǎng)絡(luò)TCP/IP通信)5

      3.MODBUS的功能碼及寄存器介紹5

      3.1功能碼5

      3.2寄存器分類說明6

      3.3寄存器地址說明6

      二、MODBUS-RTU協(xié)議詳解7

      1.X輸入口開關(guān)量狀態(tài)讀取 (讀取:DI寄存器,命令號:0x02)7

      2.X輸入口脈沖計(jì)數(shù)讀取 (讀取:AI寄存器,命令號:0x04)9

      3.X輸入口脈沖計(jì)數(shù)清空 (寫入:DO寄存器,命令號:0x0F)12

      4.Y輸出口ON/OFF寫入 (寫入:DO寄存器,命令號:0x0F)14

      5.Y輸出口ON/OFF讀取 (讀取:DO寄存器,命令號:0x01)16

      6.AI模擬量采集讀取(讀取:AI寄存器,命令號:0x04)18

      7.AO模擬量輸出寫入(寫入:AO寄存器,命令號:0x10)20

      8.AO模擬量輸出讀取(讀取:AO寄存器,命令號:0x03)22

      三、MODBUS-TCP協(xié)議詳解24

      1.X輸入口開關(guān)量狀態(tài)讀取 (讀取:DI寄存器,命令號:0x02)24

      2.X輸入口脈沖計(jì)數(shù)讀取 (讀取:AI寄存器,命令號:0x04)27

      3.X輸入口脈沖計(jì)數(shù)清空 (寫入:DO寄存器,命令號:0x0F)30

      4.Y輸出口ON/OFF寫入 (寫入:DO寄存器,命令號:0x0F)33

      5.Y輸出口ON/OFF讀取 (讀取:DO寄存器,命令號:0x01)36

      6.AI模擬量采集讀取(讀取:AI寄存器,命令號:0x04)39

      7.AO模擬量輸出寫入(寫入:AO寄存器,命令號:0x10)42

      8.AO模擬量輸出讀取(讀取:AO寄存器,命令號:0x03)45

      MODBUS協(xié)議簡介

      什么是MODBUS協(xié)議

      Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議,按其格式可分為MODBUS-RTU,MODBUS-ASCII,MODBUS-TCP,其中前兩者適用于串行通信控制網(wǎng)絡(luò)中,例如RS485,RS232等,而MODBUS-TCP主要應(yīng)用于基于以太網(wǎng)TCP/IP通信的控制網(wǎng)絡(luò)中。

      通過此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設(shè)備主動查詢和操作從設(shè)備。一般將主控設(shè)備方所使用的協(xié)議稱為Modbus Master,從設(shè)備方使用的協(xié)議稱為Modbus Slave。典型的主設(shè)備包括工控機(jī)和工業(yè)控制器等;典型的從設(shè)備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網(wǎng)口。其通信遵循以下的過程:

        ● 主設(shè)備向從設(shè)備發(fā)送請求

        ● 從設(shè)備分析并處理主設(shè)備的請求,然后向主設(shè)備發(fā)送結(jié)果

        ● 如果出現(xiàn)任何差錯,從設(shè)備將返回一個異常功能碼

        Modbus協(xié)議具有以下幾個特點(diǎn):

        (1)標(biāo)準(zhǔn)、開放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會侵犯知識產(chǎn)權(quán)。

        (2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。

        (3)Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發(fā)簡單。

      MODBUS-RTU報(bào)文模型(用于串口通訊)

      設(shè)備地址

      功能碼

      數(shù)據(jù)

      CRC校驗(yàn)L

      CRC校驗(yàn)H

      1BYTE

      1BYTE

      N*BYTE

      1BYTE

      1BYTE

      MODBUS-TCP報(bào)文模型(用于網(wǎng)絡(luò)TCP/IP通信)

      傳輸標(biāo)識符TID

      協(xié)議標(biāo)識符PID

      后面要傳輸?shù)淖止?jié)數(shù)

      設(shè)備地址

      功能碼

      數(shù)據(jù)

      2BYTE

      2BYTE

      2BYTE

      1BYTE

      1BYTE

      N*BYTE

      注意:

      Modbus-RTU一般用于串口RS232/RS485/RS422通訊

      Modbus-TCP一般用于網(wǎng)口、WIFI的TCP/UDP通訊

      MODBUS的功能碼及寄存器介紹

      功能碼

      下表列出 MODBUS支持的部分功能代碼:以十進(jìn)制表示

      功能碼

      (十進(jìn)制)

      作用

      信息地址

      位操作/字操作

      操作數(shù)量

      01

      讀單個/多個DO寄存器

      00001-09999

      位操作

      單個/多個

      02

      讀單個/多個DI寄存器

      10001-19999

      位操作

      單個/多個

      03

      讀單個/多個AO寄存器

      40001-49999

      字操作

      單個/多個

      04

      讀單個/多個AI寄存器

      30001-39999

      字操作

      單個/多個

      05

      寫單個DO寄存器

      00001-09999

      位操作

      單個

      06

      寫單個AO寄存器

      40001-49999

      字操作

      單個

      15

      寫單個/多個DO寄存器

      00001-09999

      位操作

      單個/多個

      16

      寫單個/多個AO寄存器

      40001-49999

      字操作

      單個/多個

      寄存器分類說明

      寄存器種類

      說明

      DI寄存器

      只讀,主要用于讀模塊的DI離散量輸入信號的 ON/OFF狀態(tài)。

      DO寄存器

      可讀/可寫,主要用于控制相應(yīng)DO輸出,例如:Y點(diǎn)的開關(guān)狀態(tài)。也可以用于控制某些功能的啟動或停止、打開或關(guān)閉,例如:PWM的輸出/停止,計(jì)數(shù)的清空等。

      AI寄存器

      只度,主要用于讀取模塊中的輸入型數(shù)據(jù),例如AD模擬采集到的電壓值,電流值,壓力值等,或者X輸入脈沖計(jì)數(shù)值等。

      AO寄存器

      可讀/可寫,主要用于存放的用戶下發(fā)的參數(shù),例如AO模擬量輸出值、PWM輸出頻率、占空比等。

      寄存器地址說明

      • 寄存器信息地址(PLC地址):

      寄存器信息地址指的是存放于控制器中的地址,這些控制器可以是 PLC,也可以使觸

      摸屏,或是文本顯示器。例如 4x0001、3x0002等,這些地址一般使用十進(jìn)制描述。

      • 寄存器尋址地址(協(xié)議地址):

      寄存器尋址地址指的是通信時(shí)使用的寄存器地址,例如信息地址 40001對應(yīng)尋址地址

      0x0000,40002對應(yīng)尋址地址 0x0001,寄存器尋址地址一般使用 16進(jìn)制描述。再如,信息寄存器 40003對應(yīng)尋址地址 0002,信息寄存器 30003對應(yīng)尋址地址 0002,雖然兩個信息寄存器通信時(shí)使用相同的地址,但是需要使用不同的命令才可以訪問,所以訪問時(shí)不存在沖突。

      MODBUS-RTU協(xié)議詳解

      X輸入口開關(guān)量狀態(tài)讀取 (讀取:DI寄存器,命令號:0x02)

      • 描述

      讀模塊的X輸入口輸入信號的 ON/OFF狀態(tài)。

      • 例子:讀X1當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 02 00 00 00 01 B9 CA

      解釋:

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      B9 CA:CRC校驗(yàn)

      響應(yīng):

      //X1 輸入ON(1)時(shí)的回復(fù)

      01 02 01 01 60 48

      解釋:

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      01:換成二進(jìn)制就是 0000 0001 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      60 48:CRC校驗(yàn)

      //X1 輸入OFF(0)時(shí)的回復(fù)

      01 02 01 00 A1 88

      解釋:

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      00:換成二進(jìn)制就是 0000 0000 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      A1 88:CRC校驗(yàn)

      • 例子:讀X1-X8當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 02 00 00 00 08 79CC

      解釋:

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 08:要讀多少路十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      79CC:CRC校驗(yàn)

      響應(yīng):

      //X1,X8輸入ON(1)時(shí),其他都輸入OFF(0)時(shí)的回復(fù)

      01 02 01 81 61 E8

      解釋:

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      81:換成二進(jìn)制就是1000 0001 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      61 E8:CRC校驗(yàn)

      • 例子:讀X1-X24當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 02 00 00 00 18 78 00

      解釋:

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 18:要讀多少路十六進(jìn)制0x0018=十進(jìn)制24,讀取24路

      78 00:CRC校驗(yàn)

      響應(yīng):

      //X1,X2,X9,X24 輸入ON(1)時(shí),其他都輸入OFF(0)時(shí)的回復(fù)

      01 02 03 03 01 80 88 7E

      解釋:

      01:子站地址

      02:指令號,02讀DI

      03:后面跟的數(shù)據(jù)字節(jié)數(shù)

      03:換成二進(jìn)制就是 0000 0011 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      01:換成二進(jìn)制就是 0000 0001 =X16-X15-X14-X13-X12-X11-X10-X9輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      80:換成二進(jìn)制就是 1000 0000 =X24-X23-X22-X21-X20-X19-X18-X17輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      88 7E:CRC校驗(yàn)

      X輸入口脈沖計(jì)數(shù)讀取 (讀取:AI寄存器,命令號:0x04)

      • 描述

      讀模塊的X輸入口的脈沖計(jì)數(shù)值。

      • 例子:讀當(dāng)前X1輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 18 00 02 F1 CC

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 02:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,所以這里寄存器數(shù)量要填2,十六進(jìn)制0x0002=十進(jìn)制2

      F1 CC:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 04 00 00 27 10 E1 B8

      解釋:

      01:子站地址

      04:指令號,04讀AI

      04:后面跟的數(shù)據(jù)字節(jié)數(shù),0x04=十進(jìn)制4,后面數(shù)據(jù)區(qū)有4字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      E1 B8:CRC校驗(yàn)

      • 例子:讀當(dāng)前X1-X4輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 18 00 08 71 CB

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 08:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀4路,所以這里寄存器數(shù)量要填8,十六進(jìn)制0x0008=十進(jìn)制8

      71 CB :CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 EC C3

      解釋:

      01:子站地址

      04:指令號,04讀AI

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,后面數(shù)據(jù)區(qū)有16字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      EC C3:CRC校驗(yàn)

      • 例子:讀當(dāng)前X1-X8輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 18 00 10 71 C1

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 10:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀8路,所以這里寄存器數(shù)量要填十六進(jìn)制0x0010=十進(jìn)制16

      71 C1 :CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 20 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 36 38

      解釋:

      01:子站地址

      04:指令號,04讀AI

      20:后面跟的數(shù)據(jù)字節(jié)數(shù),0x20=十進(jìn)制32,后面數(shù)據(jù)區(qū)有32字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X5輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X6輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X7輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X8輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      36 38:CRC校驗(yàn)

      • 例子:讀當(dāng)前X1-X12輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 18 00 18 70 07

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 18:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀12路,所以這里寄存器數(shù)量要填十六進(jìn)制0x0018=十進(jìn)制24

      70 07 :CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 30 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 C1 D9

      解釋:

      01:子站地址

      04:指令號,04讀AI

      30:后面跟的數(shù)據(jù)字節(jié)數(shù),0x30=十進(jìn)制48,后面數(shù)據(jù)區(qū)有48字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X5輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X6輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X7輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X8輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X9輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X10輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X11輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X12輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      C1 D9:CRC校驗(yàn)

      X輸入口脈沖計(jì)數(shù)清空 (寫入:DO寄存器,命令號:0x0F)

      • 描述

      清空模塊的X輸入口的脈沖計(jì)數(shù)值。

      • 例子:清空X1輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 40 00 01 01 01 ee 98

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 01:要清空多少路計(jì)數(shù),十六進(jìn)制0x0001=十進(jìn)制1路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      01:寫入的數(shù)據(jù),寫1清空

      ee 98:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 40 00 01 95 df

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 01:要清空多少路計(jì)數(shù),十六進(jìn)制0x0001=十進(jìn)制1路

      95 df:CRC校驗(yàn)

      • 例子:清空X1-X12輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 40 00 0C 02 ff 0f ea 84

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 0C:要清空多少路計(jì)數(shù),十六進(jìn)制0x000C=十進(jìn)制12路

      02:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x02=十進(jìn)制2,寫入2字節(jié)數(shù)據(jù)

      ff:十六進(jìn)制0xff=二進(jìn)制1111 1111=X8計(jì)數(shù)清空-X7計(jì)數(shù)清空-X6計(jì)數(shù)清空-X5計(jì)數(shù)清空-X4計(jì)數(shù)清空-X3計(jì)數(shù)清空-X2計(jì)數(shù)清空-X1計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      0f: 十六進(jìn)制0x0f=二進(jìn)制0000 1111=X16計(jì)數(shù)清空-X15計(jì)數(shù)清空-X14計(jì)數(shù)清空-X13計(jì)數(shù)清空-X12計(jì)數(shù)清空-X11計(jì)數(shù)清空-X10計(jì)數(shù)清空-X9計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      ea 84:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 40 00 0C 54 1A

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 0C:要清空多少路計(jì)數(shù),十六進(jìn)制0x000C=十進(jìn)制12路

      54 1A:CRC校驗(yàn)

      • 例子:指定清空X1,X4,X8,X12,X24輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 40 00 18 03 85 08 80 16 39

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 18:要清空多少路計(jì)數(shù),十六進(jìn)制0x0018=十進(jìn)制24路

      03:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x03=十進(jìn)制3,寫入3字節(jié)數(shù)據(jù)

      85:十六進(jìn)制0x85=二進(jìn)制1000 1001=X8計(jì)數(shù)清空-X7計(jì)數(shù)清空-X6計(jì)數(shù)清空-X5計(jì)數(shù)清空-X4計(jì)數(shù)清空-X3計(jì)數(shù)清空-X2計(jì)數(shù)清空-X1計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      08: 十六進(jìn)制0x08=二進(jìn)制0000 1000=X16計(jì)數(shù)清空-X15計(jì)數(shù)清空-X14計(jì)數(shù)清空-X13計(jì)數(shù)清空-X12計(jì)數(shù)清空-X11計(jì)數(shù)清空-X10計(jì)數(shù)清空-X9計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      80: 十六進(jìn)制0x80=二進(jìn)制1000 0000=X24計(jì)數(shù)清空-X23計(jì)數(shù)清空-X22計(jì)數(shù)清空-X21計(jì)數(shù)清空-X20計(jì)數(shù)清空-X19計(jì)數(shù)清空-X18計(jì)數(shù)清空-X17計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      16 39:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 40 00 18 54 15

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 18:操作了多少路計(jì)數(shù),十六進(jìn)制0x0018=十進(jìn)制24路

      54 15:CRC校驗(yàn)

      Y輸出口ON/OFF寫入 (寫入:DO寄存器,命令號:0x0F)

      • 描述

      用于控制模塊Y輸出點(diǎn)的開關(guān)狀態(tài)。

      • 例子:控制Y1當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 00 00 01 01 01 ef 57

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 01:要寫多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      01:寫入的數(shù)據(jù),0x01換算成二進(jìn)制00000001 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      ef 57:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 00 00 01 94 0B

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 01:寫了多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      94 0B:CRC校驗(yàn)

      • 例子:控制Y1-Y8當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      //將Y1,Y2,Y8輸出ON,其他路輸出OFF

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 00 00 08 01 83 bf 34

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 08:要寫多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      83:寫入的數(shù)據(jù),0x83換算成二進(jìn)制10000011 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      bf 34:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 00 00 08 54 0D

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 08:寫了多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      54 0D:CRC校驗(yàn)

      • 例子:控制Y1-Y24當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      //將Y1,Y2,Y9,Y24輸出ON,其他路輸出OFF

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 0f 00 00 00 18 03 03 01 80 b0 44

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 18:要寫多少路,十六進(jìn)制0x0018=十進(jìn)制24,寫24路

      03:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      03:寫入的數(shù)據(jù),0x03換算成二進(jìn)制00000011 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      01:寫入的數(shù)據(jù),0x01換算成二進(jìn)制00000001 = Y16-Y15-Y14-Y13-Y12-Y11-Y10-Y9輸出狀態(tài),ON=0,OFF=1

      80:寫入的數(shù)據(jù),0x80換算成二進(jìn)制10000000 = Y24-Y23-Y22-Y21-Y20-Y19-Y18-Y17輸出狀態(tài),ON=0,OFF=1

      b0 44:CRC校驗(yàn)

      響應(yīng):

      //模塊回復(fù)

      01 0F 00 00 00 18 55 C1

      解釋:

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 18:寫了多少路,十六進(jìn)制0x0018=十進(jìn)制24,寫24路

      55 C1:CRC校驗(yàn)

      Y輸出口ON/OFF讀取 (讀取:DO寄存器,命令號:0x01)

      • 描述

      用于讀取當(dāng)前Y輸出口的開關(guān)狀態(tài)。

      • 例子:讀Y1當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 01 00 00 00 01 FD CA

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      FD CA:CRC校驗(yàn)

      響應(yīng):

      //Y1 輸出ON(1)時(shí)的回復(fù)

      01 01 01 01 90 48

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù)

      01:數(shù)據(jù),換算成二進(jìn)制0x01=0000 0001,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      90 48 :CRC校驗(yàn)

      //Y1 輸出OFF(0)的時(shí)回復(fù)

      01 01 01 00 51 88

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù)

      00:數(shù)據(jù),換算成二進(jìn)制0x00=0000 0000,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      51 88 :CRC校驗(yàn)

      • 例子:讀Y1-Y8當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 01 00 00 00 08 3D CC

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 08:要讀多少路,十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      3D CC:CRC校驗(yàn)

      響應(yīng):

      //Y1,Y2,Y8輸出ON(1),其他輸出OFF(0)時(shí)的回復(fù)

      01 01 01 83 10 29

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù),0x01=十進(jìn)制1,后面數(shù)據(jù)區(qū)有1字節(jié)數(shù)據(jù)

      83:數(shù)據(jù)區(qū),換算成二進(jìn)制0x83=1000 0011,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      10 29 :CRC校驗(yàn)

      • 例子:讀Y1-Y24當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 01 00 00 00 18 3C 00

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 18:要讀多少路,十六進(jìn)制0x0018=十進(jìn)制24,讀取24路

      3C00:CRC校驗(yàn)

      響應(yīng):

      //Y1,Y2,Y9,Y24輸出ON(1),其他輸出OFF(0)時(shí)的回復(fù)

      01 01 03 03 01 80 CC 7E

      解釋:

      01:子站地址

      01:指令號,01讀取多路DO

      03:后面數(shù)據(jù)區(qū)字節(jié)數(shù),0x03=十進(jìn)制3,后面數(shù)據(jù)區(qū)有3字節(jié)數(shù)據(jù)

      03:數(shù)據(jù),換算成二進(jìn)制0x03=0000 0011,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      01:數(shù)據(jù),換算成二進(jìn)制0x01=0000 0001,對應(yīng)Y16-Y15-Y14-Y13-Y12-Y11-Y10-Y9的狀態(tài)

      80:數(shù)據(jù),換算成二進(jìn)制0x80=1000 0000,對應(yīng)Y24-Y23-Y22-Y21-Y20-Y19-Y18-Y17的狀態(tài)

      CC 7E :CRC校驗(yàn)

      AI模擬量采集讀取(讀取:AI寄存器,命令號:0x04)

      • 描述

      讀模塊中的輸入型數(shù)據(jù),例如AD模擬采集到的電壓值,電流值,壓力值等。

      • 例子:讀當(dāng)前AI通道AI1模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 00 00 02 71CB

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 02:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀1路模擬量的話,寄存器數(shù)量要填2,十六進(jìn)制0x0002=十進(jìn)制2

      71CB:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 04 00 00 BF 11 4B B8

      解釋:

      01:子站地址

      04:指令號,04讀AI

      04:后面跟的數(shù)據(jù)字節(jié)數(shù),0x04=十進(jìn)制4,后面數(shù)據(jù)區(qū)有4字節(jié)數(shù)據(jù)

      0000BF11:換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      4B B8:CRC校驗(yàn)

      • 例子:讀當(dāng)前AI通道AI1-AI4模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 00 00 08 F1 CC

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 08:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀4路模擬量的話,寄存器數(shù)量要填8,十六進(jìn)制0x0008=十進(jìn)制8

      F1 CC:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 10 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 76 C5

      解釋:

      01:子站地址

      04:指令號,04讀AI

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,后面數(shù)據(jù)區(qū)有16字節(jié)數(shù)據(jù)

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI2模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI3模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI4模擬量輸入口當(dāng)前值為48913

      76 C5:CRC校驗(yàn)

      • 例子:讀當(dāng)前AI通道AI1-AI8模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 04 00 00 00 10 F1 C6

      解釋:

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 10:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀8路模擬量的話,寄存器數(shù)量要填16,換算成十六進(jìn)制就是0x0010

      F1 C6:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 04 20 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 C0 F7

      解釋:

      01:子站地址

      04:指令號,04讀AI

      20:后面跟的數(shù)據(jù)字節(jié)數(shù),0x20=十進(jìn)制32,后面數(shù)據(jù)區(qū)有32字節(jié)數(shù)據(jù)

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI2模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI3模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI4模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI5模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI6模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI7模擬量輸入口當(dāng)前值為48913

      00 00 BF 11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI8模擬量輸入口當(dāng)前值為48913

      C0 F7:CRC校驗(yàn)

      AO模擬量輸出寫入(寫入:AO寄存器,命令號:0x10)

      • 描述

      用于設(shè)定DA模擬量輸出值。

      • 例子:寫當(dāng)前AO通道AO1模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 10 00 00 00 01 02 10 D2 2B CD

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 01:要寫多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      02:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x02=十進(jìn)制2,寫2個字節(jié)

      10 D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      2B CD:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 10 00 00 00 01 01 C9

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 01:寫了多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      01 C9:CRC校驗(yàn)

      • 例子:寫當(dāng)前AO通道AO1-AO4模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 10 00 00 00 04 08 10 D2 10 D2 10 D2 10 D2 D6 9D

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 04:要寫多少路,十六進(jìn)制0x0004=十進(jìn)制4,寫4路

      08:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x08=十進(jìn)制8,寫8個字節(jié)

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO2輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO3輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO4輸出口模擬量輸出值為4306

      D6 9D:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 10 00 00 00 04 C1 CA

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 04:寫了多少路,十六進(jìn)制0x0004=十進(jìn)制4,寫4路

      C1 CA:CRC校驗(yàn)

      • 例子:寫當(dāng)前AO通道AO1-AO8模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 10 00 00 00 08 10 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 E8 0C

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 08:要寫多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      10:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,16個字節(jié)

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO2輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO3輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO4輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO5輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO6輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO7輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO8輸出口模擬量輸出值為4306

      E8 0C:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 10 00 00 00 08 C1 CF

      解釋:

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 08:寫了多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      C1 CF:CRC校驗(yàn)

      AO模擬量輸出讀取(讀取:AO寄存器,命令號:0x03)

      • 描述

      用于讀取當(dāng)前DA模擬量輸出值。

      • 例子:讀當(dāng)前AO通道AO1模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 03 00 00 00 01 84 0A

      解釋:

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      84 0A:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 03 02 10 D2 35 D9

      解釋:

      01:子站地址

      03:指令號,03讀AO

      02:后面跟的數(shù)據(jù)字節(jié)數(shù)

      10 D2:換成十進(jìn)制就是0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      35 D9:CRC校驗(yàn)

      • 例子:讀當(dāng)前AO通道AO1-AO4模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 03 00 00 00 04 44 09

      解釋:

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 04:要讀多少路,十六進(jìn)制0x0004=十進(jìn)制4,讀取4路

      44 09:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 03 08 10 D2 10 D2 10 D2 10 D2 F5 30

      解釋:

      01:子站地址

      03:指令號,03讀AO

      08:后面跟的數(shù)據(jù)字節(jié)數(shù)

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO2輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO3輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO4輸出模擬量當(dāng)前輸出值為4306

      F5 30:CRC校驗(yàn)

      • 例子:讀當(dāng)前AO通道AO1-AO8模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 01 03 00 00 00 08 44 0C

      解釋:

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 08:要讀多少路,十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      44 0C:CRC校驗(yàn)

      響應(yīng):

      接收數(shù)據(jù)(HEX): 01 03 10 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 15 98

      解釋:

      01:子站地址

      03:指令號,03讀AO

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),十六進(jìn)制0x10=十進(jìn)制16

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO2輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO3輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO4輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO5輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO6輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO7輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO8輸出模擬量當(dāng)前輸出值為4306

      15 98:CRC校驗(yàn)

      MODBUS-TCP協(xié)議詳解

      X輸入口開關(guān)量狀態(tài)讀取 (讀取:DI寄存器,命令號:0x02)

      • 描述

      讀模塊X輸入點(diǎn)的ON/OFF狀態(tài)等。

      • 例子:讀X1當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 02 00 00 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      響應(yīng):

      //X1 輸入ON(1)時(shí)的回復(fù)

      00 00 00 00 00 04 01 02 01 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      01:換成二進(jìn)制就是 0000 0001 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      //X1 輸入OFF(0)時(shí)的回復(fù)

      00 00 00 00 00 04 01 02 01 00

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      00:換成二進(jìn)制就是 0000 0000 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      • 例子:讀X1-X8當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 02 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 08:要讀多少路十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      響應(yīng):

      //X1,X8輸入ON(1)時(shí),其他都輸入OFF(0)時(shí)的回復(fù)

      00 00 00 00 00 04 01 02 01 81

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      01:后面跟的數(shù)據(jù)字節(jié)數(shù)

      81:換成二進(jìn)制就是1000 0001 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      • 例子:讀X1-X24當(dāng)前輸入狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX):00 00 00 00 00 06 01 02 00 00 00 18

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      00 00:從哪一路開始讀,0x0000=X1開始讀

      00 18:要讀多少路十六進(jìn)制0x0018=十進(jìn)制24,讀取24路

      響應(yīng):

      //X1,X2,X9,X24 輸入ON(1)時(shí),其他都輸入OFF(0)時(shí)的回復(fù)

      00 00 00 00 00 06 01 02 03 03 01 80

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      02:指令號,02讀DI

      03:后面跟的數(shù)據(jù)字節(jié)數(shù)

      03:換成二進(jìn)制就是 0000 0011 =X8-X7-X6-X5-X4-X3-X2-X1輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      01:換成二進(jìn)制就是 0000 0001 =X16-X15-X14-X13-X12-X11-X10-X9輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      80:換成二進(jìn)制就是 1000 0000 =X24-X23-X22-X21-X20-X19-X18-X17輸入口的當(dāng)前狀態(tài)0=OFF,1=ON

      X輸入口脈沖計(jì)數(shù)讀取 (讀取:AI寄存器,命令號:0x04)

      • 描述

      讀模塊的X輸入口的脈沖計(jì)數(shù)值。

      • 例子:讀當(dāng)前X1輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 18 00 02

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 02:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,所以這里寄存器數(shù)量要填2,十六進(jìn)制0x0002=十進(jìn)制2

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 07 01 04 04 00 00 27 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 07:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      04:后面跟的數(shù)據(jù)字節(jié)數(shù),0x04=十進(jìn)制4,后面數(shù)據(jù)區(qū)有4字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      • 例子:讀當(dāng)前X1-X4輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 18 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 08:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀4路,所以這里寄存器數(shù)量要填8,十六進(jìn)制0x0008=十進(jìn)制8

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 13 01 04 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 13:后面要發(fā)送的字節(jié)數(shù),0x13=十進(jìn)制19

      01:子站地址

      04:指令號,04讀AI

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,后面數(shù)據(jù)區(qū)有16字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      • 例子:讀當(dāng)前X1-X8輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 18 00 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 10:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀8路,所以這里寄存器數(shù)量要填十六進(jìn)制0x0010=十進(jìn)制16

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 23 01 04 20 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 23:后面要發(fā)送的字節(jié)數(shù),0x23=十進(jìn)制35

      01:子站地址

      04:指令號,04讀AI

      20:后面跟的數(shù)據(jù)字節(jié)數(shù),0x20=十進(jìn)制32,后面數(shù)據(jù)區(qū)有32字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X5輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X6輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X7輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X8輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      • 例子:讀當(dāng)前X1-X12輸入點(diǎn)脈沖計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 18 00 18

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 18:從哪一路開始讀,0x0018對應(yīng)的是X1脈沖計(jì)數(shù)寄存器起始地址

      00 18:要讀多少個寄存器,因?yàn)橐宦稾脈沖計(jì)數(shù)占用2個寄存器地址,這里讀12路,所以這里寄存器數(shù)量要填十六進(jìn)制0x0018=十進(jìn)制24

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 33 01 04 30 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10 00 00 27 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 33:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      30:后面跟的數(shù)據(jù)字節(jié)數(shù),0x30=十進(jìn)制48,后面數(shù)據(jù)區(qū)有48字節(jié)數(shù)據(jù)

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X1輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X2輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X3輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X4輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X5輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X6輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X7輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X8輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀取到X9輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X10輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X11輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      00002710:換成十進(jìn)制就是 0x00002710 =10000,即讀到X12輸入口當(dāng)前脈沖計(jì)數(shù)值為10000

      X輸入口脈沖計(jì)數(shù)清空 (寫入:DO寄存器,命令號:0x0F)

      • 描述

      清空模塊的X輸入口的脈沖計(jì)數(shù)值。

      • 例子:清空X1輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 08 01 0f 00 40 00 01 01 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 08:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 01:要清空多少路計(jì)數(shù),十六進(jìn)制0x0001=十進(jìn)制1路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      01:寫入的數(shù)據(jù),寫1清空

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 40 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 01:要清空多少路計(jì)數(shù),十六進(jìn)制0x0001=十進(jìn)制1路

      • 例子:清空X1-X12輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 09 01 0f 00 40 00 0C 02 ff 0f

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 09:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 0C:要清空多少路計(jì)數(shù),十六進(jìn)制0x000C=十進(jìn)制12路

      02:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x02=十進(jìn)制2,寫入2字節(jié)數(shù)據(jù)

      ff:十六進(jìn)制0xff=二進(jìn)制1111 1111=X8計(jì)數(shù)清空-X7計(jì)數(shù)清空-X6計(jì)數(shù)清空-X5計(jì)數(shù)清空-X4計(jì)數(shù)清空-X3計(jì)數(shù)清空-X2計(jì)數(shù)清空-X1計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      0f: 十六進(jìn)制0x0f=二進(jìn)制0000 1111=X16計(jì)數(shù)清空-X15計(jì)數(shù)清空-X14計(jì)數(shù)清空-X13計(jì)數(shù)清空-X12計(jì)數(shù)清空-X11計(jì)數(shù)清空-X10計(jì)數(shù)清空-X9計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 40 00 0C

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 0C:要清空多少路計(jì)數(shù),十六進(jìn)制0x000C=十進(jìn)制12路

      • 例子:指定清空X1,X4,X8,X12,X24輸入計(jì)數(shù)值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 0A 01 0f 00 40 00 18 03 85 08 80

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 0A:后面要發(fā)送的字節(jié)數(shù),0x0A=十進(jìn)制10

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 18:要清空多少路計(jì)數(shù),十六進(jìn)制0x0018=十進(jìn)制24路

      03:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x03=十進(jìn)制3,寫入3字節(jié)數(shù)據(jù)

      85:十六進(jìn)制0x85=二進(jìn)制1000 1001=X8計(jì)數(shù)清空-X7計(jì)數(shù)清空-X6計(jì)數(shù)清空-X5計(jì)數(shù)清空-X4計(jì)數(shù)清空-X3計(jì)數(shù)清空-X2計(jì)數(shù)清空-X1計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      08: 十六進(jìn)制0x08=二進(jìn)制0000 1000=X16計(jì)數(shù)清空-X15計(jì)數(shù)清空-X14計(jì)數(shù)清空-X13計(jì)數(shù)清空-X12計(jì)數(shù)清空-X11計(jì)數(shù)清空-X10計(jì)數(shù)清空-X9計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      80: 十六進(jìn)制0x80=二進(jìn)制1000 0000=X24計(jì)數(shù)清空-X23計(jì)數(shù)清空-X22計(jì)數(shù)清空-X21計(jì)數(shù)清空-X20計(jì)數(shù)清空-X19計(jì)數(shù)清空-X18計(jì)數(shù)清空-X17計(jì)數(shù)清空,對應(yīng)的bit位寫1清空,寫0保持不變

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 40 00 18

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 40:從哪一路開始清空,0x00 40是X1計(jì)數(shù)清空DO寄存器起始地址

      00 18:操作了多少路計(jì)數(shù),十六進(jìn)制0x0018=十進(jìn)制24路

      Y輸出口ON/OFF寫入 (寫入:DO寄存器,命令號:0x0F)

      • 描述

      用于控制模塊Y輸出點(diǎn)的開關(guān)狀態(tài)。

      • 例子:控制Y1當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 08 01 0f 00 00 00 01 01 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 08:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 01:要寫多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      01:寫入的數(shù)據(jù),0x01換算成二進(jìn)制00000001 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 00 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 01:寫了多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      • 例子:控制Y1-Y8當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      //將Y1,Y2,Y8輸出ON,其他路輸出OFF

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 08 01 0f 00 00 00 08 01 83

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 08:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 08:要寫多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      01:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      83:寫入的數(shù)據(jù),0x83換算成二進(jìn)制10000011 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 08:寫了多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      • 例子:控制Y1-Y24當(dāng)前輸出ON/OFF的請求&響應(yīng)報(bào)文

      //將Y1,Y2,Y9,Y24輸出ON,其他路輸出OFF

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 0a 01 0f 00 00 00 18 03 03 01 80

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 0a:后面要發(fā)送的字節(jié)數(shù),0x0a=十進(jìn)制10

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 18:要寫多少路,十六進(jìn)制0x0018=十進(jìn)制24,寫24路

      03:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x01=十進(jìn)制1,寫入1字節(jié)數(shù)據(jù)

      03:寫入的數(shù)據(jù),0x03換算成二進(jìn)制00000011 = Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1輸出狀態(tài),ON=0,OFF=1

      01:寫入的數(shù)據(jù),0x01換算成二進(jìn)制00000001 = Y16-Y15-Y14-Y13-Y12-Y11-Y10-Y9輸出狀態(tài),ON=0,OFF=1

      80:寫入的數(shù)據(jù),0x80換算成二進(jìn)制10000000 = Y24-Y23-Y22-Y21-Y20-Y19-Y18-Y17輸出狀態(tài),ON=0,OFF=1

      響應(yīng):

      //模塊回復(fù)

      00 00 00 00 00 06 01 0F 00 00 00 18

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      0f:指令號,0x0f=十進(jìn)制15,寫多路DO

      00 00:從哪一路開始寫,00 00=Y1開始寫

      00 18:寫了多少路,十六進(jìn)制0x0018=十進(jìn)制24,寫24路

      Y輸出口ON/OFF讀取 (讀取:DO寄存器,命令號:0x01)

      • 描述

      用于讀取模塊Y輸出點(diǎn)的開關(guān)狀態(tài)。

      • 例子:讀Y1當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 01 00 00 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      響應(yīng):

      //Y1 輸出ON(1)時(shí)的回復(fù)

      00 00 00 00 00 04 01 01 01 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù)

      01:數(shù)據(jù),換算成二進(jìn)制0x01=0000 0001,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      //Y1 輸出OFF(0)的時(shí)回復(fù)

      00 00 00 00 00 04 01 01 01 00

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù)

      00:數(shù)據(jù),換算成二進(jìn)制0x00=0000 0000,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      • 例子:讀Y1-Y8當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 01 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 08:要讀多少路,十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      響應(yīng):

      //Y1,Y2,Y8輸出ON(1),其他輸出OFF(0)時(shí)的回復(fù)

      00 00 00 00 00 04 01 01 01 83

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 04:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      01:后面數(shù)據(jù)區(qū)字節(jié)數(shù),0x01=十進(jìn)制1,后面數(shù)據(jù)區(qū)有1字節(jié)數(shù)據(jù)

      83:數(shù)據(jù)區(qū),換算成二進(jìn)制0x83=1000 0011,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      • 例子:讀Y1-Y24當(dāng)前輸出狀態(tài)的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 01 00 00 00 18

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      00 00:從哪一路開始讀,00 00=Y1開始讀

      00 18:要讀多少路,十六進(jìn)制0x0018=十進(jìn)制24,讀取24路

      響應(yīng):

      //Y1,Y2,Y9,Y24輸出ON(1),其他輸出OFF(0)時(shí)的回復(fù)

      00 00 00 00 00 06 01 01 03 03 01 80

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      01:指令號,01讀取多路DO

      03:后面數(shù)據(jù)區(qū)字節(jié)數(shù),0x03=十進(jìn)制3,后面數(shù)據(jù)區(qū)有3字節(jié)數(shù)據(jù)

      03:數(shù)據(jù),換算成二進(jìn)制0x03=0000 0011,對應(yīng)Y8-Y7-Y6-Y5-Y4-Y3-Y2-Y1的狀態(tài)

      01:數(shù)據(jù),換算成二進(jìn)制0x01=0000 0001,對應(yīng)Y16-Y15-Y14-Y13-Y12-Y11-Y10-Y9的狀態(tài)

      80:數(shù)據(jù),換算成二進(jìn)制0x80=1000 0000,對應(yīng)Y24-Y23-Y22-Y21-Y20-Y19-Y18-Y17的狀態(tài)

      AI模擬量采集讀取(讀取:AI寄存器,命令號:0x04)

      • 描述

      讀模塊中的輸入型數(shù)據(jù),例如AD模擬采集到的電壓值,電流值,壓力值等。

      • 例子:讀當(dāng)前AI通道AI1模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 00 00 02

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 02:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀1路模擬量的話,寄存器數(shù)量要填2,十六進(jìn)制0x0002=十進(jìn)制2

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 07 01 04 04 00 00 BF 11

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 07:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      04:后面跟的數(shù)據(jù)字節(jié)數(shù),0x04=十進(jìn)制4,后面數(shù)據(jù)區(qū)有4字節(jié)數(shù)據(jù)

      0000BF11:換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      • 例子:讀當(dāng)前AI通道AI1-AI4模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 08:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀4路模擬量的話,寄存器數(shù)量要填8,十六進(jìn)制0x0008=十進(jìn)制8

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 13 01 04 10 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 13:后面要發(fā)送的字節(jié)數(shù),0x13=十進(jìn)制19

      01:子站地址

      04:指令號,04讀AI

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,后面數(shù)據(jù)區(qū)有16字節(jié)數(shù)據(jù)

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI2模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI3模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI4模擬量輸入口當(dāng)前值為48913

      • 例子:讀當(dāng)前AI通道AI1-AI8模擬量輸入值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 04 00 00 00 10

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      04:指令號,04讀AI

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 10:要多少個寄存器,因?yàn)橐粋AI通道占用2個寄存器地址,所以這里讀8路模擬量的話,寄存器數(shù)量要填16,換算成十六進(jìn)制就是0x0010

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 23 01 04 20 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11 00 00 BF 11

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 23:后面要發(fā)送的字節(jié)數(shù),0x23=十進(jìn)制35

      01:子站地址

      04:指令號,04讀AI

      20:后面跟的數(shù)據(jù)字節(jié)數(shù),0x20=十進(jìn)制32,后面數(shù)據(jù)區(qū)有32字節(jié)數(shù)據(jù)

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI1模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI2模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI3模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI4模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI5模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI6模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI7模擬量輸入口當(dāng)前值為48913

      0000BF11:數(shù)據(jù)區(qū),換成十進(jìn)制就是 0x0000BF11 =48913,即讀取到AI8模擬量輸入口當(dāng)前值為48913

      AO模擬量輸出寫入(寫入:AO寄存器,命令號:0x10)

      • 描述

      用于設(shè)定DA模擬量輸出值。

      • 例子:寫當(dāng)前AO通道AO1模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 09 01 10 00 00 00 01 02 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 09:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 01:要寫多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      02:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x02=十進(jìn)制2,寫2個字節(jié)

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 10 00 00 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 01:寫了多少路,十六進(jìn)制0x0001=十進(jìn)制1,寫1路

      • 例子:寫當(dāng)前AO通道AO1-AO4模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 0f 01 10 00 00 00 04 08 10 D2 10 D2 10 D2 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 0f:后面要發(fā)送的字節(jié)數(shù),0x0f=十進(jìn)制15

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 04:要寫多少路,十六進(jìn)制0x0004=十進(jìn)制4,寫4路

      08:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x08=十進(jìn)制8,寫8個字節(jié)

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO2輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO3輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO4輸出口模擬量輸出值為4306

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 10 00 00 00 04

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 04:寫了多少路,十六進(jìn)制0x0004=十進(jìn)制4,寫4路

      • 例子:寫當(dāng)前AO通道AO1-AO8模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 17 01 10 00 00 00 08 10 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 17:后面要發(fā)送的字節(jié)數(shù),0x17=十進(jìn)制23

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 08:要寫多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      10:后面要寫入的數(shù)據(jù)字節(jié)數(shù),0x10=十進(jìn)制16,16個字節(jié)

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO1輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO2輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO3輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO4輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO5輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO6輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO7輸出口模擬量輸出值為4306

      10D2:要寫入的AO輸出值,0x10D2=十進(jìn)制4306,即寫入AO8輸出口模擬量輸出值為4306

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 10 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      10:指令號,0x10=十進(jìn)制16,寫AO

      00 00:從哪一路開始寫,0x0000=AIO1開始寫

      00 08:寫了多少路,十六進(jìn)制0x0008=十進(jìn)制8,寫8路

      AO模擬量輸出讀取(讀取:AO寄存器,命令號:0x03)

      • 描述

      用于讀取當(dāng)前DA模擬量輸出值。

      • 例子:讀當(dāng)前AO通道AO1模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 03 00 00 00 01

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 01:要讀多少路,十六進(jìn)制0x0001=十進(jìn)制1,讀取1路

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 05 01 03 02 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 05:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      03:指令號,03讀AO

      02:后面跟的數(shù)據(jù)字節(jié)數(shù)

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      • 例子:讀當(dāng)前AO通道AO1-AO4模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 03 00 00 00 04

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 04:要讀多少路,十六進(jìn)制0x0004=十進(jìn)制4,讀取4路

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 0B 01 03 08 10 D2 10 D2 10 D2 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 0B:后面要發(fā)送的字節(jié)數(shù),0x000B=十進(jìn)制11

      01:子站地址

      03:指令號,03讀AO

      08:后面跟的數(shù)據(jù)字節(jié)數(shù)

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO2輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO3輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO4輸出模擬量當(dāng)前輸出值為4306

      • 例子:讀當(dāng)前AO通道AO1-AO8模擬量輸出值的請求&響應(yīng)報(bào)文

      請求:

      發(fā)送數(shù)據(jù)(HEX): 00 00 00 00 00 06 01 03 00 00 00 08

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于上位機(jī)傳輸報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 06:后面要發(fā)送的字節(jié)數(shù)

      01:子站地址

      03:指令號,03讀AO

      00 00:從哪一路開始讀,0x0000=AIO1開始讀

      00 08:要讀多少路,十六進(jìn)制0x0008=十進(jìn)制8,讀取8路

      響應(yīng):

      接收數(shù)據(jù)(HEX): 00 00 00 00 00 13 01 03 10 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2 10 D2

      解釋:

      00 00:TID 傳輸標(biāo)識符(用于模塊回送報(bào)文序列號),也可為0

      00 00:PID 協(xié)議標(biāo)識符,默認(rèn)0

      00 13:后面要發(fā)送的字節(jié)數(shù),0x0013=十進(jìn)制19

      01:子站地址

      03:指令號,03讀AO

      10:后面跟的數(shù)據(jù)字節(jié)數(shù),十六進(jìn)制0x10=十進(jìn)制16

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO1輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO2輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO3輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO4輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO5輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO6輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO7輸出模擬量當(dāng)前輸出值為4306

      10 D2:換成十進(jìn)制就是 0x10D2 =十進(jìn)制4306,即讀取到AO8輸出模擬量當(dāng)前輸出值為4306

      Tags:modbus,功能碼,報(bào)文,寄存器地址  
      責(zé)任編輯:admin
      相關(guān)文章列表
      Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文全解讀
      Modbus測試工具與控件介紹
      西門子PLC 200smartPLC與第三方進(jìn)行Modbus TCP通訊
      MODBUS--變頻器\PLC\儀表連不上怎么辦?送最簡單的軟件搞定問題
      西門子plc Smart 200主從站之間RS485通訊實(shí)例_從站主站讀寫程序
      西門子plc之間的通訊_兩臺西門子S7-200 SMART PLC如何通過Modbus
      西門子S7-200 Smart plc的Modbus RTU庫通訊輪詢實(shí)例
      學(xué)習(xí)s7-200之間的Modbus通訊_兩個PLC互相通信,主站從站通訊
      西門子PLC S7-200Smart實(shí)現(xiàn)Modbus-RTU通信實(shí)例 多功能電表 溫控表
      西門子plc S7-200 SMART與丹佛斯變頻器之間Modbus通信
      西門子plc S7-200 SMART與變頻器MODBUS-RTU通信例程
      RS232、RS485標(biāo)準(zhǔn)以及在DB9公頭、母頭上的接線定義_Modbus通訊接
      PLC控制伺服電機(jī)運(yùn)動的完整案例(PLC設(shè)置伺服驅(qū)動參數(shù))_ 絲杠運(yùn)
      MODBUS常用功能碼
      Modbus寄存器分類及地址分配表 寄存器分類及說明 寄存器的地址
      西門子plc S7-200smart 與臺達(dá)變頻器通訊Modbus梯形圖編程實(shí)例
      Modbus調(diào)試軟件--ModbusPoll、ModbusSlave使用詳解
      modbus poll 使用教程  Modbus通訊
      20種PLC對應(yīng)Modbus地址表
      西門子plc S7-200SMART通過MODBUS通信控制變頻器啟停如何看電流頻
      西門子plc梯形圖編程實(shí)例 西門子200smart與電流表Modbus RTU通訊
      使用西門子plc的Modbus通訊 串口調(diào)試助手與S7-200SMART PLC從站通
      Modbus 調(diào)試助手的使用(一) Modsim32使用詳解Modbus Poll
      【工具使用】Modsim32軟件使用詳解 串口調(diào)試軟件
      什么是Modbus網(wǎng)關(guān)?modbus網(wǎng)關(guān)有什么作用?
      西門子S7-200PLC ModbusTCP通訊,ModScan32使用
      Modbus協(xié)議詳解 科普Modbus通訊協(xié)議
      Modbus通訊簡單測試—Modscan32使用簡介
      Modbus Scan32模擬軟件使用,Modscan32使用教程
      Modbus協(xié)議的數(shù)據(jù)模型和地址模型
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      推薦文章
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 91精品国产综合久久四虎久久无码一级| 久久狠狠爱亚洲综合影院| 五月婷婷综合在线| 亚洲精品第一国产综合亚AV| 色综合天天综合给合国产| 婷婷久久久五月综合色| 久久丝袜精品综合网站| 色噜噜狠狠狠色综合久| 久久综合久久精品| 好吊色青青青国产综合在线观看| 国产综合精品一区二区三区| 伊人色综合视频一区二区三区| 五月天激情综合网丁香婷婷| 狼狼综合久久久久综合网| 色噜噜狠狠色综合中国| 亚洲欧美日韩综合俺去了| 久久一区二区精品综合| 亚洲综合AV在线在线播放| 国产一区二区三区亚洲综合| 亚洲欧洲av综合色无码| 色综合久久久久网| 色狠狠成人综合色| 亚洲综合校园春色| 色综合久久综精品| 日韩综合在线观看| 四月婷婷七月婷婷综合| 色综合网站国产麻豆| 亚洲av永久中文无码精品综合| 色欲综合久久中文字幕网| 色妞色综合久久夜夜| AV狠狠色丁香婷婷综合久久 | 色综合久久98天天综合| 欧洲 亚洲 国产图片综合| 色婷婷久久综合中文久久一本`| 亚洲成综合人影院在院播放| 亚洲综合中文字幕无线码| 久久婷婷五月综合色精品 | 国产亚洲综合久久| 久久影视综合亚洲| 狠狠色丁香久久综合婷婷| 青青草原综合久久|