/********************************************************
*                                                                                                            
* 文 件 名： WashMachineDataManage.c   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2014-12-24
* 作    者： 联锁组
* 功能描述： 洗车机数据管理  
* 修改记录：   
*
********************************************************/ 

#include "WashMachineDataManage.h"



WashMachineDataStruct WashMachineDataStru[WASHMACHINE_SUM_MAX];       /*定义洗车机数据结构体*/


/*
* 功能描述： 获取指定ID洗车机数据
* 参数说明： 
* 返回值  ： WashMachineDataStruct *
*/
WashMachineDataStruct *GetWashMachineData(void)
{
	return WashMachineDataStru;
}

/*
* 功能描述： 获取指定ID洗车机就绪状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 洗车机就绪状态     
*/
UINT8 GetWashMachineReadyState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].WashMachineReadyState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}
/*
* 功能描述： 设置指定ID洗车机就绪状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetWashMachineReadyState(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_READY_YES == state) || (WASHMACHINE_COL_READY_NO == state))
		{
			WashMachineDataStru[bufIndex].WashMachineReadyState = state;  /*洗车机就绪状态*/

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 获取指定ID洗车机请求确认状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 请求确认状态    
*/
UINT8 GetWashMachineRequestVerifySta(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].WashMachineRequestVerifyState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}
/*
* 功能描述： 设置指定ID洗车机请求确认状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetWashMachineRequestVerifySta(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_REQUEST_VALID == state) || (WASHMACHINE_COL_REQUEST_INVALID == state))
		{
			WashMachineDataStru[bufIndex].WashMachineRequestVerifyState = state;  

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}

/*
* 功能描述： 获取指定ID洗车机列车紧急停车状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 列车紧急停车状态    
*/
UINT8 GetTrainEmergencyStopState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].TrainEmergencyStopState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}
/*
* 功能描述： 设置指定ID洗车机列车紧急停车状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetTrainEmergencyStopState(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;
	UINT8 lineIdentity = 0u;						 /*CI-VOBC接口标识*/

	lineIdentity = GetCiFunctionSwitchConfig(VOBC_INTERFACE_IDENTITY);/*获取CI-VOBC接口标识*/
	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (LINE_FAO == lineIdentity)
		{/*FAO线路*/
			if ((WASHMACHINE_COL_FALUT_YES == state) || (WASHMACHINE_COL_FALUT_NO == state))
			{
				WashMachineDataStru[bufIndex].TrainEmergencyStopState = state;  

				retVal = CI_SUCCESS;
			}
			else
			{
				retVal = CI_ERROR;
			}
		}
		else if ((LINE_FAOHLHT == lineIdentity) || (LINE_FAOHLHT_ONESELF == lineIdentity) || (LINE_FAOHLHT_ONESELFSECOND == lineIdentity)
			|| (LINE_CC == lineIdentity))
		{/*FAO+HLHT线路*/
			if ((WASHMACHINE_COL_FALUT_YES_2 == state) || (WASHMACHINE_COL_FALUT_NO_2 == state))
			{
				WashMachineDataStru[bufIndex].TrainEmergencyStopState = state;  

				retVal = CI_SUCCESS;
			}
			else
			{
				retVal = CI_ERROR;
			}
		}
		else
		{
			retVal = CI_ERROR;
		}
	
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}


/*
* 功能描述： 获取指定ID洗车机允许车头清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 允许车头清洗状态    
*/
UINT8 GetHeadWashAllowState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].HeadWashAllowState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}
/*
* 功能描述： 设置指定ID洗车机允许车头清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetHeadWashAllowState(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_HEADWASH_YES== state) || (WASHMACHINE_COL_HEADWASH_NO == state))
		{
			WashMachineDataStru[bufIndex].HeadWashAllowState = state;  

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 获取指定ID洗车机允许车尾清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 允许车尾清洗状态    
*/
UINT8 GetTailWashAllowState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].TailWashAllowState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}
/*
* 功能描述： 设置指定ID洗车机允许车尾清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetTailWashAllowState(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_TAILWASH_YES== state) || (WASHMACHINE_COL_TAILWASH_NO == state))
		{
			WashMachineDataStru[bufIndex].TailWashAllowState = state;  

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}
/*
* 功能描述： 获取指定ID洗车机允许出洗车库状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 允许出洗车库状态     
*/
UINT8 GetTrainOutWashPortAllowSta(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].TrainOutWashTrainPortAllowState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}

