Zeitgesteuerte Überwachung

  • Ich möchte eine Überwachung realisieren mit einem ABB Roboter und zwar soll soll ein Ausgang mit einem Eingang verglichen werden und wenn diese für eine gewisse Zeit nicht gleich sind soll eine Routine aufgerufen werden.


    Es handelt sich um ein Vakumventil (DO) und einen Vakumsensor (DI), sprich wenn das Vakum für 2s abgefallen ist soll der Roboter auf Störung gehen und erst nach quittierung weiterfahren.


    Weiss jemand wie ich dies am besten realisiere?

  • ANZEIGE
  • Servus,


    wenn der Roboter Multitasking hat, dann würde ich das Vakuumsignal im Hintergrundtask prüfen.
    Sollte es niO sein dann über Simulierten Eingang auf den Haupttask und dann damit Interrupt auslösen, der den Robi stoppt.


    Brauchst du die 2s unbedingt? wenn nicht dann gleich auf Interrupt


    Grüße


    Martl

  • Multitasking hab ich leider nicht und WaitAI und ISignalAI sind für analoge Signale, gleich danke für euere Tipps. :danke:


    Hab nun wie folgt gemacht:
    - Warte beim greifen bis das Vakum IO ist mit WaitDI und einer MaxTime verbunden mit TimeFlag um einen Interupt auzulösen.
    - Dann beim erreichen des Vakums starte ich eine Interuptkontrolle, welche sofort ausgelöst wird fals das Vakum abfällt.
    - Dann beim Ablagen schalte ich dann den Interupt wieder aus.


    Funktioniert TipTop so. :supi:

  • Hallo


    Du brauchst bei deiner WaitDi keinen Interrupt auslösen wenn MaxTime abgelaufen ist. Errorhandler würde auch reichen.


    z.B



    WaitDI diSignal,iCondition1\MaxTime:=nMaxTime\TimeFlag:=bTimeout;
    WaitDI diSignal,iCondition1;


    ERROR
    IF ERRNO=ERR_WAIT_MAXTIME THEN
    TPErase;
    TPWrite "Vakuum nicht erreicht" ;


    ETC.....


    TRYNEXT;


    ENDIF

  • Ja hab ich mir auch überlegt, aber hab schon mehrere MaxTimes im Programm und dann müsste ich diese Errors unterscheiden und den Interuppt hab ich ja sowieso schon von der normalen Überwachung.

  • Oder du verwendest einen Timerinterrupt. --> ITimer
    Im Trap-Proramm kannst du dann die Zustände überwachen. Den Timer für den Interrupt kannst du dann auch frei auswählen.


    trap vergleich
    if out<>in then
    stop;
    ;meldungen
    ;wartebedingung
    ;und weiter gehts
    endif
    endtrap


    Den Interrupt muss man noch bei einem Fehlerfall noch deaktivieren damit es keinen Überlauf gibt.
    Aber wenn du ja schon die Lösung für das Problem hast...........
    Gruß Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

    Einmal editiert, zuletzt von Paulaner ()

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