modbus通讯协议软件包

modbus通讯协议软件包

ID:36954057

大小:19.38 KB

页数:3页

时间:2019-05-03

modbus通讯协议软件包_第1页
modbus通讯协议软件包_第2页
modbus通讯协议软件包_第3页
资源描述:

《modbus通讯协议软件包》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、ModBus通讯协议软件包 ModBus通讯协议简介     Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为ModbusMaster,从设备方使用的协议称为ModbusSlave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。Modbus通讯物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口。其通信遵循以下的过程:     ·主

2、设备向从设备发送请求;     ·从设备分析并处理主设备的请求,然后向主设备发送结果;     ·如果出现任何差错,从设备将返回一个异常功能码。英创ModBus通讯协议软件产品简介     英创公司推出的ModBus通讯协议软件产品主要应用于英创ARM9嵌入式主板环境,英创工控主板均带有丰富的串口、网络资源、通用GPIO接口等,同时具有强大的处理能力。结合ModBus通讯协议软件,就可非常方便地构成符合ModBus通讯规范的主控(Master)及设备(Slave)的应用平台。针对ModBus通讯的主从方式这一特点,英创公司的ModBus通讯协议软件包分为两个可独立使用的部分,即

3、“ModBus主控协议软件”(简称modbus_Master)以及“ModBus设备方协议软件”(简称modbus_Slave)。目前英创ModBus通讯协议软件运行于WinCE环境下,均以C函数加静态LIB库的形式提供给客户。其主要特征如下:     ·非常适用于实时的工业应用。     ·可以支持基于串口的ModBus通讯协议应用或TCP的ModBus通讯协议应用。     ·RTU传输模式。     ·支持大多数的Modbus功能码操作,包括对线圈、离散开关输入的位操作,以及对寄存器的字节操作。     ·支持广播地址。     ·可以灵活设置ModBus通讯的超时时间。

4、     ·可以获取通讯中传输协议的错误代码的详细信息。英创ModBus协议软件通讯关系图英创ModBus协议软件支持的功能码 功能码描述1读单个线圈2读离散量输入3读多个寄存器4读输入寄存器5写单个线圈6写单个寄存器15写多个线圈16写多个寄存器22屏蔽写寄存器23读/写寄存器软件基本使用方法     为了方便应用程序的使用,对不同的通讯介质保持一致的代码形式,英创所提供的ModBus协议软件(包括modbus_Master和modbus_Slave)中的API函数可以同时支持基于串口和TCP的Modbus协议,应用程序只需要在调用初始化函数时,用不同参数区分即可,有关参数的

5、说明请参见相应的头文件:modbus_Master.h和modbus_Slave.h     1、modbus_Master的应用     作为Modbus客户端模式的应用,主要是准备请求并向服务器设备发送请求,并等待服务器的响应。在做此类应用开发时,用户可参考Modbus标准文献以及被控设备的通讯接口数据手册,直接调用英创提供的modbus_Master软件包提供了相应的操作API函数,来完成对服务器设备的访问和控制。在进行此类应用开发时,用户只需要包含modbus_master.h/modbus_master.lib即可。     2、modbus_Slave的应用    

6、 作为ModBus服务器模式的应用,主要需要实现了对于ModBus应用报文的分析与响应,但这还只是ModBus整个通讯的一部分,另一部分是还需要有对应用数据的访问,这部分的内容则需要用户自己来进行定义。为了方便客户的使用,在modbus_Slave软件包中通过函数指针的形式,实现了这些用户接口函数的自动加载,将用户应用数据处理和ModBus应用报文响应关联起来。用户只需根据需求定义这些接口函数来实现相应的功能,各个函数具体的定义是通过专门的一个CPP文件:DataProvider.cpp来实现。     由此可见在这类的开发应用时,需包含两个部分的内容,一部分是modbus_s

7、lave.h/modbus_slave.lib定义的API函数;另一部分是DataProvider.h/DataProvider.cpp定义的用户数据接口函数,其中接口函数需要用户在DataProvider.cpp中具体实现。     为了及时地响应ModBus应用报文,需要注意的是在程序设计时应设计一个线程反复调用modbus_Slave执行函数,该函数为阻塞模式。     举例如下:     (1)启动modbus设备方协议     hPort=mbusSlave_StartupServ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。