S5TIME / TIME / Ansteuern über TP 177B

Jeremy3

Well-known member
Beiträge
116
Punkte Reaktionen
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.png Bild 1.png Bild 2.png
 

Tigerente1974

Well-known member
Beiträge
1.816
Punkte Reaktionen
291
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
 
OP
J

Jeremy3

Well-known member
Beiträge
116
Punkte Reaktionen
0
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 ?
 

Eliot

Well-known member
Beiträge
154
Punkte Reaktionen
21
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
 

Tigerente1974

Well-known member
Beiträge
1.816
Punkte Reaktionen
291
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.
 
OP
J

Jeremy3

Well-known member
Beiträge
116
Punkte Reaktionen
0
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 ?
__________
 

Meddy06

New member
Beiträge
1
Punkte Reaktionen
1
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
 
Oben