F_iecSetAOQuality

F_iecSetAOQuality 1:

This function can be used to set/reset quality flags of an application object to a particular value.

Syntax

FUNCTION F_iecSetAOQuality: UDINT
VAR_INPUT
    QMsk    : DWORD; 
END_VAR
VAR_IN_OUT
    dbEntry : ST_IEC870_5_101AODBEntry;
    device  : ST_IEC870_5_101DeviceInterface;
END_VAR

F_iecSetAOQuality 2: Inputs

QMsk: Quality flags. The quality flags can be combined with OR links. If QMsk = null no flags are set/reset. A list of available quality flags can be found here: Quality flags.

Inputs/outputs

dbEntry: Application object whose quality flag status is to be set.

device: Communication interface of the IEC device.

F_iecSetAOQuality 3: Return value

Return parameter

Meaning

0

No error.

<> 0

Error: IEC60870-5-10x error code

Sample in ST

VAR_GLOBAL CONSTANT
    MAX_TABLE_IDX : INT := 49;
END_VAR
PROGRAM P_iecGetAOQuality
VAR_IN_OUT
    AODB         : ARRAY[1..MAX_TABLE_IDX] OF ST_IEC870_5_101AODBEntry;
END_VAR
VAR
    server1      : FB_IEC870_5_104Slave;

    bBlock       : BOOL;
    bUnblock     : BOOL;
    bIsBlocked   : BOOL;
    
    qualityFlags : DWORD;
END_VAR
IF bBlock THEN
    bBlock := FALSE;
    F_iecSetAOQuality( IECQ_BL_ON, AODB[1], server1.system.device );
END_IF

IF bUnblock THEN
    bUnblock := FALSE;
    F_iecSetAOQuality( IECQ_BL_OFF, AODB[1], server1.system.device );
END_IF

qualityFlags := F_iecGetAOQuality ( AODB[1], server1.system.device );
bIsBlocked := SEL( (qualityFlags AND IECQ_BL_ON ) = IECQ_BL_ON, FALSE, TRUE );

Requirements

Development environment

Target system type

PLC libraries to be linked (category group)

TwinCAT v3.1.4012.0

PC oder CX (x86, x64, ARM)

Tc2_IEC60870_5_10x (Communication->IEC60870)
Tc2_SerialCom (Communication->Serial)
Tc2_TcpIp (Communication->TcpIp)
Tc2_Utilities (System)