P40vscm.c, B-84 – Rockwell Automation 1785-Vx0B, D17856.5.9 PLC-5 VME VMEbus Programmable Controllers User Manual User Manual

Page 242

Advertising
background image

Sample API Modules

Appendix B

B-84

#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#include ”epc_obm.h”
#include ”epc_err.h”
#include ”busmgr.h”
#include ”p40vscm.h”

/***************************************************************************/
/************************* PRIVATE DEFINITIONS ****************************/
/***************************************************************************/
#define kPLC540V_PCCC_SCM_CMD 0x0F
#define kPLC540V_PCCC_SCM_FNC 0x3A

/***************************************************************************/
/************************* PRIVATE TYPE DEFINITIONS ************************/
/***************************************************************************/

/***************************************************************************/
/*************************** PRIVATE FUNCTIONS *****************************/
/***************************************************************************/

/*****************************************************************************
*
* PURPOSE: This function sends the PCCC Set CPU Mode command to the
* PLC-5/40V.
*
* INPUT: ULONG vmeCmdBlkAddr contains the VME address where the
* command block will be copied to so the PLC-5/40V can
* access its information.
*
* UWORD baseAddress contains the base address of the
* PLC-5/40V.
*
* VME_DATA_WIDTH_TYPE width contains the data width that
* should be used for the copy operations. It can be D16
* or D08.
*
* VME_ADDRESS_MODIFIER_TYPE addrMod defines the address space
* in which the VME data is accessed. It can be A16 or A24.
*
* PLC540V_PCCC_SCM_CTLMODE_TYPE defines the desired cpu mode
* and whether locking should be applied.
*
* PLC540V_PCCC_SCM_RPY_TYPE reply contains PCCC’s Set CPU
* Mode command specific reply packet.
*
* OUTPUT: PLC540V_STATUS_TYPE *status will contain the final status
* of requesting this function. This status could be and EPC
* or PLC-5/40V value.
*
* RETURNS: Nothing.
*
* EXAMPLE:
* ULONG vmeCmdBlkAddr = 0xE0F100;
* UWORD baseAddress = 0XFC00;
* VME_DATA_WIDTH_TYPE width = kVME_D16_DATA_WIDTH;
* VME_ADDRESS_MODIFIER_TYPE addrMod = kVME_A24_ADDR_SPACE;
* PLC540V_PCCC_SCM_CTLMODE_TYPE ctlmode.modeSelect
*

= kPLC540V_SCM_RUN_MODE;

P40VSCM.C

Advertising