Ausgang punktabhängig setzten

  • Hallo
    ich fahre mit einem Greifer in ein Werkzeug/Stanze ein, und soll zum Schutz des Greifers den Ausgang punktabhängig schalten. nur wenn er auf einer der 20 Positionen ist, darf er den Ausgang als Freigabe setzen. sobald man ihn manuell oder per Programm weggefahren hat, soll die Freigabe weg sein.
    Geht sowas?
    Danke :lol:

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Richard


    Du kannst dir ne Funktion schreiben die überprüft ob dein Aktuelle Position mit einer der Positionen übereinstimmt
    dies nimmst du dann als Freigabe für deinen Greifer.


    im Grunde sowas nur net so dahingeschmiert



    musst du nur in den Code einbringen der euren Greifer manuell steuert den ich net kenne


    Gruß Loipe

  • Hallo,


    was das Greifer Oeffnen vom Programm aus angeht, gebe ich meinem Vorposter recht.
    Das Setzen des Ausgangs von hand kannst da aber nicht verhindern.


    Loessung, die ich sehe, ein Relais zur Freigabe des Greifers.
    Zyklisches Flag oder SPS.Sub zieht dir ein Relais an, wenn du in Position bist (code in etwa, das was Loipe vorgeschlagen hat).
    Das Relais schaltet dann deinen Ausgang fuer den Greifer durch.
    Kann aber zur Verwirrung fuehren, wenn du den Ausgang setzt, wenn du nicht in Position bist, dann faehrts du in die naehe einer erlaubten Position und der Greifer geht auf.


    Gruss Stefan

  • super, danke für die Antwort.


    heisst das, ich mach dieses Scenario hinter jeden freigegbenen Punkt, oder?


    also if...(code:) :danke: bis endif


    was bedeutet bok? könntest du noch ein paar Kommentare in den Code Reinpinseln, damit ich da mehr oder weniger nachvollziehen kann, was was bedeutet, bzw ich auch nen Fehler am Robi finden kann, wenn da was net passt?


    Danke Vielmals


  • Im Programm musst du halt schauen ob jeweils einen Punkt oder evtl.alle Positionen gleichzeitig überwachst
    für alle Positionen wäre noch interresant sind die alle in der selben Base und Tool. gehen wir mal davon aus
    wenn du die Punkte im Array hättest wäre hier zum Vorteil wenn net dann kannst du in einer Initialisierung die zu überwachenden Punkte in ein Array kopieren

    Code
    Global Decl CheckPos[20] 
    CheckPos[1]={x, y, z ...}
    .
    .
    CheckPos[20]={x, y, z ...}


    in eine Public Datenliste oder in die Config Dat


    beim Initialisieren


    Code
    CheckPos[1] = xpwasauchimmer1
    .
    .
    .
    CheckPos[20] = xpwasauchimmer156


    Dann kannst du ein Src schreiben


    und im Programm dann nur noch


    Code
    ToogleGreifer()


    und zack er schaltet nur noch auf deinen Punkten und wenn du Grippertech nutzt dann setzt du dort keine Ausgänge vom Greifer sondern einen Ausgang der Frei ist (ich nehme hier mal den 2000) und im SPS.Sub machst du rein


    Code
    If $Out[2000] Then
      ToogleGreifer()
      $out[2000] = False
    Endif


    dann hast du auch ne überprüfung der Punkte im Handbetrieb und wenn er net auf dem Punkt steht dann macht er gar nix weder auf noch zu
    ich weiß was jetzt einige sagen werden Schleifen programmiert man net in Sub aber dies ist eine reine Handbedienung und wird net im Programm genutzt also denke ich das man das schon so machen kann


    Schöne WE noch


    Loipe

    Einmal editiert, zuletzt von Loipe ()

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