Rockwell Automation 6008-SV2R VMEbus remote I/O Scanner User Manual
Page 154
Chapter
Programming the Scanner
8
8Ć20
} else if (chan–>ScannerMode == MODE_SUPERSET) {
/* output table at base of global memory */
chan–>OutputTable = &base[SVS_OTABLE_OFFSET];
/* input table at offset 100H */
chan–>InputTable = (char far *) &base[SVS_ITABLE_OFFSET];
/* control/status area at offset 200H */
chan–>ControlStatusArea = (char far *) &base[SVS_CSA_OFFSET];
/* general data area at offset 220H */
chan–>GeneralDataArea = (char far *) &base[SVS_GDA_OFFSET];
/* continuous block transfer write table at offset 300H */
chan–>ConBTWTable = (char far *) &base[SVS_CONBTW_OFFSET];
/* continuous block transfer read table at offset C00H */
chan–>ConBTRTable = (char far *) &base[SVS_CONBTR_OFFSET];
/* reset area at offset 1FBCH */
chan–>ResetArea = (char far *) &base[SVS_RESET_OFFSET];
/* vme ID area at offset 1FC0 */
chan–>VmeIdArea = (char far *) &base[SVS_VIA_OFFSET];
}
return;
}
/*
**
** UNMAP_CHANNEL() –– unmap a channel’s VME shared memory
**
**
This function accepts a channel structure as input, and restores the EPC’s VMEbus
**
window to the state it had when the channel was last mapped.
**
**
parameters:
pointer to channel structure
**
return value:
none
**
*/
void
unmap_channel (channel far *chan)
{
EpcRestState(&chan–>stash);
return;
}