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

Ergebnis 1 bis 10 von 10

Thema: WinCC flex Zeit in DB

  1. #1
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    heute muss ich euch mal um eine Antwort bitten!
    Ich hoffe ihr könnt mir weiterhelfen.
    Ich habe ein Problem mit WinCC und dem speichern des Zeitwertes in einem DB.
    Zum Problem, habe in WinCC zwei Eingabefelder erstellt. Diese sind mit einem DB verbunden so das der Wert des Eingabefeldes(999) in den DB geschrieben wird. Dieser soll dann als Vorgabe für einen Zeitwert fungieren. Ein Zeitfeld soll in Minunten ausgegeben werden und das andere in Sekunden.
    Leider bekomme ich das nicht gebacken und weiß auch nicht warum das nicht funktioniert.
    Ich hatte die Zeitbasis mit OW W#16#2000 gesetzt aber es funktioniert einfach nicht das ich den Wert einmal in Minuten und einmal in Sekunden rausbekomme.
    Ich habe den DB geladen, dann mit ITB in BCD und dann wieder in den gleichen Bereich geschrieben.

    L DB21.DBW114 //in diesem DB schreib WINCC
    ITB
    T DB21.DBW114
    OW W#16#2000
    L DB21.DBW114
    SA T1

    u T1
    S A25.1
    .
    .
    .


    Mit L DB21.DBW114 wollte ich dann den Zeitwert auslesen und einem Timer zuweisen. Aber ich weiß das das so nicht geht und weiß auch nicht wie ich das hinbekommen kann.
    Für einen Tip wäre ich sehr dankbar.

    Gruß
    Torsten
    Geändert von torstenh (17.02.2009 um 17:58 Uhr)
    Zitieren Zitieren WinCC flex Zeit in DB  

  2. #2
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hallo,
    zuerst möchte ich sagen: Standard Library, IEC Funktion Blocks, dort gibt es die FC40 "TIM_S5TI"; wandelt TIME Format auf S5Time.
    TIME Format ist einfach ein Doppelwort mit Millisekunden drin. Damit kann man umrechnen...
    999 Minuten macht S5Timer sowieso nicht.

    Gruss: V.

    P.S.: Überleg mal, wenn dies in jedem Zyklus berechnet wird, was passiert.. :
    L DB21.DBW114 //in diesem DB schreib WINCC
    ITB
    T DB21.DBW114
    Geändert von vladi (17.02.2009 um 18:02 Uhr)
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Timer  

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

    torstenh (18.02.2009)

  4. #3
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    So, würde ich sagen, wenn überhaupt:

    Code:
    L DB21.DBW114  //in diesem DB schreib WINCC
    ITB 
    OW W#16#2000 
    SA T1
    
    u T1
    S A25.1
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Nochwas..  

  5. Folgender Benutzer sagt Danke zu vladi für den nützlichen Beitrag:

    torstenh (18.02.2009)

  6. #4
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für deine Hilfe!
    Habe noch nicht so viel Erfahrung mit WINCC und Datenzuweisung
    Aber man wächst eben an seine Aufgaben.

    L DB21.DBW114 //in diesem DB schreib WINCC
    ITB
    OW W#16#2000
    SA T1

    u T1
    S A25.1
    Hier wird der Wert in sek ausgegeben, könntest du mir ein Beispiel für die Minutenausgaben nennen? oder muss man da "rechnen"? (Sek in Minunten)
    Mit der FC40 "TIM_S5TI" habe ich noch nicht gearbeitet. Weiß also hier auch nicht wie ich diese anwenden kann.
    Aber ich werde mal sehen wie ich das hinbekomme. Danke nochmals!

    Gruß
    Torsten
    Geändert von torstenh (17.02.2009 um 19:56 Uhr)

  7. #5
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    U M 0.0
    L "Timespeicher".DW_Timewert
    L "Timespeicher".Muliplikator
    *I
    ITB
    OW W#16#3000
    SE T 1

    U T 1
    = M 1.0

    ....das sollte es sein für min!

  8. #6
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Ausrufezeichen

    Zitat Zitat von torstenh Beitrag anzeigen
    U M 0.0
    L "Timespeicher".DW_Timewert
    L "Timespeicher".Muliplikator
    *I
    ...
    Aber Achtung: die Ladebefehle sind nicht VKE bedingt; d.h. die Berechnung oben wird immer gemacht, egal was M0.0 macht.

    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren !  

  9. Folgender Benutzer sagt Danke zu vladi für den nützlichen Beitrag:

    torstenh (18.02.2009)

  10. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    irgendwie gefällt mir das alles nicht ...

    Was hast du nun ?
    Ein DW, in dem der Eingabewert in Minuten steht und eines mit den zugehörigenm Sekunden ? Demnach hättest du dann die Eingaben 3 und 45 für 3 Min. 45 Sek. - oder habe ich das jetzt komplett falsch verstanden ?

    Zum Erstellen der zeitbasis rechnest du jetzt alles in Sekunden um - also :
    Code:
    L #Eingabe_Minuten
    L 60
    *I
    L #Eingabe_Sekunden
    +I
    ITB
    L w#16#2000
    OW
    T #Zeitbasis
     
    U #Startbit
    L #Zeitbasis
    SE T 123
     
    U T 123
    = #Zeit_abgelaufen
    Das sollte es dann sein. Beachte aber bitte, dass bei dieser Eingabe bei 999 Sekunden Schluß ist. Das wäre dann 16 Min. und 39 Sekunden. Danach produziert diese Umwandlung Quatsch.
    Nun könntest du dann noch deine errechnete Verzögerung durch 10 teilen und den Multiplikator auf 3 statt 2 setzen (w#16#3000). Dann kämst du bis 999 * 10Sek. - also 166 Minuten und 30 Sekunden.

    Vielleicht hilft dir das weiter ...
    Gruß
    LL

  11. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    torstenh (18.02.2009)

  12. #8
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @vladi

    ...ja ich weiß, der Merker ist mir so dazwischengerutscht. Lade- und Transferoperationen werden immer ausgeführt.
    danke nochmal!

    @Larry Laffer

    ich habe zwei Eingabefelder für eine Schmierung(WIN CC). Hier soll eine kurze Zeit (sek) für den Schmierimpuls eingegeben werden. In das zweite Eingabefeld soll die Wartezeit bis zum nächsten Schmierimpuls (min) eingegeben werden (Automatik: es soll immer wenn die Maschine läuft geschmiert werden).
    Diese zwei Werte kommen von einem OP und werden jeweils in ein Datenword eines DB`s geschrieben(Wert für Stopzeit DB1.DBW0 und Schmiermittelimpulszeit DB1.DBW2).
    Ich möchte diese Werte nehmen und jeweils zwei Timern zuweisen. Sek funktioniert und mit den Min habe ich des Beispiel oben getestet (PLCSIM).
    Geändert von torstenh (18.02.2009 um 12:50 Uhr)

  13. #9
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Mal 'ne blöde Frage...

    Wenn Du die Minuten und die Sekunden, Also Wartungsintervall und Schmierdauer, schon hübsch in DWs liegen hast, warum zählst Du die DWs nicht einfach herunter?

    Bei "0" übrigen Minuten Intervall = Schmierung
    Bei "0" übrigen Sekunden Schmierung -> Reload interval
    Das Grauen lauert in der Zwischenablage !!

  14. Folgender Benutzer sagt Danke zu dtsclipper für den nützlichen Beitrag:

    torstenh (18.02.2009)

  15. #10
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ....es gibt keine blöden Fragen, nur....


    ja, vielleicht auch eine Variante aber es funzt so wie ich das getan habe und ich bin ein wenig klüger geworden.
    Habe nun mal vor die Taktmerker zu nutzen und mit einem Zähler die Munuten Werte zu generieren. Wenn ich eine Lösung habe stelle ich sie mal hier rein. Aber vielleicht ist es genau das was du meinst?

    (Taktmerker zählt z.B. Sekunden zurück und wenn ein bestimmter Zählwert erreicht ist dann soll etwas passieren)

    mal sehen wie ich das mache.
    Danke nochmals an alle ihr habt mir sehr geholfen!

Ähnliche Themen

  1. Mit WinCC die CPU Zeit auslesen ?!
    Von saustift im Forum HMI
    Antworten: 5
    Letzter Beitrag: 23.08.2010, 12:49
  2. Antworten: 0
    Letzter Beitrag: 14.04.2010, 05:33
  3. Antworten: 4
    Letzter Beitrag: 28.01.2010, 10:38
  4. Antworten: 3
    Letzter Beitrag: 25.06.2007, 17:40
  5. Zeit darstellen in WinCC flexible
    Von geduldiger im Forum HMI
    Antworten: 7
    Letzter Beitrag: 25.06.2007, 15:52

Lesezeichen

Berechtigungen

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