Hallo zusammen,
ich habe heute versucht Bit Arrays zu vergleichen und bin auf die AT Anweisung gestoßen und habe etwas damit probiert.
Ziel hätte es sein sollen die 2 Arrays zu vergleichen und zu melden wenn sie unterschiedlich sind.
Leider hat es nicht so ganz funktioniert. Hat mir vielleicht jemand einen Tipp ?
Vielen Dank schon im Voraus.
ich habe heute versucht Bit Arrays zu vergleichen und bin auf die AT Anweisung gestoßen und habe etwas damit probiert.
Ziel hätte es sein sollen die 2 Arrays zu vergleichen und zu melden wenn sie unterschiedlich sind.
Leider hat es nicht so ganz funktioniert. Hat mir vielleicht jemand einen Tipp ?
Code:
FUNCTION_BLOCK "Baustein_1"
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
VAR_INPUT
bit1 { S7_HMI_Visible := 'False'} : Bool;
END_VAR
VAR
array_1 : Array[0..7] of Bool;
AT_array_1 { S7_HMI_Accessible := 'False'; S7_HMI_Visible := 'False'} AT array_1 : Byte;
array_2 : Array[0..7] of Bool;
AT_array_2 { S7_HMI_Accessible := 'False'; S7_HMI_Visible := 'False'} AT array_2 : Byte;
erg : Int;
END_VAR
BEGIN
#array_1[0] := 0;
#array_1[1] := #bit1;
#array_1[2] := 0;
#array_1[3] := 0;
#array_1[4] := 0;
#array_1[5] := 0;
#array_1[6] := 0;
#array_1[7] := 0;
#array_2[0] := 0;
#array_2[1] := 0;
#array_2[2] := 0;
#array_2[3] := 0;
#array_2[4] := 0;
#array_2[5] := 0;
#array_2[6] := 0;
#array_2[7] := 0;
IF #AT_array_1 = #AT_array_2 THEN
#erg := 1;
ELSE
#erg := 0;
END_IF;
END_FUNCTION_BLOCK