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

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

Thema: SA Timer Wert in Flexible anzeigen

  1. #1
    Registriert seit
    29.06.2008
    Beiträge
    25
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Ich möchte ohne große Umwege den aktuellen Wert eines SA Timers (vom Dual oder Dez Ausgang) mit WinCC flexible 2008 darstellen.
    geht dies auf dierektem Weg??? DW = Anzeige???

    Gruß und Dank im Vorraus
    Zitieren Zitieren SA Timer Wert in Flexible anzeigen  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Code:
    LC T3
    T "Anzeige"

  3. #3
    Registriert seit
    26.01.2010
    Ort
    Kreuztal
    Beiträge
    68
    Danke
    19
    Erhielt 30 Danke für 12 Beiträge

    Standard

    Wenn du in der Step7-Hilfe mal "s5-Time" suchst, wird Dir angezeigt wie die Zeit dargestellt wird. Die musst Du dann noch umwandeln in ein lesbares Format.
    Wer nicht tanzen kann, gibt dem Fußboden die Schuld

  4. #4
    overflow ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2008
    Beiträge
    25
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe den aktuellen Wert in einem DB auf einem DW liegen.
    So weit so gut.
    Nur leider kann ich in WinCC flexible nicht das format s5 Time wählen. Denn dann würde es ja wahrscheinlich richtig angezeigt.

    Ich glaube ich steh da so ziehmlich breit auf dem Schlauch

  5. #5
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Code:
    LC T3
    T "Anzeige
    Im Display die Variable "Anzeige" auf "dezimal" und fertig

  6. #6
    Registriert seit
    26.01.2010
    Ort
    Kreuztal
    Beiträge
    68
    Danke
    19
    Erhielt 30 Danke für 12 Beiträge

    Beitrag

    Nein, das geht auch meines Wissens nicht. Deswegen: siehe oben

    @verpolt: Aber dann hat er doch die Zeitbasis nicht beachtet, oder?
    Bsp: Der Timer ist auf 5s eingestellt. Dann läuft seine Anzeige von 500 bis 0 (bei einer Zeitbasis von 10ms).
    Geändert von TimoB (05.06.2012 um 09:54 Uhr)
    Wer nicht tanzen kann, gibt dem Fußboden die Schuld

  7. #7
    overflow ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2008
    Beiträge
    25
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    genau so habe ich das gemacht!!!

    Ein E/A Fenster und dann dezimal. Ich bekomme dann aber nicht 9m10s00ms angezeigt sonder z.B. 9433.

    Was mache ich da falsch???

    Ich könnte natüchlich auch alles auseiander pflücken und dann die Min/Sec/mS einzeln anzeigen mit einem : zwischen den Zahlen, aber das möchte ich eben nicht.
    Geändert von overflow (05.06.2012 um 09:59 Uhr)

  8. #8
    Registriert seit
    26.01.2010
    Ort
    Kreuztal
    Beiträge
    68
    Danke
    19
    Erhielt 30 Danke für 12 Beiträge

    Standard

    " Wenn Sie die Zeitdauer mit dem Datentyp S5TIME eingeben, werden Ihre Eingaben im BCD-Format gespeichert. Nachfolgendes Bild zeigt den Inhalt des Zeitoperanden bei einem Zeitwert von 127 und einer Zeitbasis von 1 s.

    BIT 15.. ..8 7.. ..1
    X X 1 0 , 0 0 0 1 , 0 0 1 0 , 0 1 1 1

    Zeitbasis:1s 1 2 7



    Wenn Sie mit S5TIME arbeiten, geben Sie einen Zeitwert im Bereich von 0 bis 999 ein und bezeichnen eine Zeitbasis (siehe nachfolgende Tabelle). Die Zeitbasis gibt das Intervall an, in dem eine Zeit den Zeitwert um je eine Einheit vermindert, bis er "0" erreicht.
    Zeitbasis für S5TIME

    Zeitbasis
    Binärcode für Zeitbasis
    10 ms
    00
    100 ms
    01
    1 s
    10
    10 s
    11


    Mit der folgenden Syntax können Sie einen vordefinierten Zeitwert laden:

    • L1) W#16#wxyz




        • mit: w = Zeitbasis (d. h. Zeitintervall oder Auflösung)
        • xyz = Zeitwert im BCD-Format




    • L1) S5T#aH_bbM_ccS_dddMS




        • mit: a = Stunden, bb = Minuten, cc = Sekunden und ddd = Millisekunden.
        • Die Zeitbasis wird automatisch gewählt und der Wert zur nächstniederen Zahl mit dieser Zeitbasis gerundet.



    Sie können einen Zeitwert von max. 9 990 Sekunden bzw. 2H_46M_30S eingeben."


    Der obige Text ist aus der Hilfe von Step7

    Deine 9m10s sind 550s

    550 BCD = 9552 Dezimal



    OHNE Umweg geht es NICHT!


    Geändert von TimoB (05.06.2012 um 10:29 Uhr)
    Wer nicht tanzen kann, gibt dem Fußboden die Schuld

  9. #9
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    also um die zeit im hmi darzustellen einfach eine variable vom typ: timer anlegen. als adresse dann die zeit.
    im bild ein a-feld anlegen anzeige: dezimal, darstellung: 9999999. nachkommastelle um 3 verschieben. willst du keine kommastellen muss du den wert linear skalieren. die anzeige erfolgt in sekunden.

    eine anzeige im format stunden:minuten:sekunden ist nicht möglich.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    Registriert seit
    26.01.2010
    Ort
    Kreuztal
    Beiträge
    68
    Danke
    19
    Erhielt 30 Danke für 12 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier mal ein Beispiel (geht wahrscheinlich auch eleganter und unkomplizierter).

    Vorher von AWL in FUP umwandeln, dann wirds verständlicher


    Code:
     U     E    124.0
          L     S5T#9M20S
          SA    T     10
          NOP   0
          L     T     10
          T     MW   300
          LC    T     10
          T     MW   100
          NOP   0
    MW100 ist die Restzeit im BCD-Format. Die Bits M100.4 und M100.5 legen die Zeitbasis fest
    MW300 ist die Restzeit im Dezimalformat (z.B.: 550 bei 9m10s)

    Code:
      U     M    100.5
          U     M    100.4
          =     L     24.0
          U     L     24.0
          BLD   102
          =     M      0.1
          UN    L     24.0
          U     M    100.5
          UN    M    100.4
          =     L     24.1
          U     L     24.1
          BLD   102
          =     M      0.2
          UN    L     24.1
          UN    M    100.5
          U     M    100.4
          =     L     24.2
          U     L     24.2
          BLD   102
          =     M      0.3
          U     L     24.2
          UN    M    100.5
          UN    M    100.4
          =     M      0.4

    Im oberen Netzerk wird die Zeitbasis festgestellt


    Code:
      L     MW   300
          T     MD   400
          NOP   0

    Zum Umrechnen der Restzeit wandle ich sie hier in REAL um


    Code:
     U(    
          U(    
          U(    
          U     M      0.4
          SPBNB _001
          L     MD   400
          L     1.000000e+002
          /R    
          T     MD   500
          UN    OV
          SAVE  
          CLR   
    _001: U     BIE
          )     
          NOT   
          U     M      0.3
          SPBNB _002
          L     MD   400
          L     1.000000e+001
          /R    
          T     MD   500
          UN    OV
          SAVE  
          CLR   
    _002: U     BIE
          )     
          NOT   
          U     M      0.2
          SPBNB _003
          L     MD   400
          L     1.000000e+000
          /R    
          T     MD   500
          UN    OV
          SAVE  
          CLR   
    _003: U     BIE
          )     
          U     M      0.1
          SPBNB _004
          L     MD   400
          L     1.000000e-001
          /R    
          T     MD   500
    _004: NOP   0
    Im obigen Netzwerk wird die Restzeit vom DEZ-WERT in Sekunden umgerechnet
    (Bsp.: 1h9m20s --> Zeitbasis 10s --> RestzeitDEZ 416
    Also muss ich die Restzeit mit 10 multiplizieren um die tatsächliche Zeit in Sek zu erhalten)


    Code:
     L     MD   500
          T     MD   600
          NOP   0

    Zum Schluss habe ich das Ergebnis von REAL in DWORD gewandelt weil ich es sonst nicht auf der Anzeige darstellen konnte (Weiß nicht ob das wirklich nötig ist)
    Wer nicht tanzen kann, gibt dem Fußboden die Schuld

Ähnliche Themen

  1. Datenwort als TW Wert im Timer
    Von dada1983 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 05.05.2013, 21:53
  2. Antworten: 13
    Letzter Beitrag: 10.01.2011, 07:42
  3. Zeiten / Timer im OP170B Anzeigen
    Von russkinemez im Forum HMI
    Antworten: 3
    Letzter Beitrag: 29.03.2007, 19:45
  4. Antworten: 0
    Letzter Beitrag: 09.10.2006, 20:30
  5. mit vke wert in timer schreiben !?
    Von tinnitus im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 14.12.2005, 19:27

Lesezeichen

Berechtigungen

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