William Kane / Generic

Dependents:   LaserioLib

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers abp_eip.h Source File

abp_eip.h

00001 /*******************************************************************************
00002 ********************************************************************************
00003 **                                                                            **
00004 ** ABP version 7.16.01 (2015-10-14)                                           **
00005 **                                                                            */
00006 /*******************************************************************************
00007 ********************************************************************************
00008 **
00009 ** File Name
00010 ** ---------
00011 **
00012 ** abp_eip.h
00013 **
00014 ********************************************************************************
00015 ********************************************************************************
00016 **
00017 ** Description
00018 ** -----------
00019 **
00020 ** ABP - Anybus-CC Protocol Definitions for EtherNet/IP Object.
00021 **
00022 ** This file contains network specific definitions used by the Anybus-CC
00023 ** EtherNet/IP module as well as applications designed to use such module.
00024 **
00025 ********************************************************************************
00026 ********************************************************************************
00027 **                                                                            **
00028 ** COPYRIGHT NOTIFICATION (c) 2008 HMS Industrial Networks AB                 **
00029 **                                                                            **
00030 ** This code is the property of HMS Industrial Networks AB.                   **
00031 ** The source code may not be reproduced, distributed, or used without        **
00032 ** permission. When used together with a product from HMS, this code can be   **
00033 ** modified, reproduced and distributed in binary form without any            **
00034 ** restrictions.                                                              **
00035 **                                                                            **
00036 ** THE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. HMS DOES NOT    **
00037 ** WARRANT THAT THE FUNCTIONS OF THE CODE WILL MEET YOUR REQUIREMENTS, OR     **
00038 ** THAT THE OPERATION OF THE CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR     **
00039 ** THAT DEFECTS IN IT CAN BE CORRECTED.                                       **
00040 **                                                                            **
00041 ********************************************************************************
00042 ********************************************************************************
00043 */
00044 
00045 #ifndef ABP_EIP_H
00046 #define ABP_EIP_H
00047 
00048 
00049 /*******************************************************************************
00050 **
00051 ** Anybus-CC EtherNet/IP object constants.
00052 **
00053 ** Object revision: 2.
00054 **
00055 ********************************************************************************
00056 */
00057 
00058 /*------------------------------------------------------------------------------
00059 **
00060 ** The Anybus-CC EtherNet/IP Object instance attributes.
00061 **
00062 **------------------------------------------------------------------------------
00063 */
00064 
00065 #define ABP_EIP_IA_VENDOR_ID                  1
00066 #define ABP_EIP_IA_DEVICE_TYPE                2
00067 #define ABP_EIP_IA_PRODUCT_CODE               3
00068 #define ABP_EIP_IA_REVISION                   4
00069 #define ABP_EIP_IA_SERIAL_NUMBER              5
00070 #define ABP_EIP_IA_PRODUCT_NAME               6
00071 #define ABP_EIP_IA_PROD_INSTANCE              7
00072 #define ABP_EIP_IA_CONS_INSTANCE              8
00073 #define ABP_EIP_IA_COMM_SETTINGS_FROM_NET     9
00074 #define ABP_EIP_IA_ENABLE_APP_CIP_OBJECTS     11
00075 #define ABP_EIP_IA_ENABLE_PARAM_OBJECT        12
00076 #define ABP_EIP_IA_INPUT_INSTANCE_OBJECT      13
00077 #define ABP_EIP_IA_LISTEN_INSTANCE_OBJECT     14
00078 #define ABP_EIP_IA_CONFIG_INSTANCE            15
00079 #define ABP_EIP_IA_DISABLE_STRICT_IO_MATCH    16
00080 #define ABP_EIP_IA_ENABLE_UNCONNECTED_SEND    17
00081 #define ABP_EIP_IA_INPUT_EXT_INSTANCE_OBJECT  18
00082 #define ABP_EIP_IA_LISTEN_EXT_INSTANCE_OBJECT 19
00083 #define ABP_EIP_IA_IF_LABEL_PORT_1            20
00084 #define ABP_EIP_IA_IF_LABEL_PORT_2            21
00085 #define ABP_EIP_IA_IF_LABEL_PORT_INT          22
00086 #define ABP_EIP_IA_ENABLE_APP_CIP_OBJECTS_EXT 23
00087 #define ABP_EIP_IA_PREPEND_PRODUCING          24
00088 #define ABP_EIP_IA_PREPEND_CONSUMING          25
00089 #define ABP_EIP_IA_ENABLE_EIP_QC              26
00090 #define ABP_EIP_IA_PROD_INSTANCE_MAP          27
00091 #define ABP_EIP_IA_CONS_INSTANCE_MAP          28
00092 #define ABP_EIP_IA_IGNORE_SEQ_COUNT_CHECK     29
00093 #define ABP_EIP_IA_ABCC_ADI_OBJECT            30
00094 
00095 
00096 /*------------------------------------------------------------------------------
00097 **
00098 ** The data size of the Anybus-CC EtherNet/IP Object instance attributes (in
00099 ** bytes).
00100 **
00101 **------------------------------------------------------------------------------
00102 */
00103 
00104 #define ABP_EIP_IA_VENDOR_ID_DS                    ABP_UINT16_SIZEOF
00105 #define ABP_EIP_IA_DEVICE_TYPE_DS                  ABP_UINT16_SIZEOF
00106 #define ABP_EIP_IA_PRODUCT_CODE_DS                 ABP_UINT16_SIZEOF
00107 #define ABP_EIP_IA_REVISION_DS                     ( 2 * ABP_UINT8_SIZEOF )
00108 #define ABP_EIP_IA_SERIAL_NUMBER_DS                ABP_UINT32_SIZEOF
00109 #define ABP_EIP_IA_PRODUCT_NAME_MAX_DS             ( 32 * ABP_UINT8_SIZEOF )
00110 #define ABP_EIP_IA_PROD_INSTANCE_DS                ( 6 * ABP_UINT16_SIZEOF )
00111 #define ABP_EIP_IA_CONS_INSTANCE_DS                ( 6 * ABP_UINT16_SIZEOF )
00112 #define ABP_EIP_IA_COMM_SETTINGS_FROM_NET_DS       ABP_BOOL_SIZEOF
00113 #define ABP_EIP_IA_ENABLE_APP_CIP_OBJECTS_DS       ABP_BOOL_SIZEOF
00114 #define ABP_EIP_IA_ENABLE_PARAM_OBJECT_DS          ABP_BOOL_SIZEOF
00115 #define ABP_EIP_IA_INPUT_INSTANCE_DS               ABP_UINT16_SIZEOF
00116 #define ABP_EIP_IA_LISTEN_INSTANCE_DS              ABP_UINT16_SIZEOF
00117 #define ABP_EIP_IA_CONFIG_INSTANCE_DS              ABP_UINT16_SIZEOF
00118 #define ABP_EIP_IA_DISABLE_STRICT_IO_MATCH_DS      ABP_BOOL_SIZEOF
00119 #define ABP_EIP_IA_ENABLE_UNCONNECTED_SEND_DS      ABP_BOOL_SIZEOF
00120 #define ABP_EIP_IA_INPUT_EXT_INSTANCE_DS           ABP_UINT16_SIZEOF
00121 #define ABP_EIP_IA_LISTEN_EXT_INSTANCE_DS          ABP_UINT16_SIZEOF
00122 #define ABP_EIP_IA_IF_LABEL_PORT_1_MAX_DS          ( 64 * ABP_UINT8_SIZEOF )
00123 #define ABP_EIP_IA_IF_LABEL_PORT_2_MAX_DS          ( 64 * ABP_UINT8_SIZEOF )
00124 #define ABP_EIP_IA_IF_LABEL_PORT_INT_MAX_DS        ( 64 * ABP_UINT8_SIZEOF )
00125 #define ABP_EIP_IA_ENABLE_APP_CIP_OBJECTS_EXT_DS   ABP_BOOL_SIZEOF
00126 #define ABP_EIP_IA_PREPEND_PRODUCING_DS            ABP_UINT16_SIZEOF
00127 #define ABP_EIP_IA_PREPEND_CONSUMING_DS            ABP_UINT16_SIZEOF
00128 #define ABP_EIP_IA_ENABLE_EIP_QC_DS                ABP_BOOL_SIZEOF
00129 #define ABP_EIP_IA_PROD_INSTANCE_MAP_DS            ( 6 * 2 * ABP_UINT16_SIZEOF )
00130 #define ABP_EIP_IA_CONS_INSTANCE_MAP_DS            ( 6 * 2 * ABP_UINT16_SIZEOF )
00131 #define ABP_EIP_IA_IGNORE_SEQ_COUNT_CHECK_DS       ABP_BOOL_SIZEOF
00132 #define ABP_EIP_IA_ABCC_ADI_OBJECT_DS              ABP_UINT16_SIZEOF
00133 
00134 
00135 /*------------------------------------------------------------------------------
00136 **
00137 ** The Anybus-CC EtherNet/IP Object specific message commands.
00138 **
00139 **------------------------------------------------------------------------------
00140 */
00141 
00142 #define ABP_EIP_CMD_PROCESS_CIP_OBJ_REQUEST        0x10
00143 #define ABP_EIP_CMD_SET_CONFIG_DATA                0x11
00144 #define ABP_EIP_CMD_PROCESS_CIP_ROUTING_REQUEST    0x12
00145 #define ABP_EIP_CMD_GET_CONFIG_DATA                0x13
00146 #define ABP_EIP_CMD_PROCESS_CIP_OBJ_REQUEST_EXT    0x14
00147 
00148 
00149 /*------------------------------------------------------------------------------
00150 **
00151 ** Object specific error codes.
00152 ** Defines the second byte in a response from the application if the first byte
00153 ** is 0xFF (object specific error).
00154 **
00155 **------------------------------------------------------------------------------
00156 */
00157 
00158 #define ABP_EIP_ERR_OWNERSHIP_CONFLICT         0x01  /* Ownership conflict    */
00159 #define ABP_EIP_ERR_INVALID_CONFIG             0x02  /* Invalid configuration */
00160 
00161 
00162 /*------------------------------------------------------------------------------
00163 **
00164 ** Exception information codes.
00165 **
00166 **------------------------------------------------------------------------------
00167 */
00168 
00169 #define ABP_EIP_NW_EXCPT_INFO_INVALID_SY_INST        0x01
00170 #define ABP_EIP_NW_EXCPT_INFO_INVALID_PROD_MAP_SIZE  0x02
00171 #define ABP_EIP_NW_EXCPT_INFO_INVALID_CONS_MAP_SIZE  0x03
00172 #define ABP_EIP_NW_EXCPT_INFO_MISSING_MAC_ADDRESS    0x04
00173 
00174 
00175 #endif  /* inclusion lock */
00176 
00177 /*******************************************************************************
00178 **
00179 ** End of abp_eip.h
00180 **
00181 ********************************************************************************
00182 */