Timerwert über TP170 an CPU312 ändern

S7-Anfänger

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
:confused:
Ich möchte eine Siemens S7 Steuerung aufbauen (Siemens TP170B an einer CPU 312 Artnr. 6ES7312-1AD10-0AB0 vernetzt über MPI) wo ich über das TP170 Timmerwerte von S7 Timern verändern kann.

Ein Programmbeispiel (programmiere in FUP), worin ich sehen kann wie man einen S5t#-Wert über Eingabefeld von einen TP170 an CPU sendet (Skalierung in sec d.h. man muss das Ganze ja von ms in sec umrechnen, also x60000, wäre am besten. Aber ich weiss nicht wie das geht.

folgendes habe ich bisher eingerichtet:
Im TP 170 Var-Tab. DB1.DBW10 Datentyp "Timer"
Im S7 Programm DB1.DBW10 Datentyp "S5Time" Anfangswert S5T#1s
:confused:
 
Also ich gehe jetzt mal von Protool aus, WinCC flex,
habe ich nämlich nicht.

In den Eigenschaften der Variable gibt es einen Reiter Konvertierung,
Da sagst du einfach beim OP-Bereich 0 bis 1 entspricht in der Steuerung 0 - 1000.

Das wars, übrigens wie kommst du auf 60000 ?!

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für den Typen TIME wäre das korrekt. Dies ist vom Platzbedarf her ein Doppelinteger mit der Auflösung von 1ms. D.h. ein Wert von 1 sek. wird dort als 1000 angezeigt und für 1 Min. 60000.

Für die nicht-IEC-Timer, welche mit S5T#xxx beschaltet werden, wird ein wortbreiter, BCD-Codierter Bereich verwendet (Schnittstellentyp S5TIME).

Da diese Formate unterschiedlich aufgebaut sind, muss man auch den passenden Typen auf der Visualisierung wählen (z.B. Protool).

----
S5TIME (Simatic-Zeit)
16 bit, S7-Zeit in Schritten von 10 ms

S5T#0H_0M_0S_10MS bis
S5T#2H_46M_30S_0MS und
S5T#0H_0M_0S_0MS
S5T#0H_1M_0S_0MS
S5TIME#1H_1M_0S_0MS


TIME (IEC-Zeit)
32 bit, IEC-Zeit in Schritten von 1ms,
Ganzzahl mit Vorzeichen
-T#24D_20H_31M_23S_648MS bis
T#24D_20H_31M_23S_647MS
T#0D_1H_1M_0S_0MS
TIME#0D_1H_1M_0S_0MS
 
Zuletzt bearbeitet:
Hallo MSB: Ich verwende für Visualisierung Protool Vers. 6...
Das mit den 60000 habe ich irgendwo gelesen
Eingabewert vom TP wird in den S7 Timer in ms eingelesen.
d.h. ich muss also vorher irgendwie (das weiß ich leider nicht) mit 1000 multipl. damitder Wert in sek gewandelt wird und dann noch mit 60 multipl. damit ich der Timer den TW in min einlesen kann.
Aber wie??? Das weiß ich eben nicht. Bin am verzweifeln. :-(
Das war leider auf der Berufsschule sowie auf der Meisterschule nicht im Lehrplan enthalten.
Hallo Heizduese: Danke für die Theorie.:)
Bei Protool finde ich nur "Timer".
Leider bräuchte ich immer noch ein Beipiel.
Wäre super wenn mir jemand weiterhelfen könnte.
 
@Heizdüse

Theoretisch hast du recht, aber
auf dem OP erfolgt die Eingabe auch für das Format S5-Time in ms.
Timer = S5TIME
TIME = TIME

Das das dann Intern in der S7 "anders" ausschaut tut in dem Fall nichts zur Sache.

@S7-Anfänger
Bilder sagen mehr als 1000 Worte:
Achso im Scaling falls du "Minuten" willst, kannst du dann anstatt 1000 (Sekunden) auch 60000 (Minuten) schreiben.
 
Zuletzt bearbeitet:
Zurück
Oben