Hilfe bei Programm Erstellung

  • Hallo Gemeinde,


    ich habe einen Greifer dieser muss Stahlkörbe von einem Zuführband entnehmen und in eine Anlage einlegen.
    Ich kommuniziere mit Übergeordnete Steuerung 1500er CPU von Siemens.


    Arbeite mit einer Switch Abfrage.
    Nach dem Ich weiß welcher Korb zum abholen bereit liegt,
    muss ich meinen Greifer prüfen auf welchem maß er steht.
    Sollte das maß zum Stahlkorb passen soll der Roboter den Stahlkorb entnehmen, wenn das maß
    zum Korb nicht passt muss der Greifer eingestellt werden.


    Ich habe ihrgendwo im Raum einen Bolzen stehen, der Roboter fährt dort hin und Greift den Bolzen,
    anschließend fährt der Roboter den Greifer auf maß. Ich habe keine Messsysteme am Greifer zum gegen prüfen leider:-(.


    Könntet Ihr mir bitte helfen bei der Programm Erstellung????



    Vielen Vielen Dank im Voraus.


    PS. Im Anhang habe ich ein Bild des Greifers.

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Alvedin.


    Ein paar mehr Infos zu dem Greifer auf Maß fahren wären hilfreich!


    Und welche Frage hast du jetzt genau?
    Willst du Hilfe haben um das Maß des Greifers zu prüfen oder was genau?


    grüße

  • Hallo,


    also wie gesagt ich habe ja kein Messsystem damit ich prüfen kann in wie weit ich tatsächlich Auf- oder Zugefahren bin.
    Ich muss mir ja eine "NULL" generieren, diese dann ihrgendwo speichern und anschließend mit dem Roboter Achsen soweit
    z.B. in Y verfahren bis mein Greifer das Maß hat das benötigt wird.
    Ich habe gedacht das mann dan Pro Stahlkorb ein Off-Set anlegt und das dan zur Null dazu addiert und dies dan
    anfährt.


    Wie generiert man am besten eine Null?
    Ist der Lösungsansatz überhaupt richtig?


    Ich habe keine Ahnung wie ich das in einem Programm geschrieben bekomme.

    Einmal editiert, zuletzt von Alvedin ()

  • Zum generieren deiner "Null" fährst du deinen Roboter auf die entsprechende Position.
    Mit

    Code
    fMessNull = $Pos_ACT


    speicherst du die die aktuellen Positionswerte.
    Diese kannst du später Beispielsweise mit:

    Code
    fMessNeu.Y = fMessNull.Y + OffsetY


    verrechnen.


    Ich würde dir empfehlen die mit dem Thema Base Verschiebung zu befassen.

    Einmal editiert, zuletzt von El Cattivo ()

  • Hallo Alvedin,
    Ich habe so eine ähnliche Situation gelöst in dem ich das Programm "Greifer einstellen" mit 2 Base angefahren bin.
    1 Base mit der Z-Verschiebung der aktuellen Greifereinstellung. 1Base für die umzustellende Greiferhöhe.
    Also rein in die Vorrichtung mit der aktuellen Greiferhöhe...Bremse lösen... Z-Höhe der neuen Greiferhöhe anfahren (neue Base)..Bremse rein.. raus aus der Vorrichtung....

  • [size=2]zuvor musst du jedoch eine Datei erstellen in der die Informationen über deinen Greifer hinterlegt sind.[/size]
    [size=2]Bei der Baseverschiebung beziehst du dich dann auf dem Wert welches für den Korb, in deinem fall, hinterlegt ist.. [/size]


    [size=2]Korrektur_Kal_neu.z[/size][size=2][size=2]=[/size][/size][size=2]WKS_DAT[TypNr].Greif_Hohe[/size]
    [size=2][size=2]Korrektur_Kal_neu.x[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size]
    [size=2][size=2]Korrektur_Kal_neu.y[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size]
    [size=2][size=2][size=2]Korrektur_Kal_neu.a[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size]
    [size=2][size=2][size=2][size=2]Korrektur_Kal_neu.b[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size][/size]
    [size=2][size=2][size=2][size=2][size=2]Korrektur_Kal_neu.c[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size][/size][/size]


    [size=2]WKS_DAT[1][/size][size=2][size=2]=[/size][/size][size=2]{WKSNR[] [/size][size=2][size=2]"03-4150-0070"[/size][/size][size=2][size=2],[/size][/size][size=2]SN 415000701[/size][size=2][size=2],[/size][/size][size=2]WKS_ACTIVE TRUE[/size][size=2][size=2],[/size][/size][size=2]FL_WINKEL 135.000[/size][size=2][size=2],[/size][/size][size=2]Greif_Hohe 28.0000[/size][size=2][size=2],[/size][/size][size=2]FL_HOEHE 16.0000[/size][size=2][size=2],[/size][/size][size=2]BH_MITTE 35.5000[/size][size=2][size=2],[/size][/size][size=2]FL_UNTEN 25.8000}[/size]

  • Hallo R47,


    ich habe ganz vergessen zu sagen das alle Koordinaten von der SPS kommen.
    Ich bekomme von der SPS die Koordinaten für Korb abholen vom Förderband.
    Ich bekomme von der SPS die Koordinaten für Korb ablegen in die Anlage.


    Ich bekomme von der SPS auch die Maße vom Korb z.B. 200mm, dann weiß ich in wie weit ich meinen Greifer auseinander fahren muss. (Korbmaß)


    Ich bekomme auch die Information welcher Korb gefahren wird. (Korb Nr.: 1 - 54)


    Wir möchten die Programme so aufbauen, das kein Programmierer mehr hin muss um ein weiteres Bauteil einzupflegen.


    Endkunde gibt neue Produktmaße am Touch Panel ein, SPS verrechnet alles und übermittelt dem Roboter dann die Koordinaten.

  • Ja wunderbar, dann Brauchst du nur die Werte von der SPS ( wenn sie in mm übergeben werden ) in deine Baseverschiebung übermitteln... zuvor jedoch mit der alten Base in die Vorrichtung reinfahren.
    .......anfahren mit alter Base
    LIN [x] Base [alte korb Einstellung]....
    Bremse lösen
    LIN [x] Base [neue korn Einstellung]
    Bremse rein... rausfahren mit neuer Base

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