返回首页
当前位置: 主页>USB协议基础>

多平台下Modbus通信协议库的设计(一)

时间:2018-07-05 15:10来源:USB开发群 作者:USB开发频道 点击:

  

MODBUS OSI 模型第 7 层上的应用层报文传输协议, 它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。 dedecms.com

自从 1979 年出现工业串行链路的事实标准以来, MODBUS 使成千上万的自动化设备能够通信。 内容来自dedecms

目前,继续增加对简单而雅观的 MODBUS 结构支持。互联网组织能够使 TCP/IP 栈上的保留系统端口 502 访问 MODBUS

内容来自dedecms

MODBUS 是一个请求/应答协议,并且提供功能码规定的服务。MODBUS 功能码是 MODBUS请求/应答 PDU 的元素。 内容来自dedecms

1.2.缩略语

ADU 应用数据单元 内容来自dedecms

HDLC 高级数据链路控制 织梦内容管理系统

HMI 人机界面

织梦好,好织梦

IETF 因特网工程工作组 织梦好,好织梦

I/O 输入/输出设备 内容来自dedecms

IP 互连网协议

内容来自dedecms

MAC 介质访问控制 copyright dedecms

MB MODBUS 协议 内容来自dedecms

MBAP  MODBUS应用协议

织梦内容管理系统

PDU 协议数据单元 织梦内容管理系统

PLC 可编程逻辑控制器

织梦内容管理系统

TCP 传输控制协议

织梦好,好织梦

1.3.MODBUS体系结构实例

内容来自dedecms

每种设备(PLCHMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用 MODBUS协议来启动远程操作。 本文来自织梦

在基于串行链路和以太 TCP/IP 网络的 MODBUS 上可以进行相同通信。

本文来自织梦

一些网关允许在几种使用 MODBUS 协议的总线或网络之间进行通信。 dedecms.com

1.4.协议描述

MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU) 。特定总线或网络上的 MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。 织梦内容管理系统

dedecms.com

启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。 功能码向服务器指示将执行哪种操作。 内容来自dedecms

MODBUS 协议建立了客户机启动的请求格式。

dedecms.com

用一个字节编码 MODBUS 数据单元的功能码域。有效的码字范围是十进制 1-255128-255 为异常响应保留) 。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。

织梦内容管理系统

向一些功能码加入子功能码来定义多项操作。

织梦好,好织梦

从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。

织梦内容管理系统

在某种请求中,数据域可以是不存在的(0 长度) ,在此情况下服务器不需要任何附加信息。功能码仅说明操作。 织梦内容管理系统

如果在一个正确接收的 MODBUS ADU 中,不出现与请求 MODBUS 功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求 MODBUS 功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。

织梦内容管理系统

例如, 客户机能够读一组离散量输出或输入的开/关状态, 或者客户机能够读/写一组寄存器的数据内容。

内容来自dedecms

当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应) 。对于一个正常响应来说,服务器仅对原始功能码响应。

本文来自织梦

织梦好,好织梦

对于异常响应,服务器返回一个与原始功能码等同的码,设置该原始功能码的最高有效位为逻辑 1 copyright dedecms

内容来自dedecms

注释:需要管理超时,以便明确地等待可能不会出现的应答。 copyright dedecms

串行链路上第一个MODBUS执行的长度约束限制了MODBUS PDU大小 (最大RS485ADU=256字节) 。

织梦内容管理系统

因此, 对串行链路通信来说,MODBUS PDU=256-服务器地址(1 字节)-CRC2 字节)=253字节。

dedecms.com

从而:

copyright dedecms

RS232 / RS485 ADU = 253 字节+服务器地址(1 byte) + CRC (2 字节) = 256  字节。

dedecms.com

TCP MODBUS ADU = 249 字节+ MBAP (7 字节) = 256  字节。

内容来自dedecms

MODBUS 协议定义了三种 PDU。它们是:

dedecms.com

MODBUS 请求 ,modbus_request 织梦内容管理系统

MODBUS 响应 ,modbus_reply

dedecms.com

MODBUS 异常响应 ,modbus_reply_exception

内容来自dedecms

1.5.数据模型

MODBUS 以一系列具有不同特征表格上的数据模型为基础。四个基本表格为:

内容来自dedecms

基本表格 dedecms.com

 

对象类型 织梦好,好织梦

 

访问类型   dedecms.com

 

内容 织梦内容管理系统

 

离散量输入   织梦好,好织梦

 

单个比特  

copyright dedecms

 

只读  

dedecms.com

 

I/O 系统提供这种类型数据

dedecms.com

 

线圈

copyright dedecms

 

单个比特  

本文来自织梦

 

读写

织梦内容管理系统

 

通过应用程序改变这种类型数据 织梦好,好织梦

 

输入寄存器 内容来自dedecms

 

16-比特字   copyright dedecms

 

只读  

copyright dedecms

 

I/O 系统提供这种类型数据

本文来自织梦

 

保持寄存器

内容来自dedecms

 

16-比特字   dedecms.com

 

读写

织梦好,好织梦

 

通过应用程序改变这种类型数据 copyright dedecms

 
1.6.设计背景




秦华 『上海买保险』上海地区人寿保险资深寿险顾问 上海外籍人士买保险-高端人士医疗办理
服务项目:儿童医疗/子女教育金/养老保险/重大疾病/意外伤害/员工团险/公众责任
免费热线『上海』:13761630213, QQ:107242375, Email:victor.qin@qq.com
选择保险事业 为了爱,为了一份坚定的承诺!MSN:
上海地区请直接拨打本人电话,应约免费上门提供免费保险方案。
Baoxian.ws>>           旅行签证保险、上门办理>>        重大疾病网>>     上海重大疾病一览    
友情链接: 走在上海人寿保险的前端    和讯保险博客    上海投保在线    Shanghai Insurance    秦华的个人简历


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
图文并茂 我的链接
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
上海高端医疗/住院医疗保险信息
上海保险规划师信息
上海子女教育理财保险信息
上海保险规划师信息
上海女性高端生育保险方案-等待期
上海保险规划师信息
上海三口之家家庭保障方案
上海保险规划师信息
上海女性特色重大疾病保险方案
上海保险规划师信息
上海女性白领理财保险方案
上海保险规划师信息
上海养老理财规划保险方案
上海保险规划师信息
通过网络取得初步咨询
  •    
上海办理-免费咨询送计划书
上海买保险
上海办理-申根签证 出国旅行保险
上海买保险
上海买保险,海外基金,买保险,友邦保险,中国人民健康保险,养老保险,儿童保险,儿童医疗,子女教育金,太平洋保险,医疗保险,工伤保险条例,中国人寿保险,保险公司,中国平安保险,医疗险,进口药,自费药,外籍人士医疗,泰康人寿,英国保诚集团,上海综合保险,国际医疗保险,上海医疗保险,上海社会保险,上海养老保险,上海市综合保险,上海平安保险,上海太平洋保险,和睦家医院,上海综合保险卡,买保险,高端医疗,重大疾病,意外伤害,定期寿险,家庭理财,友邦保险,金茂大厦,少儿互助基金,上海社保,太平洋集团,港安医院