So, jetzt mal gaaaaanz langsam
ich möchte die Zeiten die von einem Panel (TP177A) kommen so umwandeln, dass diese nicht in ms sondern in sek. oder min. umgewandelt werden.
Wenn ich mich recht erinnere, ist der Wert aus dem TP ein Int
OK, in welchem Datenformat bekommst du nun deinen Zeit-wert vom Panel. Als Integer in Millisekunden? Dann wäre nach 32s Schluss.
Ganz verstehe ich nicht was du meinst, ich nehme es aber mal so an.
Wenn ich mich recht erinnere, ist der Wert aus dem TP ein Int, dieser muss in REAL gewandelt werden, damit ich diesen Wert bearbeiten kann (Berechnung) anschließend wird dieser wieder in Int umgewandelt und kann weiter verwendet werden. (z.B. Timer).
Was möchtest du denn berechnen? Wenn du nur mit diesem Millisekunden-Vorgabewert auf einen Timer willst, dann kannst du dir die Arbeit ersparen.
1.) Du kopierst den INT-Wert auf eine TIME-Variable und arbeitest mit SFB4/5 TON/TOF.
2.) Wenn du S5-Timer bevorzugst, führst du Schritt 1 trotzdem aus und verwendest dann die FCs aus der Siemens-Standard-Biblieothek zum wandeln des TIME-Formats nach S5-Time. Damit kannst du dann auch direkt auf einen S5-Timer gehen
Nichts gegen dich JoopB, aber wenn ich Leute manuell Werte ins S5-Format konvertieren sehe bekomme ich Brechreiz. :sb5:
Da kann so viel daneben gehen, bzw. da ist in der Welt auch schon so viel daneben gegangen, also bitte nicht die jungen Leute daraufhin anstacheln.
Das geht mit den fertigen FCs, einfacher und sicherer.
-------------------------------------------------------------------------------------------------------------------------------------
Weiters stelle ich jetzt mal ne Vermutung in den Raum. Ist ne weitere Interpretation deiner Fragestellung.
Das TP177 wird, nehme ich mal an, von dir projektiert. Du hast in der SPS einen S5-Timer-Wert den du gerne am Panel verstellen möchtest.
Wenn du den Wert aber in einem E/A-Feld projektierst, ist er immer in Millisekunden. Deswegen möchtest du am Panel in Sekunden/Minuten eingeben und dann in der SPS umrechnen.
Wenn ich mit dieser Vermutung recht habe, dann kannst du dir die Arbeit sparen. Das Zauberwort heißt
"lineare Skalierung" und ist unter WinCC-Flexible bei den Variablen-Eigenschaften zu finden. Dort kann man das Verhältnis wie ein Wert von SPS zu Panel angezeigt werden soll, einstellen. Also z.B. 1000:1 für Millisekunden auf Sekunden.
Sollten dies dich noch nicht zum Ziel führen, können wir noch gerne darüber reden wie du Zeiten/Daten hin und her konvertiert, bis du das gewünschte erreicht hast.