free modbus详解

free modbus详解

ID:38496199

大小:83.20 KB

页数:23页

时间:2019-06-13

free modbus详解_第1页
free modbus详解_第2页
free modbus详解_第3页
free modbus详解_第4页
free modbus详解_第5页
资源描述:

《free modbus详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、freemodbus之协议模块2007-12-2710:43:32  作者:  来源:freemodbus之Modbus协议配置   浏览次数:844  文字大小:【大】【中】【小】简介:DetailedDescription详细描述#include"mb.h"Thismoduledefinestheinterfacefortheapplication.ItcontainsthebasicfunctionsandtypesrequiredtousetheModbusprotocolstack.Aty...Detail

2、edDescription详细描述 #include"mb.h"Thismoduledefinestheinterfacefortheapplication.ItcontainsthebasicfunctionsandtypesrequiredtousetheModbusprotocolstack.AtypicalapplicationwillwanttocalleMBInit()first.IfthedeviceisreadytoanswernetworkrequestsitmustthencalleMBEnabl

3、e()toactivatetheprotocolstack.InthemainloopthefunctioneMBPoll()mustbecalledperiodically.ThetimeintervalbetweenpoolingdependsontheconfiguredModbustimeout.IfanRTOSisavailableaseparatetaskshouldbecreatedandthetaskshouldalwayscallthefunctioneMBPoll().这个模块为应用定义了接口。它

4、包括了使用Modbus协议栈所必须的基本功能函数和类型。一个典型的应用程序将会首先调用eMBInit()函数。如果该设备需要回应网络请求,则其必须调用eMBEnable()函数来激活协议栈。在主循环中,函数eMBPoll()将会被周期性调用。两次调用的时间间隔决定于Modbus的超时时间设置。如果使用了RTOS,用户则必须创建一个独立的任务,并且该任务必须一直调用函数eMBPoll()。 //InitializeprotocolstackinRTUmodeforaslavewithaddress10=0x0AeMBI

5、nit(MB_RTU,0x0A,38400,MB_PAR_EVEN);//EnabletheModbusProtocolStack.eMBEnable( );for(;;){    //CallthemainpollingloopoftheModbusprotocolstack.    eMBPoll( );    ...}  Defines定义#define MB_TCP_PORT_USE_DEFAULT   0 Enumerations枚举类型enum eMBMode { MB_RTU, MB_ASCII, MB

6、_TCP }Modbus协议的模式:RTU ,ASCII 和TCPenum eMBRegisterMode { MB_REG_READ, MB_REG_WRITE }Modbus寄存器的模式:READ和WRITEenum eMBErrorCode {   MB_ENOERR, MB_ENOREG, MB_EINVAL, MB_EPORTERR,   MB_ENORES, MB_EIO, MB_EILLSTATE, MB_ETIMEDOUT }错误码:没有错误,没有寄存器,无效,   ,   ,IO错误,无效   ,超

7、时enum eMBParity { MB_PAR_NONE, MB_PAR_ODD, MB_PAR_EVEN }Modbus数据帧的校验类型:无校验,偶校验,奇校验 Functions函数eMBErrorCode eMBInit (eMBMode eMode,UCHARucSlaveAddress,UCHARucPort,ULONGulBaudRate, eMBParity eParity)协议初始化函数输入参数:eMBMode eMode,Modubus协议模式UCHARucSlaveAddress, 子模块地址U

8、CHARucPort, 端口ULONGulBaudRate, 波特率eMBParity eParity 串行数据的奇偶校验eMBErrorCode eMBTCPInit (USHORTusTCPPort)如果使用了TCP协议,则用该函数进行初始化eMBErrorCode eMBClose (void)关闭Modbus协议栈eMBErrorCod

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

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

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