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

Ergebnis 1 bis 6 von 6

Thema: Baustein um Zahl ohne Vorzeicher rechtsbündig in String zu schreiben

  1. #1
    Registriert seit
    28.10.2010
    Ort
    36205 Sontra
    Beiträge
    111
    Danke
    14
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich suche eine einfache Möglichkeit, um eine Zahl in einen String (mit 6 Zeichen) umzuwandeln, dabei will ich, dass die Zahl im String immer rechtsbündig und ohne Plus als Vorzeichen dargestellt wird. Momentan steht im String z.B. +12 linksbündig. Herzlichen Dank für jede Antwort
    Zitieren Zitieren Baustein um Zahl ohne Vorzeicher rechtsbündig in String zu schreiben  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Die einfachste Möglichkeit wäre, dir die Oscat-Library zu laden, wenn ich recht erinnere gibt es da genau das, was du suchst.

    www.oscat.de

    Ansonsten gibt es natürlich die Möglichkeit, die Zahl in eine BCD zu zerlegen (man könnte auch die einzelnen Ziffern über eine einfache Division ermitteln), sich einen Pointer auf den String zu erzeugen und dann die Ziffern über diesen Pointer auf die entsprechende Stelle im String zu schreiben.
    Geändert von Ralle (31.07.2013 um 11:15 Uhr)
    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

  3. #3
    kliebisch.m ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.10.2010
    Ort
    36205 Sontra
    Beiträge
    111
    Danke
    14
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Ja, in OSCAT -> FIX, aber bei dem wird irgendwie ein DB7 aufgerufen, den ich nicht habe.
    Zitieren Zitieren Ja, FIX, aber bei dem wird irgendwie ein DB7 aufgerufen, den ich nicht habe  

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Ich kenne keinen fertigen Baustein, vielleicht weil der Algorithmus dafür so einfach ist:

    Die Zahl fortlaufend durch 10 dividieren bis das Ergebnis 0 ist, die dabei abgespaltene Ziffer in ASCII-Zeichen wandeln (+48) und von hinten nach vorn in den String schreiben. Dann noch mit Vornullen oder Leerzeichen bis zum ersten Zeichen auffüllen oder besser den String vorher mit '_____0' (5x Leerzeichen + '0') oder '000000' initialisieren.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Oscat hat die Funktion DWORD_TO_STRF, das ist ein FC der keinen DB benötigt und der tut, was du benötigst.

    Code:
    //for example:    dword_to_strf(123,4) = '0123' 
    //                dword_to_strf(123,2) = '23'
    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

  6. #6
    kliebisch.m ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.10.2010
    Ort
    36205 Sontra
    Beiträge
    111
    Danke
    14
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen und Danke der Antworten.

    Der DWORD_TO_STRF macht leider nicht alles, was ich brauche.
    Daher habe ich die Sache schnell in AWL mit der Hand programmiert, DINT in String umwandeln, schauen, wieviel Zeichen im String stehen, die Zeichen mittels Sprungverteiler in einen neuen String schreiben und fertig.

    Gruß

Ähnliche Themen

  1. Zahl aus String extrahieren
    Von wackel_peter im Forum CODESYS und IEC61131
    Antworten: 12
    Letzter Beitrag: 12.06.2013, 22:45
  2. zahl in step 7 schreiben
    Von paulimaulwurf im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 13.08.2011, 12:09
  3. Antworten: 6
    Letzter Beitrag: 27.12.2010, 11:17
  4. Konstante String in Variable String schreiben
    Von sailor im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.12.2009, 18:01
  5. String aus Baustein raus schreiben
    Von merlin im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 01.08.2007, 08:01

Lesezeichen

Berechtigungen

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