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

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

Thema: jaja, die ganzen Zahlenformate, bitte um rat

  1. #1
    Registriert seit
    13.07.2006
    Ort
    Dortmund
    Beiträge
    53
    Danke
    3
    Erhielt 3 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo, schöne weihnachtsfeiertage erstmal.

    also, ich bastel hier gerade an einer bandsteuerung, und ich habe die arithmetik für so was noch nie gemacht. ich habe auch schon gegoogelt, allerdings nichts ordentliches gefunden.

    ich habe eine geschwindigkeitsvorgabe INT 0...1000
    ich muss ein vom bediener eingestellten aufschlag dazu addieren und ausgeben. der aufschlag wird in 0,00...100,00 % skalliert.

    also muss ich mir meinen sollwert von INT auf REAL umwandeln, um ihn mit dem Realwert aus dem OP zu verrechnen. das rechnen is alles nicht das problem, aber wie gekomme ich die REAL wieder in INT zurück? über STRUNC und dann von DINT in BCD und dann von BCD in INT? das kann es doch nicht sein oder? ich habe auch schon gedacht, ich nehme mir von dem DINT-wert die letzten 2 byte, da hätt ich doch auch den wert allerdings ohne vorzeichen, oder?

    arbeite im step 7 v5.3 das ganze soll auf ner 315-2dp ablaufen

    ich habe heir auch das buch von hans berger liegen, allerdings hat er im kapittel 12 = umwandlungsfunktionen eine schöne skizze, was es alles für umwandlungsfunktionen gibt. allerdingskeine möglichkeit von dint ->int?

    ich hatte auch schonmal mit

    L Realwert
    RND
    T int

    da bekomm ich 365 anstatt 859 raus

    danke für die bemühungen im vorraus, mfg, flo
    Geändert von Flo-1- (25.12.2006 um 22:17 Uhr)
    Zitieren Zitieren jaja, die ganzen Zahlenformate, bitte um rat  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Wenn sich die DINT im Bereich zwischen -32768 und +32767 befindet, kann einfach das niederwertige Wort verwendet werden. Das Vorzeichen ist da automatisch mit dabei. Wenn dieser Bereich überschritten wird, dann liegt sowieso ein Problem vor.
    Wie sieht denn die komplette Sequenz incl. der verwendeten Werte und Zahlenformate bis jetzt aus? Was schreibt denn das OP für Werte, wirklich Real oder z.B. Proz * 100 (d.h. 10000 für 100%) als Int? Wenn die geforderte Genauigkeit sowieso nur 0 .. 1000 ist, haben die 0,01% keine Auswirkung. 0,1% Genauigkeit genügt dann.
    Wenn Real vorliegt:
    Code:
    L Proz
    L 10.0
    *R
    RND
    L Geschw
    +I
    Jetzt sollte der neue Wert im Akku stehen. Es muss jetzt noch eine Bereichsprüfung stattfinden, damit dieser nicht größer als 1000 oder kleiner als 0 ist (vermute ich mal).
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Flo-1- ist offline Benutzer
    Themenstarter
    Registriert seit
    13.07.2006
    Ort
    Dortmund
    Beiträge
    53
    Danke
    3
    Erhielt 3 Danke für 2 Beiträge

    Standard

    "kann einfach das niederwertige Wort verwendet werden"

    über

    L #REAL
    RND
    T #DINT

    L LWx
    T #INT

    hab ich es jetzt. vielen dank. schöne feiertage! mfg

  4. #4
    Registriert seit
    19.07.2006
    Beiträge
    397
    Danke
    127
    Erhielt 40 Danke für 32 Beiträge

    Standard

    Fürs wandeln von Real auf INT gibt es doch auch die Funktion "Round" oder ?

    Rundet die Kommastellen einfach auf oder ab und gibt die Realzahl als Integer aus.....wenn ich mich nicht ganz irre !

    EDIT: Sorry steht ja eh schon da ,nur hab ichs halt überlesen

  5. #5
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    Zitat Zitat von Flo-1- Beitrag anzeigen
    Code:
    L #REAL
    RND
    T #DINT
    
    L LWx
    T #INT
    Code:
    L #REAL
    RND
    T #INT
    würde auch genügen
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

  6. #6
    Flo-1- ist offline Benutzer
    Themenstarter
    Registriert seit
    13.07.2006
    Ort
    Dortmund
    Beiträge
    53
    Danke
    3
    Erhielt 3 Danke für 2 Beiträge

    Standard

    jo, das funktionier ja auch, dankeschön. wieder ein paar zeilen gespart.

    läppert sich ja immerhin, bei 25 geschwindigkeiten

    nochmals danke,

    mfg, flo
    Soll´s funktionieren, oder darf´s auch was von Siemens sein?

  7. #7
    Registriert seit
    18.07.2006
    Beiträge
    68
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Moin,

    habe gerade euer Thema verfolgt. Ich habe es bis jetzt auch immer so gemacht, wie in der 1 Frage beschrieben.

    ....." Real --> Dint --> BCD --> INT "

    Ist diese Umrechnung falsch, oder einfach nur lang und umständlich ???

    Gruss Daniel

  8. #8
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von handyman Beitrag anzeigen
    Moin,

    habe gerade euer Thema verfolgt. Ich habe es bis jetzt auch immer so gemacht, wie in der 1 Frage beschrieben.

    ....." Real --> Dint --> BCD --> INT "

    Ist diese Umrechnung falsch, oder einfach nur lang und umständlich ???

    Gruss Daniel
    Wenn sie richtig durchgeführt wird, liefert sie schon das richtige Ergebnis. Sie ist aber auf jeden Fall umständlich. Wenn der Wertebereich eingehalten wird, genügt Real --> Dint (Int stimmt dann implizit).
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  9. #9
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Wenn sie richtig durchgeführt wird, liefert sie schon das richtige Ergebnis. ....
    genau so ist es.
    das ergebnis liegt immer rechtsbündig im akku.

    nehmen wir an du hast 2 var vom typ dint mit dem wert 90 und 100

    nun rechnest du
    l var90
    l var100
    *D
    T mw 100

    das ist kein problem, da das ergebnis 9000 ist. 9000 passt locker in ein wort.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    Flo-1- ist offline Benutzer
    Themenstarter
    Registriert seit
    13.07.2006
    Ort
    Dortmund
    Beiträge
    53
    Danke
    3
    Erhielt 3 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    aber hat das einen grund das siemens den umwandlungsbaustein von dint in int nicht vorgibt? weil andersrum exestiert er ja, von int in dint.

    denn da könnte man ja das gleiche argument bringen, da ich ja in int bis 32... gehen kann, und wenn ich dint will, häng ich einfach nen leeres word davor.

    mfg
    Soll´s funktionieren, oder darf´s auch was von Siemens sein?

Ähnliche Themen

  1. Systemattribut S7_m_c für ganzen DB vergeben
    Von Aerosail im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 02.11.2011, 11:12
  2. Zahlenformate umwandeln
    Von mboDigital im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.04.2009, 13:13
  3. Zahlenformate für E-A-Felder
    Von Earny im Forum HMI
    Antworten: 2
    Letzter Beitrag: 17.08.2008, 11:03
  4. Suchen einer Variable im ganzen Projekt
    Von hank12 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.07.2008, 10:39
  5. Zahlenformate WinCC6 und Zeiten in Step5
    Von buffi4711 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 26.03.2006, 10:55

Lesezeichen

Berechtigungen

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