P40vrpc.h, B-80, Appendix b – Rockwell Automation 1785-Vx0B, D17856.5.9 PLC-5 VME VMEbus Programmable Controllers User Manual User Manual

Page 238

Advertising
background image

Sample API Modules

Appendix B

B-80

/* Let’s initialize these packet to nothing. */
memset((char *) &cmdPacket, 0x0, kPLC540V_PCCC_RMW_CMD_SIZE);
memset((char *) reply, 0x0, kPLC540V_PCCC_RMW_RPY_SIZE);
memset((char *) status, 0x0, sizeof(PLC540V_STATUS_TYPE));

/* Let’s establish the command packet contents... Note that
since we set this block with zeros originally, we don’t
need to explicitly set them here.
*/
cmdPacket.cmd = kPLC540V_PCCC_RMW_CMD;
cmdPacket.fnc = kPLC540V_PCCC_RMW_FNC;
memmove((char *) &cmdPacket.addrMasks[0],

(char *) &addrMasks[0],
sizeof(PLC540V_RMW_ADDRMASKS_TYPE));

plc540v_send_pccc_command(

vmeCmdBlkAddr,
&cmdPacket,
kPLC540V_PCCC_RMW_CMD_SIZE,
reply,
kPLC540V_PCCC_RMW_RPY_SIZE,
baseAddress,
kVME_NO_INT_LEVEL,
0,
width,
addrMod,
status);

}

#ifndef P40VRPC_H
#define P40VRPC_H 1

///////////////////////////////////////////////////////////////////////////////
// Definitions for the PCCC RESTORE PORT CONFIG COMMAND AND REPLY PACKETS //
///////////////////////////////////////////////////////////////////////////////

#include ”p40vspcc.h”

#pragma pack(1)
/***************************************************************************/
/************************ INTEL VERSION OF DEFINITIONS *********************/
/***************************************************************************/

/* The PCCC Restore Port Configuration command packet structure. */
typedef struct
{
UBYTE reserved[4];
UBYTE cmd;
UBYTE sts;
UWORD tns;
UBYTE fnc;
PLC540V_PCCC_DATA_TYPE data;
} PLC540V_PCCC_RPC_CMD_TYPE;
#define kPLC540V_PCCC_RPC_CMD_SIZE (sizeof(PLC540V_PCCC_RPC_CMD_TYPE))

P40VRPC.H

Advertising