String_To_AcsiQuality

Converts the quality information formatted as a string into the components of the structured type ST_AcsiQuality. The string to be converted must be specified and has the following structure: 'Q#vv|ORBSFDCA|s|TB'. It corresponds to the TwinCAT Quality-String format specification.

Namespace: Tc3_Acsi
Library: Tc3_Acsi (Tc3_Acsi.compiled-library)

Syntax

FUNCTION String_To_AcsiQuality : ST_AcsiQuality
VAR_INPUT
    in     : STRING(18) := 'Q#00|00000000|0|00';
END_VAR
VAR_OUTPUT
    bError : BOOL;
END_VAR

String_To_AcsiQuality 1: Inputs

Name

Type

Description

in

STRING(18)

The information to be converted as a Quality string.

String_To_AcsiQuality 2: Outputs

Name

Type

Description

bError

BOOL

This output is "TRUE" if the input string could not be converted without error.

String_To_AcsiQuality 3: Return value

Name

Type

Description

String_To_AcsiQuality

ST_AcsiQuality

Converted information as a Quality structure.

Sample

METHOD AcsiQuality_ToFrom_String : BOOL
VAR_INPUT
    fbIED  : REFERENCE TO FB_IED;
END_VAR
VAR
    qValue : ST_AcsiQuality;
    sValue : STRING;
END_VAR

IF NOT __ISVALIDREF(fbIED) THEN
    RETURN;
END_IF

qValue := String_To_AcsiQuality('Q#00|00000000|0|00');
sValue := AcsiQuality_To_String(qValue);(* sValue := 'Q#00|00000000|0|00' *)
IF fbIED.Relay.LLN0.Beh.q.sValue <> AcsiQuality_To_String(qValue) THEN
    qValue := fbIED.Relay.LLN0.Beh.q.qValue;
END_IF

qValue := String_To_AcsiQuality('Q#01|00110011|0|01');
sValue := AcsiQuality_To_String(qValue);(* sValue := 'Q#01|00110011|0|01' *)
IF fbIED.Relay.LLN0.Health.q.sValue <> AcsiQuality_To_String(qValue) THEN
    qValue := fbIED.Relay.LLN0.Health.q.qValue;
END_IF

qValue := String_To_AcsiQuality('Q#10|11001100|1|10');
sValue := AcsiQuality_To_String(qValue);(* sValue := 'Q#10|11001100|1|10' *)
IF fbIED.Relay.LLN0.Mod_.q.sValue <> AcsiQuality_To_String(qValue) THEN
    qValue := fbIED.Relay.LLN0.Mod_.q.qValue;
END_IF

AcsiQuality_ToFrom_String := TRUE;