Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: Zeitmessung mit IEC Timer

  1. #21
    MPH ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Zeit2:=TON.ET ist nur eine Zuweisung. In Zeit2 wird der Wert geschrieben, den der TON bei seinem letzten Aufruf in ET geschrieben hat, also der Wert, der auch schon in Zeit1 geschrieben wurde.
    Mit TON(ET=>Zeit2) wird der Timer dagegen ein zweites Mal aufgerufen. Meine Hoffnung war, das er dabei auch ET erneut aktualisiert. Das scheint bei Deiner Steuerung ja auch so zu sein, aber das Beispiel
    Beckhoff zeigt, dass nicht jede Steuerung das so macht. Vermutlich werden bei Beckhoff die ET's aller TON's nicht bei ihrem Aufruf im Programm, sondern nur einmal vor Beginn des Programmzyklus aktualisiert.
    Sehen kann man das, wenn man eine sehr lange Zykluszeit vorwählt, in der die Entwicklungsumgebung ohne weiteres ihre Online-Anzeige mehrmals pro Programmzyklus aktualisieren kann. Bei einer Zykluszeit von z. B. 500 ms kann man dann sehen, dass die ET's aller TON's immer Vielfache von 500 ms sind, es gibt nie Zwischenwerte.
    Hi StructeredTrash

    da es den Aufruf mit ET=>Zeit2 jetzt leider in B&R nicht gibt habe ich es doch nochmal mit Zeit2:=TON.ET gemacht und siehe da, es funktioniert.
    Der Code sieht so jetzt doch wieder so aus:

    TON(IN:=Start, PT:=t#100s);




    IF Start=TRUE THEN
    U:=230;

    Zeit1:=TON.ET;


    FOR i:=0 TO 3000000 BY 1 DO
    wert:=wert+1;
    x:=x+1;
    RR:=RR+1;
    P:=(U*U) /RR;
    y:=SQRT(x);
    z:=SIN(y);
    e:=EXP(x);
    m:=ATAN(e);
    END_FOR;

    TON(IN:=Start,
    PT:=t#100s);
    Zeit2:=TON.ET;


    Start:=False;

    END_IF;

    Dauer:=#Zeit2-#Zeit1;


    Du sagtest doch, dass sich bei TwinCat ET nur alle 500ms also bei jedem Programmyyklus aktualisiert.
    Aber es scheint zu funktionieren.
    Es wird mir eine Dauer von 15-17ms ausgegeben.
    Warum geht es jetzt doch obwohl es sich nur alle 500ms aktualisiert?
    Oder habe ich jetzt komplett einen Denkfehler?????

    Vielen Dank Gruß

  2. #22
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    752
    Danke
    27
    Erhielt 165 Danke für 143 Beiträge

    Standard

    Ich habe mein Programm gerade von zwei wieder auf einen Timer zurückgebaut, und jetzt funktioniert es auch. So recht erklären kann ich mir das nicht, aber da muss in der ursprünglichen Version wohl ein Fehler gewesen sein.

  3. #23
    MPH ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Ich habe mein Programm gerade von zwei wieder auf einen Timer zurückgebaut, und jetzt funktioniert es auch. So recht erklären kann ich mir das nicht, aber da muss in der ursprünglichen Version wohl ein Fehler gewesen sein.
    Sehr komisch. Aber Danke das du es auch nochmal probiert hast.
    Heisst das jetzt, dass es sich doch nicht nur alle 500ms aktualisiert????

    Kennst du dich eigentlich mit B&R Automation Runtime aus????

    Vielen Dank nochmal

    Gruß

  4. #24
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    752
    Danke
    27
    Erhielt 165 Danke für 143 Beiträge

    Standard

    Die Anzeige wird auch weiterhin nur alle 500 ms aktualisiert. Kann natürlich sein, dass dies sowieso nur einmal pro Taskzyklus erfolgt. Die von ET zurückgelieferten Zeiten sind allerdings jetzt unterschiedlich, so wie eigentlich erwartet.

    Mit B&R kenne ich mich leider nicht aus.

  5. #25
    MPH ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Die Anzeige wird auch weiterhin nur alle 500 ms aktualisiert. Kann natürlich sein, dass dies sowieso nur einmal pro Taskzyklus erfolgt. Die von ET zurückgelieferten Zeiten sind allerdings jetzt unterschiedlich, so wie eigentlich erwartet.

    Mit B&R kenne ich mich leider nicht aus.
    Irgendwie raff ich ich grad garnichts mehr.
    Bei mir ändert sich die Anzeige von ET nicht alle 500ms sondern so schnell wie auch die Dauer berechnet wird. Also wenn die Differenz Dauer=25ms sind ändert sich mein ET Wert auch in 25ms Schritten.
    Wie und wo kommst du auf 500ms. Tut mir echt leid, da du es ja schonmal erklärt hast. Aber Ich verstehs grad nicht.
    Kannst dus mir bitte nochmal erklären???

    Vielen Dank

Ähnliche Themen

  1. IEC Timer TON im Simatic S7
    Von spovi1 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 23.12.2011, 06:21
  2. IEC Timer
    Von coglione im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 23.11.2011, 12:40
  3. Was sind denn IEC-Timer?!
    Von MikeJ im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 03.05.2010, 23:02
  4. IEC timer 2
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 07.04.2005, 10:12
  5. IEC Timer
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 07.04.2005, 08:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •