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

Ergebnis 1 bis 4 von 4

Thema: 5-stellige ascii zahl in normale zahl umwandeln

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo,
    folgendes problem: ich muss von ascii in eine (normale zahl) umwandeln.
    problem ist, das die nummer 5-stellig ist.
    von der ascii zahl subtrahiere ich :
    l mb 0 - 31
    l 48
    -i
    t mb1 - hier steht meine 1. soweit so gut.

    wie bekomme ich nun eine 5-stellige zahl zusammengebastelt?

    danke
    Zitieren Zitieren Gelöst: 5-stellige ascii zahl in normale zahl umwandeln  

  2. "Du kannst den FC 38 der IEC-Functionblocks aus der Standard-Library verwenden.

    FC38

    Die Funktion FC 38 wandelt eine Zeichenkette in eine Variable im INT*Format. Das erste Zeichen in der Zeichenkette darf ein Vorzeichen oder eine Ziffer sein, die dann folgenden Zeichen müssen aus Ziffern bestehen. Ist die Länge der Zeichenkette Null oder größer als 6 oder befinden sich unerlaubte Zeichen in der Zeichenkette, findet keine Wandlung statt und das BIE*Bit wird auf ”0" gesetzt. Liegt das Ergebnis der Wandlung außerhalb des INT-Zahlenbereichs, wird das Ergebnis auf den entsprechenden Wert begrenzt und das Binärergebnis BIE auf "0" gesetzt.

    Parameter Deklaration Datentyp Speicherbereich Beschreibung
    S INPUT STRING D, L Eingangszeichenkette
    RET_VAL OUTPUT INT E, A, M, D, L Ergebnis
    Der Eingangsparameter kann nur mit einer symbolisch definierten Variablen belegt werden.
    Wenn deine Werte in je einem MB stehen und du schon aus dem Char-Wert eine Zahl (durch die Subtraktion) gemacht hast kannst du auch einfach rechnen.

    MB1 (Einer)
    + (MB2 (Zehner)*10)
    + (MB3 (Hunderter)*100)
    + (MB4 (Tausender)*1000)
    ...

    Nachtrag:

    Oder scheu mal in der Hilfe unter BTD (BCD wandeln in Ganzzahl (32 Bit))"


  3. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Du kannst den FC 38 der IEC-Functionblocks aus der Standard-Library verwenden.

    FC38

    Die Funktion FC 38 wandelt eine Zeichenkette in eine Variable im INT*Format. Das erste Zeichen in der Zeichenkette darf ein Vorzeichen oder eine Ziffer sein, die dann folgenden Zeichen müssen aus Ziffern bestehen. Ist die Länge der Zeichenkette Null oder größer als 6 oder befinden sich unerlaubte Zeichen in der Zeichenkette, findet keine Wandlung statt und das BIE*Bit wird auf ”0" gesetzt. Liegt das Ergebnis der Wandlung außerhalb des INT-Zahlenbereichs, wird das Ergebnis auf den entsprechenden Wert begrenzt und das Binärergebnis BIE auf "0" gesetzt.

    Parameter Deklaration Datentyp Speicherbereich Beschreibung
    S INPUT STRING D, L Eingangszeichenkette
    RET_VAL OUTPUT INT E, A, M, D, L Ergebnis
    Der Eingangsparameter kann nur mit einer symbolisch definierten Variablen belegt werden.
    Wenn deine Werte in je einem MB stehen und du schon aus dem Char-Wert eine Zahl (durch die Subtraktion) gemacht hast kannst du auch einfach rechnen.

    MB1 (Einer)
    + (MB2 (Zehner)*10)
    + (MB3 (Hunderter)*100)
    + (MB4 (Tausender)*1000)
    ...

    Nachtrag:

    Oder scheu mal in der Hilfe unter BTD (BCD wandeln in Ganzzahl (32 Bit))
    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

  4. #3
    Anonymous Gast

    Standard

    ok..danke..
    hab schon meine lösung...
    ist sehr easy
    Zitieren Zitieren ascii  

  5. #4
    Registriert seit
    03.11.2005
    Ort
    Völkermarkt
    Beiträge
    96
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @ottopaul88

    wie ist die lösung???



    mfg Andreas
    Linux - This is freeing what I am!

  6. Folgender Benutzer sagt Danke zu apachler für den nützlichen Beitrag:

    SIGGI (10.03.2009)

Ähnliche Themen

  1. Real Zahl von CP in Excel umwandeln
    Von steinche im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 18.08.2011, 22:26
  2. Antworten: 25
    Letzter Beitrag: 06.07.2010, 23:25
  3. INT Zahl in Kommazahl umwandeln
    Von Brian84 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.04.2009, 13:51
  4. Real zahl in INT umwandeln
    Von bacardischmal im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 20.03.2009, 18:17
  5. INT-Zahl in eine S5T#-Zahl umwandeln ?
    Von Stefan B. im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.03.2006, 22:40

Lesezeichen

Berechtigungen

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