0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编码器脉冲计数采集模块的详细介绍

聂先生 来源:聂先生 作者:聂先生 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协议

(1)、Modbus TCP数据帧:

在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式。图3所示,Modbus TCP数据帧包含报文头、功能代码和数据3部分。

poYBAGLOXBqAJOJgAAA7R9PLfHQ147.png

图6:TCP/IP上的MODBUS的请求/响应

(2)、MBAP报文头描述:

MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节,如表1所示。

表1:MBAP报文头

长度(B) 描述
传输标识 2个字节 标志某个MODBUS询问/应答的传输
协议标志 2个字节 0=MODBUS协议
长度 2个字节 后续字节计数
单元标识符 1个字节 串行链路或其它总线上连接的远程从站的识别码

(3)、Modbus功能代码:

Modbus功能码分为3种类型,分别是:

(1)公共功能代码:已定义好的功能码,保证其唯一性,由Modbus.org认可;

(2)用户自定义功能代码有两组,分别为65~72和100~110,无需认可,但不保证代码使用的唯一性。如变为公共代码,需交RFC认可;

(3)保留的功能代码,由某些公司使用在某些传统设备的代码,不可作为公共用途。

在常用的公共功能代码中,IBF96支持部分的功能码,详见如下:

功能码 名称 说明
01 Read Coil Status 读取线圈状态 1表示高电平, 0表示低电平。
03 Read Holding Register 读保持寄存器 1表示高电平, 0表示低电平。
05 Write Single Coil 写单个线圈 1表示三极管导通, 0表示三极管断开。
06 Write Single Register 写单个寄存器 1表示三极管导通, 0表示三极管断开。
15 Write Multiple Coils 写多个线圈
16 Write Multiple Registers 写多个寄存器

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

01(0x01)读线圈

在一个远程设备中,使用该功能码读取线圈的1 至2000 连续状态。请求PDU详细说明了起始地址,即指定的第一个线圈地址和线圈编号。从零开始寻址线圈。因此寻址线圈1-16 为0-15。

根据数据域的每个位(bit)将响应报文中的线圈分成为一个线圈。指示状态为1= ON和0= OFF。第一个数据作为字节的LSB(最低有效位),后面的线圈数据依次向高位排列,来组成8位一个的字节。如果返回的输出数量不是八的倍数,将用零填充最后数据字节中的剩余位(bit)(一直到字节的高位端)。字节数量域说明了数据的完整字节数

功能码01举例,读8通道DI数据,寄存器地址00033~00040:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 04
单元标识符 01 单元标识符 01
功能码 01 功能码 01
起始地址Hi 00 字节数 01
起始地址Lo 20 输出状态DI7-DI0 00
输出数量Hi 00
输出数量Lo 08

03(0x03)读保持寄存器

在一个远程设备中,使用该功能码读取保持寄存器连续块的内容。请求PDU说明了起始寄存器地址和寄存器数量。从零开始寻址寄存器。因此,寻址寄存器1-16 为0-15。在响应报文中,每个寄存器有两字节,第一个字节为数据高位,第二个字节为数据低位。

功能码03举例,读8通道DI数据,寄存器地址40033:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 05
单元标识符 01 单元标识符 01
功能码 03 功能码 03
起始地址Hi 00 字节数 02
起始地址Lo 20 寄存器值Hi(0x00) 00
寄存器编号Hi 00 寄存器值Lo(DI7-DI0) 00
寄存器编号Lo 01

05(0x05)写单个线圈

在一个远程设备上,使用该功能码写单个输出为ON 或OFF。请求PDU说明了强制的线圈地址。从零开始寻址线圈。因此,寻址线圈地址1为0。线圈值域的常量说明请求的ON/OFF状态。十六进制值0xFF00请求线圈为ON。十六进制值0x0000请求线圈为OFF。其它所有值均为非法的,并且对线圈不起作用。

正确的响应应答是和请求一样的。

功能码05举例,设置通道DO0为ON,也就是为1,寄存器地址00001:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 06
单元标识符 01 单元标识符 01
功能码 05 功能码 05
输出地址Hi 00 输出地址Hi 00
输出地址Lo 00 输出地址Lo 00
输出值Hi FF 输出值Hi FF
输出值Lo 00 输出值Lo 00

06(0x06)写单个寄存器

在一个远程设备中,使用该功能码写单个保持寄存器。请求PDU说明了被写入寄存器的地址。从零开始寻址寄存器。因此,寻址寄存器地址1为0。

正确的响应应答是和请求一样的。

功能码06举例,设置通道DO0~DO7全部为1,16进制为0xFF,寄存器地址40001:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 06
单元标识符 01 单元标识符 01
功能码 06 功能码 06
寄存器地址Hi 00 寄存器地址Hi 00
寄存器地址Lo 00 寄存器地址Lo 00
寄存器值Hi 00 寄存器值Hi 00
寄存器值Lo FF 寄存器值Lo FF

15(0x0F)写多个线圈

在一个远程设备上,使用该功能码写多个输出为ON 或OFF。请求PDU说明了强制的线圈地址。从零开始寻址线圈。因此,寻址线圈地址1为0。线圈值域的常量说明请求的ON/OFF状态。数据由16进制换算成二进制按位排列,位值为1请求线圈为ON,位值为0请求线圈为OFF。

功能码15举例,设置通道DO0,DO1为ON,也就是为00000011,寄存器地址00001:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 06
单元标识符 01 单元标识符 01
功能码 0F 功能码 0F
开始地址Hi 00 开始地址Hi 00
开始地址Lo 00 开始地址Lo 00
线圈数量Hi 00 线圈数量Hi 00
线圈数量Lo 02 线圈数量Lo 02
字节数 01
输出值 02

16(0x10)写多个寄存器

在一个远程设备中,使用该功能码写多个保持寄存器。请求PDU说明了被写入寄存器的地址。从零开始寻址寄存器。因此,寻址寄存器地址1为0。功能码16举例,设置通道DO0和DO1的PWM值为5和6,寄存器地址40001:

