Herunterladen Inhalt Inhalt Diese Seite drucken

HEIDENHAIN IK 320 Benutzerhandbuch Seite 47

Vmebus-zählerkarte
Inhaltsverzeichnis

Werbung

//Calculate address
usAddress = CALCULATE_IK_ADDRESS(ucDIP_Switch_II);
//Read status
stawbStatus.ow.us = inport (usAddress + INTSTAT);
}//End Read_IK_InterruptStatus
/*--------------------------------------------------------------------
Evaluate_IK_InterruptStatus
When the IK sends an interrupt to the master, the cause of the
interrupt is shown in the interrupt status word. This function
evaluates the interrupt status word.
------------------------------------------------------------------*/
void Evaluate_IK_InterruptStatus(unsigned char ucDIP_Switch_II)
{
unsigned short usDummy, usAddress;
long lDummy;
usAddress = CALCULATE_IK_ADDRESS(ucDIP_Switch_II);
switch (stawbStatus.tb.uc1)
{
case 0x00:
break;
case 0x01:
usDummy=inport (usAddress + POS_X1_1);
lDummy=(long)(usDummy)<<16;
usDummy=inport (usAddress + POS_X1_2);
lDummy+=usDummy;
stadPositionValue1=(double)lDummy;
usDummy=inport (usAddress + POS_X1_3);
stadPositionValue1+=(double)usDummy/(SUBDIVISION*16.);
outportb (usAddress + TM_X1, (char)0x00);
usDummy=inportb
staucAxis1WasRead = 1;
break;
case 0x02:
usDummy=inport (usAddress + POS_X2_1);
lDummy=(long)(usDummy)<<16;
usDummy=inport (usAddress + POS_X2_2);
lDummy+=usDummy;
stadPositionValue2=(double)lDummy;
usDummy=inport (usAddress + POS_X2_3);
stadPositionValue2+=(double)usDummy/(SUBDIVISION*16.);
outportb (usAddress + TM_X2, (char)0x00);
usDummy=inportb
staucAxis2WasRead = 1;
break;
case 0x03:
usDummy=inport (usAddress + POS_COMB_1);
lDummy=(long)(usDummy)<<16;
usDummy=inport (usAddress + POS_COMB_2);
lDummy+=usDummy;
stadPositionValueCom=(double)lDummy;
usDummy=inport (usAddress + POS_COMB_3);
stadPositionValueCom+=(double)usDummy/(SUBDIVISION*16.);
outportb (usAddress + TM_COMB, (char)0x00);
usDummy=inportb
staucAxisComWasRead = 1;
break;
case 0x04:
if (stawbStatus.tb.uc0 & 0x01)
{
extucErrorCode = 0x01;
}
if (stawbStatus.tb.uc0 & 0x02)
{
extucErrorCode = 0x02;
}
(usAddress + STAT_X1);
(usAddress + STAT_X2);
(usAddress + STAT_COMB);
!$Á

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis