EtherNet/IP™ Adapter  1.04.06
User Reference Manual

◆ EI_API_CIP_getAssemblySize()

uint32_t EI_API_CIP_getAssemblySize ( T pCipNode_p,
uint16_t  assemblyInstanceId_p,
uint16_t *  pSize_p 
)

Get assembly instance attribute Size.

Retrieves assembly instance attribute Size (Attribute ID 4), as number of bytes in attribute Data (Attribute ID 3).

Parameters
[in]pCipNode_pPointer to the CIP node.
[in]assemblyInstanceId_pAssembly instance identifier.
[out]pSize_pValue of assembly instance attribute ID 4, Size.
Returns
EI_API_CIP_EError_t as uint32_t value.
Return values
EI_API_CIP_eERR_OKSuccess.
EI_API_CIP_eERR_NODE_INVALIDCIP node is invalid, possibly EI_API_CIP_NODE_new() was not called.
EI_API_CIP_eERR_ASSEMBLY_DOES_NOT_EXISTThe assembly with the given ID could not be found.
EI_API_CIP_eERR_ASSEMBLY_INVALID_SIZEInvalid size pointer.
Example
#include <api/EI_API.h>
EI_API_ADP_T* pEI_API_ADP = NULL;
EI_API_CIP_NODE_T* pEI_API_CIP_NODE = NULL;
uint32_t errCode;
uint8_t numInterfaces = 1;
uint16_t assemblyInstanceId;
uint16_t size = 0;
// Create a new adapter first
pEI_API_ADP = EI_API_ADP_new(numInterfaces);
// Create a CIP node next
pEI_API_CIP_NODE = EI_API_CIP_NODE_new();
...
// Under pEI_API_CIP_NODE, create assembly instance with ID = 100, with read-write access
assemblyInstanceId = 0x64;
errCode = EI_API_CIP_createAssembly(pEI_API_CIP_NODE, assemblyInstanceId, EI_API_CIP_eAR_GET_AND_SET);
...
// Get attribute \p Size of assembly instance ID = 100, as number of bytes in attribute \p Data
errCode = EI_API_CIP_getAssemblySize(pEI_API_CIP_NODE, assemblyInstanceId, &size)
See also
EI_API_CIP_createAssembly EI_API_CIP_addAssemblyMember EI_API_CIP_getAssemblyData EI_API_CIP_setAssemblyData EI_API_CIP_EAr_t EI_API_CIP_EError_t
EI_API_CIP_getAssemblySize
ETHIP_API uint32_t EI_API_CIP_getAssemblySize(T *pCipNode_p, uint16_t assemblyInstanceId_p, uint16_t *pSize_p)
Get assembly instance attribute Size.
Definition: EI_API_CIP_main.c:5589
EI_API_CIP_createAssembly
ETHIP_API uint32_t EI_API_CIP_createAssembly(T *pCipNode_p, uint16_t assemblyInstanceId_p, EI_API_CIP_EAr_t accessRule_p)
Create a new assembly instance.
Definition: EI_API_CIP_main.c:5348
EI_API_CIP_NODE_new
ETHIP_API T * EI_API_CIP_NODE_new(void)
Create a new CIP node.
Definition: EI_API_CIP_main.c:69
EI_API_CIP_eAR_GET_AND_SET
@ EI_API_CIP_eAR_GET_AND_SET
Definition: EI_API_def.h:131
EI_API_ADP_new
ETHIP_API T * EI_API_ADP_new(uint8_t numInterfaces_p)
Create a new EtherNet/IP adapter.
Definition: EI_API_ADP_main.c:235