?? 90356472a75f001d1289bbda6de18a35
字號:
** 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,
¶version,
&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 + -