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

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 42

Thema: INT oder DINT in CHAR/BYTE Umwandeln

  1. #1
    Registriert seit
    09.07.2008
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    habe folgendes problen

    Ich habe eine 10stellige zahl und möchte sie gerne in Char aufteilen

    z.B
    hex 30 == Nr 0

    ich will sie nicht 10 mal eingeben sondern ein 10stellige im Struct eingeben !
    Zitieren Zitieren INT oder DINT in CHAR/BYTE Umwandeln  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Dafür gibt es in der Step7-Bibliothek einen FC - die Nummer kann ich gerade nicht nachschauen ... er heißt aber "DINT_To_String". Such doch mal danach in der Step7-Hilfe ...

    Gruß
    LL

  3. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    FC 5 DI_STRNG
    Biblitheken -> Standard Libary -> IEC Function Blocks
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #4
    Registriert seit
    05.10.2005
    Beiträge
    188
    Danke
    31
    Erhielt 16 Danke für 14 Beiträge

    Standard

    kenn ich das prob.....
    die automobilindustrie will 10stellige seriennummern haben.
    dint_to_string hat ein kleines porb. dint hat keine vollwertigen 10stellen. die erste stelle ist eine 2 (2.XXX.XXX.XXX)
    ich habe es mich einfach gemacht.
    ich nehme 2 mal dint.
    benutze da nur 5stellen.(die verarbeitung in den ketten ist nicht wirklich schwer und problemlos und in WinCCflex begrenze ich die eingabe auf 5 stellen)

    um sie zum char zu wandel, musst du eine kleinen zwischenschritt machen.

    L #dint
    dtb (dint zu BCD)
    srd X /srw X (schiebe rechts dword/word)
    sld X /srw X (schiebe rechts dword/word)
    L b#16#30
    +i
    T #char


    mit dem schieben kannst du dir jeweils die richtige stelle rausfiltern und in deinen char oder string wegpacken.

    ich habe mir das ganze in einen fc gepackt und rufe ihn nur noch auf bzw kopier ihn in alle projekte

    ich hoffe ich konte dir helfen.......oder es es deine gewünschte lösung

  5. #5
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    @fantas post.

    hallo,
    habe ein 11stelliges(vllt auch 10, weiß nicht ob die 1 null nur so angezeigt wird) Array of Char mit Inhalt. "00000001234"
    leider gelingt es mir nicht, egal wie ich rechts oder links verschiebe, die zeichen 1234 aufzuspüren und sie dann in 4 chars zu schieben.

    help !

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Limette Beitrag anzeigen
    @fantas post.

    hallo,
    habe ein 11stelliges(vllt auch 10, weiß nicht ob die 1 null nur so angezeigt wird) Array of Char mit Inhalt. "00000001234"
    leider gelingt es mir nicht, egal wie ich rechts oder links verschiebe, die zeichen 1234 aufzuspüren und sie dann in 4 chars zu schieben.

    help !
    Was verschiebst du, deinen Laptop auf dem Tisch??? Wäre nett, wenn du das noch einmal genauer erläuterst, es gibt da durchaus mehrere Herangehensweisen. Willst du die Nullen eliminieren, können auch mal 3 Char gewünscht sein oder worum genau geht es?
    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

  7. #7
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Limette!

    Schau Dir doch mal die Standard-Bib an.
    Unter IEC-Function-Blocks gibt es diverse Bausteine, die Dir helfen könnten.
    Z.B.: FC 11 "FIND"

    Grüße
    Gebs

  8. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    die zeichen 1234 sehen HEX so aus: 31 32 33 34
    da das da offensichtlich schon ein string ist bzw. ein array of char, was ja nichts anderes als ein string ist, mal danach suchen.
    die null ist übrigens 30...
    Geändert von vierlagig (18.10.2011 um 13:49 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Gebs Beitrag anzeigen
    Hallo Limette!

    Schau Dir doch mal die Standard-Bib an.
    Unter IEC-Function-Blocks gibt es diverse Bausteine, die Dir helfen könnten.
    Z.B.: FC 11 "FIND"

    Grüße
    Gebs
    Aber Achtung, FC 11 und Freunde sind aber nur auf S7-Strings anzuwenden, also muß er die Daten erst in einen S7-String umkopieren, sonst funzt das nicht.
    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

  10. #10
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    Was verschiebst du, deinen Laptop auf dem Tisch??? Wäre nett, wenn du das noch einmal genauer erläuterst, es gibt da durchaus mehrere Herangehensweisen. Willst du die Nullen eliminieren, können auch mal 3 Char gewünscht sein oder worum genau geht es?
    gefällt !

    ja hier halt:
    Code:
    srd X /srw X (schiebe rechts dword/word)
    sld X /srw X (schiebe rechts dword/word)
    entweder ein W oder DW nack links oder rechts, ich weiß es ja nicht. drum frage ich. will halt mal eine zahl 1 oder 2 oder 3 oder 4 erwischen.

Ähnliche Themen

  1. Array of Char To DINT - ich krieg die Krise
    Von Beren im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 26.11.2009, 10:12
  2. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  3. Time_of_Day umwandeln in Int oder DInt!?
    Von Chris2k8 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 05.11.2008, 18:22
  4. Array of Char umwandeln?
    Von thomzur im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.02.2008, 17:06
  5. Dint Variable in Char zerlegen
    Von Phil im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 30.11.2007, 08:26

Lesezeichen

Berechtigungen

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