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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: IEC Timer- Messung in B&R Automation Runtime

  1. #1
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Leute,

    mir wurde hier schon erheblich weitergeholfen in bei den Systemen Step7 und CoDeSys. Leider muss ich mit 3 Systemen arbeiten. Was nun in CoDeSys und Step 7 V11 funzt, klappt im Automation Studio von B&R überhaupt nicht.

    Ich habe hier nochmal den Code der in den anderen Systemen funktioniert:



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




    IF #Start=TRUE THEN
    #U:=230;

    #Zeit1:=#TON.ET;

    FOR #i:=0 TO 30000 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;
    #Dauer1:=#Zeit22-#Zeit11;

    Ich muss die Zeit messen mit nem IEC Timern, weil es auf allen 3 Systemen laufen soll.
    Der Code berechnet mir so in Step7 und CoDeSys eine Dauer bis die Schleife bearbeitet ist von ca. 20 ms.
    Bei B&R ist es nun so, dass die Zeiten Zeit1 und Zeit 2 immer gleich sind. Ausserdem seh ich ET in B&R nur in sec. nicht in ms.
    Es kommt mir so vor, das Automation Runtime des überhaupt nicht zyklisch nacheinander abarbeitet sondern einfach, die Startbedingung "Start" nimmt und beide Timer gleichzeitig loslaufen.
    Arbeitet das System nicht zyklisch nacheinander? Ich arbeite mit der ARsim!! Hat es was mit Aufruf zu tun in "Programm CYCLIC" usw. oder??
    Die Zeit müsste doch unterschiedlich sein oder????

    Hoffe ihr könnt mir Helfen

    Vielen Dank schonmal

    Gruß
    Zitieren Zitieren IEC Timer- Messung in B&R Automation Runtime  

  2. #2
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Hallo MPH,

    Es ist schon etwas länger mit B&R her aber meiner Meinung nach muss folgendes nur einmal im Programm vorhanden sein:
    #TON(IN:=#Start, PT:=t#100s);
    Du weißt deinem Ton eine Anfangszeit zu, dann wird drei Zuweisungen Später der aktuelle Zeitwert an Zeit1 übergeben. Nach deiner Schleife machst du genau das gleiche.

    Versuch mal, wenn du diese Zeile vor deiner Zeit2 auskommentierst. Eventuell gibt es auch eine Möglichkeit, dass du die eine Realzeit speichern kannst...

    Damit die Zeit von ET in ms angezeigt wird solltest du eventuel mal die Hilfe zu einem TON-Baustein zurate ziehen.

    Gruß

  3. #3
    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 bo1986 Beitrag anzeigen
    Hallo MPH,

    Es ist schon etwas länger mit B&R her aber meiner Meinung nach muss folgendes nur einmal im Programm vorhanden sein:


    Du weißt deinem Ton eine Anfangszeit zu, dann wird drei Zuweisungen Später der aktuelle Zeitwert an Zeit1 übergeben. Nach deiner Schleife machst du genau das gleiche.

    Versuch mal, wenn du diese Zeile vor deiner Zeit2 auskommentierst. Eventuell gibt es auch eine Möglichkeit, dass du die eine Realzeit speichern kannst...

    Damit die Zeit von ET in ms angezeigt wird solltest du eventuel mal die Hilfe zu einem TON-Baustein zurate ziehen.

    Gruß
    Hi und Danke für die schnelle Antwort.

    Leider ist das nicht das Problem. Durch den 2. Aufruf starte ich den Timer nochmal um überhaupt eine Zeitdifferenz zu bekommen.
    Wie gesagt funktioniert das in den anderen beiden Systemen wunderbar. Nur hier nicht.
    Allgemein alle Werte ändern sich nur im Sekundentakt.
    Ich habeden Task auf 10 ms eingestellt. Trotzdem werden selbst die Berechnungswerte immer nur im Sekundentakt geändert. In Step 7 und CoDeSys läuft das irgendwie kontinuierlicher.

    Woran kann das liegen?

    Vielen Dank

    Gruß

  4. #4
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Hallo MPH,
    Zum einen hatten wir früher auch unsere Programme simuliert, da war festzustelle, dass die Simulation auf dem PC sehr schlecht war. Buttons, die mit einer Flanke abgerufen wurden musste man zumal häufiger betätigen, um das gewünschte ergebnis zu bekommen,...
    Dies ist eventuell der Grund, warum deine Programme nicht wie gewünscht in der eingestellten Zeit ablaufen...

    Ansonsten kann ich dir aktuell auch nicht weiterhelfen...
    Gruß

  5. #5
    Registriert seit
    22.02.2012
    Ort
    Rüsselsheim
    Beiträge
    34
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ich kenne mich eher mit der KW aus.
    Eine Frage: Ist das die gleiche Instanz von TON?
    Mehrfache Aufrufe einer Instanz können zu witzigen Effekten führen.
    Vorschlag (falls das die gleiche Instanz ist):
    TON ohne Input-Parameter aufrufen: TON(); und dann immer nur eine Zuweisung aktiv haben. Oder gleich zwei Timer nehmen.

    Viele Grüße,
    Baschankun

  6. #6
    Registriert seit
    13.09.2010
    Beiträge
    113
    Danke
    0
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Hallo MPH,

    1. Der Timer läuft auf einer Zeitbasis von 10ms (-->AS Hilfe). Damit eine Zeit innerhalb einer Schleife zu messen halte ich für sehr gewagt.
    2. Die ARsim ist ausgerechnet die einzige Umgebung von B&R, die nicht echtzeitfähig ist und damit ein Zeitverhalten liefert,
    das für allgemeine Test sehr gut ist, aber sicherlich nicht zur Messung von Zeit.
    3. Wie der Vorgänger bereits angemerkt hat, können Mehrfachaufrufe zur Effekten führen, die man nicht bewerten kann.
    4. Bist Du sicher, dass der Code auf den anderen Systemen die richtigen Ergebnisse liefert? Sind die Ergebnisse plausibel?
    5. Es gibt die Bibliothek SYS_lib und darin Zeitfunktionen. Vielleicht kannst Du damit eine Messung durchführen?
    6. Ist der Schleifenendwert fix? Dann kann man auch eine Variable setzen/rücksetzen und mit dem Trace ausmessen.
    7. Wenn sonst nichts in der Task passiert, kann man auch den Profiler fragen.
    7. Wie genau muß das Ergebnis werden?

    Grüße

  7. #7
    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 bo1986 Beitrag anzeigen
    Hallo MPH,
    Zum einen hatten wir früher auch unsere Programme simuliert, da war festzustelle, dass die Simulation auf dem PC sehr schlecht war. Buttons, die mit einer Flanke abgerufen wurden musste man zumal häufiger betätigen, um das gewünschte ergebnis zu bekommen,...
    Dies ist eventuell der Grund, warum deine Programme nicht wie gewünscht in der eingestellten Zeit ablaufen...

    Ansonsten kann ich dir aktuell auch nicht weiterhelfen...
    Gruß
    Alles klar. Ich hatte mir auch schon gedacht, dass es eventuell an der ARsim liegen könnte.
    Trotzdem Vielen Dank für deine Hilfe

    Zitat Zitat von Baschankun Beitrag anzeigen
    Ich kenne mich eher mit der KW aus.
    Eine Frage: Ist das die gleiche Instanz von TON?
    Mehrfache Aufrufe einer Instanz können zu witzigen Effekten führen.
    Vorschlag (falls das die gleiche Instanz ist):
    TON ohne Input-Parameter aufrufen: TON(); und dann immer nur eine Zuweisung aktiv haben. Oder gleich zwei Timer nehmen.

    Viele Grüße,
    Baschankun
    Ja das ist der gleiche TON.
    Das kann schon sein, dass die Effekte dadurch auftreten. Ist halt komisch, da es bei den anderen Systemen funktioniert.
    Den Aufruf mit TON() hatte ich schon probiert. Problem ist hier aber, dass dieser Befehl in Step7 nicht geht!!!!

    Vielen Dank

    Zitat Zitat von Bitmanipulator Beitrag anzeigen
    Hallo MPH,

    1. Der Timer läuft auf einer Zeitbasis von 10ms (-->AS Hilfe). Damit eine Zeit innerhalb einer Schleife zu messen halte ich für sehr gewagt.
    2. Die ARsim ist ausgerechnet die einzige Umgebung von B&R, die nicht echtzeitfähig ist und damit ein Zeitverhalten liefert,
    das für allgemeine Test sehr gut ist, aber sicherlich nicht zur Messung von Zeit.
    3. Wie der Vorgänger bereits angemerkt hat, können Mehrfachaufrufe zur Effekten führen, die man nicht bewerten kann.
    4. Bist Du sicher, dass der Code auf den anderen Systemen die richtigen Ergebnisse liefert? Sind die Ergebnisse plausibel?
    5. Es gibt die Bibliothek SYS_lib und darin Zeitfunktionen. Vielleicht kannst Du damit eine Messung durchführen?
    6. Ist der Schleifenendwert fix? Dann kann man auch eine Variable setzen/rücksetzen und mit dem Trace ausmessen.
    7. Wenn sonst nichts in der Task passiert, kann man auch den Profiler fragen.
    7. Wie genau muß das Ergebnis werden?

    Grüße
    Hi auch dir Danke für deine Antwort

    zu1. : Ich weiss das es gewagt ist. Ich muss halt aber irgendwie mit IEC Timern versuchen ABlaufzeiten von Programmabschnitten zu messen.
    zu2. : Ich arbeite bei Step 7 mit der Soft SPS WIN AC. Ich dachte die ARsim ist auch eine Soft SPS. Oder ist es nur ausschliesslich ein Simulationsprogramm??
    zu3. : Ok kann gut sein.
    zu4. : Also wenn man die Zykluszeit und die Ausführungszeiten verschiedener Operationen z. im Handbuch der WIN AC vergleicht, sind die Werte eigentlich ganz ok und plausibel.
    zu5. : Das weiss ich. Es gibt in den jeweiligen Systemen wesentlich elegantere Lösungen zur Messung. Problem ist aber wie oben gesagt, dass sie alle unterschiedlich sind der Code aber auf allen drei Systemen laufen soll!!
    zu6. : Hier weiss ich nicht ganz genau was du meinst. Die Schleife dient nur als Versuch und hat keine weitere Bedeutung. Was meinst du mit fix?
    zu7. : Das Ergebniss sollte so genau wie möglich sein. Aber mehr wie ms geht ja eh nicht wenn ich mich nicht irre oder?!


    Vielen Dank an euch für eure Hilfe

    Gruß

  8. #8
    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 Bitmanipulator Beitrag anzeigen
    2. Die ARsim ist ausgerechnet die einzige Umgebung von B&R, die nicht echtzeitfähig ist und damit ein Zeitverhalten liefert,
    das für allgemeine Test sehr gut ist, aber sicherlich nicht zur Messung von Zeit.
    Gibt es eine andere Umgebung, also Soft-SPS, von B&R die Echtzeitfähig ist???

    Gruß

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

    Standard

    Hi Leute ich bins nochmal sorry,

    ich glaub ich weiss woran es liegt.

    In B&R mache ich den erneuten Timeraufruf wie oben beschrieben.

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

    In TwinCat und Step 7 mach ich es aber so:

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

    Problem ist das B&R genau das nicht macht:

    ET=>Zeit2;

    Ich bekomme dann immer die Fehlermeldung, dass vor oder nach dem = ein : stehen muss.
    Wie kann ich das in B&R umsetzen????

    Hoffe ihr könnt mir nochmal helfen.

    Vielen Dank

    Gruß

  10. #10
    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 MPH Beitrag anzeigen
    Hi Leute ich bins nochmal sorry,

    ich glaub ich weiss woran es liegt.

    In B&R mache ich den erneuten Timeraufruf wie oben beschrieben.

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

    In TwinCat und Step 7 mach ich es aber so:

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

    Problem ist das B&R genau das nicht macht:

    ET=>Zeit2;

    Ich bekomme dann immer die Fehlermeldung, dass vor oder nach dem = ein : stehen muss.
    Wie kann ich das in B&R umsetzen????

    Hoffe ihr könnt mir nochmal helfen.

    Vielen Dank

    Gruß
    Sorry
    Ich muss zurückrudern.
    Es geht jeweils in TwinCat und Step7 auch so:

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

    Es liegt einfach daran, dass ARsim so langsam ist.
    Ich weiss immernoch nicht warum sich die Werte nur im Sekundentakt ändern währen der Simulation. Kann ich da irgendwo was umstellen oder schneller machen.
    Ich bekomme die Variablen, die in "TIME" deklariert sind nicht in ms angezeigt sondern nur Sekunden. Woran liegt das denn??????
    Datentyp "TIME" bedeutet doch ..m..s..ms oder bin ich jetzt total behämmert?!

    Würde mich sehr freuen, wenn ihr mir nochmal helfen könntet.

    Vielen Dank

    Gruß

Ähnliche Themen

  1. IEC Timer
    Von coglione im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 23.11.2011, 12:40
  2. B&R Automation Runtime
    Von Markus80 im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 21.06.2010, 09:17
  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
  •