原创 freemodbus之Modbus协议配置

2007-9-18 14:44 7135 6 8 分类: MCU/ 嵌入式

Modbus Configuration<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


Modbus配置

 


Detailed Description


详细描述


Most modules in the protocol stack are completly optional and can be excluded. This is specially important if target resources are very small and program memory space should be saved.


All of these settings are available in the file mbconfig.h


协议栈中大多数模块是可选的并且可以被包含。这对于目标资源有限的应用非常重要,在这种应用中,需要节省程序存储空间。


所有的这些设置都在mbconfig.h中进行。



 


 


Defines


定义


#define 


MB_ASCII_ENABLED   ( 1 )


#define 


MB_RTU_ENABLED   ( 1 )


#define 


MB_TCP_ENABLED   ( 0 )


#define 


MB_ASCII_TIMEOUT_SEC   ( 1 )


#define 


MB_FUNC_HANDLERS_MAX   ( 16 )


#define 


MB_FUNC_OTHER_REP_SLAVEID_BUF   ( 32 )


#define 


MB_FUNC_OTHER_REP_SLAVEID_ENABLED   ( 1 )


#define 


MB_FUNC_READ_INPUT_ENABLED   ( 1 )


#define 


MB_FUNC_READ_HOLDING_ENABLED   ( 1 )


#define 


MB_FUNC_WRITE_HOLDING_ENABLED   ( 1 )


#define 


MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED   ( 1 )


#define 


MB_FUNC_READ_COILS_ENABLED   ( 1 )


#define 


MB_FUNC_WRITE_COIL_ENABLED   ( 1 )


#define 


MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED   ( 1 )


#define 


MB_FUNC_READ_DISCRETE_INPUTS_ENABLED   ( 1 )


#define 


MB_FUNC_READWRITE_HOLDING_ENABLED   ( 1 )





Define Documentation




#define MB_ASCII_ENABLED   ( 1 )



 



 


If Modbus ASCII support is enabled.


Modbus ASCII 协议支持


 




#define MB_ASCII_TIMEOUT_SEC   ( 1 )



 



 


The character timeout value for Modbus ASCII.


Modbus ASCII协议中字符超时值


The character timeout value is not fixed for Modbus ASCII and is therefore a configuration option. It should be set to the maximum expected delay time of the network.


Modbus ASCII协议中的字符超时时间不是一个固定值,因此是一个可以配置的值。这个值可设置为网络中的最大的延迟时间。


 




#define MB_FUNC_HANDLERS_MAX   ( 16 )



 



 


Maximum number of Modbus functions codes the protocol stack should support.


Modbus协议栈支持的功能码的最多值


The maximum number of supported Modbus functions must be greater than the sum of all enabled functions in this file and custom function handlers. If set to small adding more functions will fail.


这个最大值要大于所有使能的功能函数和用户功能处理函数的总和。如果值设小了,如果增加功能处理就会失败。


 




#define MB_FUNC_OTHER_REP_SLAVEID_BUF   ( 32 )



 



 


Number of bytes which should be allocated for the Report Slave ID command.


Report Slave ID命令分配的字节数目


This number limits the maximum size of the additional segment in the report slave id function. See eMBSetSlaveID( ) for more information on how to set this value. It is only used if MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.


这个数值限制了在执行report slave ID时候附加信息的长度。参考eMBSetSlaveID( )获取信息来确定需要如何设置这个值。


 




#define MB_FUNC_OTHER_REP_SLAVEID_ENABLED   ( 1 )



 



 


If the Report Slave ID function should be enabled.


Report Slave ID 功能使能


 




#define MB_FUNC_READ_COILS_ENABLED   ( 1 )



 



 


If the Read Coils function should be enabled.


读线圈状态功能使能


 




#define MB_FUNC_READ_DISCRETE_INPUTS_ENABLED   ( 1 )



 



 


If the Read Discrete Inputs function should be enabled.


读离散输入功能使能


 




#define MB_FUNC_READ_HOLDING_ENABLED   ( 1 )



 



 


If the Read Holding Registers function should be enabled.


读保持寄存器功能使能


 




#define MB_FUNC_READ_INPUT_ENABLED   ( 1 )



 



 


If the Read Input Registers function should be enabled.


读输入寄存器功能使能


 




#define MB_FUNC_READWRITE_HOLDING_ENABLED   ( 1 )



 



 


If the Read/Write Multiple Registers function should be enabled.


读写多个寄存器功能使能


 




#define MB_FUNC_WRITE_COIL_ENABLED   ( 1 )



 



 


If the Write Coils function should be enabled.


 写线圈状态功能使能


 




#define MB_FUNC_WRITE_HOLDING_ENABLED   ( 1 )



 



 


If the Write Single Register function should be enabled.


写单个寄存器功能使能


 




#define MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED   ( 1 )



 



 


If the Write Multiple Coils function should be enabled.


写多高线圈功能使能


 




#define MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED   ( 1 )



 



 


If the Write Multiple registers function should be enabled.


写多高寄存器功能使能


 




#define MB_RTU_ENABLED   ( 1 )



 



 


If Modbus RTU support is enabled.


Modbus RTU支持使能


 




#define MB_TCP_ENABLED   ( 0 )



 



 


If Modbus TCP support is enabled.


Modbus TCP支持使能


 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

cnchip_906380433 2008-8-24 01:36

搜藏,非常感谢!

用户162249 2008-7-14 18:12

该怎么把这个协议栈 封装了?

用户135729 2007-12-25 10:45

我们老师出的题目是:某某微角度测量仪的设计

请问我应怎么写啊?

用户109362 2007-9-5 21:41

原理图啊。
不好意思,我没有。
相关推荐阅读
用户1008175 2010-10-19 16:53
差不多一年没有写日志了,再重新拾起来吧
去年9月份到现在都没写过,期间也很少登陆,都不像个做技术的人了。...
用户1008175 2009-09-22 16:22
PCF8563使用不当产生的问题
PCF8563具有中断输出的功能,当设置的定时器减为0的时候,int管脚电平拉低。在一个应用中,我将int管脚连接到MSP430F1611的一个引脚中断上,期望int管脚不断地产生中断。运行起来后发现...
用户1008175 2009-08-25 09:54
74HC04使用不当导致XTR111电压输出产生问题
74HC04应用不当导致XTR111电压输出问题<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office"...
用户1008175 2009-06-17 15:18
4~20mA电流输出(电流环)应用笔记
最近查了一些4~20mA输出的电路。结合自己的实践做了一下总结。大部分内容来自网上(链接见参考部分)。感兴趣的可以下载看看。...
用户1008175 2009-06-11 09:47
ATmega168的SPI发送完寄存器SPIF不置位的问题
利用ATmega168的硬件SPI驱动74HC595来扩展串行接口。把MOSI和SCK设置为输出,然后设置好寄存器。,具体如下:static void vSpi595Init(void){  DDRB...
用户1008175 2009-02-20 23:46
小问题大智慧
1,100/101跟101/102相比,哪个数大?     能快速回答上来吗?口算比较难了,但是,可以根据特点做个大胆推断,分子比分母小1,是不是相当于比较1/2和2/3谁大哪?显然是后者大。我们再用...
EE直播间
更多
我要评论
2
6
关闭 站长推荐上一条 /3 下一条