/*
* 功能描述： 设置指定ID洗车机允许允许出洗车库状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetTrainOutWashPortAllowSta(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;
	UINT8 lineIdentity = 0u;						 /*CI-VOBC接口标识*/

	lineIdentity = GetCiFunctionSwitchConfig(VOBC_INTERFACE_IDENTITY);/*获取CI-VOBC接口标识*/
	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (LINE_FAO == lineIdentity)
		{/*FAO线路*/
			if ((WASHMACHINE_COL_OUT_YES== state) || (WASHMACHINE_COL_OUT_NO == state))
			{
				WashMachineDataStru[bufIndex].TrainOutWashTrainPortAllowState = state;  

				retVal = CI_SUCCESS;
			}
			else
			{
				retVal = CI_ERROR;
			}
		}
		else if ((LINE_FAOHLHT == lineIdentity) || (LINE_FAOHLHT_ONESELF == lineIdentity) || (LINE_FAOHLHT_ONESELFSECOND == lineIdentity)
			|| (LINE_CC == lineIdentity))
		{/*FAO+HLHT线路*/
			if ((WASHMACHINE_COL_OUT_YES_2== state) || (WASHMACHINE_COL_OUT_NO_2 == state))
			{
				WashMachineDataStru[bufIndex].TrainOutWashTrainPortAllowState = state;  

				retVal = CI_SUCCESS;
			}
			else
			{
				retVal = CI_ERROR;
			}
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}


/*
* 功能描述： 获取指定ID洗车机洗车请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 洗车请求驱动状态     
*/
UINT8 GetWashTrainRequestDrvState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].WashTrainRequestDrvState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}
/*
* 功能描述： 设置指定ID洗车机洗车请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID  
*			 const UINT8 drvState, 驱动状态
* 返回值  ： 无
*			   
*/
void SetWashTrainRequestDrvState(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_DRVSTATE_REQ_FALSE == drvState) || (WASHMACHINE_DRVSTATE_REQ_TRUE == drvState))
		{
			WashMachineDataStru[bufIndex].WashTrainRequestDrvState = drvState;  
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机车头停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 车头停稳驱动状态    
*/
UINT8 GetTrainHeadStopSteadyDrvState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].TrainHeadStopSteadyDrvState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}
/*
* 功能描述： 设置指定ID洗车机车头停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID  
*			 const UINT8 drvState, 驱动状态
* 返回值  ： 无
*			      
*/
void SetTrainHeadStopSteadyDrvState(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_HEAD_STEADY_YES == drvState) || (WASHMACHINE_HEAD_STEADY_NO == drvState))
		{
			WashMachineDataStru[bufIndex].TrainHeadStopSteadyDrvState = drvState;  
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}	
}

/*
* 功能描述： 获取指定ID洗车机车尾停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 车尾停稳驱动状态  
*/
UINT8 GetTrainTailStopSteadyDrvState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
    UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].TrainTailStopSteadyDrvState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}
/*
* 功能描述： 设置指定ID洗车机车尾停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID  
*			 const UINT8 drvState, 驱动状态
* 返回值  ： 无
*			        
*/
void SetTrainTailStopSteadyDrvState(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_TAIL_STEADY_YES == drvState) || (WASHMACHINE_TAIL_STEADY_NO == drvState))
		{
			WashMachineDataStru[bufIndex].TrainTailStopSteadyDrvState = drvState;  
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}	
}

/*
* 功能描述： 获取指定ID洗车机的当前洗车VOBC ID
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 当前洗车VOBC ID无效
*			>0: 当前洗车VOBC ID有效    
*/
UINT16 GetWashMachineCurVobcID(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT16 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].CurVobcId;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的当前洗车VOBC ID
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*            const UINT16 curVobcId，当前洗车VOBC ID  
* 返回值  ： 无
*			 
*/
void SetWashMachineCurVobcID(const UINT16 WashMachineId,const UINT16 curVobcId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/ 

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		WashMachineDataStru[bufIndex].CurVobcId = curVobcId;  
	}
	else
	{
		/*不做处理*/
	}	
}

