R&D Steuerungstechnik

Write Befehl mit Komma statt Punkt

Beitrag 11.06.2025, 12:56 Uhr
FamJam
Level 1 = Community-Lehrling
*
Hallo zusammen,

wie kann man mit dem WRITE Befehl R-Parameter ausgeben welche 3 Stellen hinter dem Komma haben und statt dem Punkt ein Komma ausgeben ?


Über jeden Tip und Vorschlag bedanke ich mich sehr.... Viele Grüße Matthias

Mein Versuch:
;
; PUNKT:1
;
G1 X-25 Y0 F2000
G1 Z10 F2000
R51=0.00000 ;Inkrement in X
R52=0.00000 ;Inkrement in Y
R53=-12.0000000 ;Inkrement in Z
R71=0.00000 ;Richtungsvektor in X
R72=0.00000 ;Richtungsvektor in Y
R73=-1.0000000 ;Richtungsvektor in Z
STOPRE
;SPOS=0
G91
G91 G1 G60 MEAS=1 X=R51 Y=R52 Z=R53 F250
STOPRE
G90
R11=$AC_MEA[1]; hat Taster Signal bekommen?
IF R11==0
MSG("KEIN SIGNAL!")
M17
ELSE
STOPRE
ENDIF
G90
G1 X-25 Y0 Z10 F2000
G1 Z50 F2000
; Auswerten der Messpunkte
; Ist-Werte
R901 = TRUNC($AA_MW[X]*1000)/1000
R902 = TRUNC($AA_MW[Y]*1000)/1000
R903 = TRUNC($AA_MW[Z]*1000)/1000
STOPRE
WRITE(_ERROR,"result.TXT",<<R901<<"/"<<R902<<"/"<<R903)
STOPRE
   
Beitrag 11.06.2025, 13:57 Uhr
CNCFr
Level 7 = Community-Professor
*******
Schau dir im Handbuch "Arbeitsvorbereitung" mal das Kapitel "String formatieren (SPRINT)" an (in meiner Ausgabe ist das Kapitel 2.9.9).
Damit kannst du zumindest die Formatierung auf drei Nachkommastellen erschlagen.
Die Möglichkeit, den Punkt als Dezimaltrenner durch ein Komma zu ersetzen, ist da - falls ich das richtig sehe - nicht vorgesehen. Das müsstest du wohl mit Hilfe der übrigen Stringoperationen (in den Kapiteln 2.9.6 -2.9.8) selber implementieren.
   
Beitrag 11.06.2025, 14:41 Uhr
CNCFr
Level 7 = Community-Professor
*******
So etwa:
QUELLTEXT
DEF STRING[20] _ZAHL_STRING
DEF INT _PUNKT_INDEX

_ZAHL = 1.23456
_ZAHL_STRING = SPRINT("%.3F", _Zahl)          ; Zahl mit 3 Nachkommastellen bilden
_PUNKT_INDEX = INDEX(_ZAHL_STRING, ".")  ; Den Index des Dezimalpunkts ermitteln
_ZAHL_STRING[_PUNKT_INDEX] = ","                ; Den Dezimalpunkt durch einen Punkt ersetzen
MSG(_ZAHL_STRING)
   
Beitrag 11.06.2025, 16:19 Uhr
eckitsch
Level 4 = Community-Meister
****
Hi,

Vielleicht hilft dir das:
https://de.industryarena.com/forum/index.ph...ost&p=67609
   
Beitrag 12.06.2025, 07:03 Uhr
FamJam
Level 1 = Community-Lehrling
*
Guten Morgen,

ich möchte mich für die schnellen Antworten herzlich bedanken. Beide haben mir geholfen und mein Wissen erweitert ! Super...
   
Beitrag 12.06.2025, 07:41 Uhr
CNCFr
Level 7 = Community-Professor
*******
ZITAT(CNCFr @ 11.06.2025, 15:41 Uhr) *
_ZAHL_STRING[_PUNKT_INDEX] = "," ; Den Dezimalpunkt durch einen Punkt ersetzen

Der Kommentar sollte natürlich "Den Dezimalpunkt durch ein Komma ersetzen" lauten.

Der Beitrag wurde von CNCFr bearbeitet: 12.06.2025, 07:54 Uhr
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: