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

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

Thema: SCL: S5Time to Word

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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    gibt es innerhalb von SCL eine Möglichkeit den Variablentyp S5Time in WORD (oder INT) umzuwandeln ?
    Mir ist bislang nur die Möglichkeit eines AWL-FC's eingefallen, aber gefallen tut mir das nicht ...
    Zitieren Zitieren SCL: S5Time to Word  

  2. #2
    Registriert seit
    21.03.2004
    Beiträge
    65
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo Larry Laffer

    Code:
    VAR_TEMP
     S5Ti  : S5TIME; 
     Reg   AT S5Ti  : WORD ;
    END_VAR
    
    S5Ti :=  xxx;    //S5Time zuweisen
    In " Reg " steht die Zeit im WORD Format(HEX) ;
    mfG
    hg

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

    Larry Laffer (15.05.2007)

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

    Zitat Zitat von hg Beitrag anzeigen
    Hallo Larry Laffer

    Code:
    VAR_TEMP
     S5Ti  : S5TIME; 
     Reg   AT S5Ti  : WORD ;
    END_VAR
    
    S5Ti :=  xxx;    //S5Time zuweisen
    In " Reg " steht die Zeit im WORD Format(HEX) ;
    mfG
    hg
    Aber darauf http://www.sps-forum.de/showthread.php?t=2942 acht geben, du willst die s5time ja sicher irgendwie weiterverarbeiten.
    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. #4
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    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

    Danke für die Lösung, hab sie zwar noch nicht ausprobieren können, aber das sieht gut aus ...
    Warscheinlich geht der Weg anders herum genau so ...

    @Ralle: Hatte ich schon bedacht. Ich wollte sie hauptsächlich wegen der Weiterberechnung in WORD.

  6. #5
    Registriert seit
    28.09.2007
    Ort
    Mexicali
    Beiträge
    39
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich wollte jetzt auch mal eine variable Zeit in SCL programmieren und habe folgenden Code geschrieben:

    Code:
    // aktTime ist WORD (da BCD Format WORD-breit ist)
    // aktTimeIn ist S5TIME
    
        "aktTime" := INT_TO_BCD("t_pause" * 10);
        "aktTime" := "aktTime" AND W#16#FFF;
        "aktTime" := "aktTime" OR W#16#1000;
        "aktTimeIn" := "aktTime";
        
        currTime:= S_ODT  ( T_NO    := T0,
                            S       := Start_Timer,
                            TV      := "aktTimeIn",
                            Q       := Timer_Fertig
                            );
    Jetzt meckert der Compiler bei der Zuweisung von aktTime nach aktTimeIn rum und sagt, dass der Datentyp nicht stimmt. Wie bekomme ich meinem Zeitwert im BCD-Format (16 Bit) nach S5TIME? Bzw. gibt es eine einfachere Löösung für die variable Zeit in SCL?

    vielen Dank und viele Grüße von mir

    Lars
    Zitieren Zitieren SCL: WORD zu S5TIME  

  7. #6
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    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

    Hallo,
    du musst eine andere Sicht auf deine Variable für die Zuweisung machen :
    Code:
    var
       aktTime : WORD ;
       aktTimeIn : S5TIME ;
        w_aktTimeIn at akt_TimeIn : word ;
    
       und im Code dann :
     
       w_aktTimeIn := aktTime ;
    Gruß
    LL

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

    lindnerlars (12.08.2008)

  9. #7
    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 bessere Lösung ist m.E. nach, gar nicht die S5-Timer zu verwenden, sondern dir IEC-Timer aus der Stabdard-Library. Dazu solltest du aber am besten einen Multiinstanz-FB verwenden, ansonsten benötigst du für jeden IEC-Timer einen eigenen IDB! Such mal in der Standard-Library unter IEC-Funktionblocks nach TON, TOFF und schau dir die Hilfe dazu an. Du hast dann auch nicht die Probleme mit T_No, die ja bei den S5Timern immer explizit angegeben werden muß und nie doppelt vergeben werden darf.
    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. #8
    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

    Ansonsten gibt es noch den FC40 in den IEC-Funktion Blocks, der wandelt Time in s5Time.
    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

  11. #9
    Registriert seit
    28.09.2007
    Ort
    Mexicali
    Beiträge
    39
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    an Larry:

    Danke für deinen Tipp, ich versuch das mal so...aber wo ist da der Unterschied zu meiner Variante? Du definierst die Variablen lokal in der Schnittstelle der FC und ich benutze globale Variablen? Und was macht die Zeile hier?:

    Code:
    w_aktTimeIn at akt_TimeIn : word;
    an Ralle:

    Danke auch dir für deinen Tipp, aber ich wollte es so einfach, wie möglich machen...ich kuck mir das trotzdem bei Gelegenheit mal an...den FC40 hatte ich auch schon gesehen

    Gruß Lars
    Zitieren Zitieren Timer mit variabler Zeitvorgabe  

  12. #10
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Lars,
    das ist genau der Trick bei der AT-Sicht. Lies dir bitte dazu auf jeden Fall den Abschnitt in der SCL-Hilfe durch.

    Die Befehlszeile von mir bewirkt, dass die Variable "w_aktTimeIn" als künstliche Sicht der Variablen "aktTimeIn" vom Typ WORD angesehen wird. Du arbeitest dabei mir der Ursprungs-Variablen weiter. Es entsteht nur eine andere "Sicht-"Weise ... Damit kommt SCL dann klar.

    Gruß
    LL

Ähnliche Themen

  1. S5Time
    Von penki im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.05.2010, 13:26
  2. S5TIME bei TP170A
    Von settelma im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.07.2009, 12:05
  3. OP S5time
    Von seb992000 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 22.07.2008, 08:14
  4. S5Time onlineansicht in AWL
    Von Padawan im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.12.2007, 22:01
  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
  •