![SEW-Eurodrive IPOS plus Manual Download Page 271](http://html1.mh-extra.com/html/sew-eurodrive/ipos-plus/ipos-plus_manual_1250042271.webp)
Manual – IPOSplus®
271
18
Compiler programming frame
Compiler – Examples
/*=============================================
= Function: fnHoming()
= Axis reference travel
= Parameters of the group 97x are effective
= A positive edge on REF-START starts a new reference travel
===============================================*/
fnHoming()
{
// Instructions for entering the main state "Homing"
// Define substate
lSubStateHoming = HOMING_STOPPED;
// Acknowledge mode
_BitClear(lPE_StatusWord,11);
_BitSet(lPE_StatusWord,12);
// cyclical processing as long as the main state is set to "Homing"
do
{
// Import PO data
_GetSys( tPA.BusType ,GS_PODATA );
switch (lSubStateHoming)
{
case HOMING_STOPPED: if (MY_START_HOMING)
{
_Go0(GO0_U_NW_CAM);
lSubStateHoming = HOMING_STARTED;
}
break;
case HOMING_STARTED: if (!MY_START_HOMING)
{
_Go0(GO0_RESET);
lSubStateHoming = HOMING_STOPPED;
}
if (MY_REFERENCED)
{
lSubStateHoming = HOMING_READY;
}
break;
case HOMING_READY:
if (!MY_START_HOMING)
{
lSubStateHoming = HOMING_STOPPED;
}
break;
}
} while (lGlobalStateMachine==HOMING);
// Instructions for leaving the main state "Homing"
// Stopping the drive
if (lSubStateHoming==HOMING_STARTED)
{
_Go0(GO0_RESET);
lSubStateHoming = HOMING_STOPPED;
}
// Clear mode
_BitClear(lPE_StatusWord,11);
_BitClear(lPE_StatusWord,12);
}// End fnHoming
P
i
f
kVA
Hz
n
P
i
f
kVA
Hz
n