Werkobjekt im Fahrbefehl "zusammenstöpseln"

  • Hallo zusammen,


    ich bräuchte bitte mal euer Wissen und Ideen.
    Ich würde gerne das Werkobjekt im Fahrbefehl individuell zusammenstöpseln.
    Also je nach dem welchen Wert ich beim Proc Aufruf mitgebe sollte sich das Werkobjekt ändern.
    Weiter unten seht ihr ein Programmbeispiel.
    In einem Programmaufruf wird eine Zahl mitgegeben die mir quasi das Werkobjekt" mitübergibt".
    Im Programm Pick gibt es dann einen Fahrbefehl bei dem das WObj je nach Übergabewert "Racknumber" angepasst werden soll.
    Also sollte bei Pick(1) -> wRack1 als Werkobjekt verwendet werden und bei Pick(2) -> wRack2 als Werkobjekt und so weiter....


    Vielleicht hat ja jemand eine Idee - Danke!!


    mfg

    Andreas



    PROC MAIN
    Pick(1);

    ENDPROC



    PROC Pick(num Racknumber)


    MoveJ pPick, v1000, z50, toGreifer\WObj:= wRack "Racknumber";


    ENDPROC

  • ANZEIGE
  • Hallo,

    geht bestimmt auch eleganter aber das fällt mir spontan dazu ein.

  • Hallo Andi 13130

    Da gibt es noch die Herausforderung der Konfigurationsüberwachung die schlägt dann manchmal gerne erbarmungslos zu. Und bitte bedenke die Folgen einer solchen Überwachungsabschaltung, das geht schnell mal in die Hose.

    ConfL \on; ConfL \off;

    Gruß,

    Konstantin

  • Hi


    ich mach das so:


    CONST string woRacks{3}:=["woRack1","woRack2","2woRack3"];

    PERS wobjdata woActWorkObjekct:=


    GetDataVal woRacks{Racknummer},workObject_Temp;

    woActWorkObjekct:=workObject_Temp;

  • Gefällt mir gut die Lösung.


    Geht es denn nicht auch etwa so?


    Code
    PERS wobjdata woRacks{n} := [.....];
    
    ...
    
    PROC MoveInWobj(num n)
    ...
    MoveJ pP,vmax,z200,toGreifer\Wobj:=woRacks{n};
    ...
    ENDPROC
  • Hi könnte auch gehen.

    Versuch es doch einfach mal in RS und schau ob der Compiler meckert.

  • Wie wäre es, wenn Du statt "nur" der Racknummer gleich das dazu passende Werkobjekt übergibst?! ;)


    Ich mach das auch so:


    Code
    PROC HoehenmessungPM76x(PERS wobjdata pWObj)
        ! Höhenmessung des Plattenplatzes PM761 und PM763
        
        ZurHomePos;
        GreiferGrundstellung;
        PosBerechnungHoehenmessung;
         
        MoveJ rtHoehenMessStart, vmax, fine, tVK \wobj := pWObj;
        ...
    ENDPROC


    Gruß

    Jörn

    In der Theorie sind Theorie und Praxis identisch. In der Praxis nicht.

  • Hallo,

    danke erstmal für die Antworten!

    Naja ich bekomme ja eine "Jobnummer" der SPS und diese entspricht dem Werkobjekt.
    Deshalb hätte ich mir das gerne zusammengestöpselt.
    Aber irgendwo braucht man wahrscheinlich doch immer wieder ein Test Case :D

    Mfg
    Andreas

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden