S5TIME / TIME / Ansteuern über TP 177B

Jeremy3

Level-1
Beiträge
116
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Bild 0:

Ich muesste an einem Touchpanel einmal eine Zykluszeit für eine Messung Eingeben können und die Zykluszeit für eine Ventilöffnung. ( siehe Bild 0 des Touchpanels )

Bild 1:
Zykluszeit für eine Messung in Sekunden bzw. Minuten , Ansteuerung von S_EVERZ

Wie in Bild 1 zu sehn ist muss ich den EIngang TW von S_EVERZ ansteuern. Dabei werden eben Minuten und Sekunden eingegeben. Ich weiß nicht genau wie ich den Addierten Wert dann in einer S5Time Variable genau abspeichere und ob da einfach für die sekunden und minuten ein Integer ausreicht ?

Bild 2: Zykluszeit für eine Ventilöffnung, Ansteuerung von FB43

Hier müsste ich ebenfalls einen Sekundenbereich als input eingeben und den eingang PER_TM des FB43 ansteuern mit dem Datentyp TIME.
_ _ _ _ _ _ _ _ _ _

Wäre echt nett wenn mir jemand nen tipp gibt wie ich das am besten mache

Freundliche Grüße

Jeremy

Bild 0.pngBild 1.pngBild 2.png
 
Du kannst die Variable am Eingabefeld als Dezimalzahl projektieren.
Bei den Variablen musst Du halt entsprechend skalieren. Wenn Du kein Komma hast, entspricht die Eingabe 1 = 1ms.

Bsp.: Eingabe in Sekunden: Steuerung-Anfangswert = 0, Steuerung-Endwert = 10.000 ; Bediengerät-Anfangswert = 0, Bediengerät-Endwert = 10
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie meinst du das genau ? Meinst du das das komplett über WinCC flexible möglich ist ? Kannst du mir vllt ein Beispiel für Bild 1 machen. Ich müsste die Werte ja addieren und das kann man doch nur über step 7 machen oder nicht ?
 
Das findest du in den Variablentabellen bei deinen Eigenschaften der Variable unter lineare Skalierung... Die beiden Integer unterschiedlich skalieren (für Minute und Sekunde) und in der Steuerung dann addieren
 
So wie ich es erklärt habe, gibt es nur 1 Eingabefeld. Du musst halt für den Benutzer die Einheit dranschreiben (Textfeld), ob die Eingabe in Minuten oder Sekunden oder wie auch immer erfolgt.

Bei den Variablen musst Du das Ganze dann wie schon beschrieben passend skalieren. Dann kannst Du den Wert vom HMI direkt mit dem Timerbaustein verknüpfen.

Achtung! Wenn Du die Eingabe mit Kommastelle versiehst, musst Du das auch entsprechend bei der Skalierung berücksichtigen.
 
vermute wir missverstehn uns etwas :/ Ich erinnere nochmal was ich im ersten Beitrag geschrieben und gefragt habe

Bild 1: Zykluszeit für eine Messung in Sekunden bzw. Minuten , Ansteuerung von S_EVERZ

Wie in Bild 1 zu sehn ist muss ich den EIngang TW von S_EVERZ ansteuern. Dabei werden eben Minuten und Sekunden eingegeben.

FRAGEN:

1. Ich weiß nicht genau wie ich den Addierten Wert dann in einer S5Time Variable genau abspeichere
2. und ob da einfach für die sekunden und minuten ein Integer ausreicht ?
__________
 
Hallo,

bei der Vorgabe würde ich die Min * 60 nehmen, denn die Sekunden drauf addieren, das Ganze in ms wandeln (* 1000 ) und in einer lokalen Variablen vom Typ Time speichern. Dann aus der Standardbibliothek (Rubrik IEC Function Blocks) den FC40 (TIM_S5TI IEC) nehmen und damit den Wert in das Format S5Time wandeln (wieder lokale Variable mit Format S5Time). Die kann dann als TW an den Zeitbaustein gelegt werden.
S5Time kann max. bis 2h46min30s aufnehmen.

L "min"
L 60
*D
L "sec"
+ D
L 1000
*D
T #TEMP_T

Call FC40
IN := #TEMP_Time
RETVAL := #TEMP_S5Time

VG Th. Vogt
 
Zurück
Oben