586.233 aktive Mitglieder*
3.238 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

Befehl für additive Nullpunktverschiebung, G52 oder G92

Beitrag 09.10.2008, 09:22 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo,

wir beschäftigen uns gerade mit der Frage, wie man bei der HAAS-Steuerung eine additive Nullpunktverschiebung programmieren kann. Wenn man G52 X50 programmiert, wird die Verschiebung zwar ausgeführt, aber nach einer erneuten Eingabe von G52 X50 wird nicht ein weiteres Mal verschoben. G52 ist wohl nur eine Verschiebung vom absoluten Programmnullpunkt aus. Wenn man G92 verwendet, geht die Verschiebung in die andere Richtung. Vielleicht weiß da jemand, wie man das macht.

Eine weitere Frage ist, wie ich einen Programmteil mehrere mal Wiederholen kann, also z.B. L5 N20 - N50. Wie programmiert man sowas?

Gruß

Joel
TOP    
Beitrag 10.10.2008, 06:42 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Ich hol das Thema nochmal nach oben. es erstaunt mich allerdings, daß eine "?moderne Steuerung?" solche wichtige Funktionen, die in älteren Steuerungen vorhanden waren nicht mehr bieten.

Vielleicht weiß noch jemand was. Es würde mich freuen.

Gruß

Joel
TOP    
Beitrag 10.10.2008, 10:48 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Inzwischen weiß ich daß G92 enfach nur "Istwert setzten" ist. Das heißt, da wo die Maschine gerade steht, wird ein neuer Wert gesetzt. Die Frage ist nun, wie kann ich wieder zurück zu meinem Original-Programmnullpunkt.

Vielleicht findet sich noch jemand, der sich an einer HAAS aukennt.

Gruß

Joel
TOP    
Beitrag 10.10.2008, 10:49 Uhr
eckitsch
eckitsch
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.08.2007
Beiträge: 384

Hi Joel,

Es gibt viele Möglichkeiten das zu lösen. Geht auf jeden Fall in die Parameterprogrammierung rein.
Hier ein paar Ansätze:

Wiederholung mit Sprungbefehl und Verschiebung mit festen Werten:

#100=0 #101=50
G54
N1 G52 X#100