#if 0
/*
* 功能描述： 设置指定ID洗车机列车紧急停车状态-互联互通
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
             const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功     
*/
UINT8 SetTrainEmergencyStopStateHLHT(const UINT16 WashMachineId,const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_FALUT_NO_2 == state) || (WASHMACHINE_COL_FALUT_YES_2 == state))
		{
			WashMachineDataStru[bufIndex].TrainEmergencyStopState = state;  

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}
#endif

/*
* 功能描述： 获取指定ID洗车机暂停洗车请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 暂停洗车请求驱动状态     
*/
UINT8 GetPauseTrainWashRequestDrvSta(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].PauseTrainWashRequestDrvState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机暂停洗车请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID  
*			 const UINT8 drvState, 驱动状态
* 返回值  ： void    
*/
void SetPauseTrainWashRequestDrvSta(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_PAUSE_DRVREQ_TRUE == drvState) || (WASHMACHINE_PAUSE_DRVREQ_FALSE == drvState))
		{
			WashMachineDataStru[bufIndex].PauseTrainWashRequestDrvState = drvState;  
		}
		else
		{
			; /*不处理*/
		}
	}
	else
	{
		; /*不处理*/
	}
}

/*
* 功能描述： 获取指定ID通过洗车机请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID    
* 返回值  ： 0: 获取数据失败
*			>0: 通过洗车机请求驱动状态     
*/
UINT8 GetPassWashMachineReqDrvSta(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].PaseWashMachineRequesDrvtState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID通过洗车机请求驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID  
*			 const UINT8 drvState, 驱动状态
* 返回值  ：无
*			       
*/
void SetPassWashMachineReqtDrvSta(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((PASS_WASHMACHINE_DRVREQ_TRUE == drvState) || (PASS_WASHMACHINE_DRVREQ_FALSE == drvState))
		{
			WashMachineDataStru[bufIndex].PaseWashMachineRequesDrvtState = drvState;  
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 设置指定ID洗车机工作模式设置驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*			 const UINT8 drvState, 驱动状态
* 返回值  ：无
*by cgh 20231108
*/
void SetWashMachineWorkModeDrvState(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_WORKMODE_INVALID_DRV == drvState)
			|| (WASHMACHINE_WORKMODE_ALL_DRV == drvState)
			|| (WASHMACHINE_WORKMODE_SIDE_DRV == drvState)
			|| (WASHMACHINE_WORKMODE_DEFAULT_DRV == drvState))
		{
			WashMachineDataStru[bufIndex].WashMachineWorkModeDrvtState = drvState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机洗车模式设置驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0XFF: 获取数据失败
*			0x01\0x02\0x00: 洗车模式设置驱动状态
* by cgh 20231108
*/
UINT8 GetWashMachineWorkModeDrvState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0U;  /*数组下标*/
	UINT8 retVal = 0U;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].WashMachineWorkModeDrvtState;
	}
	else
	{
		retVal = WASHMACHINE_WORKMODE_INVALID_DRV;
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机工作模式反馈状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*			 const UINT8 chBackState, 反馈状态
* 返回值  ：无
*by cgh 20231108
*/
void SetWashWorkModeBackState(const UINT16 WashMachineId, const UINT8 chBackState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_WORKMODE_BACK_ALL_OK == chBackState)
			|| (WASH_WORKMODE_BACK_SIDE_OK == chBackState)
			|| (WASH_WORKMODE_BACK_ALL_NO == chBackState)
			|| (WASH_WORKMODE_BACK_SIDE_NO == chBackState)
			|| (WASH_WORKMODE_BACK_DEFAULT == chBackState))
		{
			WashMachineDataStru[bufIndex].chSetWashWorkModeBack = chBackState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机洗车模式反馈状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 洗车模式反馈状态
* by cgh 20231108
*/
UINT8 GetWashWorkModeBackState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0U;  /*数组下标*/
	UINT8 retVal = 0U;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].chSetWashWorkModeBack;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机降级模式洗车同意状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*			 const UINT8 chDownWashAllowState, 降级模式洗车同意状态
