-> Hier kostenlos registrieren
Habe ein wenig Twincat ST Erfahrung aber keine mit Stringverarbeitung. Meine Aufgabe: Ein String (via Rs232) mit folgendem Aufbau:
<Int1>;<Int2>;<Int3>;....<Int100>$R
Die einzelnen Werte sollen in ein Array abgelegt werden.
Was ich bisher habe:
FUNCTION fIntPflFindParameter : UDINT
VAR_INPUT
Input: STRING;
END_VAR
VAR
FirstPos: INT; (* first position of parameter *)
LastPos: INT; (* last position of parameter *)
Length: INT; (* length of parameter *)
StringToReturn: STRING;
END_VAR
----
(* find first position of parameter *)
FirstPos := FIND (Input,';') + 1;
(* find last position of parameter *)
LastPos := FIND (Input,'$R');
(* length of parameter *)
Length := LastPos - FirstPos;
StringToReturn := MID (Input, Length, FirstPos);
fIntPflFindParameter := STRING_TO_UDINT(StringToReturn);
RETURN;
Kann mir da jemand einen Tip (Code) geben?
<Int1>;<Int2>;<Int3>;....<Int100>$R
Die einzelnen Werte sollen in ein Array abgelegt werden.
Was ich bisher habe:
FUNCTION fIntPflFindParameter : UDINT
VAR_INPUT
Input: STRING;
END_VAR
VAR
FirstPos: INT; (* first position of parameter *)
LastPos: INT; (* last position of parameter *)
Length: INT; (* length of parameter *)
StringToReturn: STRING;
END_VAR
----
(* find first position of parameter *)
FirstPos := FIND (Input,';') + 1;
(* find last position of parameter *)
LastPos := FIND (Input,'$R');
(* length of parameter *)
Length := LastPos - FirstPos;
StringToReturn := MID (Input, Length, FirstPos);
fIntPflFindParameter := STRING_TO_UDINT(StringToReturn);
RETURN;
Kann mir da jemand einen Tip (Code) geben?