1 / 6
文档名称:

MODBUS入门讲解-新手必看.docx

格式:docx   大小:62KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MODBUS入门讲解-新手必看.docx

上传人:飞行的振中 2022/7/27 文件大小:62 KB

下载得到文件列表

MODBUS入门讲解-新手必看.docx

文档介绍

文档介绍:.
MODBUS详解精简版
一、基本术语
1、字word、字节byte、位bit
1word=2byte;
1byte=8bit.
2、校验码
校验码是由前面员。如
03功能码,错误返回为83。
电力系统中常用功能码表
数据种类
读功能码
写功能码
对象种类
离散量输入
02
单个位
线圈状态
01
05,15
单个位
输入存放器
04
16位字
保持存放器
03
06,16
16位字
上表中是对应数据种类的标准功能码,但在实际应用中,厂家往常会根据实用性做些变通,但并不影响数据的读写。
3、存放器开端地点
存放器开端地点占两个字节,高字节在前,低字节在后。
Modbus协议中数据模型常用的有两种,带有4个独立块的modbus数据模型和仅
有1个块的modbus数据模型,对于不同的数据模型参数地点的编制不同。一般采
用1个块的modbus数据模型,如下
数据种类
参数地点,存放器编号
离散量输入
00001~0FFFF
线圈状态
10001~1FFFF
输入存放器
30001~3FFFF
保持存放器
40001~4FFFF
;.
.
Modbus协议中存放器地点从1开始,而实际存储中地点从0开始。若是要读取寄
存器编号为40005(4为块编号,5为modbus中存放器地点)的存放器的数据,
则应把0004放入报文的地点域。存放器定义,又名码表或许信息点表,应由厂家
提供的。
举例:
存放器编号
属性
定义
系数
备注
40001
RO
A相电压
从40048中
40002
RO
B相电压
读取电压系

如要读A相电压,则应将0x000x00
放入存放器开端地点域中。
4、要读取的存放器个数
存放器个数占两个字节,同样是高字节在前,低字节在后,下行报文使用。
5、数据的字节数
数据的字节数,占一个字节,上行报文用,不同于存放器个数。
、数据域
数据域占n个字节,也是高字节在前,低字节在后
7、CRC校验
CRC校验占两个字节,低字节在前,高字节在后
CRC常用函数如下:
unsignedchar*puchMsg;
unsignedshortusDataLen;
unsignedintCRC16(unsignedcharpuchMsg,unsignedintusDataLen)
{
unsignedcharuchCRCHi=0xFF;
unsignedcharuchCRCLo=0xFF;
unsigneduIndex;
while(usDataLen--)
{
uIndex=uchCRCHi^*puchMsgg++;
uchCRCHi=uchCRCLo