0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

編碼器脈沖計數(shù)采集模塊的詳細(xì)介紹

聶先生 ? 來源:聶先生 ? 作者:聶先生 ? 2022-07-13 13:47 ? 次閱讀

pYYBAGLOW8-AHq7gAALgpujXYOY224.png

poYBAGLOW9iAQCGpAAGEvdJlFDw877.png

poYBAGLOW-GAN6PQAADnw_HOkz0554.png

poYBAGLOW-mAE54jAAC0_c7meUw641.png

pYYBAGLOW_iAd4vxAAP1zpCI4og533.png

poYBAGLOW_iAduuLAADjmcZ1aEo851.png

poYBAGLOXAKAABKtAAKF1HdSOQw915.png

Modbus TCP協(xié)議

(1)、Modbus TCP數(shù)據(jù)幀:

在TCP/IP以太網(wǎng)上傳輸,支持Ethernet II和802.3兩種幀格式。圖3所示,Modbus TCP數(shù)據(jù)幀包含報文頭、功能代碼和數(shù)據(jù)3部分。

poYBAGLOXBqAJOJgAAA7R9PLfHQ147.png

圖6:TCP/IP上的MODBUS的請求/響應(yīng)

(2)、MBAP報文頭描述:

MBAP報文頭(MBAP、Modbus Application Protocol、Modbus應(yīng)用協(xié)議)分4個域,共7個字節(jié),如表1所示。

表1:MBAP報文頭

長度(B) 描述
傳輸標(biāo)識 2個字節(jié) 標(biāo)志某個MODBUS詢問/應(yīng)答的傳輸
協(xié)議標(biāo)志 2個字節(jié) 0=MODBUS協(xié)議
長度 2個字節(jié) 后續(xù)字節(jié)計數(shù)
單元標(biāo)識符 1個字節(jié) 串行鏈路或其它總線上連接的遠(yuǎn)程從站的識別碼

(3)、Modbus功能代碼:

Modbus功能碼分為3種類型,分別是:

(1)公共功能代碼:已定義好的功能碼,保證其唯一性,由Modbus.org認(rèn)可;

(2)用戶自定義功能代碼有兩組,分別為65~72和100~110,無需認(rèn)可,但不保證代碼使用的唯一性。如變?yōu)楣泊a,需交RFC認(rèn)可;

(3)保留的功能代碼,由某些公司使用在某些傳統(tǒng)設(shè)備的代碼,不可作為公共用途。

在常用的公共功能代碼中,IBF96支持部分的功能碼,詳見如下:

功能碼 名稱 說明
01 Read Coil Status 讀取線圈狀態(tài) 1表示高電平, 0表示低電平。
03 Read Holding Register 讀保持寄存器 1表示高電平, 0表示低電平。
05 Write Single Coil 寫單個線圈 1表示三極管導(dǎo)通, 0表示三極管斷開。
06 Write Single Register 寫單個寄存器 1表示三極管導(dǎo)通, 0表示三極管斷開。
15 Write Multiple Coils 寫多個線圈
16 Write Multiple Registers 寫多個寄存器

(4)、支持的功能碼描述

01(0x01)讀線圈

在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取線圈的1 至2000 連續(xù)狀態(tài)。請求PDU詳細(xì)說明了起始地址,即指定的第一個線圈地址和線圈編號。從零開始尋址線圈。因此尋址線圈1-16 為0-15。

根據(jù)數(shù)據(jù)域的每個位(bit)將響應(yīng)報文中的線圈分成為一個線圈。指示狀態(tài)為1= ON和0= OFF。第一個數(shù)據(jù)作為字節(jié)的LSB(最低有效位),后面的線圈數(shù)據(jù)依次向高位排列,來組成8位一個的字節(jié)。如果返回的輸出數(shù)量不是八的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余位(bit)(一直到字節(jié)的高位端)。字節(jié)數(shù)量域說明了數(shù)據(jù)的完整字節(jié)數(shù)

