Beiträge von SCMI

    Er geht quasi gar nicht auf Suche.

    Servus,
    ja klar, die zweite Position die du angibst ("*") ist ja die Zielposition.

    und bei dir ist * ja die Startposition.


    Der Befehl funktioniert so, dass du dich an eine Punkt positionierst und dann mit der Zielposition angibst wo er hinfahren soll, wenn auf dem Weg zur Zielpos dann der Eingang kommt, wird die Position gespeichert (bei dir P10).


    Aktuell wird er aber auch wenn der Eingang kommt einfach weiterfahren und in den Platinenstapel krachen.

    Wenn du stehen bleiben willst sobald das Vakuum erreicht ist brauchst du noch ein "\Stop" als optionales Argument. Da würde ich aber auch etwas langsamer fahren da es ganz schön dauert vom erkennen des Signals bis zum stoppen. Da solltest du höchstens mit v100 fahre.


    Teachen solltest du also den niedrigsten Punkt des Stapels.


    MoveL Offs(Stapelboden,0,0,500)....

    SearchL\Stop diVakuum, p10, Stapelboden ....

    Man kann es so oft versuchen wie man will da passiert nichts.

    ABB kann da auch nichts machen, man braucht zugriff auf die Benutzerverwaltung, wenn man diese auf einen User beschränkt und dann das Passwort vergisst hat man leider Pech gehabt.

    Ein I-Start könnte das Problem tatsächlich lösen.

    Wenn du dann aus einem Backup die Module und die cfg-Dateien einzeln lädst könnte die Sache relativ schnell gehen.

    Bin mir da aber gerade nicht sicher, da das dann allgemein ein recht einfacher Weg wäre den Passwortschutz auszuhebeln :/

    Servus,


    wichtiger als der Robotertyp wäre welche Steuerung du hast, aber ich gehe mal von einer KRC 4 aus.


    Es sollte einen Standardmäßig aktivierten Submit-Interpreter (Hintergrundtask) geben (SPS.sub). In diesem gibt es eine Dauerschleife für Benuteranweisungen (steht irgendwo ein Kommentar dabei).

    Da kannst du deinen Code beispielsweise einfügen.


    schwer zu sagen ohne den Aufbau oder das Programm zu sehen aber ich würde alle Positionen von der Startposition aus berechnen.


    Wenn sich die Position des Stamms ändert dann teache ich einfach diesen Startpunkt auf dem Stamm und der Rest passt wieder.

    Wenn sich die Position nicht nur in XYZ sondern auch in der verdrehung ändert, dann würde ich Start- und Zielpos von einer Fräsbahn teachen und diese dann durch Berechnung so verschieben dass ein Becken entsteht

    Code
     (($DATE.HOUR <=5) AND ($DATE.MIN <=30))

    Das ist um 03:10 Uhr TRUE, aber um 03:40 Uhr FALSE. So würde alle halbe Stunde zwischen den Overrides gewechselt werden.:/ Wenn man die halbe Stunde mit abfragen will würde ich das auf mehrere IFs abfragen:




    Code
    IF ($DATE.HOUR >= 23) AND (($DATE.HOUR <= 5) AND ($DATE.MIN >= 30)) THEN

    Die Stunde kann nicht gleichzeitig größer als 23 UND kleiner als 5 sein, deswegen wurde von @MBenzPIH auf "Or" geändert.

    Servus,


    Seit einiger Zeit werden ja die IRC5-Steuerungen mit den neuen SxTPU4-Teachpendants (DSQC 3120) ausgeliefert.


    Wir haben jetzt das erste mal eine Anlage mit 5 IRC5-Steuerungen mit den neuen Pendants.


    Solange die Panels funktionieren laufen diese auch echt flüssig und sehr schnell (kein Vergleich zu den bisherigen Pendants).

    Allerdings haben wir das Problem, dass jeden Tag ein paar Stunden nach dem Einschalten der Steuerungen die Oberfläche einfriert und so gut wie unbedienbar wird.

    Manchmal reagiert das Panel wieder mal auf einen Klick, dann aber wieder nicht mehr.


    Dann bringen auch weder ein Warmstart, Kaltstart noch der Reset-Button am Pendant etwas.

    Robotware sowie SxTPU4 Software sind aktuell.


    Ich bin natürlich schon mit dem ABB-Support in Kontakt aber da hieß es solche Probleme seien derzeit nicht bekannt.


    Hat oder hatte sonst noch jemand Probleme mit diesen Geräten?

    Mit Signal Safe Level

    Unter Konfiguration>>IO-System>>Signal Safe Level erstellst du eine SafeLevel mit den einstellungen "Set Last Value". Bei "Signal" unter Safe Level musst du dann bei allen den vorher erstellten Safe Level einstellen.


    Safe Level kannst du auch im EA-Konfigurator einstellen, das geht um einiges schneller als in der Konfig unter Signal.

    Eben weil ich dann die ganze Zeit ein Auge auf der Achskonfig haben muss. Ich hab mir nie gemerkt wie sich die Konfig bei welcher Achsbewegung ändert somit sehe ich das nicht auf den ersten Blick wenn sich wiedermal die 4te oder 6te Achse um 360° gedreht hat obwohl der Roboter nur 400mm anders steht als vorher. Je nachdem wie man steht muss sich ja die Achskonfig auch ändern wenn man einen bestimmten Winkel überschreitet. Das kann ich dann nicht beurteilen wenn ich die Bewegung dazwischen nicht gesehen habe.

    Da ist es mir lieber ich ziehe mir den Roboter mit dem Cursor in den Bereich der nächsten Zielposition, dann kann ich beobachten was die Achsen machen. :D


    Wenn du mit den Achskonfigurationen so Fit bist, dass du anhand der Zahlenwechsel sagen kannst ob das jetzt stimmt oder nicht, dann bist du mit "zur Position springen" bestimmt nochmal n Stück schneller. ^^

    Zitat

    Teachen am virtuellen flexpendant ist mühsam.... und dauert extrem lange....

    kommt drauf an. Den Roboter mit dem Panel bewegen und so teachen ist mit Sicherheit mühsam.

    Wir machen das folgendermaßen:


    Wir lassen und von der Konstruktion den Robotergreifer an jeder Endposition einblenden.

    ich suche mir eine Stelle am Greifer an der ich schnell und einfach ein KoSy erstellen kann.

    An dieser Stelle erzeuge ich ein Dummywerkzeug am Roboter in der Station.

    An der gleichen Stelle erstelle ich an jeder Greiferposition ein Koordinatensystem.


    Zum teachen öffne ich das virtuelle Panel und schiebe es auf einen zweiten Bildschirm.

    Dann ziehe ich in der Station mit dem Cursor den Roboter in Richtung der Zielposition (so bekommt man nicht irgendeine wilde Achskonfiguration).

    Das Koordinatensystem am eingeblendeten Greifer an der Zielpos aktiviere ich dann als BKS.

    Rechtsklick auf den Roboter >> Linear Bewegen mit Bezug BKS >> Koordinaten überall 0 eintippen >> Roboter steht auf Zielposition.

    Dann noch kurz auf die Pos am viertuellen Panel klicken und Position teachen.


    Hört sich kompliziert und aufwändig an aber in der Praxis hat sich das als relativ einfach und schnell bewiesen.

    Dazu braucht man natürlich die Vorarbeit der Konstruktion die uns die Greifer richtig einblenden.

    Servus,

    - im Auswahlfenster beim Synchronisieren von RAPID -> Station werden nur PROC's ohne Parameter angezeigt. Lassen sich andere nicht synchronisieren?

    Meinst du Funktionen und Routinen mit Übergabeparameter? kann sein dass diese nicht übernommen werden, aber in der Station brauchst du eigentlich nur die Bewegungsroutinen. Da geht es nur darum dass du schnell Positionen anfahren bzw Bewegungsabläufe durchfahren kannst.
    Wenn du tatsächlich das ganze Programm durchlaufen willst läuft das über die virtuelle Steuerung.

    - innerhalb der angezeigten PROC's werden teilweise nicht alle Targets zum Übertragen angezeigt, ohne erkennbare Systematik

    Offset und Reltool-Bewegungen werden in der Station leider nicht angezeigt.




    Ich persönlich synchronisiere überhaupt nicht mehr zwischen Station und virtueller Steuerung, da man sich nur Fehler hin und her kopiert. Du löscht etwas in der Steuerung, vergisst es aber in der Station und nach dem nächsten Sync ist es wieder auf der Steuerung.


    Ich positioniere mir den Roboter in der Station mit Hilfe von Koordinatensystemen und Teache dann am virtuellen Flexpendant. Bewegungen abfahren dann auch nur übers Pendant, so kann man dann auch die Offset-Positionen anfahren.

    Wenn du tatsächlich ein Backup einer anderen Steuerung 1:1 aufgespielt hast, dann hast du dir auch die Achskalibrierwerte überschrieben. Prüfe mal ob unter Konfiguration>Motion>Motor Calibration>Calibration Offset die Werte hinterlegt sind die auch auf dem Aufkleber auf der Schwinge des Roboters stehen.


    Aber ich denke das hättest schon bemerkt wenn die Kalibrierwerte nicht stimmen.

    Morgen,


    du kannst folgendes probieren:

    Mach ein Backup der Steuerung,

    Öffne mit einem Editor im Backup-Ordner unter SYSPAR die SYS cfg,

    Lösche unter "CAB_TASKS" den unerwünschten Task

    und lade dann das Backup wieder ein(oder die SYS cfg einzeln).


    Natürlich vor dem Bearbeiten das Backup kopieren oder ein zweites erstellen damit du zur not wieder zurück kannst.

    Wie hast du den Kreis programmiert?

    Wenn eine Circ-Bewegung geteacht hast ändert sich der Kreis natürlich abhängig von deinem Startpunkt, da Hilfs- und Zielpunkt immer die gleichen sind.


    Wenn du willst, dass der gleiche Kreis von verschiedenen Startpunkten aus gefahren wird, dann musst du entweder einzelne Circ-Bewegungen teachen (also einzelne Unterprogramme) oder du berechnest Hilfs- und Zielpunkt.