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

Ergebnis 1 bis 6 von 6

Thema: Skalierung in AWL

  1. #1
    Registriert seit
    25.10.2009
    Beiträge
    47
    Danke
    5
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    wollte über den Analogeingang eine Spannung von 3 bis 8 Volt einlesen und auf ein Wert von 150 bis 240 skalieren.Hab einen Skalierbaustein in AWl geschrieben.Aber leider funktioniert er nicht richtig.Ich kann keinen Fehler finden.Vielleicht könnt ihr mir helfen.


    Code:
          L     #Analogeingang
          DTR   
          T     #AnalogeingangReal
    
          L     #Xmax
          ITD   
          DTR   
          T     #ObergrenzeEinReal
    
          L     #Xmin
          ITD   
          DTR   
          T     #UntergrenzeEingangReal
    
          L     #YmaxNormierung
          L     #YminNormierung
          -R    
          T     #ErgebnisY
    
          L     #ObergrenzeEinReal
          L     #UntergrenzeEingangReal
          -R    
          L     #ErgebnisY
          /R    
          L     #AnalogeingangReal
          *R    
          T     #Ergebnis
    Hier die Beschaltung des FB.
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Skalierung in AWL  

  2. #2
    Registriert seit
    27.12.2009
    Beiträge
    93
    Danke
    4
    Erhielt 20 Danke für 18 Beiträge

    Standard

    Hallo, hier mach ich folgendes:

    Code:
    FUNCTION FC 105 : VOID
    TITLE =Skalieren/Normieren von Analogsignalen zu Integer
    //
    //           Ogr_NB-Ugr_NB
    //NormWert = -------------  x  (Ana_In - Ugr_EB) + Ugr_NB
    //           Ogr_EB-Ugr_EB
    //
    VERSION : 0.1
    
    
    VAR_INPUT
      Ana_In : WORD ;    //Analog Input
      Ogr_EB : REAL ;    //Obere Grenze Eingangsbereich
      Ugr_EB : REAL ;    //Untere Grenze Eingangsgereich
      Ogr_NB : REAL ;    //Obere Grenze Normierungsbereich
      Ugr_NB : REAL ;    //Untere Grenze Normierungsbereich
    END_VAR
    VAR_OUTPUT
      NormWert : INT ;    //Normierter Ausgangsert (Integer)
    END_VAR
    VAR_TEMP
      Ana_In_Real : REAL ;    //Eingangs-Analogwert in Real
      Delta_EB : REAL ;    //Differenz von Eingangsbereich
      Delta_NB : REAL ;    //Differenz von Normierungsbereich
    END_VAR
    BEGIN
    NETWORK
    TITLE =Eingangs-Analogwert in Real
    
          L     #Ana_In; 
          ITD   ; 
          DTR   ; 
          T     #Ana_In_Real; 
    NETWORK
    TITLE =Differenz von Eingangsbereich
    
          L     #Ogr_EB; 
          L     #Ugr_EB; 
          -R    ; 
          T     #Delta_EB; 
    NETWORK
    TITLE =Differenz von Normierungsbereich
    
          L     #Ogr_NB; 
          L     #Ugr_NB; 
          -R    ; 
          T     #Delta_NB; 
    NETWORK
    TITLE =
    
          L     #Ana_In_Real; 
          L     #Ugr_EB; 
          -R    ; 
          L     #Delta_NB; 
          *R    ; 
          L     #Delta_EB; 
          /R    ; 
          L     #Ugr_NB; 
          +R    ; 
          RND   ; 
          T     #NormWert; 
    NETWORK
    TITLE =Baustein-Ende
    
          BEA   ; 
    
    END_FUNCTION
    Ich wünsche weiter viel Erfolg!

    S7_Programmer

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

    adi5 (17.01.2010)

  4. #3
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.786
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    Mir fehlt ein wenig an deiner Frage etwas, ich würde gerne
    die Variablen Deklaration sehen, um zu beurteilen ob das
    Format passt.
    Zusätzlich würde ich gerne deine Formel sehen, wie du das
    berechnen würdest. Irgendwas fehlt mir da bei deinen Code.


    hier mal eine Normierungsformel als beispiel
    Code:
     
              OGRNB - UGRNB
    REAW = ----------------- * ( AE - UGREB ) + UGRNB
              OGREB - UGREB
     
    REAW   =  Normierter Analogwert
    OGRNB  =  Obergrenze Eingangs-Nennbereich
    UGRNB  =  Untergerenze Eingangs-Nennbereich
    OGRNB  =  Obergrenze Normierungsbereich
    UGRNB  =  Untergrenze Normierungsbereich
    AE     =  Digitalisierter Analogeingabewert
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

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

    adi5 (17.01.2010)

  6. #4
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Warum nicht den Standard FC105 aus der Bibliothek nehmen ?

    UG 96
    OG 276

  7. #5
    Registriert seit
    27.12.2009
    Beiträge
    93
    Danke
    4
    Erhielt 20 Danke für 18 Beiträge

    Standard

    hallo,

    der FC105 von Siemes arbeitet nur bis zu den Grenzwerten der Analog-Karte.
    Den vorgestellten Skalierbaustein kann man immer einsetzen (auch zum Umrechnen unabhängig von Analogwerten). Wenn am andere E/A Bereiche (Int/Dint/Real) will, muss man den Code bei den Umwandlungen entsprechend anpassen.

    Den Baustein habe ich einmal erstellt und ist x-mal im Einsatz.

    Viele Grüße

    S7_Programmer

  8. #6
    adi5 ist offline Benutzer
    Themenstarter
    Registriert seit
    25.10.2009
    Beiträge
    47
    Danke
    5
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    vielen Dank für eure Antworten.Ich hab die Formel ohne eine Nullpunktverschiebung der Geraden genommen.

    Alsoy2-y1)/(x2-x1)*Ai

Ähnliche Themen

  1. Problem Skalierung
    Von Ulli_FHBRB im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.10.2010, 09:10
  2. Analogwert Skalierung
    Von der_poly im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.11.2008, 09:44
  3. Analogeingang skalierung
    Von Andi_W im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.04.2008, 20:36
  4. Skalierung von Analogwert
    Von settelma im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 19.03.2008, 21:17
  5. Skalierung NTC S7/300
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 08.06.2005, 15:09

Lesezeichen

Berechtigungen

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