beautypg.com

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

Page 207

background image

Sample API Modules

Appendix B

B-49

plc540v_send_pccc_command(

vmeCmdBlkAddr,
&cmdPacket,
kPLC540V_PCCC_APC_CMD_SIZE,
reply,
kPLC540V_PCCC_APC_RPY_SIZE,
baseAddress,
kVME_NO_INT_LEVEL,
0,
width,
addrMod,
status);

}

#ifndef P40VULC_H
#define P40VULC_H 1

///////////////////////////////////////////////////////////////////////////////
// Definitions for the PCCC UPLOAD COMPLETE COMMAND AND REPLY PACKETS //
///////////////////////////////////////////////////////////////////////////////

#include ”p40vspcc.h”

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

/* The PCCC Upload Complete command packet structure. */
typedef struct
{
UBYTE reserved[4];
UBYTE cmd;
UBYTE sts;
UWORD tns;
UBYTE fnc;
} PLC540V_PCCC_ULC_CMD_TYPE;
#define kPLC540V_PCCC_ULC_CMD_SIZE (sizeof(PLC540V_PCCC_ULC_CMD_TYPE))

/* The PCCC Upload Complete reply packet structure. */
typedef struct
{
UBYTE lnhHi;
UBYTE lnhLo;
UBYTE reserved[4];
UBYTE cmd;
UBYTE sts;
UWORD tns;
UBYTE extsts;
} PLC540V_PCCC_ULC_RPY_TYPE;
#define kPLC540V_PCCC_ULC_RPY_SIZE (sizeof(PLC540V_PCCC_ULC_RPY_TYPE))
#pragma pack()

void plc540v_pccc_upload_complete(
ULONG vmeCmdBlkAddr,
UWORD baseAddress,
VME_DATA_WIDTH_TYPE width,
VME_ADDRESS_MODIFIER_TYPE addrMod,

PLC540V_PCCC_ULC_RPY_TYPE *reply,

PLC540V_STATUS_TYPE *status);
#endif

P40VULC.H