- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Modbus技术规范的关系 通用Modbus帧结构--协议数据单元 (PDU) 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。 对于一个正常响应来说,服务器仅复制原始功能码。 对于异常响应,服务器将原始功能码的最高有效位设置逻辑1后返回。 异常码指示差错类型。 Modbus协议在串行链路上的实现模型 主要是在RS485和RS232等物理接口上实现Modbus协议。 在Modbus链路层上客户机的功能由主站提供而服务器的功能由从站实现。 Modbus主站-从站协议原理 Modbus串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接与总线,一个或多个子节点(最大编号为247)连接于同一串行总线。 Modbus通信由主节点发起,子节点在没有收到来自主节点的请求时,从不会发送数据。 子节点之间互不通信。 主节点在同一时刻只会发起一个Modbus事务处理。 主节点以两种模式对子节点发送Modbus请求:广播、单播。 主站工作状态图 从站工作状态图 串行链路上的Modbus地址规则 Modbus寻址空间有256个不同地址 地址0为广播地址 Modbus主节点没有地址,子节点必须有一个唯一的地址 串行链路上的Modbus帧结构 Modbus串行链路协议是一个主/从协议 网络上的每个从站必须有唯一的地址(从1到247) 从站地址用于寻址从站设备,由主站发起 地址0用于广播模式,不需要响应 RS-485和RS-232 定义了标准的物理端口,提高互可操作性 两种Modbus串行传输模式 ModbusTCP简介 ModbusTCP是运行在TCP/IP上的Modbus 报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其它设备之间可以通信。 ModbusTCP是开放的协议,IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP编口号为502,这是目前在仪表与自动化行业中唯一分配到的端口号。 ModbusTCP/IP协议模型 ModbusTCP报文传输服务结构 通信应用层 Modbus客户机:允许用户应用控制与远程设备的信息交换。Modbus客户机根据用户应用向Modbus客户机接口的发送要求中所包含的参数来建立一个Modbus请求。 Modbus客户机接口:Modbus客户机接口提供一个接口,使得用户应用能够生成各类Modbus服务的请求,该服务包括对Modbus应用对象的访问。 Modbus服务器:在收到一个Modbus请求以后,模块激活一个本地操作进行读、写、或完成其他操作。 TCP管理层 连接管理: 在客户机和服务器的Modbus模块之间的通信需要使用TCP连接管理模块,负责全面管理报文传输TCP连接。 访问控制: 在某些至关重要的场合,必须禁止无关的主机对设备内部数据的访问。 TCP/IP栈层 可以对TCP/IP的栈进行参数配置,以适用于不同的产品或 系统特定的约束条件,来进行数据流控制、地址管理和连 接管理,使用BSD套接字接口来管理TCP连接。 TCP连接管理 MODBUS通信需要建立客户机与服务器之间的TCP连接。 连接的建立可以由用户应用模块直接实现,也可以由TCP连接管理模块自动完成。 在第一种情况下,用户应用模块必须提供应用程序接口,以便完全管理连接。这种方式为应用开发人员提供了灵活性,但需要TCP/IP机制方面的专长。 在第二种情况,TCP 连接管理完全不出现,用户应用仅需要发送和接受MODBUS 报文。TCP 连接管理模块负责在需要时建立新的TCP连接。 TCP连接的建立 Modbus报文传输服务必须在502端口上提供一个监听套接字,允许接收新的连接和与其他设备交换数据。 当报文传输服务需要与远程服务器交换数据时,它必须与远程502端口建立一个新的客户机连接,以便于远距离地交换数据。本地端口必须高于1024,并且对每个客户机的连接各不相同 。 信息交换过程 客户机的通信过程如下: (1)用 Connect 命令建立与目标设备的连接; (2)准备 Modbus 报文包括 7个字节的 MBAP 在 内的请求; (3)使用 Send 命令发送报文; (4)在同一连接下等待应答; (5)用 Recv 命令读取报文, 完成一次数据交换过程。当通信任务结束时, 关闭 TCP 连接, 使 Modbus TCP服务器可为其它客户机服务。 应用行业规模 TCP/IP 已成为信息行业的事实标准:世界上93%的网络都使用TCP/IP,只要在应用层使用Modbus TCP,就可实
文档评论(0)