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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: S5time aus dem DB aufrufen

  1. #1
    Registriert seit
    07.07.2005
    Beiträge
    262
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich möchte gerne eine Zeit mit dem OB77 verändern. Hab mir überlegt das ich diese Zeit einfach in einen DB schreibe, da ich dieses so oder so komplett ans OB übergeben muss. Jetzt kann ich aber an meinem Zeitglied nicht die S5Time aufrufen. Wie bekomm ich die Zeit an meinen Timer?
    Zitieren Zitieren S5time aus dem DB aufrufen  

  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

    1. Wenn das OP S5Time-Werte schreiben kann:
    Du legst in deinem DB eine Variable vom Typ S5Time und schreibst dort deinen Zeitwert hinein. Diese Variable schreibst du an den Timer.
    2. Wenn das OP keine S5Time schreiben kann:
    Du nimmst ein DWord, schreibst dort den Zeitwert in ms hinein und rechnest den TZeitwert vor dem Zeitglies in eine S5Time um (Siehe Forum-FAQ, da steht wie).
    3. Wenn das OP keine S5Time schreiben kann:
    Du nimmst ein DWord, schreibst dort den Zeitwert in ms hinein und nimmst aus der Standard-Library den TON-Baustein, der das direkt verarbeiten kann (Siehe Datentyp Time).
    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. #3
    BastiMG ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.07.2005
    Beiträge
    262
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich denke schon das das OP einen Zeitwert schreiben kann.

    Aber was muss ich an dem Timer schreiben? Wo sonst s5t#10s steht, wenn ich den DB verwenden willl?

  4. #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

    Im DB (DB_Timer) legst du eine Varible an:

    DB_Time S5TIME S5T#400MS

    an den Timer: "DB_Timer".DB_Time
    oder absolut adressiert: DB400.DBW100
    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

  5. #5
    BastiMG ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.07.2005
    Beiträge
    262
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sehr gut! Nimmt der Timer an.

    Klappt das denn auch wenn ich den Wert über das OB in den DB schreibe?

  6. #6
    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

    Wenn das OP da eine s5Time reinschreibt klappt das. Der Wert wird immer beim Start der Zeit übernommen, d.h. wenn du den Wert änderst , während die Zeit läuft, wird noch der alte Zeitwert abgearbeitet.
    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

  7. #7
    BastiMG ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.07.2005
    Beiträge
    262
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sehr gut.

    BEsten Danke!

    Auch für die Antwort mit der doppelten Speicherung.

  8. #8
    BastiMG ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.07.2005
    Beiträge
    262
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich nochmal!

    Jetzt kann ich aus dem OP aber nur Werte im ms Bereich in die SPS schreiben.

    Hab als Anfangswert schon 1h deklariert aber wenn ich dann übers OP den Wert änder springt die SPS bzw. der DB immer in den Millisekundenbereich. Wieso??

  9. #9
    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

    Was schreibst du gerade rein, Dezimal und rechnest das in S5Time um oder Dezimal und das dann an TON?
    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

  10. #10
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit der Eingabe von S5-Time von einer HMI ist das immer so eine Sache. Ich habe mir da mal einen Baustein geschrieben, der Integer nach S5 Time wandelt.
    Über eine Input-Var. kannst Du auswählen ob der Integer-Wert Millisekunden, Sekunden oder Minuten entsprechen soll.
    Schau es Dir einfach mal an, vielleicht hilft`s Dir ja.

    Code:
    FUNCTION FC 201 : VOID
    TITLE =INT_to_S5 Time
    //Einheit = 1->ms
    //Einheit = 2->sek
    //Einheit = 3->min
    AUTHOR : Ne
    FAMILY : WinCC
    NAME : Int_S5T
    VERSION : 0.1
     
    VAR_INPUT
      Einheit : BYTE ; //1=ms 2=s 3=min
    END_VAR
    VAR_OUTPUT
      S5_Time : S5TIME ; 
    END_VAR
    VAR_IN_OUT
      IN : INT ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =In- Wert muß im positiven Bereich liegen
    //ist dies nicht der Fall, wandle in Pos. Zahl
          L     #IN; 
          L     0; 
          <I    ; 
          SPBN  noer; 
          TAK   ; 
          NEGI  ; 
          T     #IN; 
          BEA   ; 
    NETWORK
    TITLE =Umrechnung wählen 
    //Soll der Integerwert Millisekunden, Sekunden oder Minuten entsprechen?
    noer: L     #Einheit; 
          L     B#16#1; 
          ==I   ; 
          SPB   ms; //springe zur Wandlung in ms
          TAK   ; 
          L     B#16#2; 
          ==I   ; 
          SPB   sek; //springe zur Wandlung in Sekunden
          TAK   ; 
          L     B#16#3; 
          ==I   ; 
          SPB   min; //springe zur Wandlung in Minuten
          SPA   sek; //bei allen anderen Eingaben in Sekunden wandeln
     
    NETWORK
    TITLE =IN- Wert in Millisekunden
    ms:   L     #IN; 
          L     9990; 
          >I    ; 
          SPB   ms1; 
          TAK   ; 
          L     10; 
          /I    ; 
          ITB   ; 
          T     #S5_Time; //Zeitbasis 10 ms
          BEA   ; 
    ms1:  L     #IN; 
          L     100; 
          /I    ; 
          ITB   ; 
          OW    W#16#1000; //Zeitbasis 100ms
          T     #S5_Time; 
          BEA   ; 
    NETWORK
    TITLE =In- Wert in Sekunden
    sek:  L     #IN; 
          L     999; 
          >I    ; 
          SPB   sek1; 
          TAK   ; 
          ITB   ; 
          OW    W#16#2000; 
          T     #S5_Time; //Zeitbasis 1s
          BEA   ; 
    sek1: L     #IN; 
          L     9990; 
          >I    ; 
          SPB   err1; 
          TAK   ; 
          L     10; 
          /I    ; 
          ITB   ; 
          OW    W#16#3000; 
          T     #S5_Time; //Zeitbasis 10s
          BEA   ; 
     
    NETWORK
    TITLE =In- Wert in Minuten
    min:  L     #IN; 
          L     166; 
          >I    ; 
          SPB   err2; 
          TAK   ; 
          L     6; 
          *I    ; 
          ITB   ; 
          OW    W#16#3000; 
          T     #S5_Time; //Zeitbasis 10s
          BEA   ; 
    NETWORK
    TITLE =Eingabewerte zu groß
    err1: L     9990; //größtmöglicher Eingabewert
          T     #IN; //für S5_Time in sek
          BEA   ; 
    err2: L     166; //größtmöglicher Eingabewert
          T     #IN; //für S5_Time in min
     
    END_FUNCTION
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

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

    Little-JO (04.02.2013)

Ähnliche Themen

  1. S5Time
    Von penki im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.05.2010, 13:26
  2. Restzeit S5Time
    Von marcel0509 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.02.2010, 07:34
  3. OP S5time
    Von seb992000 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 22.07.2008, 08:14
  4. REAL in S5time
    Von tomatensaft im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 04.09.2007, 16:27
  5. S5Time in Ganzzahl
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.11.2005, 13:21

Lesezeichen

Berechtigungen

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