Rockwell Automation 6008-SV2R VMEbus remote I/O Scanner User Manual

Page 164

Advertising
background image

Chapter

Programming the Scanner

8

8Ć30

/* 6008–SV2 Scanner Constants */
#define SVC_SETUP_SIZE

7

#define SVC_IOASWBLK_SIZE

32

#define SVC_FAULTGRP_SIZE

32

#define SVS_SETUP_SIZE

12

#define SVS_IOASWBLK_SIZE

64

#define SVS_FAULTGRP_SIZE

64

/* 6008–SV2 Scanner Channel semaphore */
#define SEMAPHORE

0x0080

/* bit 7 of semaphore word */

/*
** Channel Context structure
*/

typedef struct {

unsigned long

ScannerAddress;

/* VME address */

unsigned short

AddressMode;

/* VME address mode */

int

ScannerMode;

/* operating mode (SVC,SVS) */

unsigned short

CmdCmplIrq;

/* cmd–complete IRQ level */

unsigned short

CmdCmplVec;

/* cmd–complete IRQ vector */

unsigned long

TimeOut;

/* interrupt timeout, in ms */

char far

*ScannerBase;

/* local ptr to channel */

char far

*OutputTable;

/* channel output table */

char far

*InputTable;

/* channel input table */

char far

*ControlStatusArea; /* channel CSA */

char far

*GeneralDataArea;

/* channel general data area */

char far

*ConBTWTable;

/* continuous BT write table */

char far

*ConBTRTable;

/* continuous BT read table */

char far

*ResetArea;

/* reset area */

char far

*VmeIdArea;

/* VME ID/interrupt area */

unsigned long

stash;

/* bus manager context */

} channel;

/*
** Control/Status Area structure
*/

typedef struct {

unsigned short

opstat;

/* Operating Status Word */

unsigned short

cnfstat;

/* Confirmation Status Word */

unsigned short

cmd;

/* Command Word */

unsigned short

addr;

/* Block Transfer Address Word */

unsigned short

tag;

/* Block Transfer Tag Word */

unsigned short

irq;

/* Block Transfer Interrupt Word */

unsigned short

iitm;

/* IITM Index Word */

unsigned short

res[7];

/* reserved fields */

unsigned short

semaphore;

/* Semaphore Word */

unsigned short

datalen;

/* Length of Data Word */

} csa_data;

Advertising
This manual is related to the following products: