Stückzähler aufrufen mit programmierbarer Taste

  • Hallo,


    ich habe das Problem das ich einen Stückzähler programmiert habe, aber diesen nicht automatisch rücksetzen möchte.
    Dieser sollte wenn ich eine der programmierbaren Tasten drücke am PHG angezeigt werden.
    Danach soll die Frage nach dem Rücksetzen kommen, welche ich dann mit Nein oder Ja beantworten muss.


    Stückzähler ist programmiert und zählt auch mit, aber wie kann ich diesen dann mit Taste anzeigen lassen??
    Wenn ich z.B. Taste 3 am PHG drücke bekomme ich Fehlermeldung "im aktuellen Betriebsmodus nicht zulässig"


    Brauche bitte Hilfe!!

  • ANZEIGE

  • Wenn ich z.B. Taste 3 am PHG drücke bekomme ich Fehlermeldung "im aktuellen Betriebsmodus nicht zulässig"


    Die Frage ist auch: willste das in einem Hintergrund-Task machen (falls die Option vorhanden ist) oder in der Bewegungstask?
    Wie Robiman schon schrieb, aber ich würde einen virtuellen Ausgang anlegen und damit verknüpfen, Access-Level auf "All" setzen, und den dann mit der Taste umschalten.
    Interrupt ist je nach Anwendung vielleicht suboptimal, u. U. wäre eine Routine, die im normalen Programmablauf an definierter Stelle je nach Status des Ausgangs in die Abfrage verzweigt, sinnvoller. Beim Verlassen den Ausgang wieder zurücksetzen!


    Grüße,
    Michael

  • Hallo zkwthomas
    Wenn kein Multitasking vorhanden ist:
    So wie beschrieben, Taste löst Interrupt aus. In der Interruptroutine wird ein numWert "nAbfrageausführen" auf 1 geändert.
    Dann an bestimmter Stelle im Programmlauf "IF nAbfrageausführen>0 THEN" wird der Zähler per Abfrage "UIMsgBox" angezeigt und der Wert kann geändert werden.
    numWert "nAbfrageausführen" auf 0 setzen.
    Funktioniert einwandfrei.
    Wenn Du erst mal nur die abgearbeiteten Teile anzeigen lassen willst, dann bedenke die Laufzeit bis so etwas auf dem Display sauber angezeigt wird.
    UIShow kann so etwas, bei S4 TPWrite. Dummerweise wird dann der Programmablauf nicht mehr angezeigt.
    Manchmal sind Impulszähler auch ganz nett.
    Gruß,
    Konstantin

  • Erstens du musst Signal Erstellen ,setzen für diese stückzähleraufruf.
    zb: DO10_Stueck
    brauchst eine Interrupt.
    zb:
    TRAP IStueck
    tprite "Zähler" \num:nstueck
    ENDTRAP


    dann must du interrupt verbinden
    CONNECT intnum_Stueck WITH IStueck;
    ISignalDO DO10_Stueck,high,intnum_Stueck;
    Letztens musst du beim PHG tasten diese Ausgang wählen.
    Wie du dann deine stückzähler bennenst oder aufrufst ist nur Programmiersache.

  • Hallo,
    falls Du die Interruptlösung umsetzt, solltest den Interrupt als "SingleSafe" deklarieren, so dass der Interrupt auch bei gestoppten Programm erkannt und beim nächsten Programmstart die Trap-Routine ausgeführt wird.
    z.B. ISignalDO\SingleSafe, ...;

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)


  • Dieser sollte wenn ich eine der programmierbaren Tasten drücke am PHG angezeigt werden.
    Danach soll die Frage nach dem Rücksetzen kommen, welche ich dann mit Nein oder Ja beantworten muss.


    Hallo,
    sehe da mit Interrupt das Problem, dass der Programmablauf angehalten wird, während das Programm auf eine Benutzereingabe wartet.
    Also etwas dumm, wenn der Interrupt während eines Bearbeitungsprozesses aufgerufen wird. Daher wäre Verarbeitung in zweitem Task die angebrachte Lösung und weniger problematisch.


    Falls kein Multitask, dann geht nur Interrupt, wobei dieser über einen virtuellen Ausgang nur eine Variable setzen sollte, die dann in der Grundstellung abgefragt wird. So wird verhindert, dass das Programm mittendrin stehenbleibt, während es auf Benutzereingabe wartet.

  • Ich habe auch so ein Interrupt bei meine Roboter drinnen.Nicht ganz so aber Ähnlich.
    Beim mir wird diese Interrupt fürs Geschwindigkeitskontrolle benutzt und bleibt nicht stehen währen der Betrieb weil ich mit die FP tasten die gewünschte Geschwindigkeit einstelle.Er kann es auch so machen das eine Taste für Anzeigen und ein andere für zurücksetzen.Also nicht mit ein msgbox sondern mit TPwrite. Mit msgbox bleibt stehen,weil bei msgbox braucht man ein Antwort.
    Deswegen ist TPwrite besser oder msgwrite beim neueren Robotware.
    Möglich ist das es nicht stehen bleibt unabhängig von TPwrite oder MSGBox ,aber dafür braucht man Multitasking.

    Einmal editiert, zuletzt von padostms ()

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