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

Advertising
background image

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 <stdio.h>
#include <stdlib.h>
#include <mem.h>
#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

Advertising