功能碼01舉例,讀8通道DI數(shù)據(jù),寄存器地址00033~00040:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 04
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 01 功能碼 01
起始地址Hi 00 字節(jié)數(shù) 01
起始地址Lo 20 輸出狀態(tài)DI7-DI0 00
輸出數(shù)量Hi 00
輸出數(shù)量Lo 08

03(0x03)讀保持寄存器

在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取保持寄存器連續(xù)塊的內(nèi)容。請求PDU說明了起始寄存器地址和寄存器數(shù)量。從零開始尋址寄存器。因此,尋址寄存器1-16 為0-15。在響應(yīng)報文中,每個寄存器有兩字節(jié),第一個字節(jié)為數(shù)據(jù)高位,第二個字節(jié)為數(shù)據(jù)低位。

功能碼03舉例,讀8通道DI數(shù)據(jù),寄存器地址40033:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 05
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 03 功能碼 03
起始地址Hi 00 字節(jié)數(shù) 02
起始地址Lo 20 寄存器值Hi(0x00) 00
寄存器編號Hi 00 寄存器值Lo(DI7-DI0) 00
寄存器編號Lo 01

05(0x05)寫單個線圈

在一個遠(yuǎn)程設(shè)備上,使用該功能碼寫單個輸出為ON 或OFF。請求PDU說明了強(qiáng)制的線圈地址。從零開始尋址線圈。因此,尋址線圈地址1為0。線圈值域的常量說明請求的ON/OFF狀態(tài)。十六進(jìn)制值0xFF00請求線圈為ON。十六進(jìn)制值0x0000請求線圈為OFF。其它所有值均為非法的,并且對線圈不起作用。

正確的響應(yīng)應(yīng)答是和請求一樣的。

功能碼05舉例,設(shè)置通道DO0為ON,也就是為1,寄存器地址00001:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 06
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 05 功能碼 05
輸出地址Hi 00 輸出地址Hi 00
輸出地址Lo 00 輸出地址Lo 00
輸出值Hi FF 輸出值Hi FF
輸出值Lo 00 輸出值Lo 00

06(0x06)寫單個寄存器

在一個遠(yuǎn)程設(shè)備中,使用該功能碼寫單個保持寄存器。請求PDU說明了被寫入寄存器的地址。從零開始尋址寄存器。因此,尋址寄存器地址1為0。

正確的響應(yīng)應(yīng)答是和請求一樣的。

功能碼06舉例,設(shè)置通道DO0~DO7全部為1,16進(jìn)制為0xFF,寄存器地址40001:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 06
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 06 功能碼 06
寄存器地址Hi 00 寄存器地址Hi 00
寄存器地址Lo 00 寄存器地址Lo 00
寄存器值Hi 00 寄存器值Hi 00
寄存器值Lo FF 寄存器值Lo FF

15(0x0F)寫多個線圈

在一個遠(yuǎn)程設(shè)備上,使用該功能碼寫多個輸出為ON 或OFF。請求PDU說明了強(qiáng)制的線圈地址。從零開始尋址線圈。因此,尋址線圈地址1為0。線圈值域的常量說明請求的ON/OFF狀態(tài)。數(shù)據(jù)由16進(jìn)制換算成二進(jìn)制按位排列,位值為1請求線圈為ON,位值為0請求線圈為OFF。

功能碼15舉例,設(shè)置通道DO0,DO1為ON,也就是為00000011,寄存器地址00001:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 06
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 0F 功能碼 0F
開始地址Hi 00 開始地址Hi 00
開始地址Lo 00 開始地址Lo 00
線圈數(shù)量Hi 00 線圈數(shù)量Hi 00
線圈數(shù)量Lo 02 線圈數(shù)量Lo 02
字節(jié)數(shù) 01
輸出值 02

16(0x10)寫多個寄存器

在一個遠(yuǎn)程設(shè)備中,使用該功能碼寫多個保持寄存器。請求PDU說明了被寫入寄存器的地址。從零開始尋址寄存器。因此,尋址寄存器地址1為0。功能碼16舉例,設(shè)置通道DO0和DO1的PWM值為5和6,寄存器地址40001:

