VAR
myRealArray :ARRAY[0..359] OF REAL; (* Messwerte im Realformat*)
myStringArray :ARRAY[0..8] OF STRING(255); (* Messwerte als Datenstrom *)
myStringTemp :STRING(6); (* Hilfs String *)
myRealTemp :REAL; (* Hilfs Real *)
forCount1 :INT; (* äußerer Schleifenzähler *)
forCount2 :INT; (* innerer Schleifenzähler *)
myIndex :INT; (* Index für das Real Array *)
END_VAR
(* Strings leeren *)
FOR forCount1 := 0 TO 8 DO
myStringArray[forCount1] := '';
END_FOR;
(* Strings beschreiben *)
FOR forCount1 := 0 TO 8 DO
FOR forCount2 := 0 TO 39 DO
myIndex := forCount1 * 40 + forCount2; (* Der Index für das RealArray bilden *)
myRealTemp := INT_TO_REAL(REAL_TO_INT(myRealArray[myIndex] * 10)) / 10; (* Runden auf eine Kommastelle *)
myStringTemp := REAL_TO_STRING(myRealTemp); (* Realwer in einen String verwandeln *)
IF myRealTemp = REAL_TO_INT(myRealTemp) THEN
myStringTemp := CONCAT (myStringTemp,'0'); (* Eine 0 anhängen wenn die Kommastelle 0 ist *)
END_IF;
myStringTemp := CONCAT (myStringTemp,';'); (* Ein ; als Trennzeichen anhängen *)
myStringArray[forCount1] := CONCAT(myStringArray[forCount1],myStringTemp); (* Die Großen Strings zusammen setzen *)
END_FOR;
END_FOR;
FUNCTION My_CONCAT : STRING(255)
(*
Concatenation of two strings.
*)
VAR_INPUT
STR1:STRING(255);
STR2:STRING(255);
END_VAR
VAR
pbyte1 : POINTER TO BYTE;
pbyte2 : POINTER TO BYTE;
pbyteRes : POINTER TO BYTE;
bString2 : BOOL := FALSE;
END_VAR
pbyte1 := ADR(str1);
pbyte2 := ADR(str2);
pbyteRes := ADR(My_CONCAT);
WHILE TRUE DO
IF (bString2) THEN
pbyteRes^ := pbyte2^;
IF (pbyte2^= 0) THEN
EXIT;
END_IF
pbyte2 := pbyte2 + 1;
pbyteRes := pbyteRes + 1;
ELSE
IF (pbyte1^ = 0) THEN
bString2 := TRUE;
ELSE
pbyteRes^ := pbyte1^;
pbyte1 := pbyte1 + 1;
pbyteRes := pbyteRes + 1;
END_IF
END_IF
IF (pbyteRes - ADR(My_CONCAT) >= 255) THEN
(*Korrektur mit Dank an [URL="http://www.sps-forum.de/member.php/356-Thomas_v2.1"][B]Thomas_v2.1[/B][/URL][COLOR=#3E3E3E] [/COLOR]*)
pbyteRes^ := 0;
EXIT;
END_IF
END_WHILE
Danke, werd mich mal damit beschäftigen
Gut ich hab die Lösung selbst gefunden...
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?