PROGRAM PLC_PRG
VAR
ErstesSemikolon : INT;
stringvariable : STRING := '123;444;233333;4444;';
i : INT ;
Ausgabgestring : ARRAY [0..MAX_OUTPUTSTRINGS] OF STRING;
END_VAR
VAR CONSTANT
MAX_OUTPUTSTRINGS : INT := 10;
END_VAR
FOR i := 0 TO MAX_OUTPUTSTRINGS DO
(* ; suchen*)
ErstesSemikolon := FIND(stringvariable, ';');
(* STRING trennen*)
Ausgabgestring[i] := MID(stringvariable, ErstesSemikolon-1, 1); (* Erste Semikolon Pos minus 1 um das Semikolon abzutrennen *)
(* String um bereits ausgegebenen Bereich kürzen*)
stringvariable := MID(stringvariable, LEN(stringvariable) - (ErstesSemikolon+1), ErstesSemikolon+1);
(* Prüfen ob noch MIN ein ; zu finden ist sonst Schleife beenden *)
IF FIND(stringvariable, ';') = 0 THEN
EXIT;
END_IF;
END_FOR;
Das könnte zum Problem werden, da du ein Array nicht dynamisch verwalten kannst.Die Anzahl der zurückgelieferten Strings ist undefiniert.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?