PROFINET Device4.2.0
 
Loading...
Searching...
No Matches

◆ PN_API_IOD_startup()

uint32_t PN_API_IOD_startup ( PN_API_IOD_Handle_t *const  pnHandle,
PN_API_IOD_IodInstance_t iodInst,
PN_API_IOD_DevAnnotation_t devAnnotation,
PN_API_IOD_SubmodListEntry_t ioSubmodList,
uint32_t  ioSubmodListSize,
PN_API_IOD_Im0ListEntry_t im0List,
uint32_t  im0ListSize 
)

Startup Profinet stack.

Use the configuration given to the function in addition to some device information obtained from the NV memory (like name and IP address) to startup the device, build its SNMP parameters and plug its initial submodules on their corresponding subslots.

Parameters
[in]pnHandleProfinet API Handle.
[in]iodInstIO Device Instance.
[in]devAnnotationDevice annotation.
[in]ioSubmodListIO Submodule list.
[in]ioSubmodListSizeNumber of elements in IO Submodule list.
[in]im0ListIM0 list.
[in]im0ListSizeNumber of elements in IM0 list.
Returns
result of the operation as uint32_t.
Return values
PN_API_OKSuccess.
PN_API_NOT_OKNV memory read operation failed or general error.
Example
#include "pn_api_iod_startup.h"
PN_API_IOD_IodInstance_t iodInst = { 0 };
PN_API_IOD_DevAnnotation_t devAnnotation = { 0 };
PN_API_IOD_SubmodListEntry_t* ioSubmodList = NULL;
PN_API_IOD_Im0ListEntry_t* im0List = NULL;
uint32_t ioSubmodListSize = 0;
uint32_t im0ListSize = 0;
PN_API_IOD_Handle_t* pnHandle = NULL;
uint32_t status;
pnHandle = PN_API_IOD_new();
//Build iodInst
...
//Build devAnnotation
...
//Fill up info and sizes of ioSubmodList and im0List
...
status = PN_API_IOD_startup(pnHandle, &iodInst, &devAnnotation, ioSubmodList,
ioSubmodListSize, im0List, im0ListSize);
PN_API_IOD_Handle_t * PN_API_IOD_new(void)
Creates Profinet API handle.
uint32_t PN_API_IOD_startup(PN_API_IOD_Handle_t *const pnHandle, PN_API_IOD_IodInstance_t *iodInst, PN_API_IOD_DevAnnotation_t *devAnnotation, PN_API_IOD_SubmodListEntry_t *ioSubmodList, uint32_t ioSubmodListSize, PN_API_IOD_Im0ListEntry_t *im0List, uint32_t im0ListSize)
Startup Profinet stack.
struct PN_API_IOD_Handle PN_API_IOD_Handle_t
API handle instance which holds IO device's info.
Definition pn_api_iod_types.h:61
Device annotation.
Definition pn_api_iod_types.h:428
IM0 list.
Definition pn_api_iod_types.h:651
IO Device instance.
Definition pn_api_iod_types.h:665
IO Submodule list.
Definition pn_api_iod_types.h:545