TIA TIA 1215 / HMI KTP Eingabe für Timer (TON) 0,5 sec im Panel

Roland15

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


habe als Anfänger wieder mal ein Problem, könnt ihr mir weiterhelfen.
Ich habe einen Dauertest für ein Zylinder, möchte die Endlagen über eine Zeit verzögern, damit er nicht sofort umschaltet z.B. 0,5 sec.
Aber die Zeit nicht in ms eingeben, damit er nicht sofort umschaltet sondern nur wenn der Druck aufgebaut ist.
Ich habe es zwar geschafft aber sehr umständlich.
:confused:
Muss die Zeit "test zeit timer_TP_soll_in_ms" umgerechnet werden damit ich im Panel 0,5 sec eingeben kann.
Hat jemand eine einfachere Lösung, z.B. die Einheit im (TON) einzustellen, ich habe verzweifelt gesucht aber nichts gefunden.

VG Roland
 
Wenn du einen IEC-Timer hast, dann kannst du die PT-Variable des TON in den Eigenschaften der HMI-Variable skalieren, zum Beispiel HMI Eingabe = 1 in der PLC kommt = 1000 an, wäre dementsprechend eine Sekunde.

Andernfalls kannst du es auch ohne die Skalierung machen und den Wert in der PLC mit einer Multiplikationsfunktion *1000 rechnen. In den beiden Beispielen würdest du dann ganze Sekunden eingeben.

Möchtest du in Milisekunden eingeben können, also zum Beispiel 500ms, dann einfach ohne Skalierung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Roland,
am einfachsten nimmst du für die PT-Variable eine vom Typ Dint. Im Panel wählst du als Anzeigeformat Dezimal mit 3 Dezimalstellen. Wenn es ganz schick sein soll, dann bei der Gestaltung noch die Einheit s eingeben (mit einem Leerzeichen davor). Die Eingabe erfolgt dann direkt in Sekunden, wenn du im Feld z.B. eine 1 eingibst, dann wird sie so angezeigt: "1,000 s".
In der Steuerung kommt der Wert als 1000 an (1000ms sind eine Sekunde ;)). So lassen sich auch sehr kleine Werte (0,001 s) eingeben...
VG Horst
 
Wenn Du nur Zehntel eingeben möchtest, machst Du bei den Eigenschaften der HMI-Variable eine lineare Skalierung von 100 (PLC) zu 1 (HMI), wodurch die Hundertstel und Tausendstel bei der Eingabe wegfallen, und in Deinem 2. Bild die Dezimalstelle mit 1.

Dann kannst Du z.B. 0,5 in Dein Timerfeld eingeben und das HMI macht für die PLC automatisch die notwendigen 500 (ms) daraus.
In der PLC brauchst Du bei dieser Variante nichts zu berechnen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Hucki,

sorry, ich weiß nicht wie ich die lineare Skalierung einstellen kann.
Ich möchte die Eingabe und Darstellung im HMI immer sec einstellen, z.B 2 dann soll es mir 2,0 anzeigen.
wenn ich 1/10 einstellen möchte dann muss ich 1,5 eingeben.
hast Du mir evtl. ein Beispiel.

VG Roland
 
ich weiß nicht wie ich die lineare Skalierung einstellen kann.
Im HMI im Ordner HMI-Variablen Deine Time-Variable anwählen und dann in den Eigenschaften auf lineare Skalierung:

attachment.php


Das bewirkt, wenn Du eine 1 in Dein Feld eingibst, macht das HMI eine 100 daraus.



Nun willst Du ja nicht 10 für eine 1 Sekunde (10 x 100 =1000 ms) eingeben müssen, deshalb verschiebst Du das Komma in den allgemeinen Eigenschaften des Eingabefeldes um 1 Stelle:

attachment.php


Jetzt kannst Du eine 1 eingeben und das HMI verschiebt das Komma intern wieder zurück (=10). Mal die Skalierung...


Und damit's richtig schick wird, setzt Du in der Gestaltung des Eingabefeldes im Bereich Text die Einheit " s" ein:

attachment.php


Oben siehst Du Mein Ergebnis.



Dein Beispiel:
Du gibst in das Feld 1,5 ein, Kommaverschiebung = 15, Skalierung = 15 * 100 = 1500ms (denn der Timer braucht die PT-Werte in ms).
Voila.
:ROFLMAO:
 

Anhänge

  • lineare Skalierung.jpg
    lineare Skalierung.jpg
    38,4 KB · Aufrufe: 121
  • Dezimalstelle.jpg
    Dezimalstelle.jpg
    8,5 KB · Aufrufe: 115
  • Einheit.jpg
    Einheit.jpg
    44,9 KB · Aufrufe: 116
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe das Problem dass ich drei Eingabe Felder habe die auf die selbe Variable zugreifen sollen, dazu soll jedes Feld eine Dezimalstelle mehr/weniger haben. Ich habe bereits versucht es zu skalieren hänge ich etwas wie im Bild ersichtlich.
HMI1.jpg
 
Zuletzt bearbeitet:
Ich denke ich habe mich unglücklich ausgedrückt. Wie im Bild zu sehen ist sollen die Eingabefelder Dezimalstellen eanzeigen. Das mehr weniger bezieht sich auf dass wenn man von vom Eingagnsfeld 3 auf 2 sieht dass eine Dezimalstelle mehr ist, wenn man von oben nach unten vergleicht ist es eine weniger. Tut mir leid wenn es falsch verstanden wurde. Jedoch habe ich die Dezimalstelle in der Anzeige bereits verändert.

ADD: Der Anfangswert der Variable ist 1500ms und soll je nach Eingabe/Ausgabefeld anders angezeigt werden.
Feld 1 in ms also 1500 ms
Feld 2 in s mit 3 Dezimalstellen also 1,500s
Feld 3 in s mit 2 Dezimalstellen also 1,50s
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Die ersten 2 kannst Du durch die Kommaverschiebung machen, wie DeltaMikeAir es gbeschrieben hat.
Intern im HMI ist bei beiden der Wert 1500 (Komma einfach wegdenken), was direkt den Millisekunden für die SPS entspricht.
Daher bleibt die Sklaierung bei 1:1

Beim 3. ist jedoch der HMI-Wert (nur) 150 und das Panel soll 1500 daraus machen, um wieder auf die ms zu kommen.
Daher benötigst Du dort eine Skalierung von 1:10.
2 Skalierungen mit der selben HMI-Variable gehen nicht. Daher musst Du dafür eine 2. HMI-Variable anlegen, die auf die selbe SPS-Variable zugreift.
Dann noch die Kommaverschiebung von DeltaMikeAir dazu und Du solltest Deine 3 Felder haben.
 
Zurück
Oben