Hallo,
ich möchte einen Workspace in einen String umwandeln um ihn dann per EthernetKRL zu versenden. Aber irgendwie scheitere ich an den Stringoperationen.
Kann mir da evtl. jemand weiter helfen. Ich darf nicht mehr als 10 Variablen übergeben, deshalb die Aufteilung. Aber das zusammenführen der Strings klappt einfach nicht.
Hier mal meine derzeitige (fehlerhafte) Umsetzung.
Vielen Dank.
Code
DEFFCT CHAR[150] BoxToString(box: IN)
DECL BOX box
DECL INT Offset
DECL INT i
DECL STATE_T Stat1
DECL STATE_T Stat2
DECL CHAR TEXT1[75]
DECL CHAR TEXT2[75]
Offset = 0
CONTINUE
SWRITE(TEXT1[],Stat1,Offset,"{X %5.1f,Y %5.1f,Z %5.1f,A %4.1f,B %4.1f,C %4.1f,X1 %5.1f,", box.X,box.Y,box.Z,box.A,box.B,box.C,box.X1,box.Y1,box.Z1)
SWRITE(TEXT2[],Stat2,Offset,"Y1 %5.1f,Z1 %5.1f,X2 %5.1f,Y2 %5.1f,Z2 %5.1f,MODE %d}", box.Y1,box.Z1,box.X2,box.Y2,box.Z2,box.MODE)
i = StrAdd(TEXT1[], TEXT2[])
Return TEXT1[]
ENDFCT
Alles anzeigen