Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Shopmill 2001 Gravurzyklus

Beitrag 22.02.2021, 22:01 Uhr
Dietmar1970
Level 1 = Community-Lehrling
*
Hallo,
wir haben eine gebrauchte Hermle C600U von 2001 mit Shopmill gekauft. Leider habe ich zu der Maschine keine komplette Dokumentation. Ich will mit dem Gravurzyklus eine Seriennumer die ich im Parameter R200 hinterlegt habe gravieren. Der Zyklus scheint die Zeichen <> sowie # nicht zu kennen. Es scheint eine der ersten Versionen des Gravurzyklusses zu sein. Kann mir jemand schreiben ob damit Variablen wie z.B. der R200 graviert werden können und wie das geht?
Gruß
Dietmar
   
Beitrag 22.02.2021, 22:47 Uhr
CNCFr
Level 7 = Community-Professor
*******
Du musst den R-Parameter in einen String umwandeln, z.B. so:
CODE
]
DEF STRING[20] SERIENNUMMER
.
.
SERIENNUMMER << R200


Und dann dem Gravurzyklus den String übergeben (als Parameter _TEXT).
   
Beitrag 22.02.2021, 23:05 Uhr
CNCFr
Level 7 = Community-Professor
*******
Noch eine Ergänzung zu den Sonderzeichen: Laut Doku (meine ist von 2008) sind im Zeichensatz alle drei von dir genannten Zeichen enthalten. Ich halte es für eher unwahrscheinlich, dass das 2001 anders war. Weshalb nimmst du an, dass es diese Zeichen nicht gibt?
   
Beitrag 23.02.2021, 09:54 Uhr
Dietmar1970
Level 1 = Community-Lehrling
*
Hallo,
danke für die rasche Antwort. Ich hatte im Texteingabefeld des Gravurzyklus <#,R200> eingegeben. Das hatte im Programmablauf die Fehlermeldung "Achtung das Zeichen < Existiert nicht !" gebracht.

Ich habe nun im CNC Programm wie von CNCFr empfohlen folgendes eingegeben

DEF STRING[20] SERIENNUMMER
SERIENNUMMER << R200

Dies erzeugt dann den Fehler "14500 Kanal 1 Satz unerlaubte DEF- oder PROC-Anweisung im Teileprogramm".

Wie übergebe ich dann die Seriennummer richtig an den Gravurzyklus weiter?

Hat mir jemand vielleicht eine Programmieranleitung aus 2001? Alles was ich gefunden habe ist jünger.
   
Beitrag 23.02.2021, 10:40 Uhr
CNCFr
Level 7 = Community-Professor
*******
Die Definition des Strings (wie auch jede andere Definition), also

DEF STRING[20] SERIENNUMMER

muss ganz vorne im Programm stehen, vor allen ausführbaren Anweisungen.
Die eckige Klammer vor dieser Zeile in meinem Programmbeispiel ist versehentlich da reingerutscht. Die gehört nicht dahin, also einfach ignorieren.
Und in der letzten Zeile fehlt noch das Gleichheitszeichen, d.h. die Zeile muss so aussehen:

SERIENNUMMER = << R200

Diese Zeile kann an einer beliebigen Stelle nach den Definitionen im Programmkopf stehen.

im Gravurzyklus musst du dann einfach schreiben

CYCLE60(SERIENNUMMER,..... )
Der Text ist der erste Parameter, die Punkte stehen für die übrigen Parameter.
Wenn der Text nicht in einer Variablen steht, und du den zu gravierenden Text direkt eingeben willst, musst du den Text in Doppelhochkommas einschließen.
Also angenommen es soll die Zahl 17 graviert werden, müsste das so aussehen:
CYCLE60("17",......)

Das ist alles seit Jahrzehnten so und war um das Jahr 2000 nicht anders als heute.

Der Beitrag wurde von CNCFr bearbeitet: 23.02.2021, 10:47 Uhr
   
Beitrag 23.02.2021, 15:21 Uhr
Dietmar1970
Level 1 = Community-Lehrling
*
Hallo CNCFr,

ich habe alles in ein Unterprogramm gepackt und nun funktioniert es.

Vielen Dank für die kompetente Hilfe.

Gruß
Dietmar
   
Beitrag 23.02.2021, 16:56 Uhr
CNCFr
Level 7 = Community-Professor
*******
Freut mich, dass es geklappt hat.
Wenn du nicht nur die reine Nummer gravieren willst, die in deinem R-Parameter steht, sondern noch Zusätze einbauen willst (wie dein Versuch mit <#,R200> vermuten lässt), kannst du dir einen entsprechenden String selbst zusammenbauen. Das würde dann z.B. so aussehen:

SERIENNUMMER = "#" << R20

Die notwendige Doku findest du im Handbuch "Arbeitsvorbereitung" im Kapitel "Stringoperationen" und da dann speziell im Unterkapitel "Verkettung von Strings".
   
2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: