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

Ergebnis 1 bis 10 von 10

Thema: Zusammenfassen von 20 Bytes in INT

  1. #1
    Registriert seit
    01.08.2007
    Beiträge
    15
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich hab folgendes Problem, wo ich hoffe das ihr mir hier weiter hilft.

    In meinen Projekt habe ich einen Datamatrixleser und lese Datamatrix aus. Diese erscheinen dann in 20 Bytes. Wenn ich die Variablentabelle anschaue wird mir der Datamatrix angezeigt.
    Und zawr stelle ich dann Zeichen ein.
    Jetzt möchte ich gerne diese 20 stellige Nummer vergleichen. Wird zum erkennen von verschiedenen Bauteilen gebraucht.
    Mein Problem ist, wie ich die Nummer umwandle und dann in einen String zusammenfasse?

    Hoffe ihr könnt mir helfen…

    Mit freundlichen Grüßen

    Henning
    Zitieren Zitieren Zusammenfassen von 20 Bytes in INT  

  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

    Hallo,
    so wie ich das kenne kommen deine 20 Zeichen Data-Matrix als String an.
    Die kannst du dann aber nicht so einfach in einen INT wandeln. Ein Integer kann nur bis von -32768 bis +32767 darstellen. ein DINT leistet da schon etwas mehr, aber auch der ist bei 2.147.483.647 erschöpft. Da wären aber erst 9,5 Stellen. Was hast du also genau vor ?

  3. #3
    ice6461 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.08.2007
    Beiträge
    15
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also bei mir kommen die Daten in Eingangsbyte rein.
    Bei mir z.B. EB50...EB69. Ich hab dann immer einen einzelne Zahl pro EB. Ich kann 6 EB wegschneiden, weil ich sie nicht brauche.
    Jetzt muß ich die übrigen EB zusammenfassen und vergleichen mit einer 14 stelligen Zahl.
    Hoffe so kann man es einfacher verstehen

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    in den iec-functions findest du diverses zur stringbearbeitung

    fc10 (EQ_STRNG) vergleicht strings auf =
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von ice6461 Beitrag anzeigen
    In meinen Projekt habe ich einen Datamatrixleser und lese Datamatrix aus. Diese erscheinen dann in 20 Bytes. Wenn ich die Variablentabelle anschaue wird mir der Datamatrix angezeigt.
    Und zawr stelle ich dann Zeichen ein.
    Jetzt möchte ich gerne diese 20 stellige Nummer vergleichen. Wird zum erkennen von verschiedenen Bauteilen gebraucht.
    Mein Problem ist, wie ich die Nummer umwandle und dann in einen String zusammenfasse?
    Hallo Henning,

    Du könntest die 20 BYTES in eine STRING-Variable kopieren. Diese STRING-Variable kannst Du dann mit der IEC-Funktion FC10 EQ_STRING mit anderen STRING-Variablen vergleichen.

    Code:
    // FC200 : Datenmatrix
     
          L     20                          // Maximale Länge Datenstring
          T     DB200.DBB    0
     
          L     20                          // Aktuelle Länge Datenstring
          T     DB200.DBB    1
     
          L     EB    50                    // Datenmatrix Byte 1
          T     DB200.DBB    2              // Datenstring_Byte 1
     
          L     EB    51                    // Datenmatrix Byte 2
          T     DB200.DBB    3              // Datenstring_Byte 2
     
          L     EB    52                    // Datenmatrix Byte 3
          T     DB200.DBB    4              // Datenstring_Byte 3
     
          L     EB    53                    // Datenmatrix Byte 4
          T     DB200.DBB    5              // Datenstring_Byte 4
     
          L     EB    54                    // Datenmatrix Byte 5
          T     DB200.DBB    6              // Datenstring_Byte 5
     
          L     EB    55                    // Datenmatrix Byte 6
          T     DB200.DBB    7              // Datenstring_Byte 6
     
          L     EB    56                    // Datenmatrix Byte 7
          T     DB200.DBB    8              // Datenstring_Byte 7
     
          L     EB    57                    // Datenmatrix Byte 8
          T     DB200.DBB    9              // Datenstring_Byte 8
     
          L     EB    58                    // Datenmatrix Byte 9
          T     DB200.DBB   10              // Datenstring_Byte 9
     
          L     EB    59                    // Datenmatrix Byte 10
          T     DB200.DBB   11              // Datenstring_Byte 10
     
          L     EB    60                    // Datenmatrix Byte 11
          T     DB200.DBB   12              // Datenstring_Byte 11
     
          L     EB    61                    // Datenmatrix Byte 12
          T     DB200.DBB   13              // Datenstring_Byte 12
     
          L     EB    62                    // Datenmatrix Byte 13
          T     DB200.DBB   14              // Datenstring_Byte 13
     
          L     EB    63                    // Datenmatrix Byte 14
          T     DB200.DBB   15              // Datenstring_Byte 14
     
          L     EB    64                    // Datenmatrix Byte 15
          T     DB200.DBB   16              // Datenstring_Byte 15
     
          L     EB    65                    // Datenmatrix Byte 16
          T     DB200.DBB   17              // Datenstring_Byte 16
     
          L     EB    66                    // Datenmatrix Byte 17
          T     DB200.DBB   18              // Datenstring_Byte 17
     
          L     EB    67                    // Datenmatrix Byte 18
          T     DB200.DBB   19              // Datenstring_Byte 18
     
          L     EB    68                    // Datenmatrix Byte 19
          T     DB200.DBB   20              // Datenstring_Byte 19
     
          L     EB    69                    // Datenmatrix Byte 20
          T     DB200.DBB   21              // Datenstring_Byte 20
    Gruß Kai
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg VAT.jpg (250,8 KB, 29x aufgerufen)
    Angehängte Dateien Angehängte Dateien

  6. #6
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Wenn die Reihenfolge stimmt, kann man die 20 Bytes auch mit der Systemfunktion SFC20 BLKMOV kopieren.

    Code:
    // FC210 : Datenmatrix
     
          L     20                          // Maximale Länge Datenstring
          T     DB200.DBB    0
     
          L     20                          // Aktuelle Länge Datenstring
          T     DB200.DBB    1
     
          CALL  "BLKMOV"
           SRCBLK :=P#E 50.0 BYTE 20        // Datenmatrix Byte 1 - 20
           RET_VAL:=#BLKMOV_RET_VAR
           DSTBLK :=P#DB200.DBX2.0 BYTE 20  // Datenstring Byte 1 - 20
    Gruß Kai
    Angehängte Dateien Angehängte Dateien

  7. #7
    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

    Hallo,
    was Kai und Volker dir so nett geschrieben haben (und ich einleiten wollte) besagt : Du musst zusehen, dass du einen vernünftigen String erzeugst. Den kannst du dann mit anderen Strings vergleichen. Du kannst es halt nur nicht als Zahl auswerten (auch nicht 14 Stellen ...)

  8. #8
    ice6461 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.08.2007
    Beiträge
    15
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super, Danke für die viele Hilfe. Und ein Kompliment an Kai. Danke dass du mir gleich auch den Lösungsweg gezeigt hast. Werde es gleich heute Nachmittag ausprobieren..

  9. #9
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    ja, so ist der kai eben.
    der hat scheinbar den ganzen tag nix zu tun und kann die progs für andere schreiben.
    ich hab soviel zu tun, das ich dir gerade mal den tip mit der fc10 geben konnte. (das aber noch vor kai )
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    ice6461 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.08.2007
    Beiträge
    15
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Deswegen hab ich mich ja erst an alle bedankt die mir weitergeholfen haben. Leider bin ich heute nicht dazu gekommen um es auszuprobieren..
    Aber ich hoffe es, das ich es morgen schaffe

Ähnliche Themen

  1. Instanz DB´s zusammenfassen
    Von 1985zottel im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 18.02.2011, 09:28
  2. Instanz DB's zusammenfassen?
    Von Beckx-net im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 25.05.2010, 09:38
  3. Bit zusammenfassen
    Von totalfuchs im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 01.10.2008, 15:35
  4. CHAR zusammenfassen zu einer String
    Von stepwin im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 24.04.2008, 16:46
  5. festplatten zusammenfassen
    Von volker im Forum PC- und Netzwerktechnik
    Antworten: 15
    Letzter Beitrag: 07.11.2005, 09:01

Lesezeichen

Berechtigungen

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