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

◆ PN_API_IOD_removeDiagChannel()

uint32_t PN_API_IOD_removeDiagChannel ( PN_API_IOD_Handle_t *const  pnHandle,
const uint32_t  api,
PN_API_IOD_DevAddr_t *const  addr,
const uint16_t  channelNum,
const uint16_t  errorNum,
const PN_API_IOD_DiagChannelPropDirection_t  chanDir,
const PN_API_IOD_DiagChannelPropType_t  chanTyp,
const uint16_t  diagTag,
const uint16_t  alarmState 
)

Remove channel diagnostic alarm to PN stack.

Removal of a diagnostic record previously added using PN_API_IOD_addDiagChannel(). The same values must be provided for referencing as in the corresponding PN_API_IOD_addDiagChannel() call. When the device owns this subslot in an AR, an 'Outgoing Diagnostic Alarm' is automatically transmitted to the IO controller. The 'alarmState' parameter determines whether additional diagnostic entries are accessible for the same channel. If 'channelNum' is equal to 0x8000, the diagnostic entry remains valid for the entire submodule, and the 'alarmState' value is also applicable to the complete submodule.

Parameters
[in]pnHandleProfinet API Handle.
[in]apiApplication Process Identifier.
[in]addrGeographical address (slot/subslot) of the module/submodule.
[in]channelNumChannel number.
[in]errorNumError number, see PNIO specification coding of "ChannelErrorType".
[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]alarmStatePN_API_IOD_DiagChannelPropSpecErrDisappear, PN_API_IOD_DiagChannelPropSpecErrDisappearMore.
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 a a diagnostic channel with PN_API_IOD_addDiagChannel()
...
uint32_t api = 0;
uint16_t channelNum = 1;
uint16_t errorNum;
uint16_t diagTag = 1;
addr.address.geo.slot = 1;
addr.address.geo.subslot = 2;
status = PN_API_IOD_removeDiagChannel(pnHandle, api, &addr, channelNum
errorNum, chanDir, chanTyp, diagTag, alarmState);
uint32_t PN_API_IOD_removeDiagChannel(PN_API_IOD_Handle_t *const pnHandle, const uint32_t api, PN_API_IOD_DevAddr_t *const addr, const uint16_t channelNum, const uint16_t errorNum, const PN_API_IOD_DiagChannelPropDirection_t chanDir, const PN_API_IOD_DiagChannelPropType_t chanTyp, const uint16_t diagTag, const uint16_t alarmState)
Remove 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_DiagChannelPropSpecErrDisappear
Definition pn_api_iod_types.h:391
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