Probleme mit Scl funktion Replace

RMLIF

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

hab ein Problem mit dem fc 31 Replace in Scl

ich bekomme beim übersetzten immer die Fehlermeldung ungultiger oder fehlender funktionstyp zurück

kann ir da jemand weiterhelfen hatte schonmal jemand das problem

Grüße Rudi

FUNCTION_BLOCK fb1001
VAR_INPUT
Fehlercode : ARRAY[1..10] OF ARRAY[0..3, 0..7] OF BOOL ;
Start : BOOL ;
END_VAR
VAR_OUTPUT
//Abbruch : BOOL ;
END_VAR
VAR_TEMP
(* leer*)
END_VAR
VAR
Zahler_Fehlercode : INT;
Fehler_BIT : INT;
Zahler_1_ARR : INT;
Zahler_2_ARR : INT;
Schrittzahler : INT ;
Abbruch : BOOL ;
Fehlerstring : ARRAY[1..10] OF ARRAY[0..3, 0..7] OF STRING[3];
Fehlerstring_01: STRING[3];
Fehlerstring_02: STRING[3];
Fehlerstring_03: STRING[3];
Fehlerstring_04: STRING[3];
Fehlerstring_05: STRING[3];
Fehlerstring_06: STRING[3];
Fehlerstring_07: STRING[3];
Fehlerstring_08: STRING[3];
Fehlerstring_09: STRING[3];
Fehlerstring_10: STRING[3];
Fehlerstring_11: STRING[3];
Fehlerstring_12: STRING[3];
Fehlerstring_01_1: STRING[3] ;
END_VAR;






IF Start AND NOT Abbruch
THEN Schrittzahler := 1;
ELSE ;
END_IF ;


CASE Schrittzahler OF
1: (*alle werte auf null setzten*)
Zahler_Fehlercode :=1 ;
Fehler_Bit :=0 ;
Zahler_1_ARR :=0 ;
Zahler_2_ARR :=0 ;
Schrittzahler := 2;
2: (*Fehlercode Suchen und Abspeichern Springe zum nächsten Fehlercode*)
IF Fehlercode [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR]= true
THEN
Fehler_Bit :=1 ;
Schrittzahler := 3;
(*REPLACE (IN1:= Fehlerstring_01, IN2:= Fehlerstring [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR], L:= 3, P:= 0)
Fehlerstring [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR]:= Fehlerstring_01 ;*)
REPLACE(IN1 :=Fehlerstring_01 // IN: STRING
,IN2 :=Fehlerstring [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR] // IN: STRING
,L :=3 // IN: INT
,P :=0 // IN: INT
); // STRING


ELSE Fehler_Bit :=0 ;

END_IF ;

3: (*Fehlercode Suchen und Abspeichern Springe zum nächsten Fehlercode*)
IF Fehlercode [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR]= true
THEN
Fehler_Bit:=2 ;
Fehlerstring [Zahler_Fehlercode,Zahler_1_ARR,Zahler_2_ARR]:= Fehlerstring_02 ;
Schrittzahler := 4;
ELSE Fehler_Bit :=1 ;

END_IF ;

Schrittzahler := 4;
 
Zurück
Oben