* 返回值  ：无
*by cgh 20231113
*/
void SetDownWashAllowState(const UINT16 WashMachineId, const UINT8 chDownWashAllowState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_YES == chDownWashAllowState)
			|| (WASH_COL_STATE_ALLOW_NO == chDownWashAllowState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowState = chDownWashAllowState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机降级模式洗车同意状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 降级模式洗车同意状态
* by cgh 20231108
*/
UINT8 GetDownWashAllowState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_NO;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].chDownWashAllowState;
	}
	else
	{
		/*不处理*/
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机降级模式洗车同意通过状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*			 const UINT8 chBackState, 降级模式洗车同意通过状态
* 返回值  ：无
*by cgh 20231113
*/
void SetDownWashAllowPassState(const UINT16 WashMachineId, const UINT8 chDownWashAllowPassState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_PASS_YES == chDownWashAllowPassState)
			|| (WASH_COL_STATE_ALLOW_PASS_NO == chDownWashAllowPassState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowPassState = chDownWashAllowPassState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机降级模式洗车反向同意通过状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 降级模式洗车同意通过状态
* by cgh 20231108
*/
UINT8 GetDownWashAllowPassState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_PASS_NO;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].chDownWashAllowPassState;
	}
	else
	{
		/*不处理*/
	}
	return retVal;
}

/*
* 功能描述：设置指定ID洗车机洗车模式逻辑状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*            const UINT8 modeState, 洗车模式状态
* cgh-合并CID-3037-9：
*
*/
void SetWashModeState(const UINT16 washMachineId, const UINT8 modeState)
{
	UINT16 bufIndex = 0;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((XTA_MODE_STATE_DOWN == modeState)
			|| (XTA_MODE_STATE_UP == modeState)
			|| (XTA_MODE_STATE_NO == modeState))
		{
			WashMachineDataStru[bufIndex].WashModeState = modeState;
		}
		else
		{
			; /*不处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述：获取指定ID洗车机洗车模式逻辑状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*
* 返回值  ： 0: 获取数据失败
*           >0: 洗车模式
* cgh-合并CID-3037-9：
*/
UINT8 GetWashModeState(const UINT16 washMachineId)
{
	UINT16 bufIndex = 0;  /*数组下标*/
	UINT8 retVal = CI_ERROR;

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].WashModeState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}

/*
* 功能描述： 获取指定ID洗车机洗车模式驱动继电器驱动开始周期号
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 驱动起始周期号
* by cgh 20231208
*/
UINT32 GetWashWorkModeRelayDrvCycle(const UINT16 washMachineId)
{
	UINT32 retVal = CI_ERROR;
	UINT16 wBufIndex = 0U;  /*数组下标*/

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].WashWorkModeRelayDrvCycle;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机洗车模式驱动继电器驱动开始周期号
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32 CycNum, 继电器驱动起始周期号
* 返回值  ： 无
*by cgh 20231208
*/
void SetWashWorkModeRelayDrvCycle(const UINT16 washMachineId, const UINT32 CycNum)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		/*指定指定ID洗车机洗车模式驱动继电器驱动开始周期号*/
		WashMachineDataStru[wBufIndex].WashWorkModeRelayDrvCycle = CycNum;  
	}
	else
	{
		/*不处理*/
	}
}
/*
* 功能描述： 获取指定ID洗车机洗车请求状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车请求状态
*by hh 20251208
*/
UINT8 GetDownWashReqState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_REQ_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashReqState;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机洗车请求状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			  const UINT8 chDownWashReqState 洗车请求状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashReqState(const UINT16 washMachineId, const UINT8 chDownWashReqState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_REQ_STATE_ALLOW_YES == chDownWashReqState)
			|| (WASH_REQ_STATE_ALLOW_NO == chDownWashReqState))
		{
			WashMachineDataStru[bufIndex].chDownWashReqState = chDownWashReqState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机反向通过请求状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 反向通过请求状态
*by hh 20251208
*/
UINT8 GetDownWashPassReqState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0u;  /*数组下标*/
	UINT8 retVal = WASH_REQ_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashPassReqState;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机反向通过请求状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8  chDownWashReqState 反向洗车请求状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashPassReqState(const UINT16 washMachineId, const UINT8 chDownWashReqState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_REQ_STATE_ALLOW_YES == chDownWashReqState)
			|| (WASH_REQ_STATE_ALLOW_NO == chDownWashReqState))
		{
			WashMachineDataStru[bufIndex].chDownWashPassReqState = chDownWashReqState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机反向通过请求起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车请求起始周期
*by hh 20251208
*/
UINT32 GetDownWashPassReqCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashPassReqCycle;
	}
	else 
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机反向通过请求起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*            const UINT32 washAllowCycle 洗车请求起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashPassReqCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		WashMachineDataStru[bufIndex].dwDownWashPassReqCycle = washAllowCycle;
	}
	else
	{
		/*不做处理*/
	}
}



