编辑: 会说话的鱼 | 2018-10-28 |
s Manual(V6.13) 阿尔泰科技发展有限公司
11 作为主设备,并期望从从设备得到回应.同样,当控制器接收到消息,它将建立一从设备回应格式并返回给发送 的控制器. 主设备查询 查询消息中的功能代码告之被选中的从设备要执行何种功能. 数据段包含了从设备要执行功能的任何附加信 息.例如功能代码
03 是要求从设备读保持寄存器并返回它们的内容.数据段必须包含要告之从设备的信息:从 何寄存器开始读及要读的寄存器数量.错误检测域为从设备提供了一种验证消息内容是否正确的方法. 从设备回应 如果从设备产生正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应.数据段包括了从 设备收集的数据:像寄存器值或状态.如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时 数据段包含了描述此错误信息的代码.错误检测域允许主设备确认消息内容是否可用. 每个 MODBUS 帧都包括地址域 功能域 数据域 错误检测域
2 工作方式 2.1 MODBUS RTU 方式 地址 功能代码 数据数量 数据
1 ... 数据 n CRC 高字节 CRC 低字节 地址域 功能域 数据域 错误检测域 帧定界: 在MODBUS RTU 方式下, 每两个字符之间发送或者接收的时间间隔不能超过 1.5 倍字符传输时间. 如果 两个字符时间间隔超过了 3.5 倍字符传输时间,就认为一帧数据已经接收完成,新的一帧数据传输开始. 2.2 MODBUS ASCII 方式 : 地址 功能 代码 数据 数量 数据
1 ... 数据 n LRC 高字节 LRC 低字节 回车 换行 地址域 功能域 数据域 错误检测域 帧定界:在MODBUS ASCII 方式下,一个
8 位的数据使用两个 ASCII 字符来表示.比如
16 进制的 0x3A 用 字符
3 和字符 A 表示.其中 : 表示帧的起始, CR LF 表示帧的结束. 2.3 MODBUS TCP 方式 MBAP Header 功能代码 数据数量 数据
1 ... 数据 n 协议头 功能域 数据域 帧定界:在MODBUS TCP 方式下,由于模块的地址由 IP 地址确定,所以不再有地址域内容,考虑到 TCP 网络是可靠的数据传输网络,故不再有校验数据.但是考虑到在 IP 网上数据到达的顺序可能与我们预期的数据 不一致,故增加了一个数据序号,考虑到在 MODBUS TCP 协议上承载 MODBUS 协议,还在头部数据中增加了 一个地址域. DAM-E3000 Data Acquisition Modules User'
s Manual(V6.13) 阿尔泰科技发展有限公司
12 MBAP Header
3 支持命令 目前,本公司所生产的以太网分布式采集模块均采用该协议,MODBUS TCP 方式.支持的功能码主要包括 如下几种:
01 READ COIL STATUS
02 READ INPUT STATUS
03 READ HOLDING REGISTERS
04 READ INPUT REGISTERS
05 FORCE SINGLE COIL
06 PRESET SINGLE REGISTER
15 FORCE MULTIPLE COILS
16 FORCE MULTIPLE REGISTERS
20 READ FILE RECORD
21 WRITE FILE RECORD
4 地址映射表 4.1 读继电器状态 功能码:01 说明:读取输出继电器的状态 数据说明: 地址 描述 说明
00001 第01 路开关量输出当前状态 =1 高电平 =0 低电平 保留
00033 第01 路开关量输出上电状态 =1 高电平 =0 低电平 保留
00065 第01 路开关量输出安全状态 =1 高电平 =0 低电平 保留 MODBUS 请求 域名称 字节数 取值 功能码 1byte 0x01 起始地址 2byte 0x0000 to 0xFFFF 读取数量 2byte
1 to 2000(0x7D0) DAM-E3000 Data Acquisition Modules User'
s Manual(V6.13) 阿尔泰科技发展有限公司