Frage zu Timern

  • Hallo zusammen,


    Angenommen ich hab einen Timer laufen, den ich in der SPS.sub anhalte..
    Wenn jetzt die SPS.sub nicht läuft, krieg ich den Timer nicht gestoppt.


    Gibt es noch einen Task, der auch läuft ,wenn "nichts" läuft., wo ich sowas machen kann.?


    Hoffe die Frage ist nicht allzu doof..


    Danke und ..

    FC Bayern - forever No.One

  • Schritt für Schritt zum Roboterprofi!
  • Hallo rolo,


    vielleicht ist es einfacher dir zu helfen, wenn du kurz erklärst was du machen möchtest.


    Grüße
    K(A)RL

    Im Real Life sind wir Mitarbeiter im Customer Support der KUKA Deutschland GmbH, haben also viel Erfahrung mit den hier besprochenen Produkten. Wir posten hier i.d.R. während unserer Arbeitszeit (wenn es die sonstige Arbeitsbelastung zulässt) und auch im Wissen von KUKA. Unsere hier getroffenen Aussagen sind Hilfestellungen für euch, allerdings keine offiziellen KUKA Stellungnahmen. Für tiefergehende und umfangreiche Problemstellungen, gibt der KUKA Support offizielle Aussagen.

  • Hallo,


    Ich hab mal versucht ein "einfaches" Blinklich in der SPS.sub zu erzeugen..
    Musste schnell gehen, läuft auch..


    - Timer starten
    - Wenn Timer kleiner als o,5 Sek, dann Licht an
    - Wenn Timer grösser als 1 Sek, dann Licht aus und Timer reset..


    Funktioniert auch, nur meine Sorge geht dahin, wenn die SPS.SUB nicht läuft...


    Danke..

    FC Bayern - forever No.One

  • Auch Gegenfrage(n):


    Was ist, wenn die Leitung zum Blinklicht defekt ist, oder das Blinklicht, oder das Busmodul...?


    Warum sollte der Submit aussteigen? Und warum sollte ein anderer Task besser laufen?

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Hallo,


    Ihr habt natürlich recht...
    Ich will halt nur (um jeden Preis..?!) verhindern, dass der Timer nicht ewig läuft...
    Ist vielleicht a bisserl übertrieben..


    Danke und Tschau..

    FC Bayern - forever No.One

  • Hallo,


    mhw


    Na wenn die sps.sub steht, dann steht auch der timer.


    Diese Aussage ist leider falsch.
    Wenn der Submitinterpreter steht wird der Zustand eines $TIMER nicht mehr geändert.
    D.h. ein $TIMER kann stehen bleiben oder weiterlaufen, je nach dem wann der Submitinterpreter gestoppt wurde.


    rolo
    Wenn du keinen $TIMER verwenden möchtest kannst du den eingebauten $ROB_TIMER verwenden. Dieser zählt bei KRC2 alle 2ms und bei KRC4 alle 1ms um 1 hoch. Nach 48,x bzw 24,x Tagen würde ein Überlauf erfolgen und $ROB_TIMER wird dann auf 0 zurückgesetzt.


    Zur Verwendung als Blinker benötigt man allerdings noch die Modulo-Funktion. Diese ist allerdings nicht im Grundsystem implementiert und muss händisch nachgetragen werden.


    Code
    GLOBAL DEFFCT INT Modulo (N:IN,M:IN)
    DECL INT N,M
    IF (N==0) OR (M==0) THEN
    RETURN 0
    ENDIF
    RETURN N-(N/M)*M
    ENDFCT


    Und nun zum eigentlichen Blinker.

    Code
    ;KRC4 1hz
    $OUT[x]=(Modulo($ROB_TIMER,1000)<500)



    MfG
    notime

    Kontrolle ist eine Illusion, denn niemand weiss was als nächstes passiert.

  • Hallo Notime


    Das habe ich leider nicht verstanden. Worin besteht der Unterschied zwischen "Der timer steht" und "Der Zustand des timers wird nicht mehr verändert"? Kannst Du mir das erklären?


    Ob ich nun $TIMER oder $ROB_TIMER nehme, sollte für diesen "Sonderfall" eigentlich egal sein, sobald die sps.sub stehen bleibt, geht auch das Blinklicht nicht mehr, bzw. es ist an oder aus, je nachdem welcher Zustand zuletzt dran war.


    Schönes Wochenende noch!


    Matthias

  • Das Blinklicht blinkt nicht mehr...aber der Timerzustand bleibt. Soll heißen wenn ich im Submit den Timer startet und dann den Submit beende, läuft der Timer weiter.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Hier noch ein Ansatz eines Blinkers ohne Timer. Benötigt werden 2 Hilfsausgänge. z.B. 800,801


    Code
    IF $OUT[800] THEN
     PULSE($OUT[800],TRUE,1)
     PULSE($OUT[801],TRUE,0.5)
    ENDIF


    $OUT[801] blinkt dann im Sekundentakt.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

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