N10 #100=#100+#101
IF [#100] LE 250 GOTO 1


Wiederholung mit Sprungbefehl und Verschiebung mit variablen Werten:

#100=0 #101=50 #102=100.02 #103=149.9 #104=199.97
#120=100 #121=0

G54
N1 G52 #[#120+#121]

N10 #121=#121+1
IF [#121] LE 5 GOTO 1


Wiederholung mit While Do und Verschiebung:

#100=0 #101=0
WHILE [#100 LT 4] DO 1
G52 X#101
G0 X Y
G0 Z

#100=#100+1 #101=#101+50
END 1


Wiederholung mit internen Unterprogramm vor Ort:

N80 M97 P100 L5
N81 GOTO110
(--------)
N100 G0 X Y

M99
(--------)
N110


Wiederholung mit internen Unterprogramm am Ende:

N80 M97 P1000 L5

N999 M30
(--------)
N1000 G0 X Y

M99

Wiederholung mit externen Unterprogramm:
O1 (Hauptprg.)

N80 M98 P2 L5
G0 X Y

M30

O2 (Unterprg.)
G0 X Y
G0 Z

G0 Z
M99
TOP    
Beitrag 10.10.2008, 11:46 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo Eckitsch,

du bist ein Schatz, das ist genau das, was wir wollten. Danke.

Gruß

Joel

P.S. Kann ich die Belegung der Parameter (z.B. #101) als Liste anzeigen lassen, bzw. gibt es Nummern, die man nicht verwenden darf. Ich habe im Handbuch gesehen, daß man auch die Tastatur abfragen kann (ich glaub, das war #501) oder kann ich da jede beliebige Nummer nehmen?
TOP    
Beitrag 11.10.2008, 14:11 Uhr
sleepless
sleepless
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 24.03.2008
Beiträge: 105

Die Macrovariablen kannst als Liste anzeigen, wenn du "Current Command" drückst und mit der "Page Up" Taste ein paarmal hoch blätterst.
Vorraussetzung diese zu nutzen ist allerdings die Freischaltung der Macrooption. Ist meist keine Serienausstattung. Hier kursieren aber Macroprogrammieranleitungen, vielleicht schickt dir da jemand eine von. Ich hab die in der Firma und komm erst Montag wieder dran.


--------------------
Das Problem der Maschine steht 30cm vor ihr!
TOP    
Beitrag 11.10.2008, 16:53 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo Sleepless,

danke für deine Tipps, ich werde am Montag mal sehen, wie weit ich komme.

Gruß

Joel
TOP    
Beitrag 14.10.2008, 12:17 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo Sleepless,

inzwischen haben wir die Parameterliste entdeckt.
In einem Beispielprogramm habe ich die Zeilen

#501 EQ 0

gefunden. Für was steht EQ? Ist da equal (gleich) gemeint? Gibt es auch die Möglichkeit "größer als (>)" bzw "kleiner als (<) zu verwenden, oder auch zu schreiben

IF #100 < #102 goto10 else goto20

Wie muß der Syntax genau ausehen?

Gruß

Joel
TOP    
Beitrag 14.10.2008, 14:32 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo,

bevor sich jemand bemüht, ein Kollege hat es gefunden.
Handbuch S. 93 Logische bzw. boolsche Operatoren.

EQ = Gleich mit
NE = Ungleich mit
GT = Größer als
LG = Kleiner als
GE = Größer als oder gleich mit
LE = Kleiner als oder gleich mit

Was noch fehlt ist die "ELSE"-Anweisung in einer IF THEN-Schleife.

Gruß

Joel
TOP    
Beitrag 19.10.2008, 14:25 Uhr
eckitsch
eckitsch
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.08.2007
Beiträge: 384

Hi Joel,

IF #100 < #102 goto10 else goto20

So könnte es aussehen:

Variante 1

IF [#100 LT #102] GOTO 10
GOTO 20
N10

(Ausführung THEN)

GOTO 30
N20

(Ausführung ELSE)

N30



Variante 2

IF [#100 LT #102] GOTO 20
N10

(Ausführung ELSE)

GOTO 30
N20

(Ausführung THEN)

N30




Gruß eckitsch
TOP    
Beitrag 19.10.2008, 19:14 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo Eckitsch,

inzwischen haben wir mit den Befehlen while (WH) und end so ziemlich das erreicht, was wir wollten. Vielleicht stelle ich im Laufe der kommenden Woche mal ins Forum, was wir gebastelt haben. Vielleicht werden dann manche sagen, ach das, das haben wir schon lange. Nur habe ich es noch nirgends gesehen. Danke mal für eure Hilfe und Tipps.

Gruß

Joel
TOP    
Beitrag 22.10.2008, 15:17 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo,

hier wie angekündigt eine Datei, was ich mit denn Befehlen erreichen wollte. Allerdings ist noch ein Fehler in der Datei. Sobald man bei "Drehung" einen anderen Wert eingibt als "0" macht das Programm nicht mehr das, was ich erwarte. Vielleicht kann mir da noch jemand auf die Sprünge helfen.

Gruß

Joel
Angehängte Datei(en)
Angehängte Datei  Arretierung.HAS ( 20.18KB ) Anzahl der Downloads: 15
 
TOP    
Beitrag 23.10.2008, 09:51 Uhr
Markus_Oh
Markus_Oh
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 31.08.2002
Beiträge: 432

Hallo,

inzwischen klappt auch das mit der Drehung, in den Zeilen mit dem Drehungsaufruf muß nach dem G68 zusätzlich ein X0 Y0 eingefügt werden. Außerdem stimmt der Kommentar nicht, das muß natürlich "Drehung aufrufen" heißen und nicht "Drehung aufheben"

Hier die richtige Zeile

G68 X0 Y0 R#103 (Drehung aufheben)

mit G69 oder G68 R0 wird die Drehung aufgehoben.

Gruß

Joel
TOP    
Beitrag 12.11.2008, 08:30 Uhr
sykla
sykla
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 10.11.2008
Beiträge: 8

Hallo

ich würde das Programm anders erstellen
Setting 73 auf ein stellen dann:

G54 G0 G90 usw (alles was mann so braucht)
M97 P10 L10 (Unterprogramm aufruf 10 wiederholungen)
G54 (NP verschiebung resetten)
G52 X20. (NP in X in die nächste reihe schieben)
M97 P10 L10 (Unterprogramm aufruf 10 wiederholungen)
M30 (Programm ende)

N10 (unterprogramm)
T1 M6 H1 D1 (Werkzeug und daten aufrufen)
X0 Y0 (posi in X undY )
G43 Z0 (posi in Z)
usw (bearbeitung)
G91 G52 Y20. (weiter verschieben des NP in Y, da wir 10 wiederholungen haben werden 10 verschiebungen durchgeführt)
G90 (mus glabe ich nicht komentiert werden)
M99 (rücksprung zum lezt angewählten m97)

g68 kannst du genauso über g91 und ein unterprogramm drehen wenn setting 73 ein ist

mfg

Der Beitrag wurde von sykla bearbeitet: 12.11.2008, 08:31 Uhr


--------------------
Wieder spreche nie einer Frau, das tuen sie früher oder später von selbst
TOP    
Beitrag 08.11.2011, 18:57 Uhr
michael-p
michael-p
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 21.01.2009
Beiträge: 6

an unserer haas sollten demnächst serienteile gefertigt werden, die auf eine aufspannplatte aufgeschraubt werden. es ändert sich nur die höhe und der durchmesser der teile.
z-nullpunkt ist auf der aufspannplatte. x und y in der mitte. wie kann man den x- und z-nullpunkt im programm verschieben, ohne die werte im nullpunktspeicher zu ändern?
am programmende soll wieder der ursprungliche nullpunkt aktiv sein.
ich habe mit der haas-steuerung erst angefangen und hab keinen in der firma der mir helfen kann.
vielen dank im voraus!!!

Der Beitrag wurde von michael-p bearbeitet: 08.11.2011, 19:04 Uhr
TOP    
Beitrag 22.04.2013, 11:57 Uhr
Magguhs
Magguhs
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 16.02.2011
Beiträge: 65

@ Joel:

du kannst den G52 auch inkremental verschieben, sprich: G52 U50 W50 zb.
das kannst du dann als Wiederholung einbauen, nur solltest du direkt danach G52 X0 Z0 schreiben, damit alles wieder an Ort und Stelle ist.

@michael-p:

für dich gilt das selbe, du kannst die Verschiebung absolut oder inkremental machen, nur halt dran denken am Ende der Verschiebung/Wiederholung den G52 ABSOLUT wieder auf 0 zu setzen.
TOP    



2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: