panic mode danke dir nochmal, jetzt hat es bei mir geklappt. Die Idee die Länge des Strings zu begrenzen ist Hammer. Echt sehr gute Tipps von dir
Beiträge von Aggasan
-
-
Programmiersklave berechtigter Einwand! ja ich zähle die Kommas. Ich frage mich wie ich dann z.B. die Zahl ab Stelle 42 bis 48 einem src1[] zuweisen kann.
wie stell ich das hier am besten an ?
-
danke euch beiden!
Ich hab den code von panic mode 1:1 genauso ausprobiert und es funktioniert. Wenn ich jedoch meine von der Kamera ausgegebenen Werte in Rawdata[] als src[] gleichsetze, wird mir am SmartPad die Fehlermeldung angezeigt: "KSS01429 Zeichenkette zu lang, Maximum: 80"
mein Code dazu:
Code
Alles anzeigenDECL INT i, ofs, slen DECL STATE_T s DECL CHAR fmt[20] DECL CHAR src[80] DECL CHAR Rawdata[850] ;gibt die Kamera zurück, einfach so ändern ? (unschlüssig) DECL REAL f1, f2, f3 RawData[]="TRXP00R00000048(001,P,777000,296000,89826,420650,555969,976620) src[] = RawData[] ;hier denke ich liegt der Fehler; ist das so machbar? slen = STRLEN(src[]) FOR i = 1 to slen if src[i] =="," then src[i]=" " endif ENDFOR fmt[] ="%f %f %f" ofs = 42 SREAD( src[],s,ofs,fmt[],f1,f2,f3)
Ich denke es stört, dass das Array aus Rawdata 850 Stellen besitzen kann und deswegen die Zeichenkette zu groß ist. Wenn ich das src Array auf 850 ändere bekomme ich ebenfalls eine Fehlermeldung ("KSS01429 Zeichenkette zu lang, Maximum: 470"). Ändere ich das src Array ebenfalls auf 470, bekomme ich die gleiche Fehlermeldung wieder.
Ich kann die ausgegeben Werte der Kamera nicht ändern und bin deswegen unschlüssig, wie ich meinen Kamera Array RawData[] ohne Fehler zerstückelt bekomme. Vielleicht indem ich nur die Stelle 42 bis 62 im RawData Array betrachte, aber wie stelle ich das an ?
-
Hallo zusammen,
ich habe eine Frage bezüglich des Zerstückelns eines Char Arrays. Und zwar möchte ich mir bestimmte Zahlen aus dem Char Array rauspicken und diese dann in eine Real Variable umwandeln. Ich bekomme folgendes Char Array als Messergebnis ausgegeben und möchte mir einzelne Zahlen davon einem REAL Werten zuweisen.
CodeDECL GLOBAL CHAR RawData[850] RawData[]="TRXP00R00000048(001,P,777000,296000,89826,420650,555969,976620)
Wie schaffe ich es hier, z.B. die Zahl 420650 des Char Arrays RawData[] der REAL Variablen x als 420.650 zuzuweisen? (das Messergebnis ist in echt 420.650 mm)
Vielen Dank für eure Hilfe
-
Danke dir Hermann so klappts
-
Hallo zusammen,
ich möchte mit dem Befehl PTP_REL die Achse 6 meines Kukas drehen. Dazu berechne ich vorher eine REAL Variable x und dachte mir ich übergebe die einfach dem Befehl:
z.B. so:
REAL x = 2,7
PTP_REL {A6 x}
Das funktioniert nicht, da der Befehl eine Konstante und keine Variable erwartet. Gibt es eine Möglichkeit, wie ich trotzdem die Achse 6 um x drehen lassen kann oder ist das mit dem PTP_REL nicht möglich?
Vielen Dank für eure Tipps und Anregungen