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

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

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

編碼器脈沖計(jì)數(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ù)幀包含報(bào)文頭、功能代碼和數(shù)據(jù)3部分。

poYBAGLOXBqAJOJgAAA7R9PLfHQ147.png

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

(2)、MBAP報(bào)文頭描述:

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

表1:MBAP報(bào)文頭

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

(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 寫單個(gè)線圈 1表示三極管導(dǎo)通, 0表示三極管斷開。
06 Write Single Register 寫單個(gè)寄存器 1表示三極管導(dǎo)通, 0表示三極管斷開。
15 Write Multiple Coils 寫多個(gè)線圈
16 Write Multiple Registers 寫多個(gè)寄存器

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

01(0x01)讀線圈

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

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

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

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

03(0x03)讀保持寄存器

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

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

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

05(0x05)寫單個(gè)線圈

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

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

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

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

06(0x06)寫單個(gè)寄存器

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

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

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

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

15(0x0F)寫多個(gè)線圈

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

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

請(qǐng)求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報(bào)文頭 傳輸標(biāo)識(shí) 01 MBAP報(bào)文頭 傳輸標(biāo)識(shí) 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長(zhǎng)度 00 長(zhǎng)度 00
06 06
單元標(biāo)識(shí)符 01 單元標(biāo)識(shí)符 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)寫多個(gè)寄存器

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

請(qǐng)求 響應(yīng)
字段名稱 十六進(jìn)制 字段名稱 十六進(jìn)制
MBAP報(bào)文頭 傳輸標(biāo)識(shí) 01 MBAP報(bào)文頭 傳輸標(biāo)識(shí) 01
00 00
協(xié)議標(biāo)志 00 協(xié)議標(biāo)志 00
00 00
長(zhǎng)度 00 長(zhǎng)度 00
06 06
單元標(biāo)識(shí)符 01 單元標(biāo)識(shí)符 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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    44

    文章

    3529

    瀏覽量

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

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1718

    瀏覽量

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

    關(guān)注

    8

    文章

    1324

    瀏覽量

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

    關(guān)注

    0

    文章

    135

    瀏覽量

    9512
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

    簡(jiǎn)單認(rèn)識(shí)脈沖計(jì)數(shù)器

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

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

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

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

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

    編碼器工作原理圖

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

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

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

    脈沖編碼器位置未確定如何解除,脈沖編碼器位置怎么調(diào)

    再次通電后,如果仍然顯示“脈沖編碼器位置未確定”,可以在關(guān)節(jié)進(jìn)給的模式下,使出現(xiàn)問題的軸朝任一方向旋轉(zhuǎn),直到按下RESET鍵時(shí)不再出現(xiàn)報(bào)警。
    的頭像 發(fā)表于 02-25 11:21 ?1893次閱讀

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

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

    編碼器脈沖信號(hào)丟失怎么處理

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

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

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

    如何獲取編碼器脈沖信號(hào)? | 編碼器互補(bǔ)輸出和推挽式輸出的區(qū)別?

    介紹如何獲取編碼器脈沖信號(hào)。 ? ? ? ?一、使用示波器獲取脈沖信號(hào) ? ? ? ?1、將示波器連接到編碼器輸出端口,并選擇合適的觸發(fā)
    的頭像 發(fā)表于 12-19 08:36 ?1306次閱讀
    如何獲取<b class='flag-5'>編碼器</b>的<b class='flag-5'>脈沖</b>信號(hào)? | <b class='flag-5'>編碼器</b>互補(bǔ)輸出和推挽式輸出的區(qū)別?