📄 fms_user.h
字号:
/*****************************************************************************************************
FMS_USER.H
=====================================================================================================
Type definitions and constants for PROFIBUS-FMS interface
=====================================================================================================
Vers. Date Na T Remark
-----------------------------------------------------------------------------------------------------
3.101 07.07.99 MY - Missing 'typedef char boolean' inserted
3.100 14.05.98 Hi Created
*****************************************************************************************************/
#if defined( _MSC_VER) /* Microsoft C */
#pragma pack(1) /* Byte Alignment */
#endif
/* ------------------------------------------------------------------------------------------------- */
/* PROFIBUS data types ----------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------- */
typedef char myboolean;
typedef char int8;
typedef int int16;
typedef long int32;
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
typedef unsigned char octet; /* Octet string */
typedef unsigned char visible; /* Visible string */
typedef unsigned char bits; /* Bit string */
#define NAME_LENGTH 32
/* ------------------------------------------------------------------------------------------------- */
/* FMS-ErrorType ----------------------------------------------------------------------------------- */
/* Negative response at Read / Write / Status / Identify / GetOD ----------------------------------- */
/* ------------------------------------------------------------------------------------------------- */
typedef struct tagERROR_TYPE
{
unsigned char bCommunicationRef;
unsigned char bAccess;
unsigned short usObjectIdx;
unsigned char bSubObjectIdx;
unsigned char bDataCnt;
unsigned char bDataType;
unsigned char bService;
int8 chErrorClass;
int8 chErrorCode;
int16 sAddCode;
visible abAddDescription[243];
} ERROR_TYPE;
/* ------------------------------------------------------------------------------------------------- */
/* FMS-service: Status ----------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------- */
typedef struct tagSTATUS_REQ
{
unsigned char bCommunicationRef;
unsigned char bReserved1;
unsigned short bReserved2;
unsigned char bReserved3;
unsigned char bReserved4;
unsigned char bReserved5;
unsigned char bService;
} STATUS_REQ;
typedef struct tagSTATUS_CON
{
unsigned char bCommunicationRef;
unsigned char bReserved1;
unsigned short bReserved2;
unsigned char bReserved3;
unsigned char bReserved4;
unsigned char bReserved5;
unsigned char bService;
uint8 bLogicalStatus;
uint8 bPhysicalStatus;
uint8 bLocalDetailLen;
bits abLocalDetail[3];
} STATUS_CON;
typedef struct tagMSG_STATUS
{
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
union {
STATUS_REQ Req;
STATUS_CON Con;
ERROR_TYPE Err;
RCS_TELEGRAMHEADERDATA_10 User;
} Msg;
} MSG_STATUS;
typedef struct tagMSG_SET_STATUS
{
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
uint8 bLogicalStatus;
uint8 bPhysicalStatus;
uint8 bLocalDetailLen;
bits abLocalDetail[3];
} MSG_SET_STATUS;
/* ------------------------------------------------------------------------------------------------- */
/* FMS-service: Identify --------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------- */
typedef struct tagIDENTIFY_REQ
{
unsigned char bCommunicationRef;
unsigned char bReserved1;
unsigned short bReserved2;
unsigned char bReserved3;
unsigned char bReserved4;
unsigned char bReserved5;
unsigned char bService;
} IDENTIFY_REQ;
typedef struct tagIDENTIFY_CON
{
unsigned char bCommunicationRef;
unsigned char bReserved1;
unsigned short bReserved2;
unsigned char bReserved3;
unsigned char bReserved4;
unsigned char bReserved5;
unsigned char bService;
visible abVendorName[NAME_LENGTH+1];
visible abModelName[NAME_LENGTH+1];
visible abRevision[NAME_LENGTH+1];
} IDENTIFY_CON;
typedef struct tagMSG_IDENTIFY
{
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
union {
IDENTIFY_REQ Req;
IDENTIFY_CON Con;
ERROR_TYPE Err;
RCS_TELEGRAMHEADERDATA_10 User;
} Msg;
} MSG_IDENTIFY;
/* ------------------------------------------------------------------------------------------------- */
/* FMS-service: Read ------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------- */
typedef struct tagREAD_REQ
{
unsigned char bCommunicationRef;
unsigned char bAccess;
unsigned short usObjectIdx;
unsigned char bSubObjectIdx;
unsigned char bDataCnt;
unsigned char bDataType;
unsigned char bService;
} READ_REQ;
typedef READ_REQ READ_IND;
typedef struct tagREAD_RES
{
unsigned char bCommunicationRef;
unsigned char bAccess;
unsigned short usObjectIdx;
unsigned char bSubObjectIdx;
unsigned char bDataCnt;
unsigned char bDataType;
unsigned char bService;
octet abData[247];
} READ_RES;
typedef READ_RES READ_CON;
typedef struct tagMSG_READ
{
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
union {
READ_REQ Req;
READ_IND Ind;
READ_RES Res;
READ_CON Con;
ERROR_TYPE Err;
RCS_TELEGRAMHEADERDATA_10 user;
} Msg;
} MSG_READ;
/* ------------------------------------------------------------------------------------------------- */
/* FMS-service: Write ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------- */
typedef struct tagWRITE_REQ
{
unsigned char bCommunicationRef;
unsigned char bAccess;
unsigned short usObjectIdx;
unsigned char bSubObjectIdx;
unsigned char bDataCnt;
unsigned char bDataType;
unsigned char bService;
octet abData[247];
} WRITE_REQ;
typedef WRITE_REQ WRITE_IND;
typedef struct tagWRITE_RES
{
unsigned char bCommunicationRef;
unsigned char bAccess;
unsigned short usObjectIdx;
unsigned char bSubObjectIdx;
unsigned char bDataCnt;
unsigned char bDataType;
unsigned char bService;
} WRITE_RES;
typedef WRITE_RES WRITE_CON;
typedef struct tagMSG_WRITE
{
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
union {
WRITE_REQ Req;
WRITE_IND Ind;
WRITE_RES Res;
WRITE_CON Con;
ERROR_TYPE Err;
RCS_TELEGRAMHEADERDATA_10 user;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -