⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modbus_tcp_master.h

📁 ZLG MINIARM-N20源代码
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			MODBUS_TCP_MASTER.h
** Last modified Date:	2008-3-17
** Last Version:		1.0
** Descriptions:		modbus_tcp_client_function source file 
**------------------------------------------------------------------------------------------------------
** Created by:			liudikai
** Created date:		2008-3-17
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by: 
** Modified date:
** Version:	
** Descriptions: 
**
********************************************************************************************************/
#ifndef __MODBUS_TCP_MASTER_H 
#define __MODBUS_TCP_MASTER_H

#ifdef __cplusplus
	extern "C" {
#endif


#ifdef MODBUS_TCP_GLOBALS
#define MODBUS_TCP_EXT

#else
#define MODBUS_TCP_EXT extern 
#endif

#if MODBUS_TCP_MASTER_INSIDE_EN
/*********************************************************************************************************
** Function name:			MB_TCP_ReadCoils
**
** Descriptions:			读取线圈值。0x01
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	线圈起始地址
**							Quantity,		线圈数量
**							ReaValuePtr,	保存线圈值的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_READ_COILS_EN
MODBUS_TCP_EXT
uint8 MB_TCP_ReadCoils( uint8  Link_num,
 				   		uint8  ID, 
 				   		uint16 StartAddress,
 				   		uint16 Quantity,
 				   		uint8  *ReaValuePtr,
						uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_ReadDisInputs
**
** Descriptions:			读取离散输入量。0x02
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	离散输入量起始地址
**							Quantity,		离散输入量个数
**							ReaValuePtr,	保存离散输入量值的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_READ_DIS_INPUT_EN
MODBUS_TCP_EXT
uint8 MB_TCP_ReadDisInputs( uint8  Link_num,
 						 	uint8  ID, 
 					 		uint16 StartAddress,
 					 		uint16 Quantity,
 					 		uint8  *ReaValuePtr,
						    uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_ReadHoldReg
**
** Descriptions:			读取保持寄存器值,指令代码为:0x03。
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	寄存器起始地址
**							Quantity,		寄存器数量
**							ReaValuePtr,	保存读出寄存器值的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_READ_HOLD_REG_EN
MODBUS_TCP_EXT
uint8 MB_TCP_ReadHoldReg( uint8  Link_num,
 					 	  uint8  ID, 
 					      uint16 StartAddress,
 					 	  uint16 Quantity,
 					 	  uint16 *ReaValuePtr,
						  uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_ReadInputReg
**
** Descriptions:			读取输入寄存器值,指令代码为:0x04。
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	输入寄存器起始地址
**							Quantity,		输入寄存器数量
**							ReaValuePtr,	保存读出输入寄存器值的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_READ_INPUT_REG_EN
MODBUS_TCP_EXT
uint8 MB_TCP_ReadInputReg( uint8  Link_num,
 						   uint8  ID, 
 					 	   uint16 StartAddress,
 					 	   uint16 Quantity,
 					       uint16 *ReaValuePtr,
						   uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_WriteSingleCoil
**
** Descriptions:			写单线圈操作,指令代码为:0x05。
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							OutAddress,	写入线圈的地址(0x0000~0xffff)
**							OutValue,		写入线圈的值COIL_OFF、COIL_ON
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_WRITE_SING_COIL_EN
MODBUS_TCP_EXT
uint8 MB_TCP_WriteSingleCoil( uint8  Link_num,
 						 	  uint8  ID,
 						 	  uint16 OutAddress,
 						 	  uint16 OutValue,
						      uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_WriteSingleReg
**
** Descriptions:			写单寄存器操作。0x06
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							OutAddress,	写入的地址(0x0000~0xffff)
**							OutValue,		写入的值(0x0000~0xffff)
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_WRITE_SING_REG_EN
MODBUS_TCP_EXT
uint8 MB_TCP_WriteSingleReg( uint8  Link_num,
 						  	 uint8  ID,
 						 	 uint16 OutAddress,
 						 	 uint16 OutValue,
						     uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_WriteMultipleCoils
**
** Descriptions:			写多线圈操作。0x0f
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	写入线圈的起始地址(0x0000~0xffff)
**							Quantity,		写入的线圈的数量
**							*ValuePtr,		写入数据的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_WRITE_MULT_COIL_EN
MODBUS_TCP_EXT
uint8  MB_TCP_WriteMultipleCoils( uint8  Link_num,
 						 		  uint8  ID, 
 					 			  uint16 StartAddress,
 					 			  uint16 Quantity,
 					 			  uint8  *ValuePtr,
						  		  uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_WriteMultipleReg
**
** Descriptions:			写多寄存器操作。0x10
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							StartAddress,	写入寄存器的起始地址(0x0001~0xffff)
**							Quantity,		写入寄存器的数量(0x0001~0x0078)
**							*ValuePtr,		写入寄存器数据的指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_WRITE_MULT_REG_EN
MODBUS_TCP_EXT
uint8  MB_TCP_WriteMultipleReg( uint8  Link_num,
 						 		uint8  ID, 
 					 			uint16 StartAddress,
 					 			uint16 Quantity,
 					 			uint16 *ValuePtr,
						  		uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_MaskWriteReg
**
** Descriptions:			屏蔽写寄存器操作。如果Or_Mask值为零,那么结果是当前内容和And_Mask的简单
**							逻辑AND(与);如果And_Mask值为零,结果等于Or_Mask值。0x16
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							Addr,			写入寄存器的地址(0x0001~0xffff)
**							And_Mask,		屏蔽写与数据
**							Or_Mask,		屏蔽写或数据
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_MASK_WRITE_REG_EN
MODBUS_TCP_EXT
uint8  MB_TCP_MaskWriteReg( uint8  Link_num,
 						 	uint8  ID, 
 							uint16 Addr,
 							uint16 And_Mask,
 							uint16 Or_Mask,
						    uint16 time_out );
#endif
/*********************************************************************************************************
** Function name:			MB_TCP_ReadWriteMultipleReg
**
** Descriptions:			同时写读多寄存器操作,先写入后读出。0x17
**
** input parameters:		Link_num,		TCP连接号
**							ID,			从机地址
**							WStartAddr,	写入寄存器的起始地址(0x0001~0xffff)
**							WQuantity,		写入寄存器的数量
**							RStartAddr,	读出寄存器的起始地址(0x0001~0xffff)
**							RQuantity,		读出寄存器的数量
**							*DataPtr,		写入寄存器的指针和读出数据存放指针
**							time_out,		响应超时时间,单位ms
** Returned value:			完成代码:		(见modbus.h文件的异常代码表)
**         
** Created by:				Liudikai
** Created Date:			2008-03-18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if	MB_TCP_READ_WRITE_REG_EN
MODBUS_TCP_EXT
uint8  MB_TCP_ReadWriteMultipleReg( uint8 Link_num,
 						 			uint8 ID, 
 					 				uint16 WStartAddr,
 					 				uint16 WQuantity,
 					 				uint16 RStartAddr,
 					 				uint16 RQuantity,
 					 				uint16 *DataPtr,
						  			uint16 time_out );
#endif
#endif

#ifdef __cplusplus
	extern "}"
#endif
#endif
/********************************************************************************************************
**                                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -