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
Inputs
Name | Type | Description |
---|---|---|
in | STRING(18) | The information to be converted as a Quality string. |
Outputs
Name | Type | Description |
---|---|---|
bError | BOOL | This output is "TRUE" if the input string could not be converted without error. |
Return value
Name | Type | Description |
---|---|---|
String_To_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;