Ich habe mal eine Anlage programmiert die Kartons palettiert. Grundregel bei meiner Anlage
Habe eine Array of Robtartgets die die einzelnen Ablagepositionen besitzen. Ein weiteres Array mit Entnahmepositionen und ein Array of num mit der Kartonanzahl (Grobumriß)
Jeder Hub hat eine Nummer die als Zeifer in den Arrays entspricht. Wenn die Arrays in verschiedenen Programmmodulen sitzen kannst du die Kartonanzahl Entnahmepos und Ablageposition umladen (du mußt im System Binde Referenz ausschalten)
Die Palettierung nur mit Offset zu machen ist dann kompliziet wenn du Drehungen der Pakete
brauchst. Oft ist es auch notwendig die Kartons absichtlich schräg auf die Palette zu stellen
um nach entfernen der Greifzangenbleche den Spalt zu minimieren.
Versuche die einzelnen Hübe mit Eigenschaften zu versehen die du in einzelne Arrays beschreibst.
Bei meiner letzten Anlage habe ich Kartonanzahl linker Greifer Kartonanzahl rechter Greifer
Greifzangendruck, Produktabhänige Beschleunigung, Produktabhänige Geschwinidigkeit,
Entnahmeposition , mit ohne Zwischenkarton, ob Palette nach Hub ausgefördert wird, Ablageposition, ob Greifer öffnen soll oder nur den Druck entlasten (wenn Paket daneben steht)----- dies sind alles Eigenschaften die ich bei jedem Hub beeinflussen kann
Gib an was du genau palettieren möchtest
mfG Burlibua
Beiträge von burlibua
-
-
Sieh doch mal unter Zykloidengetriebe nach
mfG Burlibua
-
Ich weiß das dies beim ABB gehen muß da eine Routine besteht die den Schwerpunkt des Greifers misst. Dabei
wird mit der Bewegungsrinchtung und des Motorstromes der Schwerpunkt bestimmt.mfg Burlibua
-
Hatte auch mal die Vision eine Holzbearbeitungsmaschine mit einem Roboter zu realisieren
Grundgenauigkeit 0,1mm1. Wiederholgenauigkeit heißt daß ich die Position (geteachte Pos) mehrmals anfahre ... keine
errechnete Position.2. Da das Rechenmodell eines Robs aus Sinuns und Cosinus besteht, bestehen auch erhebliche
Toleranzen der errechneten Endpositionen.3. mechanische Steifigkeit ist nicht ausreichend
4. Das Getriebespiel darf sich nicht von der einen auf die anderen Flanke begeben
meist bei Achse 1 -
Es gibt eine Systemroutine die den Motorstrom misst und dabei den Schwerpunkt des Greifers
mit diverse Bewegungen bestimmt.Wie kann ich den Motorstrom im Programm für eigene Zwecke auslesen.
zB Kraftmessung mit externen Achsen beim Klemmen von Greifern. -
Suche zum bearbeiten von DXF Files eine Software für den Roboter (S4...)
wäre auch eine Möglichkeit den Weg über eine CNC Software zu machen. Dann müßte
jedoch der Roboter ein zumindest 5 Achs CNC File verarbeiten können.X Achse linear
Y Achse linear
Z Achse linear
A Achse Rundachse in Grad
B Achse Rundachse in Gradnatürlich mit der Verwendung des jeweiligen Tools ( jetzt kann ich es mir ja noch wünschen)
Bein Wünschen und beim Träumen auf nichts verzichten......
mfG Burli Bua
-
Grundsätzlich wäre es interessant ob es sich um eine S4 oder S3 Maschine handelt.
Auch wäre die Anwendung und vor allem die Wiederholgenauigkeit mit dem alten Programm,
um nicht alle Programme nacharbeiten zu müssen, interessant.Welche Achse ist betroffen
Möglicherweise ist es notwendig verschiedene Winkel in Verbindung mit dem Roboterflansches und dem Passstift aufzumontieren um die o.g. Wasserwaage aufstellen zu können.
Tip gilt für S4...S4C..S4C+
mache eine Variable Type Joittarget zB.: Calibpos (sind alle Achsen als Gradanzeige) mit überall 0
baue eine routine mit zB: Calib
und rufe die Variable mit dem Befehl MoveAbsj (Calibpos,z0,vmax,ohne workobjund tool0)
Roboter dorthinfahren lassen dann sind alle Achsen in Calibrierposition.
Roboter fixieren -- wird bei verschiedene Achsen schwierig sein-- Motor einbauen und unter
Service Kalibrieren auf Feinkalibrieren gehen. Nachher Parameter unter Parameter Manipulator
Motordaten??? mit Etikette am Roboter vergleichen und alle nicht get Motoren korrigieren.
Wenn keine Achse betroffen ist die leicht zu fixiern ist ist es besser die Finger zu lassen.Kannst ja mal wenigstens das o.g. Callibprogramm probieren viellleicht ist das Programm
mit einem nicht richtig kalibrierten Roboter geschrieben worden dann wirst du sowieso das Liegebett in der Roboterzelle brauchen -- Wird aber auch für ABB mit der Wasserwage schwierig das Zeug zu hüneren (hendln hi hi) -
Hallo Markus
Interessant wäre ob die 54 verschiedenen Programme nur verschiedene Positionen besitzen oder ein komplett anderer Ablauf. Wenn die Positionen getauscht werden müssen dann
ist es möglich in mehrere Module die gleichen Variablen zu benützen. Wie schon mein Freund
bugatti dir einige Tips gegeben hat mußt du wenn du die Positiionen wechselst des Binde referenz ausschalten. Da nach dem unload die Steuerung die Variable nicht mehr besitzt und
somit auf "Referenzfehler"anspricht. Nach dem Ausschalten der Binde Referenz wird die
Steuerung bis zur Programmzeile laufen in der eine Variable benützt wird die nicht geladen ist.
PS Wenn du Module lädst immer mit Befehl Load vom Programm da wenn das Modul unter Menüpunkt Laden Module nicht mit unload zu entfernen ist. -
Hallo Xantus
Ich vermute daß im Programm der Wert in den Speeddata überschrieben wird wenn das Programm durchgelaufen wird. Gehe mal unter Datentypen Speeddata-- rein und wähle die
Variable aus. Im Fenster siehst du ob Speeddata als Variiable deffiniert ist. Es kann somit eine
zB produktbezogene Geschwindigkeit vorgegeben werden die bei der Produktauswahl überschrieben wird. Einfach Programm speichern und nach der Variable mit einem Textedit suchen vielleicht gibts eine Zeile zB speeddat1:= speedatProdukt 1mfg Burlibua