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

Page 209

Advertising
background image

Sample API Modules

Appendix B

B-51

* void plc540v_pccc_upload_complete(
* vmeCmdBlkAddr,
* baseAddress,
* width,
* addrMod,
* &reply,
* &status);
*
* Copyright Allen-Bradley Company, Inc. 1993
*
****************************************************************************/
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)

{
/* The Upload Complete command packet. */
PLC540V_PCCC_ULC_CMD_TYPE cmdPacket;

/* Let’s initialize these packets to nothing. */
memset((char *) &cmdPacket, 0x0, kPLC540V_PCCC_ULC_CMD_SIZE);
memset((char *) reply, 0x0, kPLC540V_PCCC_ULC_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_ULC_CMD;
cmdPacket.fnc = kPLC540V_PCCC_ULC_FNC;

plc540v_send_pccc_command(

vmeCmdBlkAddr,
&cmdPacket,
kPLC540V_PCCC_ULC_CMD_SIZE,
reply,
kPLC540V_PCCC_ULC_RPY_SIZE,
baseAddress,
kVME_NO_INT_LEVEL,
0,
width,
addrMod,
status);

}

Advertising