DMG MORI
DMG MORI

Global One - Integration. Innovation. Quality.

Automatisches Werkzeuge vermessen, DMU75 monoBlock

Beitrag 26.01.2026, 10:58 Uhr
Nutzer1
Level 1 = Community-Lehrling
*
Hallo Community
Ich arbeite an einer DMU75 monoblock 2nd. mit einer Siemens 840d (V4.95+SP02+HF02) mit BLUM-Laser (LC50 DIGILOG) und bin dabei mir eine Automation zum vermessen der Werkzeuge zu bauen. Ein Messprogramm welches alle benötigten Daten aus den Geometrieparametern des sich in der Spindel befindlichen Werkzeuges ausliest, anhand des Werkzeugtypes den richtigen Messzyklus auswählt, alle Daten an den Zyklus übergibt und das Werkzeug vermisst habe ich schon geschrieben und dieses funktioniert soweit auch sehr gut. Als nächsten Schritt wollte ich mir ein Programm ertsellen in dem die Magazinplätze ausgelesen werden und dann das Werkzeug welches sich auf Magazinplatz von X bis Y befindet in die Spindel geholt wird. Ich kann auch die T-Nummern, den Werkzeugnahmen etc. auslesen nur kann ich an meiner Maschine leider keinen Werkzeugaufruf über T-Nummern machen. Jetzt war meine Überlegung über einen/mehrere WRITE-Befehle eine .mpf Datei zu erzeugen in der dann der Werkzeugaufruf und im anschluss der Aufruf meines schon vorhandenen Messprogrammes steht. Ich hänge gerade dabei ein Anführungszeichen " in einem String zu schreiben um diesen dann in die Datei zu schreiben. Hoffe mir kann hier jemand wieterhelfen da meine versuche alle in einem Syntaxfehler endeten.

Die fertige Datei sollte so aussehen:
<String mit Werkzeugnahmen (T="Werkzeugname")>
M6
D1 ; wir arbeiten nur mit einer Schneide
CALL Messprogramm
   
Beitrag 26.01.2026, 12:02 Uhr
Tobe87
Level 3 = Community-Techniker
***
Moin,
bisher hatte ich nur einmal den Fall das ich das machen musste.
Es geht bestimmt auch eleganter aber es Funktioniert.

Ich bin den Weg über einen ASCII-Zeichen gegangen.
Für deinen Fall

DEF STRING[32] DEIN_STRING
DEF CHAR DEIN_CHAR=34

DEIN_STRING="T="<< DEIN_CHAR << "Werkzeugname" << DEIN_CHAR

Gruß
Tobi
   
Beitrag 26.01.2026, 13:15 Uhr
CNCFr
Level 7 = Community-Professor
*******
In Programmiersprachen wird das meistens so gelöst, dass man vor das Anführungszeichen, das in dem String erscheinen soll, einen Backslash (sog. Escape-Zeichen) setzt.
Also in deinem Beispiel so:
"T=\"Werkzeugname\"" ==> sollte den String T="Werkzeugname" erzeugen.
Ob das bei der 840D auch so funktioniert, kann ich nicht sagen. Aber einen Versuch ist es wert.
   
Beitrag 26.01.2026, 13:52 Uhr
Tobe87
Level 3 = Community-Techniker
***
ZITAT(CNCFr @ 26.01.2026, 14:15 Uhr) *
In Programmiersprachen wird das meistens so gelöst, dass man vor das Anführungszeichen, das in dem String erscheinen soll, einen Backslash (sog. Escape-Zeichen) setzt.
Also in deinem Beispiel so:
"T=\"Werkzeugname\"" ==> sollte den String T="Werkzeugname" erzeugen.
Ob das bei der 840D auch so funktioniert, kann ich nicht sagen. Aber einen Versuch ist es wert.


Das war damals auch mein erster Versuch.
Ich war aber nicht in der Lage das auf der 840D umzusetzen.
Evtl. hat es an mir gelegen, ich bin mal gespannt ob da noch jemand was zu sagen kann.

Gruß
Tobi
   
Beitrag 26.01.2026, 13:55 Uhr
Nutzer1
Level 1 = Community-Lehrling
*
ZITAT(Tobe87 @ 26.01.2026, 12:02 Uhr) *
Moin,
bisher hatte ich nur einmal den Fall das ich das machen musste.
Es geht bestimmt auch eleganter aber es Funktioniert.

Ich bin den Weg über einen ASCII-Zeichen gegangen.
Für deinen Fall

DEF STRING[32] DEIN_STRING
DEF CHAR DEIN_CHAR=34

DEIN_STRING="T="<< DEIN_CHAR << "Werkzeugname" << DEIN_CHAR

Gruß
Tobi


Das hat super funktioniert Dankeschön danke.gif
   
Beitrag 26.01.2026, 13:58 Uhr
Nutzer1
Level 1 = Community-Lehrling
*
ZITAT(Tobe87 @ 26.01.2026, 13:52 Uhr) *
Das war damals auch mein erster Versuch.
Ich war aber nicht in der Lage das auf der 840D umzusetzen.
Evtl. hat es an mir gelegen, ich bin mal gespannt ob da noch jemand was zu sagen kann.

Gruß
Tobi


Hierbei bekomme ich leider einen Syntaxfehler.... habe auch schon versucht es über "" anstelle von \" zu lösen klappt aber leider auch nicht.

Trotzdem Danke für die schnelle Antwort thumbs-up.gif
   
Beitrag 26.01.2026, 14:37 Uhr
Tobe87
Level 3 = Community-Techniker
***
ZITAT(Nutzer1 @ 26.01.2026, 14:55 Uhr) *
Das hat super funktioniert Dankeschön danke.gif



Freut mich zuhören das es dir weiter hilft.

Ich freue mich das es überhaupt eine Antwort gibt. thumbs-up.gif
Von den meisten hört man nichts mehr nachdem die Frage beantwortet wurde...

Gruß
Tobi
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: