CPU-Zeit für andere Zeitzone verschieben

Fuji

Level-1
Beiträge
9
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe folgendes Problem. Ich habe hier eine Anlage, deren CPU wird mit einem Server in Schweden auf die UTC-0 synchronisiert. Da die Anlage aber in Singapur steht, muss auf diese Zeit 8h draufgerechnet werden UTC+8. Da die OPs per Bereichszeiger mit der CPU-Zeit verknüpft werden, sind bei allen Meldungen die Zeiten falsch.

1. Kann man bei der Synchronisation die Systemzeit immer jeweil um 8 h verschieben? Da die Synchronisierung ja zyklisch abläuft, reicht es nicht, die Zeit einmalig anzugleichen. Falls das nicht geht:

2. kann man dann zumindest für den Datensatz, auf den der OP-Bereichszeiger zeigt, um 8 Stunden verschieben lassen?
Ich hab dazu schon folgenden Code (war schon so programmiert, bevor ich an die Anlage kam)
Code:
Im OB1: NW1
      L     #OB1_PREV_CYCLE
      T     "DB_System_time".PLC_cycle_time

      L     LB    12                    // LB12 : year
      T     DB1.DBB    0
      L     LB    13                    // LB13 : month
      T     DB1.DBB    1
      L     LB    14                    // LB14 : day
      T     DB1.DBB    2
      L     LB    15                    // LB15 : hour
      T     DB1.DBB    3
      L     LB    16                    // LB16 : minutes
      T     DB1.DBB    4
      L     LB    17                    // LB17 : seconds
      T     DB1.DBB    5
      L     LB    18                    // LB18 : 10/second
      T     DB1.DBB    6
      L     LB    19                    // LB19 : 100/second
      T     DB1.DBB    7
Code:
Im OB1: NW2
 
      L     DB1.DBB    0                // DBB0 : year
      T     DB909.DBB   90
      L     DB1.DBB    1                // DBB1 : month
      T     DB909.DBB   91
      L     DB1.DBB    2                // DBB2 : day
      T     DB909.DBB   92
      L     DB1.DBB    3                // DBB3 : hour
      T     DB909.DBB   93
      L     DB1.DBB    4                // DBB4 : minutes
      T     DB909.DBB   94
      L     DB1.DBB    5                // DBB5 : seconds
      T     DB909.DBB   95
      L     DB1.DBB    6                // DBB6 : 10/second
      T     DB909.DBB   96
      L     DB1.DBB    7                // DBB7 : 100/second
      T     DB909.DBB   97

Die OPs greifen per Bereichszeiger auf DB909.DBW90 zu.

Ich steh jetzt grad ein bisschen auf dem Schlauch, aber wie könnte ich hier die 8 Std addieren?


CPU 319F-3 PN/DP
Simatic Manager V5.4 SP4
WinCC flexible 2008


Danke schonmal für mögliche Hinweise.
Gruß
Hannes
 
Zurück
Oben