Ref BZ
Ref BZ
RAPID Referenz BZ
Bolzenschwei�en
RAPID Referenz
BZ Bolzenschwei�en
Die Informationen in diesem Handbuch können ohne vorherige Ankündigung geändert werden und
stellen keine Verpflichtung von ABB dar. ABB übernimmt keinerlei Verantwortung für etwaige
Fehler, die dieses Handbuch enthalten kann.
Wenn nicht ausdrücklich im vorliegenden Handbuch angegeben, gibt ABB für keine hierin ent-
haltenen Informationen Garantie oder Gewährleistung für Verluste, Personen- oder Sachschäden,
Verwendbarkeit für einen bestimmten Zweck oder Ähnliches.
In keinem Fall kann ABB haftbar gemacht werden für Schäden oder Folgeschäden, die sich aus der
Anwendung dieses Dokuments oder der darin beschriebenen Produkte ergeben.
Dieses Handbuch darf ohne vorherige schriftliche Genehmigung von ABB weder ganz noch teilweise
vervielfältigt oder kopiert werden und der Inhalt darf nicht Dritten bekannt gegeben oder zu einem
unautorisierten Zweck verwendet werden.
Zusätzliche Kopien dieses Handbuchs können zum jeweils aktuellen Preis von ABB bezogen werden.
Inhaltsverzeichnis
1 Beschreibung 3
2 Übersicht 3
3 Instruktionen 5
3.1 BZ_TechInit – An/Abmelden der Fügezange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 BZ_BolzenLaden – Bolzen in den Bolzenschweißkopf laden . . . . . . . . . . . . . . . . . . . . . 7
3.3 BZ_LIN – Lineares Anfahren einer Position mit Bolzenschweißen . . . . . . . . . . . . . . . . . . 8
3.4 BZ_PTP – Achsweises Anfahren einer Position mit Bolzenschweißen . . . . . . . . . . . . . . . . 15
4 Änderungsjournal 22
1 Beschreibung
Dieses Handbuch beinhaltet die detaillierte Beschreibung der durch die Applikation BZ bereit-
gestellten Instruktionen.
2 Übersicht
Verwendung
In diesem Handbuch können Sie nachschlagen, wie die Option “VWKS-BZ” verwendet wird. Des
Weiteren erhalten Sie ausführliche Informationen zur Syntax der RAPID-Routinen und den Para-
metern.
Voraussetzungen
vertraut sein.
Verweise
3 Instruktionen
Verwendung
Grundlegende Beispiele
Beispiel 1:
Für Bolzenschweißwerkzeug Kopf 1 an Steuerung 1 werden die Steuerungssignale vor dem Abdocken
initialisiert. Die allgemeinen Fahrbedingungen des Prozesses werden deaktiviert.
Beispiel 2:
Für Bolzenschweißwerkzeug Kopf 3 an Steuerung 2 werden die Steuerungssignale nach dem Ando-
cken initialisiert. Die allgemeinen Fahrbedingungen des Prozesses werden aktiviert.
Argumente
BZ_TechInit Value Strg Kopf
[ \Value ]
Datentyp: dionum
Argument EIN (high) um Steuerung anzumelden, Argument AUS (low) um Steuerung
abzumelden
Strg
Datentyp: strgnum
Nummer der Steuerung.
Kopf
Datentyp: kopfnum
Nummer des Kopfes.
Programmablauf
Die Instruktion wird in der Regel vor dem Abdocken eines Werkzeugs mit dem Argument Value:=
AUS aufgerufen. Für das übergebene Bolzenschweißwerkzeug Kopf an der übergebenen Steuerung
Strg werden die Steuerungssignale initialisiert und die allgemeinen Fahrbedingungen des Prozesses
werden deaktiviert.
Die Instruktion wird in der Regel nach dem Andocken eines Werkzeugs mit dem Argument Value
:=AN aufgerufen. Für das übergebene Bolzenschweißwerkzeug Kopf an der übergebenen Steuerung
Strg werden die Steuerungssignale initialisiert und die allgemeinen Fahrbedingungen des Prozesses
werden aktiviert.
Syntax
BZ_TechInit
[ Value ':=' ] < expression (IN) of dionum > ','
[ Strg ':=' ] < expression (IN) of strgnum > ','
[ Kopf ':=' ] < expression (IN) of kopfnum >';'
Verwendung
Grundlegende Beispiele
Beispiel 1:
Der im Programm 50 der Prozesssteuerung 1 für Kopf 1 hinterlegte Bolzentyp wird geladen.
Argumente
BZ_BolzenLaden Strg Kopf ProgAnw
Strg
Datentyp: strgnum
Nummer der Steuerung.
Kopf
Datentyp: kopfnum
Nummer des Kopfes.
ProgAnw
Datentyp: num
Das zur Applikationssteuerung gesendete Programm.
Syntax
BZ_BolzenLaden
[ Strg ':=' ] < expression (IN) of strgnum > ','
[ Kopf ':=' ] < expression (IN) of kopfnum > ','
[ ProgAnw ':=' ] < expression (IN) of num >';'
Verwendung
BZ_LINwird verwendet, um eine Position linear mit dem definierten Bolzenschweißkopf anzufahren
und anschließend den Schweißprozess von der Applikationssteuerung durchführen zu lassen.
Grundlegende Beispiele
Beispiel 1:
!Bolzenschweißung durchführen
BZ_LIN p1234567 ,22,Strg1 ,Kopf1 ,v1000 , tBZ1_Kopf1;
Die Position p1234567 wird linear angefahren und der Bolzenschweißprozess mit der Applikations-
steuerung 1 sowie dem Bolzenschweißkopf 1 mit der Programmanwahl 22 durchgeführt.
Beispiel 2:
! Bolzenschweißung durchführen
BZ_LIN p2345678 , 22,Strg2 ,Kopf4\FolgeProgAnw :=33,v1000 , tBZ1_Kopf1;
Die Position p2345678 wird linear angefahren und der Bolzenschweißprozess mit der Applikations-
steuerung 2 sowie dem Bolzenschweißkopf 4 mit der Programmanwahl 22 durchgeführt.
Sobald der Prozess abgeschlossen ist, wird ein Bolzen mit der Programmanwahl 33 für die nächste
Prozessposition geladen.
Argumente
BZ_LIN [\Conc] Position [\OffsZ] [\WegZurueck] ProgAnw [\PktNr] Strg Kopf [\FolgeProgAnw]
Speed [\V] | [\T] [\Inpos] Tool [\WObj] [\Tload] [\SPSTrigg] [\Start] | [\Time] | [\M1] | [\DI1]
| [\DO1] [\AUS1] [\M2] | [\DI2] | [\DO2] [\AUS2] [\M3] | [\DI3] | [\DO3] [\AUS3]
[ \Conc ]
Concurrent
Datentyp: switch
Nachfolgende Instruktionen werden abgearbeitet, während sich der Roboter bewegt.
Normalerweise wird das Argument nicht verwendet. Es kann jedoch bei der Verwen-
dung von Fly-By-Punkten eingesetzt werden, um nicht gewollte Stopps zu vermeiden,
die durch eine überlastete CPU ausgelöst werden. Das ist sehr vorteilhaft, wenn die
programmierten Punkte sehr nahe aneinander liegen und hohe Geschwindigkeiten ge-
fahren werden. Das Argument ist außerdem sehr nützlich, wenn z. B. mit externen
Geräten kommuniziert wird und keine Synchronisierung zwischen den externen Ge-
räten und den Roboterbewegungen stattfinden muss.
Mit dem Argument \Conc ist die Anzahl der aufeinander folgenden Bewegungsinstruk-
tionen auf 5 beschränkt. In einem Programmabschnitt, der StorePath-RestoPath ent-
hält, sind Bewegungsinstruktionen mit dem Argument \Conc nicht zulässig.
Wenn dieses Argument ausgelassen wird und der ToPoint kein Stopppunkt ist, wird
die nachfolgende Instruktion abgearbeitet, bevor der Roboter die programmierte Zone
erreicht hat.
Dieses Argument kann nicht in koordinierten synchronisierten Bewegungen in einem
MultiMove-System verwendet werden.
Position
Datentyp: robtarget
Der Zielpunkt des Roboters und der externen Achsen. Er wird als benannte Position
definiert oder direkt in der Instruktion gespeichert (mit einem * gekennzeichnet).
OffsZ
Datentyp: num
Falls die Vorposition nicht mit dem Standardwert für Offset Z gleich 3 mm angefahren
werden soll, kann mit Hilfe von dem optionalen Argument OffsZ ein alternativer Wert
in mm übergeben werden.
[ \WegZurueck ]
Datentyp: num
Offsetwert um den Roboter nach dem Prozess über einen Zwischenpunkt in negativer
Z-Richtung des Werkzeugs (RelTool) frei zufahren.
Der Offsetwert wird als Absolutwert verwendet, d.h. ein negatives Vorzeichen wird
ignoriert.
Falls Argument nicht verwendet gilt der Standardwert 6mm.
ProgAnw
Datentyp: num
Das zur Applikationssteuerung gesendete Programm.
[ \PktNr ]
Datentyp: num
Punktnummer, die zur BMS gesendete Punktnummer.
Strg
Datentyp: strgnum
Nummer der Steuerung.
Kopf
Datentyp: kopfnum
Nummer des Kopfes.
[ \FolgeProgAnw ]
Datentyp: num
Optionale Auswahl des Folgeprogramms, welches nach Ausführung der aktuellen In-
struktion initialisiert wird.
Speed
Datentyp: speeddata
Die Geschwindigkeitsdaten, die für Bewegungen gelten. Geschwindigkeitsdaten defi-
nieren die Geschwindigkeit des Werkzeugarbeitspunkts, der Werkzeugumorientierung
und der externen Achsen.
[ \V ]
Velocity
Datentyp: num
Dieses Argument wird verwendet, um die Geschwindigkeit des TCP in mm/s direkt
in der Instruktion zu definieren. Es ersetzt dann die entsprechende Geschwindigkeit,
die in den Geschwindigkeitsdaten angegeben ist.
|[ \T ]
Time
Datentyp: num
Dieses Argument gibt die Gesamtdauer in Sekunden an, für die sich der Roboter
bewegt. Es ersetzt dann die entsprechenden Geschwindigkeitsdaten.
[ \Inpos ]
In position
Datentyp: stoppointdata
Dieses Argument wird verwendet, um die Annäherungskriterien für die Position des
Roboter-TCP am Stopppunkt anzugeben. Die Daten des Stopppunkts ersetzen die
Zone, die im Parameter Zone angegeben ist.
Tool
Datentyp: tooldata
Das verwendete Werkzeug, wenn sich der Roboter bewegt. Der Werkzeugarbeitspunkt
ist der Punkt, der an die angegebene Zielposition bewegt wird.
[ \WObj ]
Work Object
Datentyp: wobjdata
Das Werkobjekt (Koordinatensystem), auf das sich die Roboterposition in der In-
struktion bezieht.
Dieses Argument kann ausgelassen werden. In diesem Fall ist die Position dem Welt-
koordinatensystem zugeordnet. Wenn hingegen ein stationäres Werkzeug oder koor-
dinierte externe Achsen verwendet werden, muss dieses Argument angegeben werden,
um eine lineare Bewegung relativ zum Werkobjekt auszuführen.
[ \TLoad ]
Total load
Datentyp: loaddata
Das Argument \TLoad beschreibt die in der Bewegung verwendete Gesamtlast. Die
Gesamtlast ist die Summe der Werkzeuglast und der Nutzlast des Werkzeugs. Bei
Verwendung des Arguments \TLoad werden die loaddata in den aktuellen tooldata nicht
berücksichtigt.
Wenn das \TLoad-Argument auf load0 gesetzt ist, wird das \TLoad-Argument nicht be-
rücksichtigt, und stattdessen werden die loaddata in den aktuellen tooldata verwendet.
Damit das \TLoad-Argument verwendet werden kann, muss der Wert des Systempara-
meters ModalPayLoadMode unbedingt auf 0 gesetzt werden. Wird ModalPayLoadMode auf 0
eingestellt, kann die GripLoad-Instruktion nicht mehr genutzt werden.
Die Gesamtlast kann mit der Serviceroutine LoadIdentify ermittelt werden. Wurde der
Systemparameter ModalPayLoadMode auf 0 gesetzt, kann der Bediener beim Ausführen
der Serviceroutine die loaddata vom Werkzeug in eine bereits vorhandene oder eine
neue persistente loaddata-Variable kopieren.
Es ist möglich, über ein digitales Eingangssignal, das mit dem Systemeingang SimMo-
de (Simulationsmodus) verbunden ist, einen Testlauf des Programms ohne Nutzlast
durchzuführen. Wenn das digitale Eingangssignal auf 1 gesetzt wird, werden die load-
data im optionalen Argument \TLoad nicht berücksichtigt und stattdessen die loaddata
in den aktuellen tooldata verwendet.
Hinweis
Die Standardfunktion für den Umgang mit Nutzlasten ist die Instruk-
tion GripLoad. Deshalb beträgt der Standardwert für den Systempara-
meter ModalPayLoadMode 1.
[ \SPSTrigg ]
Datentyp: num
Das Argument SPSTrigg definiert die Position auf der Bahn, an der die Fahrbedingung
generiert werden soll.
Angegeben als Abstand in mm vom Endpunkt der Bewegungsbahn, ein positiver Wert
setzt das Signal nach, ein negativer Wert vor Erreichen des Endpunktes.
[ \Start ]
Datentyp: switch
Wird verwendet, wenn der Abstand für Argument SPSTrigg ab dem Startpunkt an-
stelle des Endpunkts der Bewegung gemessen wird. Kann nicht zusammen mit Time
verwendet werden.
[ \Time ]
Datentyp: switch
Wird verwendet, wenn der Wert für das Argument Distance eine Zeitangabe in Sekun-
den statt eines Abstands darstellt.
Zeit- und positionsabhängige Interrupts sind nur möglich für eine kurze Zeitdauer
(< 0,5 s), bevor der Roboter den Endpunkt der Instruktion erreicht. Kann nicht
zusammen mit Start verwendet werden.
[ \Mx ]
Datentyp: merker
Der Position kann mit Hilfe des optionalen Argument Mx (x = 1-3) ein Merker ange-
hängt werden. Die Fahrbedingung wird auf der Bewegung zur Position überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \DIx ]
Datentyp: signaldi
Der Position kann mit Hilfe des optionalen Argument DIx (x = 1-3) ein digitaler
Ausgang angehängt werden. Die Fahrbedingung wird auf der Bewegung zur Position
überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \DOx ]
Datentyp: signaldo
Der Position kann mit Hilfe des optionalen Argument DOx (x = 1-3) ein digitaler
Eingang angehängt werden. Die Fahrbedingung wird auf der Bewegung zur Position
überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \AUSx ]
Datentyp: switch
Der optionale Schalter AUSx (x = 1-3) wird dazu verwendet die übergebenen Fahrbe-
dingungsdaten von Mx, DIx oder DOx (jeweils 1-3) auf den invertierten Wert.
Null zu überwachen und kann nur in Kombination mit diesen verwendet werden.
Programmablauf
Wenn die Bolzenschweißsteuerung betriebsbereit und initialisiert ist, fährt der Roboter die Pro-
zessposition linear als „fine“-Punkt an.
Bei instruktionsweiser Abarbeitung wird das Programm gestoppt, sobald die Prozessposition er-
reicht wurde. Durch einen erneuten Programmstart wird der Bolzenschweißprozess ausgeführt.
Bei der kontinuierlichen Abarbeitung des Programms wird der Bolzenschweißprozess direkt nach
Erreichen der Prozessposition durchgeführt.
Über den optionalen Parameter [\OffsZ] kann eine Zwischenposition in negativer Z-Richtung des
Werkzeugs (RelTool) definiert werden, die immer vor der eigentlichen Prozessposition angefahren
wird.
Über den optionalen Parameter [\WegZurueck] kann eine Zwischenposition in negativer Z-Richtung
des Werkzeugs (RelTool) definiert werden, die immer nach der eigentlichen Prozessposition ange-
fahren wird.
Tritt während des Bolzenschweißprozesses eine Störung auf, kann der Prozess im Handbetrieb des
Roboters wiederholt werden.
Ist die Qualität des Prozesses nicht in Ordnung, so erscheint ein Menü am Programmiergerät, an
dem der Bediener auswählen kann, ob an die Anlagensteuerung die Information geschickt werden
soll, dass Nacharbeit für diesen Fügepunkt erforderlich ist.
Wenn die Prozessüberwachung der Bolzenschweißsteuerung in der Lage ist, die Qua-
lität der Bolzenschweißung ohne manuelle Kontrolle zu beurteilen, so kann diese
abgeschaltet werden.
Um Zykluszeit einzusparen, kann das Laden des Bolzens für die nächste Prozessposition bereits
nach Beendigung des aktuellen Bolzenschweißprozesses gestartet werden, indem der nächste Bolzen
über den optionalen Parameter \FolgeProgAnw vorgegeben wird.
Erfolgt keine Vorauswahl des Bolzens, wird dieser bei Prozessstart automatisch
durch die Bolzenschweißsteuerung geladen.
Der Prozess wird simuliert, d.h. es erfolgt keine Bolzenschweißung, wenn im Automatikbetrieb
das Simulieren des Prozesses an der SPS angewählt ist oder im Handbetrieb das Simulationsflag
„bBZx_SimProcess“ auf TRUE gesetzt ist.
Das Simulationsflag wird beim Umschalten der Betriebsart des Roboter in „Automatik“ bzw. in
„Hand 100%“ automatisch auf FALSE gesetzt. Beim Umschalten in die Betriebsart „Hand“ wird das
Simulationsflag automatisch auf TRUE gesetzt.
Wurde an der Anlagensteuerung „Fahren ohne Bauteil“ (Ghost-Betrieb) angewählt, so wird der
Bolzenschweißprozess ebenfalls simuliert.
Syntax
BZ_LIN
[ '\' Conc ] ','
[ Position ':=' ] < expression (IN) of robtarget >
[ '\' OffsZ ':=' < expression (IN) of num > ]
[ '\' WegZurueck ':=' < expression (IN) of num > ] ','
[ ProgAnw ':=' ] < expression (IN) of num >
[ '\' PktNr ':=' < expression (IN) of num > ] ','
[ Strg ':=' ] < expression (IN) of strgnum > ','
[ Kopf ':=' ] < expression (IN) of kopfnum >
[ '\' FolgeProgAnw ':=' < expression (IN) of num > ] ','
[ Speed ':=' ] < expression (IN) of speeddata >
[ '\' V ':=' < expression (IN) of num > ]
|[ '\' T ':=' < expression (IN) of num > ]
[ '\' Inpos ':=' < expression (IN) of stoppointdata > ] ','
[ Tool ':=' ] < persistent (PERS) of tooldata >
[ '\' WObj ':=' < persistent (PERS) of wobjdata > ]
[ '\' Tload ':=' < persistent (PERS) of loaddata > ]
[ '\' SPSTrigg ':=' < expression (IN) of num > ]
[ '\' Start ]
|[ '\' Time ]
|[ '\' M1 ':=' < persistent (PERS) of merker > ]
|[ '\' DI1 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO1 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS1 ]
[ '\' M2 ':=' < persistent (PERS) of merker > ]
|[ '\' DI2 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO2 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS2 ]
[ '\' M3 ':=' < persistent (PERS) of merker > ]
|[ '\' DI3 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO3 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS3 ]';'
Verwendung
BZ_PTP wird verwendet, um eine Position achsweise mit dem definierten Bolzenschweißkopf anzu-
fahren und anschließend den Schweißprozess von der Applikationssteuerung durchführen zu lassen.
Grundlegende Beispiele
Beispiel 1:
!Bolzenschweißung durchführen
BZ_PTP p1234567 ,22,Strg1 ,Kopf1 ,v1000 , tBZ1_Kopf1;
Die Position p1234567 wird achsweise angefahren und der Bolzenschweißprozess mit der Applikati-
onssteuerung 1 sowie dem Bolzenschweißkopf 1 mit der Programmanwahl 22 durchgeführt.
Beispiel 2:
! Bolzenschweißung durchführen
BZ_PTP p2345678 , 22,Strg2 ,Kopf4\FolgeProgAnw :=33,v1000 , tBZ1_Kopf1;
Die Position p2345678 wird achsweise angefahren und der Bolzenschweißprozess mit der Applikati-
onssteuerung 2 sowie dem Bolzenschweißkopf 4 mit der Programmanwahl 22 durchgeführt.
Sobald der Prozess abgeschlossen ist, wird ein Bolzen mit der Programmanwahl 33 für die nächste
Prozessposition geladen.
Argumente
BZ_PTP [\Conc] Position [\OffsZ] [\WegZurueck] ProgAnw [\PktNr] Strg Kopf [\FolgeProgAnw]
Speed [\V] | [\T] [\Inpos] Tool [\WObj] [\Tload] [\SPSTrigg] [\Start] | [\Time] | [\M1] | [\DI1]
| [\DO1] [\AUS1] [\M2] | [\DI2] | [\DO2] [\AUS2] [\M3] | [\DI3] | [\DO3] [\AUS3]
[ \Conc ]
Concurrent
Datentyp: switch
Nachfolgende Instruktionen werden abgearbeitet, während sich der Roboter bewegt.
Normalerweise wird das Argument nicht verwendet. Es kann jedoch bei der Verwen-
dung von Fly-By-Punkten eingesetzt werden, um nicht gewollte Stopps zu vermeiden,
die durch eine überlastete CPU ausgelöst werden. Das ist sehr vorteilhaft, wenn die
programmierten Punkte sehr nahe aneinander liegen und hohe Geschwindigkeiten ge-
fahren werden. Das Argument ist außerdem sehr nützlich, wenn z. B. mit externen
Geräten kommuniziert wird und keine Synchronisierung zwischen den externen Ge-
räten und den Roboterbewegungen stattfinden muss.
Mit dem Argument \Conc ist die Anzahl der aufeinander folgenden Bewegungsinstruk-
tionen auf 5 beschränkt. In einem Programmabschnitt, der StorePath-RestoPath ent-
hält, sind Bewegungsinstruktionen mit dem Argument \Conc nicht zulässig.
Wenn dieses Argument ausgelassen wird und der ToPoint kein Stopppunkt ist, wird
die nachfolgende Instruktion abgearbeitet, bevor der Roboter die programmierte Zone
erreicht hat.
Dieses Argument kann nicht in koordinierten synchronisierten Bewegungen in einem
MultiMove-System verwendet werden.
Position
Datentyp: robtarget
Der Zielpunkt des Roboters und der externen Achsen. Er wird als benannte Position
definiert oder direkt in der Instruktion gespeichert (mit einem * gekennzeichnet).
OffsZ
Datentyp: num
Falls die Vorposition nicht mit dem Standardwert für Offset Z gleich 3 mm angefahren
werden soll, kann mit Hilfe von dem optionalen Argument OffsZ ein alternativer Wert
in mm übergeben werden.
[ \WegZurueck ]
Datentyp: num
Offsetwert um den Roboter nach dem Prozess über einen Zwischenpunkt in negativer
Z-Richtung des Werkzeugs (RelTool) frei zufahren.
Der Offsetwert wird als Absolutwert verwendet, d.h. ein negatives Vorzeichen wird
ignoriert.
Falls Argument nicht verwendet gilt der Standardwert 6mm.
ProgAnw
Datentyp: num
Das zur Applikationssteuerung gesendete Programm.
[ \PktNr ]
Datentyp: num
Punktnummer, die zur BMS gesendete Punktnummer.
Strg
Datentyp: strgnum
Nummer der Steuerung.
Kopf
Datentyp: kopfnum
Nummer des Kopfes.
[ \FolgeProgAnw ]
Datentyp: num
Optionale Auswahl des Folgeprogramms, welches nach Ausführung der aktuellen In-
struktion initialisiert wird.
Speed
Datentyp: speeddata
Die Geschwindigkeitsdaten, die für Bewegungen gelten. Geschwindigkeitsdaten defi-
nieren die Geschwindigkeit des Werkzeugarbeitspunkts, der Werkzeugumorientierung
und der externen Achsen.
[ \V ]
Velocity
Datentyp: num
Dieses Argument wird verwendet, um die Geschwindigkeit des TCP in mm/s direkt
in der Instruktion zu definieren. Es ersetzt dann die entsprechende Geschwindigkeit,
die in den Geschwindigkeitsdaten angegeben ist.
|[ \T ]
Time
Datentyp: num
Dieses Argument gibt die Gesamtdauer in Sekunden an, für die sich der Roboter
bewegt. Es ersetzt dann die entsprechenden Geschwindigkeitsdaten.
[ \Inpos ]
In position
Datentyp: stoppointdata
Dieses Argument wird verwendet, um die Annäherungskriterien für die Position des
Roboter-TCP am Stopppunkt anzugeben. Die Daten des Stopppunkts ersetzen die
Zone, die im Parameter Zone angegeben ist.
Tool
Datentyp: tooldata
Das verwendete Werkzeug, wenn sich der Roboter bewegt. Der Werkzeugarbeitspunkt
ist der Punkt, der an die angegebene Zielposition bewegt wird.
[ \WObj ]
Work Object
Datentyp: wobjdata
Das Werkobjekt (Koordinatensystem), auf das sich die Roboterposition in der In-
struktion bezieht.
Dieses Argument kann ausgelassen werden. In diesem Fall ist die Position dem Welt-
koordinatensystem zugeordnet. Wenn hingegen ein stationäres Werkzeug oder koor-
dinierte externe Achsen verwendet werden, muss dieses Argument angegeben werden,
um eine lineare Bewegung relativ zum Werkobjekt auszuführen.
[ \TLoad ]
Total load
Datentyp: loaddata
Das Argument \TLoad beschreibt die in der Bewegung verwendete Gesamtlast. Die
Gesamtlast ist die Summe der Werkzeuglast und der Nutzlast des Werkzeugs. Bei
Verwendung des Arguments \TLoad werden die loaddata in den aktuellen tooldata nicht
berücksichtigt.
Wenn das \TLoad-Argument auf load0 gesetzt ist, wird das \TLoad-Argument nicht be-
rücksichtigt, und stattdessen werden die loaddata in den aktuellen tooldata verwendet.
Damit das \TLoad-Argument verwendet werden kann, muss der Wert des Systempara-
meters ModalPayLoadMode unbedingt auf 0 gesetzt werden. Wird ModalPayLoadMode auf 0
eingestellt, kann die GripLoad-Instruktion nicht mehr genutzt werden.
Die Gesamtlast kann mit der Serviceroutine LoadIdentify ermittelt werden. Wurde der
Systemparameter ModalPayLoadMode auf 0 gesetzt, kann der Bediener beim Ausführen
der Serviceroutine die loaddata vom Werkzeug in eine bereits vorhandene oder eine
neue persistente loaddata-Variable kopieren.
Es ist möglich, über ein digitales Eingangssignal, das mit dem Systemeingang SimMo-
de (Simulationsmodus) verbunden ist, einen Testlauf des Programms ohne Nutzlast
durchzuführen. Wenn das digitale Eingangssignal auf 1 gesetzt wird, werden die load-
data im optionalen Argument \TLoad nicht berücksichtigt und stattdessen die loaddata
in den aktuellen tooldata verwendet.
Hinweis
Die Standardfunktion für den Umgang mit Nutzlasten ist die Instruk-
tion GripLoad. Deshalb beträgt der Standardwert für den Systempara-
meter ModalPayLoadMode 1.
[ \SPSTrigg ]
Datentyp: num
Das Argument SPSTrigg definiert die Position auf der Bahn, an der die Fahrbedingung
generiert werden soll.
Angegeben als Abstand in mm vom Endpunkt der Bewegungsbahn, ein positiver Wert
setzt das Signal nach, ein negativer Wert vor Erreichen des Endpunktes.
[ \Start ]
Datentyp: switch
Wird verwendet, wenn der Abstand für Argument SPSTrigg ab dem Startpunkt an-
stelle des Endpunkts der Bewegung gemessen wird. Kann nicht zusammen mit Time
verwendet werden.
[ \Time ]
Datentyp: switch
Wird verwendet, wenn der Wert für das Argument Distance eine Zeitangabe in Sekun-
den statt eines Abstands darstellt.
Zeit- und positionsabhängige Interrupts sind nur möglich für eine kurze Zeitdauer
(< 0,5 s), bevor der Roboter den Endpunkt der Instruktion erreicht. Kann nicht
zusammen mit Start verwendet werden.
[ \Mx ]
Datentyp: merker
Der Position kann mit Hilfe des optionalen Argument Mx (x = 1-3) ein Merker ange-
hängt werden. Die Fahrbedingung wird auf der Bewegung zur Position überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \DIx ]
Datentyp: signaldi
Der Position kann mit Hilfe des optionalen Argument DIx (x = 1-3) ein digitaler
Ausgang angehängt werden. Die Fahrbedingung wird auf der Bewegung zur Position
überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \DOx ]
Datentyp: signaldo
Der Position kann mit Hilfe des optionalen Argument DOx (x = 1-3) ein digitaler
Eingang angehängt werden. Die Fahrbedingung wird auf der Bewegung zur Position
überprüft.
Bei Zustandsänderung des Merkers wird ein Roboterstopp ausgelöst.
[ \AUSx ]
Datentyp: switch
Der optionale Schalter AUSx (x = 1-3) wird dazu verwendet die übergebenen Fahrbe-
dingungsdaten von Mx, DIx oder DOx (jeweils 1-3) auf den invertierten Wert.
Null zu überwachen und kann nur in Kombination mit diesen verwendet werden.
Programmablauf
Wenn die Bolzenschweißsteuerung betriebsbereit und initialisiert ist, fährt der Roboter die Pro-
zessposition achsweise als „fine“-Punkt an.
Bei instruktionsweiser Abarbeitung wird das Programm gestoppt, sobald die Prozessposition er-
reicht wurde. Durch einen erneuten Programmstart wird der Bolzenschweißprozess ausgeführt.
Bei der kontinuierlichen Abarbeitung des Programms wird der Bolzenschweißprozess direkt nach
erreichen der Prozessposition durchgeführt.
Über den optionalen Parameter [\OffsZ] kann eine Zwischenposition in negativer Z-Richtung des
Werkzeugs (RelTool) definiert werden, die immer vor der eigentlichen Prozessposition angefahren
wird.
Über den optionalen Parameter [\WegZurueck] kann eine Zwischenposition in negativer Z-Richtung
des Werkzeugs (RelTool) definiert werden, die immer nach der eigentlichen Prozessposition ange-
fahren wird.
Tritt während des Bolzenschweißprozesses eine Störung auf, kann der Prozess im Handbetrieb des
Roboters wiederholt werden.
Ist die Qualität des Prozesses nicht in Ordnung, so erscheint ein Menü am Programmiergerät, an
dem der Bediener auswählen kann, ob an die Anlagensteuerung die Information geschickt werden
soll, dass Nacharbeit für diesen Fügepunkt erforderlich ist.
Wenn die Prozessüberwachung der Bolzenschweißsteuerung in der Lage ist, die Qua-
lität der Bolzenschweißung ohne manuelle Kontrolle zu beurteilen, so kann diese
abgeschaltet werden.
Um Zykluszeit einzusparen, kann das Laden des Bolzens für die nächste Prozessposition bereits
nach Beendigung des aktuellen Bolzenschweißprozesses gestartet werden, indem der nächste Bolzen
über den optionalen Parameter \FolgeProgAnw vorgegeben wird.
Erfolgt keine Vorauswahl des Bolzens, wird dieser bei Prozessstart automatisch
durch die Bolzenschweißsteuerung geladen.
Der Prozess wird simuliert, d.h. es erfolgt keine Bolzenschweißung, wenn im Automatikbetrieb
das Simulieren des Prozesses an der SPS angewählt ist oder im Handbetrieb das Simulationsflag
„bBZx_SimProcess“ auf TRUE gesetzt ist.
Das Simulationsflag wird beim Umschalten der Betriebsart des Roboter in „Automatik“ bzw. in
„Hand 100%“ automatisch auf FALSE gesetzt. Beim Umschalten in die Betriebsart „Hand“ wird das
Simulationsflag automatisch auf TRUE gesetzt.
Wurde an der Anlagensteuerung „Fahren ohne Bauteil“ (Ghost-Betrieb) angewählt, so wird der
Bolzenschweißprozess ebenfalls simuliert.
Syntax
BZ_PTP
[ '\' Conc ] ','
[ Position ':=' ] < expression (IN) of robtarget >
[ '\' OffsZ ':=' < expression (IN) of num > ]
[ '\' WegZurueck ':=' < expression (IN) of num > ] ','
[ ProgAnw ':=' ] < expression (IN) of num >
[ '\' PktNr ':=' < expression (IN) of num > ] ','
[ Strg ':=' ] < expression (IN) of strgnum > ','
[ Kopf ':=' ] < expression (IN) of kopfnum >
[ '\' FolgeProgAnw ':=' < expression (IN) of num > ] ','
[ Speed ':=' ] < expression (IN) of speeddata >
[ '\' V ':=' < expression (IN) of num > ]
|[ '\' T ':=' < expression (IN) of num > ]
[ '\' Inpos ':=' < expression (IN) of stoppointdata > ] ','
[ Tool ':=' ] < persistent (PERS) of tooldata >
[ '\' WObj ':=' < persistent (PERS) of wobjdata > ]
[ '\' Tload ':=' < persistent (PERS) of loaddata > ]
[ '\' SPSTrigg ':=' < expression (IN) of num > ]
[ '\' Start ]
|[ '\' Time ]
|[ '\' M1 ':=' < persistent (PERS) of merker > ]
|[ '\' DI1 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO1 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS1 ]
[ '\' M2 ':=' < persistent (PERS) of merker > ]
|[ '\' DI2 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO2 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS2 ]
[ '\' M3 ':=' < persistent (PERS) of merker > ]
|[ '\' DI3 ':=' < variable (VAR) of signaldi > ]
|[ '\' DO3 ':=' < variable (VAR) of signaldo > ]
[ '\' AUS3 ]';'
4 Änderungsjournal