Herunterladen Inhalt Inhalt Diese Seite drucken

HEIDENHAIN IK 320 Benutzerhandbuch Seite 55

Vmebus-zählerkarte
Inhaltsverzeichnis

Werbung

{
DisplayError();
break;
}
if (extucMessage)
{
DisplayMessage();
}
}
while (!(staucREF1Crossed));
break;
case 2:
printf("Cross over reference mark of axis 2\n");
staucREF2Crossed = 0;
MasterInterrupt(ucDIP_Switch_I, ucDIP_Switch_II, 0x0009);
do
{
if (extucErrorCode)
{
DisplayError();
break;
}
if (extucMessage)
{
DisplayMessage();
}
}
while (!(staucREF2Crossed));
break;
default:
gotoxy (1,23);
puts ("Error: Wrong axis number");
}
}//End TraverseOverReferenceMark
/*--------------------------------------------------------------------
SynchroPosTrigger
This function triggers axis 1 and axis 2 synchronously
------------------------------------------------------------------*/
void SynchroPosTrigger(unsigned char ucDIP_Switch_I,
unsigned char ucDIP_Switch_II)
{
short sBasAdrGroup;
//calculate synchronous latch interrupt address
sBasAdrGroup = CALCULATE_BAS_ADR_GROUP(ucDIP_Switch_I);
_disable();
SWITCH_VME_TO_A16_ADDRESS_SPACE(ucDIP_Switch_I);
outportb (sBasAdrGroup, (char)0x00);//Synchronous latch
SWITCH_VME_TO_A24_ADDRESS_SPACE(ucDIP_Switch_II);
_enable();
}//End SynchroPosTrigger
/*--------------------------------------------------------------------
DisplayPositionValue
This function displays the actual position
------------------------------------------------------------------*/
void DisplayPositionValue(unsigned char ucDIP_Switch_I,
{
clrscr();
printf("\n\n");
do
{
SynchroPosTrigger(ucDIP_Switch_I, ucDIP_Switch_II);
do
{
if (extucErrorCode)
{
DisplayError();
return;
}
unsigned char ucDIP_Switch_II)
""Á

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis