Step 7 S5Time aus DB als Ganzzahl umwandeln und vergleichen

DennisBerger

Level-2
Beiträge
474
Reaktionspunkte
63
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
S7-300 und Simatic Step7
OP17

ich hab hier eine ältere Anlage mit OP17 und einem DB.
Im DB wird als Datentyp die Taktzeit 60s oder 30s oder 15s in S5time eingegeben in der Rezeptur.
1731578653865.png

dieser wert wird dann in MW114 transferiert:
1731577999556.png

Und später dann MW114 für den Timer T60 als Zeitwert geladen.
1731578170732.png

Nun wollte ich in einem FC einen Vergleich machen und abfragen welche Zeit aus dem DB geladen wurde um daraus die Stabiliserungszeit abhängig zu verändern.

also compare MW114 = 60 oder MW114 = 30 bzw MW114 = 15 (60sek, 30sek, 15sek)
1731578551102.png

aber das geht nicht weil es kein Zahlenformat ist,
online:
1731578787746.png

Frage: wie kann ich den S5Time Wert aus der DB ( Rezeptur) in eine vergleichbare Ganzzahl umwandeln?






danke euch
 

Anhänge

  • 1731577835761.png
    1731577835761.png
    8,6 KB · Aufrufe: 12
  • 1731578942379.png
    1731578942379.png
    11,1 KB · Aufrufe: 10
Zuletzt bearbeitet:
hmm.. irgendwie funktoiniert das nicht @Windoze:

MW114 sind 15 sek im Beobachtungswert steht 8213

1731580044863.png


beim Vergleich erwartet er aber bei 15sek den Wert 4432?
1731579961244.png

oder hab ich was falsch verstanden?
 
Glaube nicht, dass das so
hmm.. irgendwie funktoiniert das nicht @Windoze:
MW114 sind 15 sek im Beobachtungswert steht 8213
beim Vergleich erwartet er aber bei 15sek den Wert 4432?
Kann auch nicht funktionieren ...
4432 = BCD(HEX) 1150 = 150* Zeitbasis 1 = 0,1s
8213 = BCD(HEX) 2015 = 15* Zeitbasis 2 = 1s

Sind zwar beide male 15 Sekunden, jedoch auf unterschiedlichen Weg ....

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
S5TIME/S5T# ist ein codiertes Datenformat - siehe Step7 Hilfe zum Format des Datentyps S5TIME
Zum vergleichen mit normalen Dezimalzahlen muss das S5T# erst in eine Dezimalzahl umgewandelt werden (z.B. INT, DINT, TIME). Dafür gibt es fertige Bausteine, z.B. den bereits genannten FC33 S5TI_TIM (und FC40 TIM_S5TI). Kann man aber auch schnell selber programmieren.
 
S5TIME/S5T# ist ein codiertes Datenformat - siehe Step7 Hilfe zum Format des Datentyps S5TIME
Zum vergleichen mit normalen Dezimalzahlen muss das S5T# erst in eine Dezimalzahl umgewandelt werden (z.B. INT, DINT, TIME). Dafür gibt es fertige Bausteine, z.B. den bereits genannten FC33 S5TI_TIM (und FC40 TIM_S5TI). Kann man aber auch schnell selber programmieren.
wie finde ich den FC33 /FC 40 in Step7?
Ich habe keine Bibliothek wo es den schon gibt
 
Zurück
Oben