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

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

Thema: Von REAL auf INT mit Komma umwandeln

  1. #1
    Registriert seit
    29.06.2011
    Ort
    NDS
    Beiträge
    24
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Ich hab eine kleine Frage / Problem.
    Ich lese von einer Analogbaugruppe ein skaliere es und speicher es ab, funktioniert alles soweit.
    Das einzige Problem ist das halt die Wert ziemlich ungenau sind da ja ganze Zahlen skaliert werden und nicht Komma zahlen.
    Könnt ihr mir irgendwie helfen das ich genauere Zahlen herraus bekomme?
    Code:
          CALL  "SCALE"
           IN     :=PEW512
           HI_LIM :=2.000000e+001
           LO_LIM :=4.000000e+000
           BIPOLAR:=FALSE
           RET_VAL:=MW102
           OUT    :="MD12"
    -----------------------------
          L     "MD12"
          RND+  
          T     "MW14"
    -----------------------------
          CALL  "SKAL_LINEAR+LIMIT_INT"
           x   :="MW14"
           yMIN:=0
           yMAX:=100
           x0  :=4
           y0  :=0
           x1  :=20
           y1  :=100
           y   :="MW16"
          NOP   0
     
          AUF   DB    11
          L     "MW16"
          T     DBW  200
    -----------------------------
          U     M      0.0                  
          FP    M     10.0                  
          SPBN  M001                        
          L     "MW18"                      
          +     1                          
          T     "MW18"
          L     16
          *I                                
          LAR1                              
          AUF   DB    11                    
          L     "MW16"                            
          T     DBW [AR1,P#0.0]             
          L     "MW18"
          L     99                          
          ==I                               
          SPBN  M001
          L     -1
          T     "MW18"                     
    M001: NOP   0
    Zitieren Zitieren Von REAL auf INT mit Komma umwandeln  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo,
    wenn du die Genauigkeit der Ursprungsvariablen mit :
    Code:
      L     "MD12"
          RND+  
          T     "MW14"
    kaputt machst dann ist das so ...
    Du nimmst entweder das entweder das wahrscheinlich genauere MD12 oder das durch das Abschneiden der Nachkommastellen ungenauere MW14. Dazwischen sehe ich keine Möglichkeit ...

    Was soll es denn werden ...?

    Gruß
    Larry

  3. #3
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Ich verstehe den Sinn deines Codes nicht.

    Rechnest du erst den Analogwert 0-27648 mit dem FC_Scale in mA um?
    Und was möchtest du dann weiter machen?

    Wenn du von mir aus einen Druck von 0-1300mbar über dein 4-20mA Signal bekommst ruf doch den FC_Scale so auf:

    Code:
          CALL  "SCALE"
           IN     :=PEW512
           HI_LIM :=1.300000e+004
           LO_LIM :=0.000000e+000
           BIPOLAR:=FALSE
           RET_VAL:=MW102
           OUT    :="MD12"
    Dann steht im MD12 der Druck in mbar....
    mfG Aventinus

  4. #4
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    wenn du die Genauigkeit der Ursprungsvariablen mit :
    Code:
      L     "MD12"
          RND+  
          T     "MW14"
    kaputt machst dann ist das so ...
    Du nimmst entweder das entweder das wahrscheinlich genauere MD12 oder das durch das Abschneiden der Nachkommastellen ungenauere MW14. Dazwischen sehe ich keine Möglichkeit ...

    Was soll es denn werden ...?

    Gruß
    Larry
    Es gäbe noch die Möglichkeit der Komaverschiebung -> 1000 entspricht 10,00. Interessanter wäre zu wissen, was er vor hat.
    mfG Aventinus

  5. #5
    MasterKalle ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2011
    Ort
    NDS
    Beiträge
    24
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ah sry hab ich ganz vergessen^^

    Ich habe einen Versorgungsschank den ich überwachen soll mit 100A über Messwandler gehe ich runter auf 20mA so das ich auf die Analogbaugruppe gehen kann. Will sie dann aber halt wieder in Ampere speichern anstatt in mA
    Soll dann später mit WinCC angezeigt und mit Archives endgüglitg gespeichert werden ( aber das ist dann Schritt 2)
    Geändert von MasterKalle (30.09.2011 um 11:27 Uhr)

  6. #6
    Registriert seit
    30.04.2005
    Beiträge
    908
    Danke
    57
    Erhielt 161 Danke für 147 Beiträge

    Standard

    Dann nimm doch den Scale mit Lo auf 0,0 High auf 100,0.
    Dann hast in deinem MD12 0-100A in Real liegen. Genauer geht es nicht.
    Dein AE muss auf 4-20mA eingestellt sein.
    Krieg ist Gottes Art den Amerikanern Geographie beizubringen

  7. Folgender Benutzer sagt Danke zu centipede für den nützlichen Beitrag:

    MasterKalle (18.10.2011)

  8. #7
    MasterKalle ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2011
    Ort
    NDS
    Beiträge
    24
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Aber aus dem Scale krieg ich doch keine vernüftige Zahl raus müsste ich ja auch irgendwie umwandeln. oder liege ich jetzt komplett daneben ?

  9. #8
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Du bekommst einen Wert (Real) zwischen 0.0 und 100.0

    Wenn du den jetzt mit rnd rundest bekommst du einen Integer zwischen 0 und 100. Wenn das nicht genau genug ist, kannst du ja vorm Runden den Real-Wert mit 10 mulitplizieren und dann in WinCC den Integer mit einer Nachkommastelle anzeigen. ich bezweifle aber fast dass du einen Wandler mit einer Genauigkeitsklasse kleiner als 1 hast, und insofern sollte die Anzeige in A völlig ausreichend sein.
    mfG Aventinus

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

    Standard

    Zitat Zitat von MasterKalle Beitrag anzeigen
    Aber aus dem Scale krieg ich doch keine vernüftige Zahl raus müsste ich ja auch irgendwie umwandeln. oder liege ich jetzt komplett daneben ?
    wie centipede schrieb....

    bei 0-20mA

    100A = 20mA-Signal -->Scale Hi = 100.0
    0A = 0mA-Signal -->Scale Lo= 0.0

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

    MasterKalle (18.10.2011)

  12. #10
    MasterKalle ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2011
    Ort
    NDS
    Beiträge
    24
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ah ok werde ich nächste Woche mal ausprobieren. melde mich dann zurück

    jetzt erstmal allen ein schönes Wochenende

Ähnliche Themen

  1. Real zahl in INT umwandeln
    Von bacardischmal im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 20.03.2009, 18:17
  2. Umwandeln von Word in Real
    Von SPS_NEU im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 06.03.2009, 14:46
  3. REAL in BYTE umwandeln
    Von Terence_Hill im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.01.2008, 20:03
  4. REAL in Integer umwandeln
    Von dummyuser im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.10.2006, 14:59
  5. Umwandeln von S7 Real auf S5 KG
    Von repök im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.04.2006, 02:49

Stichworte

Lesezeichen

Berechtigungen

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