Rockwell Automation 6008-SV2R VMEbus remote I/O Scanner User Manual
Page 165
![background image](/manuals/580456/165/background.png)
Chapter
Programming the Scanner
8
8Ć31
/*
** Setup Data Structure
*/
typedef struct {
unsigned char
rio_baudrate;
/* RIO link baudrate */
unsigned char
wdt_interval;
/* watchdog timer interval */
unsigned char
wdt_enable;
/* watchdog timer enable */
unsigned char
cmdcmpl_irq_level;
/* cmd complete IRQ level */
unsigned char
cmdcmpl_irq_vector; /* cmd complete IRQ vector */
unsigned char
cmdcmpl_irq_enable; /* cmd complete IRQ enable */
unsigned char
vsf_monitor_enable; /* sysfail monitor enable */
unsigned char
iitm_irq_level;
/* IITM IRQ level */
unsigned char
iitm_irq_vector;
/* IITM IRQ vector */
unsigned char
iitm_irq_enable;
/* IITM IRQ enable */
unsigned char
iitm_lo_bound;
/* IITM index low bound */
unsigned char
iitm_hi_bound;
/* IITM index high bound */
} setup_data;
/*
** Autoconfigure/Link Status Data Structure
*/
/* maximum size of Scan List */
#define SCANLIST_SIZE
64
/* maximum size of I/O Adapter Status Word Block */
#define IOASWBLK_SIZE
64
typedef struct {
unsigned short
scanlist_len;
/* Length of Scan List */
unsigned short
ioaswblk[IOASWBLK_SIZE];
/* IO Adapter Status Block */
unsigned char scanlist[SCANLIST_SIZE];
/* Scan List Block */
} link_config;
/*
** Scan List Data Structure
*/
typedef struct {
unsigned short
scanlist_len;
/* Length of Scan List */
unsigned char scanlist[SCANLIST_SIZE];
/* Scan List Block */
} scanlist_data;
/*
** Fault–Dependent Group Data Structure
*/
/* maximum size of fault–dependent group block */
#define FDG_BLOCK_SIZE
64
typedef struct {
unsigned char fdg_block[FDG_BLOCK_SIZE];
} fdg_data;