P40vhint.c, B-33, Appendix b – Rockwell Automation 1785-Vx0B, D17856.5.9 PLC-5 VME VMEbus Programmable Controllers User Manual User Manual

Page 191

Advertising
background image

Sample API Modules

Appendix B

B-33

typedef struct
{
UWORD commandWord;
UWORD responseWord;
UWORD cmdIntLevel;
UWORD cmdStatusId;
UWORD reserved1[3];
PLC540V_HINT_TRANSFER_TYPE transferInfo;
UWORD reserved2[5];
UWORD operationIntLevel;
UWORD operationStatusId;
UWORD reserved3;
} PLC540V_HINT_CMD_TYPE;

#pragma pack()

void plc540v_init_handle_interrupts(
ULONG vmeCmdBlkAddr,
UWORD baseAddress,
VME_INTERRUPT_LEVEL_TYPE cmdIntLevel,
UBYTE cmdStatusId,
VME_INTERRUPT_LEVEL_TYPE operationIntLevel,
UBYTE operationStatusId,
PLC540V_STATUS_TYPE *status);

void plc540v_halt_handle_interrupts(

ULONG vmeCmdBlkAddr,
UWORD baseAddress,
VME_INTERRUPT_LEVEL_TYPE cmdIntLevel,
UBYTE cmdStatusId,
VME_INTERRUPT_LEVEL_TYPE operationIntLevel,
UBYTE operationStatusId,
PLC540V_STATUS_TYPE *status);

#endif

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include ”epc_obm.h”
#include ”epc_err.h”
#include ”busmgr.h”
#include ”p40vhint.h”

/***************************************************************************/
/************************* PRIVATE TYPE DEFINITIONS ************************/
/***************************************************************************/
typedef enum
{

kPLC540V_HANDLE_INTERRUPTS=0x0003,

} PLC540V_HINTS_COMMAND;

typedef enum
{
kPLC540V_HINTS_DISABLE=0x0,
kPLC540V_HINTS_ENABLE=0x1,
} PLC540V_HINTS_MODE;

P40VHINT.C

Advertising