Integer als S5Time

bastler

Level-2
Beiträge
258
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich habe einen Blinker mit 2 S5-Timern programmiert, bis hier auch kein Problem.
In den S5-Timern müssen Zeitwerte von 1min-59min einstellbar sein. Per externe Software möchte ich die Zeitwerte ändern können, allerdings kann ich nur
Integerzahlen von der externen Software in einen DB der SPS schreiben. Also wenn ich eine 20 schreibe, dann soll das 20min sein. Wie kann man die Integerwerte in ein S5t#.... umwandeln?
Hab da schon im Forum einiges gefunden, aber irgendwie schnall ich das noch nicht:confused:!

MfG
bastler
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Der größt mögliche Faktor ist 10s, wenn ich das richtig sehe. Ich bräuchte aber als Faktor 1min, oder lieg ich da falsch?
Ich will ja keine Sekunden eingeben, sondern Minuten.

MfG
bastler
 
Zuletzt bearbeitet:
Dann mußt du den angegebenen Wert vorher noch entsprechend multiplizieren.

Wenn also der User eine 1 für eine Minute eingibt, dann sind das 60 Sekunden, also 6x10 Sekunden.
Verwendest du das 10s-Raster, dann die Eingabe mit 6 mutiplizieren und anschließend, wie beschrieben, die Normierung für den Timer vornehmen.
 
Wie wär's denn mal, wenn man der Empfehlung folgt und die IEC-Timer verwendet? Aus einem DINT kann man nämlich ohne Umwandlung den passenden TIME-Wert machen, L#16#1 ist nämlich 1ms.
 
Ist doch fast das selbe.
Er muss auch beim IEC Timer den Eingabewerte verrechnen (auf die Minuten).
So kann er beim normalen Timer, eifanch EIngabe * 6 und dann glaube die obersten beide Bit's setzen (ver-odern ...) ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wär's denn mal, wenn man der Empfehlung folgt und die IEC-Timer verwendet? Aus einem DINT kann man nämlich ohne Umwandlung den passenden TIME-Wert machen, L#16#1 ist nämlich 1ms.

Außerdem braucht man für IEC-Timer IDB, wenn man nicht in einem FB arbeitet, ist das sehr leider unter Siemens sehr lästig.
 
Zurück
Oben