Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Einschaltverzögerung einen Wert vorgeben

  1. #1
    Registriert seit
    21.04.2015
    Beiträge
    14
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo an alle,

    der Maurer hat mal wieder ein Problem und dich hoffe ihr könnt mir wie schon bei den Antrieben wieder helfen.


    Ich würde gerne einer Eischaltverzögerung einen variablen Wert am Eingang TW vorgeben. Am liebsten wäre es mir wenn ich den Zeitwert als REAL Wert vorgeben könnte.
    Leider habe ich jetzt vom programmieren nicht all zu viel Ahnung zumindest bis jetzt. Ich habe schon in einem DB eine Variable des Typ REAL angelegt und an den Eingang TW der Einschaltverzögerung verschalten wollen leider
    ohne Erfolg. Hat mir vielleicht jemand einen Tipp wie ich das realisieren muss. Ich habe im Augenblick noch kein Panel und muss die Werte von Hand in den DB eintragen, dies nur als Info. Super wäre wenn ich eine Einschaltverzögerung von bis zu 10 Stunden eintragen könnte.


    Grüße


    Flo
    Zitieren Zitieren Einschaltverzögerung einen Wert vorgeben  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Zuerst schaust du dir das hier an: Wie kann ich Zeitwerte für Timer variabel eingeben?

    Da ist auch ein Baustein dabe, der erwartet die Zeit als INT und eine Zeiteinheit, z.Bsp. für 100ms.

    Wenn du die Zeit als Int in 100ms Zeiteinheiten angeben willst, wäre das für 4 Sekunden also 40, denn 40 Mal 100ms-Einheiten ergibt 4 Sekunden.
    Nun kannst du Real 3.5 Sekuden vorgeben. Um das an den baustein zu bekommen mußt du die Realzahl mit 10 multiplizieren und anschließend in eine Int wandeln.
    Also.

    L #MyReal
    L 10.0
    *R
    TRUNC //(Wandlen in Ganzzahl durch Abschneiden der Zahlen hinter dem Komma)
    T MyINT //Hier steht nun eine 35

    Diese 35 dann wandeln wie im FAQ-Beitrag beschrieben.

    ABER

    Ein Hardwaretimer ist so für 10h nicht geeignet.

    Auflösung Bereich
    0,01 Sekunde 10MS bis 9S_990MS
    0,1 Sekunde 100MS bis 1M_39S_900MS
    1 Sekunde 1S bis 16M_39S
    10 Sekunden 10S bis 2H_46M_30S
    Du Solltest dir also mal in der IEC-Library die Timer TON und TOFF ansehen (SFB4+5).

    Diese erwarten am Eingang PT eine Zeit in ms.

    Also gibst du vor:

    L MyReal //10.0 für 10 stunden
    L 60.0
    *R //Umrechnung in Minuten
    L 60.0
    *R //Umrechnung in Sekunden
    L 1000.0
    *R //Umrechnung in ms
    Trunc //in DINT wandeln
    T MyTime //Variable vom Format #Time

    Du kannst natürlich auch gleich mit 3600000.0 multiplizieren.
    Geändert von Ralle (06.05.2015 um 10:52 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    REAL (06.05.2015)

  4. #3
    REAL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2015
    Beiträge
    14
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,

    wo finde ich den in der IEC-Library die Timer TON und TOFF?
    Wenn ich die dann vielleicht mal finde (evtl. brauch ich ja eine Brille), dann muss ich nur noch die kleine Umrechnung machen und das war es dann schon?

  5. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Die Library ist hier zu finden:

    Standard-Library.jpg
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Rusticus (06.05.2015)

  7. #5
    REAL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2015
    Beiträge
    14
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich habe jetzt den SFB4 in meinen FC eingefügt und den IDB dazu angelegt. Die Umrechnung mache ich jetzt direkt mit einem MUL_R Baustein, indem ich den REAL Wert mit 3600000.0 multipliziere.
    Das Ergebnis lege ich in einer Variable des Typ Time in einem DB ab. Jetzt habe ich das abgelegt Ergebnis an den Eingang PT des SFB4 Timer verschaltet. So weit scheint auch alles zu passen, wenn ich eine Stunde eingebe, sehe ich an dem PT Eingang 3600000, also die Stunde umgerechnet in ms. Was ist jetzt aber wenn ich 30 Minuten eingeben will, muss ich das dann so als REAL Wert schreiben 0.30? Wäre dann die Schreibweise für 1 Stunde 15 Minuten so 1.15?

  8. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Nein ...
    30 Minuten sind 0,5 Stunden und 1Std. 15 Minuten sind 1,25 Stunden ...
    Wenn du das aber so eingeben möchtest, wie von dir angedeutet, dann läßt sich das natürlich auch wieder passend umrechnen ...

    Gruß
    Larry

  9. #7
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    30 min ist in REAL 0.5 Stunde und 1st 15 min ist 1.25 stunde in real. Besser ist ein DB an zulegen mit Timer werte, man kan die werte is panel dan umrechen nach sec oder minten oder stunden.

  10. #8
    REAL ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2015
    Beiträge
    14
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    die Eingabe sollte so sein, das man Stunden und Minuten eingeben kann. Kann das mir jemand bitte erklären, wie ich das als Hobby SPS Programmierer realisieren kann?

  11. #9
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    In Timer format konte Sie das direkt in DB eingeben z.b. Sie wollen 1 stunde und 23 minute eingeben dan ist die eintrag in DB T#1h23m und 1.234sec ist T#1s234ms , aber wen Sie später ein panel braucht musten sie ein variable haben mit die stunden und eine mit die minuten und diese 2 dan umrechne nach ms und die 2 addieren fur die Timer wert.

  12. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Man könnte evtl. das Date_and_Time - Format nutzen.
    Im DB eine Variable vom Typ Date_and_Time anlegen.
    Im Panel ein EA-Feld mit dieser Variablen, Anzeige nur Uhrzeit!

    Die Variable im DB kann man mit einem Baustein aus der IEC-Library in Datum und Uhrzeit zerlegen. Diese Uhrzeit dann an den Timer.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Wie weise ich variabeln einen Wert zu?
    Von sanoj im Forum PHOENIX CONTACT
    Antworten: 7
    Letzter Beitrag: 17.01.2014, 19:25
  2. CoDeSys Wago Timer wert vorgeben ?!
    Von Neonos im Forum WAGO
    Antworten: 9
    Letzter Beitrag: 28.08.2013, 17:28
  3. Antworten: 5
    Letzter Beitrag: 20.12.2011, 14:21
  4. S7-1200 globale Variablen Wert vorgeben
    Von MandiNice im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.06.2011, 10:55
  5. TagLogging nur einen Wert schreiben
    Von Hans17 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 11.05.2006, 11:53

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •