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

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);
}