/*
* 功能描述： 获取指定ID洗车机洗车请求起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 
	>0: 洗车请求起始周期
	=0: 获取失败
*by hh 20251208
*/
UINT32 GetDownWashReqCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashReqCycle;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机洗车请求起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32 washAllowCycle 洗车请求起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashReqCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		WashMachineDataStru[bufIndex].dwDownWashReqCycle = washAllowCycle;
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的洗车线洗车同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车同意按钮粘连状态
*by hh 20251208
*/
UINT8 GetDownWashAllowErrState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_BUTTON_STATE_ERR_YES;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashAllowErrState;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机的洗车线洗车同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8 washAdhesionState，洗车同意按钮粘连状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowErrState(const UINT16 washMachineId, const UINT8 washAdhesionState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_BUTTON_STATE_ERR_YES == washAdhesionState)
			|| (WASH_BUTTON_STATE_ERR_NO == washAdhesionState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowErrState = washAdhesionState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机的DCC洗车同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： DCC洗车同意按钮粘连状态
*by hh 20251208
*/
UINT8 GetDownDccWashAllowErrState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_BUTTON_STATE_ERR_YES;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownDccWashAllowErrState;
	}
	else 
	{
		/*不处理*/
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC洗车同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8 dccWashAdhesionState，洗车同意按钮粘连状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownDccWashAllowErrState(const UINT16 washMachineId, const UINT8 dccWashAdhesionState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_BUTTON_STATE_ERR_YES == dccWashAdhesionState)
			|| (WASH_BUTTON_STATE_ERR_NO == dccWashAdhesionState))
		{
			WashMachineDataStru[bufIndex].chDownDccWashAllowErrState = dccWashAdhesionState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机的洗车线反向通过同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 反向洗车同意按钮粘连状态
*by hh 20251208
*/
UINT8 GetDownWashAllowPassErrState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_BUTTON_STATE_ERR_YES;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashAllowPassErrState;
	}
	else 
	{
		/*不处理*/
	}
	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的洗车线反向通过同意按钮粘连状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8 passWashAdhesionState，反向洗车同意按钮粘连状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowPassErrState(const UINT16 washMachineId, const UINT8 passWashAdhesionState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_BUTTON_STATE_ERR_YES == passWashAdhesionState)
			|| (WASH_BUTTON_STATE_ERR_NO == passWashAdhesionState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowPassErrState = passWashAdhesionState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的DCC反向通过同意按钮粘连
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： DCC反向通过同意按钮粘连状态
*by hh 20251208
*/
UINT8 GetDownDccWashAllowPassErrState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_BUTTON_STATE_ERR_YES;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownDccWashAllowPassErrState;
	}
	else 
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC反向通过同意按钮粘连
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8 washAdhesionState，DCC反向洗车同意按钮粘连状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownDccWashAllowPassErrState(const UINT16 washMachineId, const UINT8 dccPassWashAdhesionState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_BUTTON_STATE_ERR_YES == dccPassWashAdhesionState)
			|| (WASH_BUTTON_STATE_ERR_NO == dccPassWashAdhesionState))
		{
			WashMachineDataStru[bufIndex].chDownDccWashAllowPassErrState = dccPassWashAdhesionState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机降级模式洗车线洗车同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车同意状态
*by hh 20251208
*/
UINT8 GetDownWashAllowColState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashAllowColState;
	}
	else 
	{
		
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机降级模式洗车线洗车同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8  washAllowState 洗车同意状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowColState(const UINT16 washMachineId, const UINT8 washAllowState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_YES == washAllowState)
			|| (WASH_COL_STATE_ALLOW_NO == washAllowState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowColState = washAllowState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机降级模式DCC洗车同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车同意状态
*by hh 20251208
*/
UINT8 GetDownDccWashAllowColState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].chDownDccWashAllowColState;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机降级模式DCC洗车同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8  washAllowState 洗车同意状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownDccWashAllowColState(const UINT16 washMachineId, const UINT8 washAllowState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_YES == washAllowState)
			|| (WASH_COL_STATE_ALLOW_NO == washAllowState))
		{
			WashMachineDataStru[bufIndex].chDownDccWashAllowColState = washAllowState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机降级模式洗车线洗车反向通过同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 洗车同意状态
*by hh 20251208
*/
UINT8 GetDownWashAllowPassColState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].chDownWashAllowPassColState;
	}
	else
	{
		/*不处理*/
	}
	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机降级模式洗车线洗车反向通过同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8  washAllowState 洗车同意状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowPassColState(const UINT16 washMachineId, const UINT8 washAllowState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_YES == washAllowState)
			|| (WASH_COL_STATE_ALLOW_NO == washAllowState))
		{
			WashMachineDataStru[bufIndex].chDownWashAllowPassColState = washAllowState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机降级模式DCC洗车反向通过同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： DCC洗车反向通过同意状态
*by hh 20251208
*/
UINT8 GetDownDccWashAllowPassColState(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT8 retVal = WASH_COL_STATE_ALLOW_NO;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].chDownDccWashAllowPassColState;
	}
	else 
	{
		/*不处理*/
	}


	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机降级模式DCC洗车反向通过同意状态
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT8  washAllowState 洗车同意状态
* 返回值  ： 无
*by hh 20251208
*/
void SetDownDccWashAllowPassColState(const UINT16 washMachineId, const UINT8 washAllowState)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASH_COL_STATE_ALLOW_YES == washAllowState)
			|| (WASH_COL_STATE_ALLOW_NO == washAllowState))
		{
			WashMachineDataStru[bufIndex].chDownDccWashAllowPassColState = washAllowState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的洗车线洗车同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 
	>0: 洗车同意按钮按下起始周期
	=0: 获取失败
*by hh 20251208
*/
UINT32 GetDownWashAllowCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashAllowCycle;
	}
	else
	{
		/*不处理*/
	}

	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机的洗车线洗车同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮按下起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashAllowCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashAllowCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashAllowCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机的洗车线洗车同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ：
	>0: 洗车同意按钮有效周期
	=0: 获取失败
