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

◆ PN_API_IOD_removeDiagGeneric()

uint32_t PN_API_IOD_removeDiagGeneric ( PN_API_IOD_Handle_t *const  pnHandle,
const uint32_t  api,
PN_API_IOD_DevAddr_t *const  addr,
const uint16_t  chanNum,
const PN_API_IOD_DiagChannelPropDirection_t  chanDir,
const PN_API_IOD_DiagChannelPropType_t  chanTyp,
const uint16_t  diagTag,
const uint16_t  userStructIdent 
)

Remove generic channel diagnostic alarm to PN stack.

Removal of a diagnostic record previously added using PN_API_IOD_addDiagGeneric(). If the device assumes ownership of this subslot within an AR, a 'manuf. specific outgoing alarm' is automatically transmitted to the IO controller.

Parameters
[in]pnHandleProfinet API Handle.
[in]apiApplication Process Identifier.
[in]addrGeographical address (slot/subslot) of the module/submodule.
[in]chanNumChannel number.
[in]chanDirChannel direction (see PN_API_IOD_DiagChannelPropDirection_t).
[in]chanTypChannel type (see PN_API_IOD_DiagChannelPropType_t).
[in]diagTagUser defined diag tag != 0.
[in]userStructIdentManufacturer specific, 0...0x7fff, see IEC 61158.
Returns
result of the operation as uint32_t.
Return values
PN_API_OKSuccess.
PN_API_NOT_OKSomething went wrong.
PN_API_ERR_PARAMInvalid parameter.
Example
#include "pn_api_iod_diagnostic.h"
#include "pn_api_iod_startup.h"
PN_API_IOD_Handle_t* pnHandle = NULL;
uint32_t status;
pnHandle = PN_API_IOD_new();
//Prepare and call PN_API_IOD_startup()
//add an generic diagnostic channel with PN_API_IOD_addDiagGeneric()
...
uint32_t api = 0;
uint16_t diagTag = 1;
uint16_t userStructIdent = ..; // look at IEC61158-5-10/
uint16_t chanNum = 1;
addr.address.geo.slot = 1;
addr.address.geo.subslot = 2;
status = PN_API_IOD_removeDiagGeneric(pnHandle, api, &addr, chanNum,
chanDir, chanTyp, diagTag, userStructIdent);
uint32_t PN_API_IOD_removeDiagGeneric(PN_API_IOD_Handle_t *const pnHandle, const uint32_t api, PN_API_IOD_DevAddr_t *const addr, const uint16_t chanNum, const PN_API_IOD_DiagChannelPropDirection_t chanDir, const PN_API_IOD_DiagChannelPropType_t chanTyp, const uint16_t diagTag, const uint16_t userStructIdent)
Remove generic channel diagnostic alarm to PN stack.
PN_API_IOD_Handle_t * PN_API_IOD_new(void)
Creates Profinet API handle.
PN_API_IOD_DiagChannelPropType_t
Defines for channel properties.type.
Definition pn_api_iod_types.h:372
@ PN_API_IOD_DiagChannelPropTypeByte
Definition pn_api_iod_types.h:377
PN_API_IOD_DiagChannelPropDirection_t
Defines for channel properties.direction.
Definition pn_api_iod_types.h:359
@ PN_API_IOD_DiagChannelPropDirectionIn
Definition pn_api_iod_types.h:361
@ PN_API_IOD_AddrGeo
Definition pn_api_iod_types.h:155
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
union PN_API_IOD_DevAddr_t::@0 address
PN_API_IOD_AddrType_t type
Definition pn_api_iod_types.h:446
struct PN_API_IOD_DevAddr_t::@0::@1 geo
uint32_t subslot
Definition pn_api_iod_types.h:453
uint32_t slot
Definition pn_api_iod_types.h:452
Module/Submodule address (logical/geographical).
Definition pn_api_iod_types.h:445