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

Page 222

Advertising
background image

Sample API Modules

Appendix B

B-64

#ifndef P40VIHAS_H
#define P40VIHAS_H 1

///////////////////////////////////////////////////////////////////////////////
// Definitions for the PCCC ID HOST AND STATUS COMMAND AND REPLY PACKETS //
///////////////////////////////////////////////////////////////////////////////

#include ”p40vspcc.h”

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

/* The PCCC Identify Host and Status command packet structure. */
typedef struct
{
UBYTE reserved[4];
UBYTE cmd;
UBYTE sts;
UWORD tns;
UBYTE fnc;
} PLC540V_PCCC_IHAS_CMD_TYPE;
#define kPLC540V_PCCC_IHAS_CMD_SIZE (sizeof(PLC540V_PCCC_IHAS_CMD_TYPE))

/* The operating status information */
typedef struct
{
UBYTE keyswitchMode:3; /* Byte 1, Operating Status */
#define kPLC540V_PROGRAM_LOAD 0x0
#define kPLC540V_RUN 0x2
#define kPLC540V_REMOTE_PROGRAM_LOAD 0x4
#define kPLC540V_REMOTE_TEST 0x5
#define kPLC540V_REMOTE_RUN 0x6

UBYTE majorFault:1;
#define kPLC540V_NO_MAJOR_FAULT 0x0
#define kPLC540V_MAJOR_FAULT 0x1

UBYTE downloadMode:1;
#define kPLC540V_NOT_DOWNLOADING 0x0
#define kPLC540V_DOWNLOADING 0x1

UBYTE uploadMode:1;
#define kPLC540V_NOT_UPLOADING 0x0
#define kPLC540V_UPLOADING 0x1

UBYTE testEditMode:1;
#define kPLC540V_NOT_TESTING_EDITS 0x0
#define kPLC540V_TESTING_EDITS 0x1

UBYTE editsExist:1;
#define kPLC540V_NO_EDITS 0x0
#define kPLC540V_EDITS 0x1

UBYTE interfaceType:4; /* Byte 2, Processor Type */
#define kPLC5_FAMILY 0xB

UBYTE controllerType:4;
#define kEXAMINE_PROCESSOR_EXPANSION 0xE

P40VIHAS.H

Advertising