P40vrmw.c, B-76, Appendix b – Rockwell Automation 1785-Vx0B, D17856.5.9 PLC-5 VME VMEbus Programmable Controllers User Manual User Manual
Page 234

Sample API Modules
Appendix B
B-76
void plc540v_add_addrmasks(UBYTE arrayIndex,
UWORD fileNumber,
UWORD elementNumber,
UWORD andMask,
UWORD orMask,
PLC540V_RMW_ADDRMASKS_TYPE addrMasks,
PLC540V_STATUS_TYPE *status);
void plc540v_pccc_rmw(
ULONG vmeCmdBlkAddr,
UWORD baseAddress,
VME_DATA_WIDTH_TYPE width,
VME_ADDRESS_MODIFIER_TYPE addrMod,
PLC540V_RMW_ADDRMASKS_TYPE addrMasks,
PLC540V_PCCC_RMW_RPY_TYPE *reply,
PLC540V_STATUS_TYPE *status);
#endif
#include
#include
#include
#include ”epc_obm.h”
#include ”epc_err.h”
#include ”busmgr.h”
#include ”p40vrmw.h”
/***************************************************************************/
/************************* PRIVATE DEFINITIONS ****************************/
/***************************************************************************/
#define kPLC540V_PCCC_RMW_CMD 0x0F
#define kPLC540V_PCCC_RMW_FNC 0x26
/***************************************************************************/
/************************* PRIVATE TYPE DEFINITIONS ************************/
/***************************************************************************/
/***************************************************************************/
/*************************** PRIVATE FUNCTIONS *****************************/
/***************************************************************************/
/*****************************************************************************
* PURPOSE: This function initialized the system address mask data
* structure. Currently, it simply sets the entire structure
* to zero.
*
* INPUT: PLC540V_RMW_ADDRMASKS_TYPE addrMasks
*
* OUTPUT: Nothing.
*
* RETURNS: Nothing.
*
* EXAMPLE:
* PLC540V_RMW_ADDRMASKS_TYPE addrMasks;
* plc540v_init_addr_masks(PLC540V_RMW_ADDRMASKS_TYPE addrMasks);
*
* Copyright Allen-Bradley Company, Inc. 1993
****************************************************************************/
void plc540v_init_addrmasks(PLC540V_RMW_ADDRMASKS_TYPE addrMasks)
{
memset((char *) &addrMasks[0], 0x0, sizeof(PLC540V_RMW_ADDRMASKS_TYPE));
}
P40VRMW.C