TIA Time of Day in Stunde, Minute Sekunde umwandeln

Rainer_S

Level-2
Beiträge
59
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe eine S7-300 Steuerung 313 C-2 DP

ich möchte die aktuelle Uhrzeit aufspalten in Stunden, Minuten und Sekunden

ich benötige dieses, weil ich nicht das HMI nicht umbauen möchte. (bin gerade von S7 auf Tia umgestiegen und ist mein erstes Programm mit Tia)

Gibt es da was fertiges von Siemens?

oder, wie macht ihr das, mit der Funktion Schieben, wie in der S7 geht es ja nicht.

Gruß
Rainer
 
??????? Hast du doch schon alles oder ich verstehe Deine Frage nicht ..

Byte Inhalt Bereich


0 Jahr 1990.....2069
1 Monat 1....12
2 Tag 1....31
3 Stunde 0...23
4 Minute 0....59
5 Sekunde 0....59
6 MSD v. ms 00...99
7( MSB) LSV v. ms0....9
7 (LSB) Wochentag1....7 (1 = Sonntag)
 
Guten Morgen, wenn ich mich recht erinnere hast du in deiner Uhrzeit nichts anderes stehen als die ms seit 0 Uhr. Dann könntest du im Prinzip so vorgehen:

Stunde := Zeit / 3600000;
Minute := (Zeit/ 60000) - (Stunde * 60);
Sekunde := (Zeit / 1000) - (Stunde * 3600) - (Minute * 60);
 
Guten Morgen, ich brauche die Std. in einem separatem DW und die Minuten in einem separaten DW

z.B. wenn im "TOD#07:29:31.352" steht dann hätte ich gerne
DW-Stunde: 07 oder 7 stehen
DW-Minute: 29 stehen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rainer,

ich hatte dir eigentlich oben schon das Prinzip beschrieben. Ob da jetzt noch ein paar kleinere Fehler wegen DINT/DWORD Umrechnungen sind kann ich so auf die Schnelle nicht rausbekommen, da auf meinem Winbdows 10 kein PLCSIM Classic läuft.

Daher hier mal der Coder der zumindest ungefähr passen sollte:

Code:
//Stunden berechnen
      L     #Zeit
      L     L#3600000
      /D    
      T     #Stunde

//Minuten berechnen
      L     #Stunde
      L     L#60
      *D    
      T     #Hilfsmerker_DWord

      L     #Zeit
      L     L#60000
      /D    
      L     #Hilfsmerker_DWord
      -D    
      T     #Minute

//Sekunden berechnen
      L     #Stunde
      L     L#3600
      *D    
      T     #Hilfsmerker_DWord

      L     #Minute
      L     L#60
      *D    
      T     #Hilfsmerker_DWord2

      L     #Zeit
      L     L#1000
      /D    
      L     #Hilfsmerker_DWord
      -D    
      L     #Hilfsmerker_DWord2
      -D    
      T     #Sekunde

Zeit aufbroeseln.jpg
 
Ich Danke Dir für die Lösung, alles mit dem SFC1 etc. hat aufgrund meiner fehlenden Kenntnisse nicht zum Erfolg geführt.
 
Zurück
Oben