*by hh 20251225
*/
UINT32 GetDownWashBtVadCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashBtVadCycle;
	}
	else
	{
		/*不处理*/
	}

	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机的洗车线洗车同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮有效周期
* 返回值  ： 无
*by hh 20251225
*/
void SetDownWashBtVadCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashBtVadCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashBtVadCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashBtVadCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的DCC洗车同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ：
	>0: 洗车同意按钮有效周期
	=0: 获取失败
*by hh 20260104
*/
UINT32 GetDownWashDccBtVadCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashDccBtVadCycle;
	}
	else
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC洗车同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮有效周期
* 返回值  ： 无
*by hh 20260104
*/
void SetDownWashDccBtVadCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashDccBtVadCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashDccBtVadCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashDccBtVadCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机的洗车线反向通过同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ：
	>0: 反向通过同意按钮有效周期
	=0: 获取失败
*by hh 20260104
*/
UINT32 GetDownWashBtVadPassCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashBtVadPassCycle;
	}
	else
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的洗车线反向通过同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮有效周期
* 返回值  ： 无
*by hh 20260104
*/
void SetDownWashBtVadPassCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashBtVadPassCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashBtVadPassCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashBtVadPassCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的DCC反向通过同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ：
	>0: 反向通过同意按钮有效周期
	=0: 获取失败
*by hh 20260104
*/
UINT32 GetDownWashDccBtVadPassCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex)
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashDccBtVadPassCycle;
	}
	else
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC反向通过同意按钮有效周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮有效周期
* 返回值  ： 无
*by hh 20260104
*/
void SetDownWashDccBtVadPassCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashDccBtVadPassCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashDccBtVadPassCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashDccBtVadPassCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}


/*
* 功能描述： 获取指定ID洗车机DCC洗车同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 
	>0: DCC洗车同意按钮按下起始周期
	=0: 获取失败
*by hh 20251208
*/
UINT32 GetDownWashDccAllowCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashDccAllowCycle;
	}
	else 
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC洗车同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashDccAllowCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashDccAllowCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashDccAllowCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashDccAllowCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机的洗车线反向通过同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 
	>0: 洗车反向通过同意按钮按下起始周期
	=0:获取失败
*by hh 20251208
*/
UINT32 GetDownWashAllowPassCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashAllowPassCycle;
	}
	else 
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的洗车线反向通过同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 反向洗车同意按钮按下起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashAllowPassCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashAllowPassCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashAllowPassCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashAllowPassCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机DCC反向通过同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
* 返回值  ： 
	>0:DCC反向通过同意按钮按下起始周期
	=0:获取失败
*by hh 20251208
*/
UINT32 GetDownWashDccAllowPassCycle(const UINT16 washMachineId)
{
	UINT16 wBufIndex = 0U;  /*数组下标*/
	UINT32 retVal = CI_ERROR;

	wBufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (WASHMACHINE_SUM_MAX > wBufIndex) 
	{
		retVal = WashMachineDataStru[wBufIndex].dwDownWashDccAllowPassCycle;
	}
	else 
	{
		/*不处理*/
	}

	return retVal;
}

/*
* 功能描述： 设置指定ID洗车机的DCC反向通过同意按钮按下起始周期
* 参数说明： const UINT16 washMachineId, 洗车机ID
*			 const UINT32  washAllowCycle 洗车同意按钮按下起始周期
* 返回值  ： 无
*by hh 20251208
*/
void SetDownWashDccAllowPassCycle(const UINT16 washMachineId, const UINT32 washAllowCycle)
{
	UINT16 bufIndex = 0U;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(washMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if (0U == washAllowCycle)
		{
			WashMachineDataStru[bufIndex].dwDownWashDccAllowPassCycle = washAllowCycle;
		}
		else
		{
			if (0U == WashMachineDataStru[bufIndex].dwDownWashDccAllowPassCycle)
			{
				WashMachineDataStru[bufIndex].dwDownWashDccAllowPassCycle = washAllowCycle;
			}
			else
			{
				; /*已经存在有效周期号不再重新设置*/
			}
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机允许联挂端清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 允许联挂端清洗状态
*/
UINT8 GetCoupingWashAllowState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].chCoupingWashAllowState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}

/*
* 功能描述： 设置指定ID洗车机允许联挂端清洗状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
			 const UINT8 state,设置状态
* 返回值  ： 0: 设置失败
*			 1: 设置成功
*/
UINT8 SetCoupingWashAllowState(const UINT16 WashMachineId, const UINT8 state)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COL_COUPINGWASH_YES == state) || (WASHMACHINE_COL_COUPINGWASH_NO == state))
		{
			WashMachineDataStru[bufIndex].chCoupingWashAllowState = state;

			retVal = CI_SUCCESS;
		}
		else
		{
			retVal = CI_ERROR;
		}
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;
}


/*
* 功能描述： 设置指定ID洗车机联挂端停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
*			 const UINT8 drvState, 驱动状态
* 返回值  ： 无
*
*/
void SetCoupingStopSteadyDrvState(const UINT16 WashMachineId, const UINT8 drvState)
{
	UINT16 bufIndex = 0u;  /*数组下标*/

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		if ((WASHMACHINE_COUPING_STEADY_YES == drvState) || (WASHMACHINE_COUPING_STEADY_NO == drvState))
		{
			WashMachineDataStru[bufIndex].chCoupingStopSteadyDrvState = drvState;
		}
		else
		{
			/*不做处理*/
		}
	}
	else
	{
		/*不做处理*/
	}
}

/*
* 功能描述： 获取指定ID洗车机允许联挂端停稳驱动状态
* 参数说明： const UINT16 WashMachineId, 洗车机ID
* 返回值  ： 0: 获取数据失败
*			>0: 停稳驱动状态
*/
UINT8 GetCoupingStopSteadyDrvState(const UINT16 WashMachineId)
{
	UINT16 bufIndex = 0u;  /*数组下标*/
	UINT8 retVal = 0u;

	bufIndex = GetWashMachineIdConfigBufIndex(WashMachineId);  /*获取洗车机数组下标*/

	if (bufIndex < WASHMACHINE_SUM_MAX)
	{
		retVal = WashMachineDataStru[bufIndex].chCoupingStopSteadyDrvState;
	}
	else
	{
		retVal = CI_ERROR;
	}
	return retVal;

}


