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

📄 90356472a75f001d1289bbda6de18a35

📁 Vxworks环境下
💻
📖 第 1 页 / 共 2 页
字号:
**               if we call this funktion we start the mechanism to 
**               receive an event from NCS when the axis Values has been
**               changed in the system.
** 
** >NOTES: none
** 
** >PARAMETER:none
** 
** >RETURN VALUE:none
** 
** >INCLUDES:"dab_h_axis_if.h"
** 
*/
EXPORT void Dab_h_GetAxisEndPosValues_Req (void)
{
	
	Ncs_Error_t loc_errncs;
	
	loc_errncs=Ncs_MCoGetService_A(GetAxisEndPosValues_Rec,
								(Ncs_RecPara_t)&OwnActAxEndPosValue, 
								0,
								Ncs_MCoBlkBlockEndPoint_Id);
	
	if (loc_errncs!=Ncs_ErrOk)
	{
		/* Treatment of error because of act. axis position*/ 
		
	}
	
	
}  /* OF Dab_h_GetAxisValues_Req */

/*F*/
/*
************************************************************************
** >AUTHOR        : AB
**  FUNCTION NAME : GetAxisRestwegValues_Rec
** 
** >DESCRIPTION: recieve function when we Request axis restweg
**           from System.
**           this function will be called automaticlly when a response
**           for  the function Dab_h_GetAxisValues_Req is received 
**           from NCS.
**           the response will bes extracted  whith NCS extract function
**               
** 
** >NOTES: none
** 
** >PARAMETER: ncsmsg Pointer of received Message
**             para : User Parameter
** 
** >RETURN VALUE: none
** 
** >INCLUDES: none
** 
*/
LOCAL int GetAxisRestwegValues_Rec (Ncs_Msg_t *ncsmsg,Ncs_RecPara_t para)
{
	double * ptrvalue;
	
	OwnActAxPosValue_t *ldata = (OwnActAxPosValue_t*)para;
	
	Ncs_Error_t loc_errncs; /* Error status of the NCS*/
	int status;
	long TilconError=0;
	char Output[30];
	
	
	/* Evaluat th asynchronous NCS response that contain Axis values*/
	/* see the ncs Help*/
	loc_errncs=Ncs_MCoDoubleValue_X(ncsmsg,
		&(ldata->version),
		ldata->AxValue,
		(int)ldata->size,
		&status);
	if ((status!=NCS_SAV_SERVICEOK_C) || (loc_errncs!=Ncs_ErrOk))
	{ /*Fehlerbehandlung*/
		
		return 1;
	}
	else
	{ /*ok*/ /*to do whith data ldata->AxValue*/ 
		{ 
			/* as example we display the neue axis Values on the display*/       
			/* 1. Axis */
			ptrvalue=ldata->AxValue;
			
			
			sprintf(Output, "% .3f", *ptrvalue);
			TilconError=TRT_SetValues(TRT_cid2,"Table0#0#3",
				TRT_ATT_TEXT,Output,NULL);
			
			/* 2.Axis */
			ptrvalue++;
			sprintf(Output, "% .3f", *ptrvalue);
			TilconError+=TRT_SetValues(TRT_cid2,"Table0#1#3",
				TRT_ATT_TEXT,Output,NULL);
			
			/* 3. Axis */
			ptrvalue++;
			sprintf(Output, "% .3f", *ptrvalue);
			TilconError+=TRT_SetValues(TRT_cid2,"Table0#2#3",
				TRT_ATT_TEXT,Output,NULL);
			
			if(TilconError)
			{
				/*Treatment of Errors if an objekt not defined*/
			}
		}
		
		
	}
	if (!ldata->abbruch)
	{
		
		/* if the Pannel of coordinates  is not displayed stop the loop*/
		
		/* send a new asynchronous request */
		/* this Service returns the Axis values whose ID later than*/
		/* the ID that has been preset by the input parameter"version"*/
		loc_errncs=Ncs_MCoGetServiceEvent_A(GetAxisRestwegValues_Rec,
			(Ncs_RecPara_t)&OwnActAxRestwegValue,
			CHAN,
			(int)ldata->version,
			Ncs_MCoActRemainWayWorkingCoord_Id);
	}
	if (loc_errncs!=Ncs_ErrOk)
	{ /*Treatment of Error */ 
		
		return 2;
	}
	return 0;  
}  /* OF GetAxisValues_Rec */


/*F*/
/*
************************************************************************
** >AUTHOR        : AB
**  FUNCTION NAME : Dab_h_GetAxisRestwegValues_Req
** 
** >DESCRIPTION: Asyncron Request of the Axis restweg
**               if we call this funktion we start the mechanism to 
**               receive an event from NCS when the axis Values has been
**               changed in the system.
** 
** >NOTES: none
** 
** >PARAMETER:none
** 
** >RETURN VALUE:none
** 
** >INCLUDES:"dab_h_axis_if.h"
** 
*/
EXPORT void Dab_h_GetAxisRestwegValues_Req (void)
{
	
	Ncs_Error_t loc_errncs;
	
	
	loc_errncs=Ncs_MCoGetService_A(GetAxisRestwegValues_Rec,
								(Ncs_RecPara_t)&OwnActAxRestwegValue, 
								CHAN,
								Ncs_MCoActRemainWayWorkingCoord_Id);
	
	if (loc_errncs!=Ncs_ErrOk)
	{
		/* Treatment of error because of act. axis position*/ 
		
	}
	
	
}  /* OF Dab_h_GetAxisValues_Req */
/*F*//*************************************************************************** >AUTHOR        : AB**  FUNCTION NAME : Dab_h_LoadNcProg** ** >DESCRIPTION: test to load an nc Program** ** >NOTES:  ** ** >PARAMETER:** ** >RETURN VALUE:** ** >INCLUDES: dab_h_axis_if.h** */EXPORT void Dab_h_LoadNcProg (void){	Ncs_Error_t Ncs_Error_Code = Ncs_ErrOk;		int AktOpMode;	int SavStatus;	int Version;	    	/* Get the aktuel oprations mode*/	Ncs_Error_Code = Ncs_SavGetNcMode(CHAN,&Version,&AktOpMode,&SavStatus);	if (Ncs_Error_Code == Ncs_ErrOk)	{		/* if the aktuel operations mode is no "Automatic",*/ 		/* change the mode to automatic              */		if ((AktOpMode != NCS_SAV_OP_MODE_AUTOMATIC_C) &&			(AktOpMode != NCS_SAV_OP_MODE_SINGLE_BLOCK_C) &&			(AktOpMode != NCS_SAV_OP_MODE_SINGLE_ACT_BLOCK_C) &&			(AktOpMode != NCS_SAV_OP_MODE_SINGLE_STEP_C))		{			AktOpMode = NCS_SAV_OP_MODE_AUTOMATIC_C;			Ncs_Error_Code = Ncs_SavOpModeSelect(CHAN,AktOpMode,&SavStatus);		} /* OF if no Automatik-mode*/	}



     Ncs_Error_Code=Dab_h_CreateProcress(CurrentFileWantToRun);

	 if(!Ncs_Error_Code) 
        TRT_SetValues(TRT_cid2,"Message_Display",
			   	      TRT_ATT_TEXT,"Load file to NC successfuly!",
				      NULL);


}  /* OF Dab_h_LoadNCProg *//*F*/
/*
************************************************************************
** >AUTHOR        : AB
**  FUNCTION NAME : Dab_h_RunNcProg
** 
** >DESCRIPTION: to run a NC program
** 
** >NOTES: none
** 
** >PARAMETER: none
** 
** >RETURN VALUE: none
** 
** >INCLUDES:dab_h_axis_if.h
** 
*/
EXPORT void Dab_h_RunNcProg (void)
{
	
	Ncs_Error_t Ncs_Error_Code;
	int state;
	
	Ncs_Error_Code = Ncs_SavProcessStart(CHAN, 0, &state);
	
	if ((Ncs_Error_Code != Ncs_ErrOk ) || (state != NCS_SAV_SERVICEOK_C))
	{				 
		/*Statement of Error */
	}
	else
	{
		TRT_SetValues(TRT_cid2,"Message_Display",
			          TRT_ATT_TEXT,"Program is running!!!",
				      NULL);
	}

	

}  /* OF Dab_h_RunNcProg */
/*F*/
/*
************************************************************************
** >AUTHOR        : AB, MY**  FUNCTION NAME : Dab_h_CLRNcProg
** 
** >DESCRIPTION: to Clear a NC program
** 
** >NOTES: none
** 
** >PARAMETER: none
** 
** >RETURN VALUE: none
** 
** >INCLUDES: dab_h_axis_if.h
** 
*/
EXPORT void Dab_h_CLRNcProg (void){		Ncs_Error_t Ncs_Error_Code;		int state;		/* intermes way to clear a Nc  program */	/* here do the channel reset */	Ncs_Error_Code = Ncs_SavChanReset(CHAN,			0,		&state);			/*Ncs_Error_Code = Ncs_SavProcessDelete(CHAN,		NCS_SAV_DFLAG_NORESELECT_C,	&state);*/		if ((Ncs_Error_Code != Ncs_ErrOk ) || (state != NCS_SAV_SERVICEOK_C))	{				 		/*Statement of Error */	}	else	{		/*Statement of service successed*/	} 
   Dab_h_DeleteProcress(CurrentFileWantToRun);
}  /* OF Dab_h_CLRNcProg */
/*F*/
/*
************************************************************************
**  FUNCTION NAME : Dab_h_CLRNcProg
** 
** >DESCRIPTION: to Stop a NC program
** 
** >NOTES: none
** 
** >PARAMETER: none
** 
** >RETURN VALUE: none
** 
** >INCLUDES: dab_h_axis_if.h
** 
*/
EXPORT void Dab_h_StopNcProg(void)
{
    int size;
	int error=0;
    udword msk[2] = {0,0};
	size = sizeof(msk)/8;
    msk[0] = 0x0;
    msk[1] = 0x1;
	Ncs_IclSetBitDataSymb(".bStart_i",
                          0,
                          &msk[0],
                          &msk[1], 
                          &size, 
                          &error
		                  );

	//Reset the start first 
    msk[0] = 0x1;
    msk[1] = 0x0;
    Ncs_IclSetBitDataSymb(".bStop_i",
                          0,
                          &msk[0],
                          &msk[1], 
                          &size, 
                          &error
		                  );
     TRT_SetValues(TRT_cid2,"Message_Display",
		           TRT_ATT_TEXT,"Program Stoped!",NULL);
}  /*F*/
/*
************************************************************************
**  FUNCTION NAME : Dab_h_RunNcProg
** 
** >DESCRIPTION: to Run a NC program
** 
** >NOTES: none
** 
** >PARAMETER: none
** 
** >RETURN VALUE: none
** 
** >INCLUDES: dab_h_axis_if.h
** 
*/
EXPORT void Dab_h_RunNcProgagain(void)
{
    int size;
	int error=0;
    udword msk[2] = {0,0};
	size = sizeof(msk)/8;
    msk[0] = 0x0;
    msk[1] = 0x1;
	Ncs_IclSetBitDataSymb(".bStop_i",
                          0,
                          &msk[0],
                          &msk[1], 
                          &size, 
                          &error
		                  );

	//Reset the start first 
    msk[0] = 0x1;
    msk[1] = 0x0;
    Ncs_IclSetBitDataSymb(".bStart_i",
                          0,
                          &msk[0],
                          &msk[1], 
                          &size, 
                          &error
		                  );
     TRT_SetValues(TRT_cid2,"Message_Display",
		           TRT_ATT_TEXT,"Program Running!",NULL);
}  
/*F*//*************************************************************************** >AUTHOR        : MY**  FUNCTION NAME : GetZeroOffset_rec** ** >DESCRIPTION: receive function to get the zero offset information.** ** >NOTES: none** ** >PARAMETER: none** ** >RETURN VALUE: none** ** >INCLUDES: none** */LOCAL int GetZeroOffset_rec (Ncs_Msg_t *ncsmsg,Ncs_RecPara_t para){		Ncs_Error_t loc_errncs; /* Error status of the NCS*/	int status;
	int paraversion = 0;
	
	long TilconError=0;
	
	Ncs_Acb_ActZerOf_t *ldata = (Ncs_Acb_ActZerOf_t *)para;
	
	loc_errncs = Ncs_AcbEventPara_X(ncsmsg,
		sizeof(Ncs_Acb_ActZerOf_t),
		ldata,
		&paraversion,
		&status);
	
	if ((status!=NCS_SAV_SERVICEOK_C) || (loc_errncs!=Ncs_ErrOk))
	{ /*Fehlerbehandlung*/
		
		return 1;
	}
	else
	{ /*ok*/ /*to do whith data ldata->ActFunGrp0*/ 
		{ 
			/* as example we display the first Zero offset group */       
			
			TilconError=TRT_SetValues(TRT_cid2,"Table1#1#1",
				TRT_ATT_TEXT,ldata->ActFunGrp0,NULL);
			
			if(TilconError)
			{
				/*Treatment of Errors if an objekt not defined*/
			}
			
			
		}
		
	}
	
    /* if the Pannel of coordinate is not displayed stop the loop */
	
    /* send a new asynchronous request */
    /* this Service returns Zero offset information whose ID later than */
    /* the ID that has been preset by the input parameter"version"*/
	
    loc_errncs=Ncs_AcbGetZeroOffsetStateEvent_A(GetZeroOffset_rec,
		para,
		CHAN,
		paraversion);
	if (loc_errncs!=Ncs_ErrOk)
	{ /*Treatment of Error */ 
		
		return 2;
	}
	return 0;  
}  /* OF GetAxisValues_Rec */



/*F*/
/*
************************************************************************
** >AUTHOR        : AB
**  FUNCTION NAME : Dab_h_GetZeroOffset_Req
** 
** >DESCRIPTION: Asyncron Request of Zero offset information
** 
** >NOTES: none
** 
** >PARAMETER:none
** 
** >RETURN VALUE:none
** 
** >INCLUDES:"dab_h_axis_if.h"
** 
*/
EXPORT void Dab_h_GetZeroOffset_Req (void){	Ncs_Error_t loc_errncs;		loc_errncs = Ncs_AcbGetZeroOffsetState_A(GetZeroOffset_rec,		(Ncs_RecPara_t) &ZeroOffsetdata,		CHAN);		if (loc_errncs!=Ncs_ErrOk)	{		/* Treatment of error because of act. axis position */ 	}	else	{			}	}  /* OF Dab_h_GetZeroOffset_Req *//*F*//*======================================================================
**     detailed documentation of the history
**     of this file. the numbers of the paragraphs must correspond
**     to the numbers of the history-comments within the fileheader
**----------------------------------------------------------------------*/

⌨️ 快捷键说明

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