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

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

Thema: Normierung in SCL < Problem >

  1. #1
    Registriert seit
    01.04.2010
    Ort
    Frankenthal (Pfalz)
    Beiträge
    5
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich will mit einer SCL-Quelle eine Funktion zur Normierung eines Wertes erstellen.

    Leider bekomme ich als Berechnung der Temperatur immer eine Null!

    Wo liegt mein Fehler? Ich steh total aufm Schlauch.
    Ich habe die Gleiche Formel in AWL, direkt in ein FC geschrieben und die Funktioniert.

    Code:
    FUNCTION FC50 : DINT
    
    VAR_TEMP        // temporäre Variablen
        zwT_max: DINT;   // Zwischenwert Tmax in 1/1000000°C
        zwT_min: DINT;   // Zwischenwert Tmin in 1/1000000°C
        T_ist1: DINT;   // IST-Temperatur in 1/1000000°C      
    END_VAR
    
    
    VAR_INPUT
        PEW: INT;       // PEW vom Temperatursignal
        UGPEW: INT;    // PEW UG 5% = 0,45V
        OGPEW: INT;    // PEW OG 95% =8,55V 
        T_min:  INT;    // Tmin vom Temperaturbereich
        T_max:  INT;    // Tmax vom Temperaturbereich
    END_VAR
    
    
    VAR_OUTPUT
        T_ist:  INT;    // Ist Temperatur 
    END_VAR    
    
    
    // Anweisungsteil    
        zwT_max:= T_max*1000000;
        zwT_min:= T_min*1000000;
          
        T_ist1:= (PEW - UGPEW) * ((T_max - T_min) / (OGPEW - UGPEW)) + T_min;  // Normierung des PEW in IST Temperatur
        T_ist1:= T_ist1/100000;  // Temperatur in 1/10°C
        T_ist:= DINT_TO_INT(T_ist1);
        
        FC50 := T_ist;
        
        
    END_FUNCTION
    Vielen Dank für eure Unterstützung
    Zum wohl der Pfalz
    Zitieren Zitieren Normierung in SCL < Problem >  

  2. #2
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    heute bin ich verwirrt.sollte zuerst alles lesen
    Geändert von Gerhard K (01.04.2010 um 18:18 Uhr)
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  3. #3
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    was bedeutet diese Anweisung??

    FC50 := T_ist; ich bin kein SCL Profi,aber kannst du mir sagen was das bewirken soll?
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  4. #4
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    aha hab ich schon rausgefunden,ist ein FC mit Funktionswert
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  5. #5
    Pfalz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.04.2010
    Ort
    Frankenthal (Pfalz)
    Beiträge
    5
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Gerhard,
    so gehts mir auch.

    mit PEW meine ich den INT eines Eingangskanals 0...27648 Digits

    Ich würde gerne einen Screen-shoot des Bausteins einfügen aber ich weis nicht wie das funktioniert.
    Zum wohl der Pfalz

  6. #6
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    FC50 := T_ist; FC50 ist DINT und dein T_ist ist ein INT, liegt es vielleicht daran?
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  7. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Hast du alle Werte sinnvoll vorbelegt?
    Wo hast du die 0 Grad? Am T_ist oder der Returnwert?

    Also ich würde einfach mit debug kompilieren, dann kannst du dir die Werte und das Ergebnis Online anzeigen lassen.


    bike

  8. #8
    Pfalz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.04.2010
    Ort
    Frankenthal (Pfalz)
    Beiträge
    5
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    nein, hab sowohl DINT als auch INT versucht.
    Zum wohl der Pfalz

  9. #9
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    Zeig mal bitte deinen AWL-Baustein, der die gleiche Funktion macht und funktioniert.

    Vielleicht liegt es daran, dass du die ganze Zeit mit Int bzw. Dint Werten rechnest.

  10. #10
    Registriert seit
    01.04.2010
    Beiträge
    306
    Danke
    18
    Erhielt 38 Danke für 37 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    also ich bin zwar auf dem gebiet nicht ganz versiert aber ich würte sagen der fehler liegt in der folgenden Zeile:

    T_ist1:= (PEW - UGPEW) * ((T_max - T_min) / (OGPEW - UGPEW)) + T_min; // Normierung des PEW in IST Temperatur

    wenn du nicht sicherstellen kannst das bei einer Teilung von Zahlen immer gerade (keine Kommazahlen) Zahlen bei rumkommen solltest du vollständig mit REAL Zahlen arbeiten und nicht mit INT bzw. DINT

    Gruß
    SK
    Geändert von SKg (01.04.2010 um 20:09 Uhr)

Ähnliche Themen

  1. Probleme mit Normierung
    Von tymanis im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 28.05.2010, 19:39
  2. Normierung mit FC 105
    Von uz_ohio im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.05.2010, 12:28
  3. Analogwert Normierung
    Von vogel77 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 09.01.2007, 19:33
  4. Normierung und Datenwörter.
    Von Tigerkroete im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 21.06.2006, 19:12
  5. Analogwert Normierung für die 135 U
    Von Bernd_B im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.10.2005, 17:03

Lesezeichen

Berechtigungen

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