请求 响应
字段名称 十六进制 字段名称 十六进制
MBAP报文头 传输标识 01 MBAP报文头 传输标识 01
00 00
协议标志 00 协议标志 00
00 00
长度 00 长度 00
06 06
单元标识符 01 单元标识符 01
功能码 10 功能码 10
开始寄存器地址Hi 00 开始寄存器地址Hi 00
开始寄存器地址Lo 00 开始寄存器地址Lo 00
寄存器数量Hi 00 寄存器数量Hi 00
寄存器数量Lo 02 寄存器数量Lo 02
字节数 04
寄存器值Hi 00
寄存器值Lo 05
寄存器值Hi 00
寄存器值Lo 06
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3904

    浏览量

    141451
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129068
  • MODBUS
    +关注

    关注

    28

    文章

    2387

    浏览量

    82276
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1418

    浏览量

    83020
  • 采集模块
    +关注

    关注

    0

    文章

    164

    浏览量

    9989
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    增量式编码器:精准测量背后的分类智慧

    在工业自动化、机器人技术、数控机床等高精度领域,增量式编码器作为位移测量的核心传感,始终扮演着“数字量尺”的关键角色。其通过将机械旋转或直线运动转化为周期性电信号,再以脉冲计数实现位移量化,凭借
    的头像 发表于 10-22 08:44 389次阅读

    FPGA FOC驱动编码器模块介绍

    在多路FOC驱动板上,一共是支持了两种编码器和两种角度获取方式,分别是AS5047P和MT6835,SPI和ABZ。AS5047P的精度是14bit,MT6835的精度是21bit,它们的价格差不多
    的头像 发表于 09-06 09:50 5323次阅读
    FPGA FOC驱动<b class='flag-5'>编码器</b><b class='flag-5'>模块</b><b class='flag-5'>介绍</b>

    由倍讯科技研制的CCLinkIE转ModbusTCP网关,可达成与脉冲计数器的连接

    本研究案例展示三菱可编程逻辑控制(PLC)在工业自动化控制中的实际应用。应用时,将三菱PLC与脉冲计数器相连,实现控制与数据采集功能。采用CCLinkIE到ModbusTCP的网关转换方式,解决不
    的头像 发表于 08-26 16:58 486次阅读
    由倍讯科技研制的CCLinkIE转ModbusTCP网关,可达成与<b class='flag-5'>脉冲计数器</b>的连接

    绝对值编码器与增量式编码器相比有哪些优势?

    、是否重启,只要设备未发生物理位移,再次上电后可直接读取当前的准确位置,无需 “找零” 或重新校准。 增量式编码器:仅输出脉冲信号,通过计数脉冲数量计算位置变化,但无
    的头像 发表于 08-11 13:57 1190次阅读
    绝对值<b class='flag-5'>编码器</b>与增量式<b class='flag-5'>编码器</b>相比有哪些优势?

    脉冲增量式编码器:工业精密控制的“隐形指挥官”

    脉冲增量式编码器,工业自动化领域最基础的“时空刻度尺”。 一、从机械刻线到光电脉冲:工业测量的革命性突破 1952年,德国海德汉公司研制出首台光电式编码器,用玻璃码盘上的刻线替代了传
    的头像 发表于 08-05 08:47 729次阅读

    经过光耦之后,脉冲计数功能为什么不能实现?

    设置PA0为普通定时,复用推挽输出,但是发现信号经过光耦之后高电平不到2V,不能进行脉冲计数,如果设置成中断输入,高电平是3.3V,请问这是啥原因?现有的电路能否实现脉冲计数功能?
    发表于 06-17 06:08

    脉冲编码器详细解析

    脉冲编码器作为一种关键的位置和速度检测元件,在现代工业中发挥着至关重要的作用。本文将从脉冲编码器的定义、工作原理、分类、优缺点、应用等多个方面,对其进行全面而
    的头像 发表于 04-17 16:48 1553次阅读

    编码器常见的故障详细说明

    运行和加工精度。本文将详细说明编码器常见的故障及其排除方法,以帮助用户更好地维护和使用编码器。 一、信号输出故障 1. 无信号输出:编码器无法产生信号,上位机或控制系统接收不到任何数据
    的头像 发表于 04-16 18:28 3215次阅读

    编码器与无轴承编码器,到底如何选择?

    在选择轴编码器与无轴承编码器时,需要根据具体的应用场景、性能需求、环境条件和成本预算等因素进行综合考虑。以下是对两者的详细对比,以帮助做出合适的选择: 一、工作原理与结构 1. 轴编码器
    的头像 发表于 03-11 15:33 988次阅读
    轴<b class='flag-5'>编码器</b>与无轴承<b class='flag-5'>编码器</b>,到底如何选择?

    增量式编码器原理介绍

    增量式编码器是一种将位移信息转换成周期性电信号,再将电信号转换成脉冲计数的装置。
    的头像 发表于 03-03 10:21 2036次阅读
    增量式<b class='flag-5'>编码器</b>原理<b class='flag-5'>介绍</b>

    DISCOAA编码器性质特点

    DISCOAA编码器的具体详细资料或参数 ‌。不过,我们可以根据编码器的通用知识和一些相关信息来概述编码器的一般特点和类型。 编码器通常用于
    的头像 发表于 02-20 13:50 622次阅读

    增量式编码器单圈和多圈怎么知道,如何分辩?

    了解增量式编码器的单圈和多圈类型。 一、增量式编码器基础 增量式编码器是将位移转换成周期性的电信号,然后把这个电信号转变成计数脉冲,用
    的头像 发表于 01-09 16:40 1204次阅读

    拉线编码器关键参数详解

    在工业自动化和精密测量领域,拉线编码器以其高精度、长寿命和灵活的安装方式,成为了众多应用场合的首选。然而,面对市场上琳琅满目的拉线编码器产品,如何挑选一款符合自己需求的编码器,成为了许多工程师和采购人员面临的挑战。本文将
    的头像 发表于 01-07 15:53 1205次阅读

    光栅尺磁栅尺脉冲信号编码器4倍频脉冲计数器转485采集模块 YL153

    ,角度测量,转速测量,产品计米等等。 产品包括信号采集脉冲信号捕捉,信号转换和RS-485串行通信。每个串口最多可接255只 YL153系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,波特率可由代码
    的头像 发表于 12-10 11:21 1110次阅读
    光栅尺磁栅尺<b class='flag-5'>脉冲</b>信号<b class='flag-5'>编码器</b>4倍频<b class='flag-5'>脉冲计数器</b>转485<b class='flag-5'>采集</b><b class='flag-5'>模块</b> YL153

    伺服编码器接线方法 伺服编码器线可以自己延长吗?

    伺服编码器是伺服电机系统中的关键组件,负责监测电机的位置和运动状态,从而实现精确的位置控制。本文将详细介绍伺服编码器的接线方法,并探讨伺服编码器
    的头像 发表于 12-09 01:02 3464次阅读