請求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報文頭 傳輸標(biāo)識 01 MBAP報文頭 傳輸標(biāo)識 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長度 00 長度 00
06 06
單元標(biāo)識符 01 單元標(biāo)識符 01
功能碼 10 功能碼 10
開始寄存器地址Hi 00 開始寄存器地址Hi 00
開始寄存器地址Lo 00 開始寄存器地址Lo 00
寄存器數(shù)量Hi 00 寄存器數(shù)量Hi 00
寄存器數(shù)量Lo 02 寄存器數(shù)量Lo 02
字節(jié)數(shù) 04
寄存器值Hi 00
寄存器值Lo 05
寄存器值Hi 00
寄存器值Lo 06
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3650

    瀏覽量

    134761
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5357

    瀏覽量

    120668
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1812

    瀏覽量

    77092
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1372

    瀏覽量

    79142
  • 采集模塊
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    9607
收藏 人收藏

    評論

    相關(guān)推薦

    增量編碼器與絕對值編碼器的區(qū)別

    更高,尤其在多圈測量時優(yōu)勢比較明顯。 增量編碼器與絕對值編碼器在抗干擾能力對比 由于增量編碼器依賴脈沖計數(shù),容易受到干擾導(dǎo)致脈沖丟失或誤
    的頭像 發(fā)表于 11-18 16:38 ?792次閱讀
    增量<b class='flag-5'>編碼器</b>與絕對值<b class='flag-5'>編碼器</b>的區(qū)別

    二進(jìn)制編碼器與絕對編碼器的區(qū)別

    稱為增量編碼器,是一種相對編碼器。它通過檢測軸的旋轉(zhuǎn)方向和步數(shù)來提供位置信息。 工作原理 二進(jìn)制編碼器的工作原理基于脈沖計數(shù)。當(dāng)軸旋轉(zhuǎn)時,編碼器
    的頭像 發(fā)表于 11-06 09:54 ?541次閱讀

    模塊編碼器原理 精度與分辨率

    模塊編碼器原理 精度與分辨率:編碼器是一種將旋轉(zhuǎn)位移或直線位移轉(zhuǎn)換成電信號的裝置。它通過測量機(jī)械部件的運(yùn)動,并將其轉(zhuǎn)化為數(shù)字脈沖或模擬信號輸出,從而實現(xiàn)對位置、速度和方向等參數(shù)的精確
    的頭像 發(fā)表于 08-12 11:13 ?361次閱讀
    <b class='flag-5'>模塊</b>式<b class='flag-5'>編碼器</b>原理 精度與分辨率

    怎么看編碼器上的參數(shù)?

    )編碼器參數(shù)的含義 在使用編碼器時,需要設(shè)置一些參數(shù)以調(diào)整編碼器的性能,這些參數(shù)包括: 1. 分辨率:表示編碼器輸出的脈沖數(shù),通常是每轉(zhuǎn)的
    的頭像 發(fā)表于 06-23 16:16 ?1615次閱讀
    怎么看<b class='flag-5'>編碼器</b>上的參數(shù)?

    伺服電機(jī)編碼器的分辨率是多少

    伺服電機(jī)編碼器的分辨率是衡量編碼器性能的重要指標(biāo)之一,它直接影響到伺服系統(tǒng)的精度和穩(wěn)定性。本文將詳細(xì)介紹伺服電機(jī)編碼器的分辨率,包括其定義、
    的頭像 發(fā)表于 06-17 11:13 ?1613次閱讀

    脈沖計數(shù)器的工作原理和基本結(jié)構(gòu)

    于通信、雷達(dá)、測控、電力等領(lǐng)域。本文將詳細(xì)闡述脈沖計數(shù)器的工作原理和基本結(jié)構(gòu),并探討其在實際應(yīng)用中的重要性。
    的頭像 發(fā)表于 05-15 17:14 ?2543次閱讀

    脈沖計數(shù)器的分類和作用

    在電子技術(shù)和數(shù)字系統(tǒng)中,脈沖計數(shù)器作為一種基本而重要的邏輯器件,其應(yīng)用廣泛且功能多樣。脈沖計數(shù)器不僅能夠?qū)崿F(xiàn)基本的計數(shù)操作,還具備多種輸出功能和控制功能,滿足了電力、石化、冶金、輕工、制藥、航空等諸多領(lǐng)域的需求。本文將深入探討
    的頭像 發(fā)表于 05-15 17:11 ?1277次閱讀

    簡單認(rèn)識脈沖計數(shù)器

    在數(shù)字電路和電子測量領(lǐng)域中,脈沖計數(shù)器作為一種基本而重要的工具,其應(yīng)用十分廣泛。脈沖計數(shù)器,也被稱為脈沖頻率計或脈沖數(shù)計,主要用于統(tǒng)計和測量輸入脈沖
    的頭像 發(fā)表于 05-15 17:08 ?1838次閱讀

    編碼器脈沖信號(怎么測量 | 丟失怎么處理 | 丟失的原因)

    的功能。 2. 使用計數(shù)器或微控制:通常使用計數(shù)器或微控制來計量編碼器脈沖信號??梢酝ㄟ^將
    的頭像 發(fā)表于 04-17 15:24 ?2850次閱讀

    foc sdk5.0如何使用庫中AB編碼器脈沖計數(shù)

    在使用foc sdk5.0過程中,我配置了光編碼器來檢測馬達(dá)速度,但在使用過程中,發(fā)現(xiàn)控制不是很好,我想使用庫中AB編碼器脈沖計數(shù),請告知應(yīng)該用哪個函數(shù)? 謝謝!
    發(fā)表于 04-03 08:26

    編碼器工作原理圖

    按照工作原理編碼器可分為增量式和絕對式兩類 增量式編碼器 1、增量式編碼器是將位移轉(zhuǎn)換成周期性的電信號,再把這個電信號轉(zhuǎn)變成計數(shù)脈沖,用
    發(fā)表于 03-19 11:25 ?1346次閱讀
    <b class='flag-5'>編碼器</b>工作原理圖

    編碼器如何選擇合適的脈沖數(shù)

    編碼器脈沖數(shù)的選擇原則 1. 分辨率需求:編碼器的分辨率決定了脈沖數(shù)的選擇。在符合應(yīng)用需求的前提下,應(yīng)選擇盡可能高的分辨率,以提高測量精度。 2、依據(jù)轉(zhuǎn)速要求選?。阂罁?jù)設(shè)備的工作速度要
    的頭像 發(fā)表于 03-01 13:36 ?2585次閱讀
    <b class='flag-5'>編碼器</b>如何選擇合適的<b class='flag-5'>脈沖</b>數(shù)

    脈沖編碼器輸入信號有哪幾種 | 編碼器輸出的脈沖信號有電壓嗎 | 脈沖編碼器輸入信號怎么調(diào)

    脈沖編碼器輸入信號有哪幾種 脈沖編碼器是一種用于測量運(yùn)動、位置和速度的設(shè)備。它通過輸出脈沖信號來表示運(yùn)動的數(shù)量和方向。
    的頭像 發(fā)表于 02-18 18:25 ?2881次閱讀
    <b class='flag-5'>脈沖</b><b class='flag-5'>編碼器</b>輸入信號有哪幾種 | <b class='flag-5'>編碼器</b>輸出的<b class='flag-5'>脈沖</b>信號有電壓嗎 | <b class='flag-5'>脈沖</b><b class='flag-5'>編碼器</b>輸入信號怎么調(diào)

    編碼器脈沖信號丟失怎么處理

    通常使用計數(shù)器或微控制來計量編碼器脈沖信號??梢酝ㄟ^將編碼器的輸出信號接收到計數(shù)器或微控制
    的頭像 發(fā)表于 01-18 14:44 ?2570次閱讀

    詳細(xì)介紹磁性編碼器的工作原理

    磁性編碼器是一種常見的測量裝置,用于測量物體的位置和運(yùn)動。它可以通過檢測磁性材料的變化來進(jìn)行精確的測量。本文將詳細(xì)介紹磁性編碼器的工作原理。
    的頭像 發(fā)表于 01-15 09:53 ?3656次閱讀
    <b class='flag-5'>詳細(xì)</b><b class='flag-5'>介紹</b>磁性<b class='flag-5'>編碼器</b>的工作原理