EtherNet/IP™ Adapter3.09.00
 
Loading...
Searching...
No Matches

◆ EI_API_CIP_setAssemblyFormat()

uint32_t EI_API_CIP_setAssemblyFormat ( T *  pCipNode_p,
uint16_t  assemblyInstanceId_p,
EI_API_CIP_EAssemb_Format_t  format_p 
)

Set assembly format.

Per default when an assembly is created it is in Modeless format.

Parameters
[in]pCipNode_pPointer to the CIP node.
[in]assemblyInstanceId_pAssembly instance identifier.
[in]format_pFormat option.
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_GENERALCIP error code.
EI_API_CIP_eERR_ASSEMBLY_DOES_NOT_EXISTThe assembly with the given ID could not be found.
EI_API_CIP_eERR_ASSEMBLY_INVALID_BUFFERInvalid buffer pointer.
EI_API_CIP_eERR_ASSEMBLY_BAD_BUFFERSIZEBuffer size does not match assembly members' size.
Example
#include "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;
// Create a new adapter first
pEI_API_ADP = EI_API_ADP_new(numInterfaces);
// Create a CIP node next
initParams.maxInstanceNum = 256;
pEI_API_CIP_NODE = EI_API_CIP_NODE_new(&initParams);
...
// 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);
// Set the assembly format to expect 32bitHeader Run/Idle
errCode = EI_API_CIP_setAssemblyFormat(pEI_API_CIP_NODE, assemblyInstanceId, ASSEMB_FORMAT_32BITHEADER);
ETHIP_API T * EI_API_ADP_new(uint8_t numInterfaces_p)
Create a new EtherNet/IP adapter.
Definition EI_API_ADP_stub.c:231
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_stub.c:4312
ETHIP_API uint32_t EI_API_CIP_setAssemblyFormat(T *pCipNode_p, uint16_t assemblyInstanceId_p, EI_API_CIP_EAssemb_Format_t format_p)
Set assembly format.
Definition EI_API_CIP_stub.c:5074
@ EI_API_CIP_eAR_GET_AND_SET
Definition EI_API_def.h:124
@ ASSEMB_FORMAT_32BITHEADER
Definition EI_API_def.h:376
ETHIP_API T * EI_API_CIP_NODE_new(EI_API_CIP_NODE_InitParams_t *pInitParams)
Create a new CIP node.
Definition EI_API_CIP_stub.c:81
uint16_t maxInstanceNum
Definition EI_API_CIP_define.h:162
Initialization parameters to create new CIP Node.
Definition EI_API_CIP_define.h:161
See also
EI_API_CIP_createAssembly EI_API_CIP_EAssemb_Format_t EI_API_CIP_EError_t