Beiträge von Micky

    Hallo Dust2,


    da die Texttabelle in das System integriert wird, hast Du nach dem Laden keine Möglichkeit mehr diese im laufenden Betrieb zu ändern.


    Du musst also sicherstellen, dass dein Texttabelle bereits alle erforderlichen Texte enthält.


    Wenn Du Dein Programm offline mit Robotstudio erstellst, so ist zumindest die Zeit für den Neustart kürzer und/oder Du integrierst eine Fehlerbehandlung für das Auslesen des Textes aus der Tabelle und führst den Neustart erst durch, wenn Dein Programm fertig ist.



    Beispeil für das Auslesen des Textes:



    Gruß
    Micky

    Hallo Dust,


    ab der RobotWare 5.11 kann man die Landessprache über die Funktion GetsysInfo abfragen.


    In den früheren Versionen kannst Du die folgende Instruktion verwenden:


    Code
    VAR string stLanguage;
    ReadCfgData "/SYS/LOCALIZATION/LANGUAGE","Value",stLanguage;


    stLanguage enhält anschließend "de", "en", "it", etc.


    Gruß
    Micky

    Hallo,


    ich hätte auch noch einen Vorschlag.


    Wenn ihr das Signal bereits an eine Routine übergebt


    z.B.
    PROC Waiting (VAR signaldi Signal, dionum Value)


    dann kann man mit der Funktion ArgName() den Namen des Signals auslesen


    :denk:


    Beispiel:


    PROC Waiting (VAR signaldi Signal, dionum Value)
    Tpwrite "SignalName: "+ArgName(Signal);
    ENDPROC



    Beim Aufruf der Routine
    Waiting diStart,high;


    wird der folgende Text ausgegeben:


    SignalName: diStart


    Gruß
    Micky

    Hallo TscJoh,


    bei der schrittweisen Abarbeitung des Programms wird die Eventroutine Restart generell nicht ausgeführt.


    Auszug aus dem "Systemparameter"-Handbuch:


    Zitat

    Die Abarbeitung wird von der Position an gestartet, an der sie angehalten
    wurde, oder von einer anderen Instruktion an, zu der der Programmzeiger
    verschoben wurde, ohne den Abarbeitungsbefehl zu verlieren. Das Ereignis
    wird nicht aktiviert, nachdem eine Instruktion im schrittweisen Modus abgearbeitet
    wurde ("Vorwts" oder "BewSchr").



    Das Verknüpfen der "Step"-Taste mit einer Ereignisroutine ist nicht möglich!


    Evtl. hilft hier Multitasking !


    Gruß
    Micky

    Hi,


    eine semistatische Task kann nur gestoppt werden, wenn diese auf Nosafety eingestellt ist.


    Das stoppen wird wie folgt am Flexpendant ausgeführt:


    1. Menü "ABB -> Control panel-> Flexpendant " aufrufen
    2. Menüpunkt "Task panel settings" aufrufen und "All tasks with trusted nosafety" anwählen.
    3. Menü wieder schließen
    4. Das Quicksetmenü öffnen (Zahnräder-Button) in der Statusleiste
    5. Menü Tasks öffnen (Button sieht aus wie Schaltknüppel)
    6. Jetzt werden alle Tasks, auch die semistatischen angezeigt.
    7. Im Handbetrieb können diese Tasks angewählt markiert werden
    8. Stopptaste betätigen umd die Tasks anzuhalten


    :applaus:


    Gruß


    Micky

    Hallo Paulaner,


    ich benutze die englische Version von Visual Studio Professional 2005.


    Nach dem installieren vom RAB 5.10 hatte ich keine Probleme und der Flependant-Eintrag war vorhanden.


    :kopfkratz:


    Ich habe mal in dem oben genannten ABB-Forum nachgeschaut und die folgende Antwort für Dein Problem gefunden:



    :supi:


    Gruß


    Micky

    Hallo Paulaner,


    beim Erstellen eines neues Projektes must Du unter Projekttypen "Visual C#" - "Smart Device" -"Flexpendant" auswählen, dann sollten die Templates für die Flexpendant Apllikation erscheinen.


    Weitergehende Fragen zum Robotapplikationbuilder kannst Du aber auch im User-Forum des Robotics-Software-Support-Portal von ABB, unter der folgenden Adresse stellen:


    http://213.115.162.163/supportportal/


    Gruß
    Micky

    Hallo,


    bei der Lösung von Sven wird die Positionsnummer nicht beim Erreichen der Roboterposition zugewiesen (triggern), sondern er weist der Positionsvariablen bereits den neuen Wert zu, sobald die Instruktion ausgeführt wurde.
    Aufgrund der Rechnervoreilung werden bereits mehrere Position vorverarbeitet, so dass die Positionsvariable nicht den zur aktuellen Position gehörenden Wert beinhaltet.


    Bei der ABB Steuerung gibt es leider keine Möglichkeit direkt eine Variable zu triggern, dies ist nur über einen Umweg z.B. durch Aufruf einer Triggerinterruptroutine möglich. Diese kann z.B. über die Instruktion TriggL bzw. MoveLSync aufgerufen werden.


    Bei MoveLSync kann die Routine direkt in der Bewegungsinstruktion angegeben werden.


    Beispiel:
    MoveLSync p10,v1000,z10,tGreifer,"SyncRoutine";


    PROC SyncRoutine()
    nActPos:=10;
    ENDPROC


    Mit dieser Methode könnte man jetzt die verschiedenen Positionsvariablen zuweisen, wobei man sich aber noch einen intelligenten Algoryhtmus ausdecken muss um nicht für jede Positionsnummer eine eigene Routine anlegen zu müssen.


    Um den Roboter im Fehlerfall gezielt nach Hause fahren zu können, bietet ABB die Option "HomeposRunning" an, bei der zum einen für jede Position eine Positionszuweisung über eine Positionstriggerung erfolgt. Zum anderen beinhaltet diese Option bereits die Möglichkeit über eine spezielle Strategie positionsabhängig in die Grundstellung zu fahren.


    Gruß
    Micky

    Hallo Catamanta,


    ein Zugriff auf Signale über einen Index ist in der ABB Steuerung nicht möglich.


    Du könntest aber die Instruktion AliasIO verwenden. Hierdurch kannst Du die benötigten Signale innerhalb deines RAPID-Programms einer Signalvariablen zuweisen. Innerhalb Deines Programmcodes verwendest Du dann die Signalvariablen und musst Dein Programm später nicht mehr anpassen.


    Eine genaue Beschreibung kannst Du dem Referenzhandbuch entnehmen.


    Zur Info:
    Die Instruktion "ALIASIO" ist Bestandteil der Option "Advanced RAPID". Ab Robotware 5.10 ist diese Option automatisch in der Steuerung enthalten. Bei früheren Betriebssystemen muss diese Option separat gekauft werden.


    Gruß


    Micky

    Hallo Bang,


    das Flexpendant wird neu gestartet, indem der Joystick dreimal nach rechts, einmal nach links und einmal nach unten ausgelenkt wird.


    Bei der Joystickauslenkung musst du aber auf die Geschwindigkeit achten, den diese darf nicht zu schnell erfolgen. In der Regel muss man den Vorgang mehrmals wiederholen bevor die Abfrage zum Neustartenn auf dem Flexpandant erscheint.


    :aufsmaul:


    Gruß
    Micky

    Hallo AbFaKuMo,


    wenn Du eine Ereignisroutine für das Ereignis "RESTART" anlegst und in dieser den Befehl
    "TPShow TP_LATEST;"


    aufruftst, wird das zuletzt verwendete Fenster wieder angezeigt wenn das Programm gestartet wird.


    Vielleicht hilft das bei Deinem Problem.



    Gruß


    Micky

    Hallo Paulaner,


    probier doch mal folgendes aus:



    Öffne die MMC.CFG und füge die folgende Zeile ein:


    MMC_REAL_ROUTINE:


    Anschließend schreibst für jede Routine die Du nicht anzeigen willst, die folgende Zeile


    -name RoutinenName -hidden


    z.B. Routine Test1 ausblenden


    -name Test1 -hidden


    Anschließend MMC.cg wieder laden und Steuerung neustarten.


    Gruß
    Micky

    Hallo AB_Rotech,


    die Eingabe von uas_disable über das Hypertermal war korrekt.
    Nach dem Durchführen eines Warmstarts hast Du vollen Zugriff auf das System.


    Jetzt kannst in RobotStudio Online das Menü "Benutzerautorisierung verwalten" aufrufen und das Passwort oder die Rechte des entsprechenden Users anpassen.


    Zum Ändern des Passswortes musst Du den User anklicken und das die Taste "Bearbeiten". Jetzt kannst Du den Namen des Users ändern oder das Passwort neu eingeben.


    Das Auslesen des Passworts ist nicht möglich.


    Nach dem ernuten Warmstart des Systems ist die Benutzerverwaltung wieder aktiv


    Gruß
    Micky


    :wallbash:

    Hello damia,


    if the robot reach the PMax-position without a signal detection the error handler will be called up.


    In the error handler the error ERR_WHLSEARCH should be evaluated, like as shown below:



    Proc test1()
    SearchL ....


    ERROR
    IF ERRNO=ERR_WHLSEARCH THEN
    !Endposition was reached without finding anything
    MoveL p....
    RETURN;
    ENDIF

    ENDPROC


    Please read the description of the SearchL instruction in the manual for further information.


    :icon_rofl:


    BR
    Micky

    Hallo RyanB,


    Du solltest bei Deiner Lösung besser die Bewegungsinstruktion "MoveLSync" verwenden, mit der Du eine separate Routine aufrufst, die die Instruktion PulseDO ausführt. Dadurch hast Du das Problem mit der Zone bzw. mit der Rechnervoreilung behoben.


    Grüße
    Micky

    Hallo robotics47,


    die Daten für die CAN-Bus-Module befinden sich in der EDS-Datei. :meld:


    Die Daten für die Profibuskonfiguration sind in der GSD-Datei enthalten.


    Sollte die EDS-Datei nicht vorhanden sein, so kann man als Unittype auch DN_Generic verwenden. Beim Neustarten der Steuerung erhält man dann in der Ereignislog von RobotStudio-Online die erforderlichen Daten die für die Einrichtung eines eigenen Unittypes verwendet werden können.


    :pfeif:


    Gruß


    Micky

    Halo chupete,


    leider verweist das Handbuch auf eine Funktion die es im Rapid-Befehlssatz so nicht gibt.


    :aufsmaul:


    Nachfolgend der Programcode für die Funktion UTL_cirCentp:



    An die Funktion musst Du die drei Umfangs-Positionen die Du für die Kreisbestimmung geteacht hast übergeben und erhälst dann die Mittelpunktposition zurück.


    z.B.

    pMitte:=UTL_cirCntr(p1,p2,p3);




    Gruß
    Micky

    Hallo irb6400R,


    eine Geschwindigkeitsänderung mit Velset ist immer erst bei der nächsten Position aktiv, ist der Roboter bereits in Bewegung erfolgt keine Änderung der Geschwindigkeit.


    ABB bietet die Software/Hardware-Option "Sensor Synchronisation" für deine Aufgabenstellung an, die den Öffnungshub der Presse über einen Encoder auswertet und die Geschwindigkeit des Roboters entsprechend anpasst.


    Auszug aus dem Handbuch:



    Gruß
    Micky