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

Ergebnis 1 bis 7 von 7

Thema: String umwandeln und damit rechen

  1. #1
    Registriert seit
    02.09.2008
    Beiträge
    61
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute ich hab ein kleines problem und weiß nicht wie ich das lösen kann vielleicht könnt Ihr mir ja helfen.

    Ich habe einen DINT den muß ich in einen String [32] wandel das sieht ja dann so aus wenn ich richtig bin 0000012345 dies ist ja nicht das problem das geht ja mit den fc5 aus der iec libery so heißt der glaube ich.

    Und jetzt kommts wenn ich den DINT dann als String [32] habe muß ich diesen dann wie folgt dargestellt bekommen A000012345. meine frage ist jetz wie bekomme ich das A oder einen anderen Buchstaben da vorne hin.

    Danke schon mal im vorraus.
    Zitieren Zitieren String umwandeln und damit rechen  

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

    Standard

    FC2 Concat verbindet zwei Strings
    du legst einen an mit der Vorbelegung 'A' und setzt den vor den String


    Die Funktion FC 2 fasst zwei STRING*Variablen zu einer Zeichenkette zusammen. Ist die Ergebniszeichenkette länger als die am Ausgangsparameter angelegte Variable, wird die Ergebniszeichenkette auf die maximal eingerichtete Länge begrenzt und das BIE*Bit auf "0" gesetzt.
    „Wenn du ein Problem hast, versuche es zu lösen. Kannst du es nicht lösen, dann mache kein Problem daraus.“
    Siddhartha Gautama

  3. #3
    Registriert seit
    03.09.2009
    Beiträge
    129
    Danke
    15
    Erhielt 19 Danke für 19 Beiträge

    Standard

    Sieht mir so aus, als ob die erste '0' durch ein 'A' ersetzt werden soll. Wenn ja, kannst einfach mit nem Pointer auf das erste BuchstabenByte Zeigen und aus der '0' ne 'A' machen.

  4. #4
    jensel ist offline Benutzer
    Themenstarter
    Registriert seit
    02.09.2008
    Beiträge
    61
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    aha jabba

    also einfach einen Db anlegen und den 2 string mit A vorbesetzen das A steht dann auch gleich an der 1 stelle oder wie?

    und kann ich denn in einen Db einfach den string mit A vorbesetzten?
    Geändert von jensel (11.10.2010 um 21:02 Uhr)

  5. #5
    jensel ist offline Benutzer
    Themenstarter
    Registriert seit
    02.09.2008
    Beiträge
    61
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    aha Beckx-net,

    das ist richtig erkannt und wie geht das mit den pointer kannst du mir das mal etwas näher erklären bitte.

  6. #6
    Registriert seit
    03.09.2009
    Beiträge
    129
    Danke
    15
    Erhielt 19 Danke für 19 Beiträge

    Standard

    wenn dein String z.B. in einen DB steht, kannst du es so machen

    Code:
    AUF DB1  // Dein DB 
    L 'A'
    T DBB 2  // Wenn dein String bei der Byteadresse 0 anfängt
    Oder alternativ mit einem Pointer
    Code:
    AUF DB1 // Dein DB 
    LAR1 P#DBX0.0  // Anfangsadresse deines Strings
    L 'A'
    T B[AR1,P#2.0]  // Transfer mit Byteoffset
    Wichtig ist nur zu wissen, dass in den ersten beiden Bytes einer Stringvariable die Max. Länge und die tatsächliche Länge gespeichert ist (Steht in der Hilfe gut beschrieben). Solange sich an der Stringlänge nix ändert, musst du hier auch nix anpassen.

    Hoffe dir ist damit ein wenig geholfen
    Geändert von Beckx-net (11.10.2010 um 23:39 Uhr)

  7. #7
    jensel ist offline Benutzer
    Themenstarter
    Registriert seit
    02.09.2008
    Beiträge
    61
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo leute

    Beckx-net dein Vorschalg ging nicht es ist nicht das rausgekommen was ich wollte.
    nachdem ich den Dint ( 25688 ) in einen String gewandelt hatte stand da drin +25688 und mit deinen Vorschlag konnte ich ja nur das vorzeichen in den Buchstaben wandeln. Aber danke für den Ansatz.
    hab das jetz so gemacht wie jabba es gesagt hat habe 2 Strings angelgt und den ersten string auf 4 zeichen begrenzt und mit deinen awl beckx-net noch das A noch davor geschrieben und bin dann auf das richtig ergebniss gekommen wie ich es wollt und zwar A000025688.

    Danke euche beiden für euer bemühen.
    Geändert von jensel (12.10.2010 um 15:31 Uhr)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 27.12.2010, 11:17
  2. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  3. Byte to String umwandeln S7-315 2PN DP
    Von Sunny4251 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 28.08.2008, 09:31
  4. REAL in STRING umwandeln
    Von KNOTZ im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 13.07.2005, 14:50
  5. Integer nach String umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.07.2004, 13:42

Lesezeichen

Berechtigungen

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