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

Results 1 to 10 of 10

Thread: TC3 Timestruct wird um eine Stund falsch angezeigt

  1. #1
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,
    nach langer Abstinenz vom Programmieren, weil ich mich beruflich umorientiert habe, bin ich nun privat wieder an einem Programm dran.

    Ich habe eine Visualisierung geschrieben bei der die Systemzeit in Format Timestruct angezeigt wird.
    Dabei zeigt diese Zeit aber generell um eine Stunde zu wenig an obwohl im Struct wenn man online hineinschaut die Zeit stimmt.
    Unterhalb habe ich die Struct umgewandelt in DT da wird sie dann korrekt angezeigt.
    Ich arbeite mit TC3.1 Build 4024.0

    Anbei der Code:
    Code.JPG

    und hier die Anzeige Online:
    Online.JPG

    Sowie Offline mit den Eigenschaften der falschen Zeit im Timestruct Format
    Offline1.JPG

    Und der Zeit im DT Format
    Offline2.JPG

    Onlinegegenüberstellung der selben Variable zur gleichen Zeit
    Online2.JPG
    Last edited by blackhack; 08.01.2020 at 09:06. Reason: Rechtschreibfehler
    Reply With Quote Reply With Quote TC3 Timestruct wird um eine Stunde falsch angezeigt  

  2. #2
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    14,343
    Danke
    1,194
    Erhielt 4,245 Danke für 3,415 Beiträge

    Default

    Ich kenne mich mit TC nicht aus, ich vermute aber daß Deine Systemuhr in UTC läuft (hast Du eine Uhrzeit-Synchronisation per NTP?) und beim Konvertieren für die Anzeige wird die Uhrzeit in die Lokalzeit entsprechend der eingestellten Zeitzone (UTC+1) umgerechnet/konvertiert. Mal wird die Systemzeit verwendet und mal die Lokalzeit. Schau mal im Beckhoff Information System nach Zeit- und Zeitzone-Funktionen und -Funktionsbausteinen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    blackhack (08.01.2020)

  4. #3
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default

    Hallo Harald,
    erstmal danke für deine Antwort.
    Ich habe keine Synchronisation, weil die Steuerung momentan noch keine Internetanbindung hat.
    Ich könnte ja auch ohne weiteres die Stunde aufaddieren, aber das bringt mich nicht zum Ziel.
    Wie man auf dem letzten Bild sieht, ist die Systemzeit in der Variable ja richtig. Nur wird sie von der Visualisierung dann falsch angezeigt.
    Wenn ich nun die Zeit umrechnen lasse, das dürfte der Baustein "FB_SystemTimeToTzSpecificLocalTime" sein, dann stimmt die Zeit auf der Anzeige wieder nicht. Ich teste das aber heute Abend mal.
    Gruß
    Bernd

  5. #4
    Join Date
    16.12.2015
    Location
    Innsbruck
    Posts
    86
    Danke
    23
    Erhielt 15 Danke für 15 Beiträge

    Default

    Hallo,
    standardmäßig liefert dir Twincat mit Tc2_System.F_GetSystemTime() immer die Zeit in UTC. Diese muss dann korrigiert werden mit Tc2_Utilities.FB_FileTimeToTzSpecificLocalTime() und der entsprechenden Zeitzoneninformation die du mit Tc2_Utilities.FB_GetTimeZoneInformation() auslesen kannst.
    Sg M.
    Iam not a savior, i just try to think about the future not beeing sad
    (c) Elon Musk

  6. Folgender Benutzer sagt Danke zu seehma für den nützlichen Beitrag:

    blackhack (08.01.2020)

  7. #5
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default

    Ok probiere ich heute Abend aus.
    Mich wundert aber dennoch, dass die Anzeige um eine Stunde anders anzeigt als in der Variable auf die zugegriffen wird.

  8. #6
    Join Date
    24.02.2009
    Posts
    1,356
    Danke
    29
    Erhielt 309 Danke für 261 Beiträge

    Default

    Mit dem Platzhalter %t[] greift das HMI automatisch auf die Systemzeit zu. Die Variable die du hinterlegt hast, wird komplett ignoriert.
    Sänd from mei Kombjudder mitse Dastadurr.

  9. Folgende 2 Benutzer sagen Danke zu MasterOhh für den nützlichen Beitrag:

    blackhack (08.01.2020),seehma (08.01.2020)

  10. #7
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default

    Hi MasterOhh das ist jetzt höchst intereessant und erklärt das Verhalten.
    Welche Platzhalter kann ich dann eingeben, damit die Zeit und das Datum so Zeit.JPG angezeigt wird und ich auf meine Variable zugreife?


    Ich habe jetzt mal die Variable in den Eigenschaften der Visualisierung entfernt und die Anzeige ist wie zu erwarten die selbe.
    Da wir aber momentan Winterzeit haben und der PanelPC auch so eingestellt ist, dass er die Sommer und Winterzeit Umschaltung automatisch macht,
    müsste doch die richtige Zeit angezeigt werden oder. Ich hole mir die Systemzeit mit NT_GETTIME und schreibe diese in eine Variable vom Format TIMESTRUCT.
    Dort steht die richtige Zeit. Wenn nun %t[] auf diese Zeit zugreift müsste ja dann auch die gleiche Zeit angezeigt werden.
    Last edited by blackhack; 08.01.2020 at 20:35.

  11. #8
    Join Date
    24.02.2009
    Posts
    1,356
    Danke
    29
    Erhielt 309 Danke für 261 Beiträge

    Default

    Es ist schon komisch, dass er bei dir nicht die korrekte Zeit anzeigt. Ich kann die Visu aktuell leider nur lokal auf meinem Programmierrechner testen. Aber hier wird mir die richtige Uhrzeit gezeigt ...
    Worauf läuft das HMI bei dir? Auf einer CX oder lokal? Hast du die Zeiteinstellungen schon überprüft?
    Sänd from mei Kombjudder mitse Dastadurr.

  12. #9
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default

    Die Steuerung ist ein Beckhoff PanelPC und ich verwende die beckhoffeigene Visu

    Hier die Visu und das Programm gleichzeitig online:

    Zeit.JPG
    Last edited by blackhack; 08.01.2020 at 21:17.

  13. #10
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen ich habe nun herausgefunden woran das Verhalten liegt.
    Wenn in den Einstellungen der Systemuhr der Haken gesetzt ist, dass die Uhr automatisch auf Sommer und Winterzeit umstellen soll, dann stimmt die Uhr in der Anzeige.
    Wenn ich nun den Haken wieder wegnehme und den PC neu boote, dann bekomme ich wieder die falsche Urzeit angezeigt.

    Danke an Alle die mir mit Tipps weitergeholfen haben.
    Gruß
    Bernd

Similar Threads

  1. TC3 HMI: User Controls werden nicht angezeigt
    By XMG in forum CODESYS und IEC61131
    Replies: 1
    Last Post: 09.07.2019, 15:06
  2. Step 7 Datum wird mit SFC1 falsch gelesen
    By schoch in forum Simatic
    Replies: 4
    Last Post: 16.05.2019, 13:55
  3. Array Länge wird falsch angezeigt
    By lieuthnant in forum Hochsprachen - OPC
    Replies: 10
    Last Post: 12.08.2017, 07:43
  4. Step 7 Analogwert wird falsch eingelesen / Vipa-Baugruppen
    By Tschigi in forum Simatic
    Replies: 15
    Last Post: 16.04.2014, 00:35
  5. Grafik wird nicht angezeigt
    By Stephan25 in forum HMI
    Replies: 5
    Last Post: 16.10.2013, 23:36

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •