通讯-MODBUS-RTU规约培训

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MODBUS RTU协议分析(二)
举例 读线圈:
发:[11][01][00][13][00][25][CRC低][CRC高] 收:[11][01][05][CD][6B][B2][0E][1B][CRC低][CRC高]
读保持寄存器:
发:[11][03][00][6B][00][03][CRC低][CRC高] 收:[11][03][06][02][2B][00][00][00][64][CRC低][CRC高]
謝謝各位!
SP244配套300X系统使用,直接在系统柜提供的IO端子上接 线,232/485通过卡件上的跳线选择; XP244配套300XP系统使用,直接在系统柜提供的IO端子上 接线,232/485通过卡件上的拨号开关选择; FW244配套ECS系统使用,配套TB315端子板,一块端子板可 配套二块FW244使用,232/485通过卡件上的拨号开关选择; FW248配套ECS系统使用,配套TB248端子板,一块端子板配 套一块FW248使用。
读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值 读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值 强置单线圈 预置单寄存器 强置多线圈 预置多寄存器 强置一个逻辑线圈的通断状态 把具体二进值装入一个保持寄存器 强置一串连续逻辑线圈的通断 把具体的二进制值装入一串连续的保持寄存器
一种高速对等工业局域网 ,更加复杂的数据打包方法 。
MODBUS RTU对硬件要求
网络采用串行总线方式,满足RS485通讯 要求(通讯距离、设备数量等)。 网络中只有一个主设备。 设备支持MODBUS RTU协议。 网络中设备的串口参数和传输设置必须一 致。 网络中设备通讯地址不能重复,地址范围 在1-247之间
MODBUS RTU协议分析(四)
举例 写单个线圈:
发:[11][05][00][AC][FF][00][CRC低][CRC高] 收:[11][05][00][AC][FF][00][CRC低][CRC高]
注:[FF][00]表示闭合[00][00]表示断开,其他数值非法。
写多个保持寄存器:
MODBUS RTU地址含义
设备提供的MODBUS地址一般有2部分 组成,包含了寄存器类型和起始地址, 最高一位为寄存器类型,低位为起始地 址。 寄存器类型对应如下:
0表示线圈状态 3表示输入寄存器 举例:40001 0003 1表示输入状态 4表示保持寄存器
公司支持MODBUS RTU产品
卡件
软件
AdvMBlink
244卡通讯举例
setcomm(1200, 1); //设置通讯模式 setdelaytime(300);//设置返回等待时间 int aa[2]; _TAG("return") = readinputreg(1,0,2,aa); //读数据, 返回0表示正常
248卡通讯举例
协议总体介绍
Modbus 协议是应用于工业控制器上的一种网 络协议 。 此协议定义了一个控制器能认识使用的消息结 构,而不管它们是经过何种网络进行通信的 。 制定了消息域格局和内容的公共格式 。 使用主—从技术 。即一个设备(主设备)能 初始化传输(查询)。其它设备(从设备)根 据主设备查询提供的数据做出相应反应。
发:[11][10][00][01][00][02][04][00][0A][01][02][CRC 低][CRC高] 收:[11][10][00][01][00][02][CRC低][CRC高]
MODBUS RTU协议分析(五)
当命令存在错误,从设备响应如下 写命令: 无响应
读命令:返回的功能码最高位置1,后面跟错误码。如 发 :[11][01][00][13][00][25][CRC低][CRC高] 回 :[11][81][02][CRC低][CRC高] 错误码含义如下: 01 ILLEGAL FUNCTION 02 ILLEGAL DATA ADDRESS 03 ILLEGAL DATA VALUE 04 SLAVE DEVICE FAILURE 05 ACKNOWLEDGE 06 SLAVE DEVICE BUSY 07 NEGATIVE ACKNOWLEDGE 08 MEMORY PARITY ERROR
MODBUS RTU协议分析(三)
写单个寄存器命令
主设备发送命令:[设备地址] [功能码] [需下置的寄存器地址 高8位] [低8位] [下置的数据高8位] [低8位] [CRC校验的 低8位] [CRC校验的高8位] 设备响应:原样返回
写多个寄存器命令
主设备发送命令:[设备地址] [功能码] [需下置的寄存器地址 高8位] [低8位] [寄存器数量高8位] [低8位] [字节个数] [数据1高8位] [低8位] [数据2高8位] [低8位] ..[CRC校验 的低8位] [CRC校验的高8位] 设备响应: [设备地址] [功能码] [需下置的寄存器地址高8位] [低8位] [寄存器数量高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]
MODBUS RTU协议分析(一)
读命令
主设备发送命令:[设备地址] [功能码] [起始寄存器地址高 8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验 的低8位] [CRC校验的高8位] 设备响应:[设备地址] [功能码] [返回的字节个数][数据 1][数据2]...[数据n][CRC校验的低8位] [CRC校验的高8 位] 注:寄存器地址从0开始偏移 开关量每一个数据表示8个开关量的值,每一位为0表示 对应的开关断开,为1表示闭合。 一个模拟量需要2个字节 ,高位在前
协议相关术语介绍(一)
线圈状态
-表示一个可读写的数字量寄存器,类似于开出信号
输入状态
-表示一个只读的数字量寄存器,类似于开入信号
保持寄存器
-表示一个可读写的模拟量寄存器,类似于模出信号
Βιβλιοθήκη Baidu入寄存器
-表示一个只读的模拟量寄存器,类似于模入信号
协议相关术语介绍(二)
功能码
-表示主设备对从设备操作的方式(读或者写指定寄存 器类型)。
DCS与其他设备的通讯
-- MODBUS-RTU通讯协议
背景介绍
Modbus协议最初由Modicon(莫迪康)公司 开发出来 ,后来该公司成为施耐德自动化 (Schneider Automation)部门的一部分 。 支持传统的RS-232、RS-422、RS-485和以太 网设备。 许多工业设备,包括PLC,DCS,智能仪表等 都在使用Modbus协议作为他们之间的通讯标 准。
协议分类
MODBUS相关协议包括以下几类:
MODBUS ASCII
调试时直观,LRC校验容易 ,传输的效率比较低。
MODBUS RTU
采用16位CRC校验 ,传输的数据量比较大 。
MODBUS TCP
Modbus信息帧需嵌入TCP帧 ,使用对等技术通信 。
MODBUS PLUS (MODBUS+)
寄存器起始地址
-不同寄存器的地址是相对独立的,设备数据的存放是 按照地址进行存储的。
寄存器数量
-不同寄存器的数量返回的字节数不一致,模拟量一个 寄存器表示2个字节,开关量8个寄存器用一个字节表 示。
常用功能码介绍
功能码 名称 01 02 03 04 05 06 15 16 读取线圈状态 读取输入状态 作用 取得一组逻辑线圈的当前状态(ON/OFF) 取得一组开关输入的当前状态(ON/OFF)
相关文档
最新文档