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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Vergleichen bis der Arzt kommt....

  1. #1
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo an alle...

    Ich programmiere eine Förderanlage für Paletten mit ca. 30 Stellplätzen. Für jeden dieser Stellplätze gibt es einen Datenbaustein in dem ua. die 8 10stellige Palettennummer hinterlegt ist die über einen Scanner eingelesen wird.

    Jetzt möchte der Kunde gern wissen ob evtl. 2x die gleiche Palettennummer eingelesen wurde.

    Jetzt kann ich natürlich jeden Platz miteinander vergleichen was ein riesiger Aufwand wäre.
    Aber irgendwie muss es doch eine einfachere Lösung geben...

    Ich arbeite mit einer Simatic S7-414.


    Grüsse aus dem Lipperland

    Axel
    Früher gab es Peitschen .... heute Terminkalender
    Zitieren Zitieren Vergleichen bis der Arzt kommt....  

  2. #2
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Kannst du doch garnicht anders machen? Lass die DBs in 'ner Schleife durchlaufen.

  3. #3
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    vergleichen wirst du schon jedes datenwort müssen.
    aber mit einer schleife sollte das kein problem sein.

    EDIT: zu langsam
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  4. #4
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Lipperlandstern Beitrag anzeigen
    jeden dieser Stellplätze gibt es einen Datenbaustein in dem ua. die 8 10stellige Palettennummer hinterlegt ist die über einen Scanner eingelesen wird.
    Axel
    Ist die Palettennummer ein String oder ne Integer-Zahl ?

    Wenns ein String ist, dann ist der Vergleich schon recht aufwendig.

    In einem ähnlichen Fall habe ich die Strings zunächt sortiert (Quicksort),
    dadurch hat sich der vergleich deutlich einfacher gestaltet.

  5. #5
    Avatar von Lipperlandstern
    Lipperlandstern ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard

    Die Palettennummer ist ein String. Alles andere wäre ja langweilig .... Ich überlege gerade ob ich den String nicht in einen FiFo-Buffer kopiere und dort die Vergleichsroutine durchlaufen lasse.... hat aber auch nachteile.
    Früher gab es Peitschen .... heute Terminkalender

  6. #6
    Registriert seit
    24.11.2006
    Ort
    57072 Siegen
    Beiträge
    466
    Danke
    59
    Erhielt 121 Danke für 109 Beiträge

    Standard

    Zitat Zitat von Lipperlandstern Beitrag anzeigen
    Hallo an alle...

    Ich programmiere eine Förderanlage für Paletten mit ca. 30 Stellplätzen. Für jeden dieser Stellplätze gibt es einen Datenbaustein in dem ua. die 8 10stellige Palettennummer hinterlegt ist die über einen Scanner eingelesen wird.

    Jetzt möchte der Kunde gern wissen ob evtl. 2x die gleiche Palettennummer eingelesen wurde.

    Jetzt kann ich natürlich jeden Platz miteinander vergleichen was ein riesiger Aufwand wäre.
    Aber irgendwie muss es doch eine einfachere Lösung geben...

    Ich arbeite mit einer Simatic S7-414.


    Grüsse aus dem Lipperland

    Axel
    Hallo Axel,

    Sind die 30 Stellplätze Lagerplätze, oder fahren die Paletten nacheinander über diese 30 Plätze?

    Soll der Vergleich nur beim Scannvorgang durchgeführt werden?

    Dann würde ich auch die 30 DB (das ist ja nicht viel) in einer Schleife durcharbeiten.
    Die Strings (was meinst du eigendlich mit 8 10stellig ? ) kannst du einfach mit einem Vergleicher (==I oder ==D) Vergleichen, Characteranzahl + 2 Bytes für den Vorkopf.

    Es gibt auch eine IEC Funktion (EQ_STRNG oder so ähnlich), die kostet aber recht viel Zykluszeit und muss mit STRING parametriert werden, in einer Schleife ist das eher unpraktisch.

    CU

    Jürgen.

    Zur Beachtung:
    Ich distanziere mich ausdrücklich von allen Aussagen in diesem Forum
    welche nicht von mir stammen und mache mir deren Inhalte nicht zu eigen.


    www.ibn-service.com

  7. #7
    Registriert seit
    22.11.2006
    Beiträge
    186
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Also mir fällt sonst nur eine Mathematische Lösung ein:
    Da es sich um sehr grosse Zahlen handelt kann ich durch eine Division herausbekommen ob diese Zahl schon mahl dagewesen ist, und zwar so:
    Alle 8-10 Stellige Nummern miteinander Multiplizieren,
    Modulo Division mit neu eingelesener Nummer, Wenn Ergebniss <> 0=noch nicht eingelesen, wenn Ergebniss==0 =Zahl bereits dagewesen
    Ciao

    Antonio
    ________________________________
    nicht in Problemen, sondern in Lösungen denken

  8. #8
    Registriert seit
    24.11.2006
    Ort
    57072 Siegen
    Beiträge
    466
    Danke
    59
    Erhielt 121 Danke für 109 Beiträge

    Standard

    Zitat Zitat von Antonio Beitrag anzeigen
    Also mir fällt sonst nur eine Mathematische Lösung ein:
    Da es sich um sehr grosse Zahlen handelt kann ich durch eine Division herausbekommen ob diese Zahl schon mahl dagewesen ist, und zwar so:
    Alle 8-10 Stellige Nummern miteinander Multiplizieren,
    Modulo Division mit neu eingelesener Nummer, Wenn Ergebniss <> 0=noch nicht eingelesen, wenn Ergebniss==0 =Zahl bereits dagewesen
    Hallo Antonio,

    Wenn die Palettennummern ein String sind, könnten ja auch alphanumerische Zeichen vorhanden sein!
    Könnte bei deiner Idee nicht auch der Fall auftreten, das der Rest 0 ist, obwohl die Nummer nicht schon eingelesen wurde (kgN) ?

    Beispiel: Nummern 3 und 4: ergibt 12.
    12 ist ohne Rest auch teilbar durch 6.

    CU

    Jürgen

    Zur Beachtung:
    Ich distanziere mich ausdrücklich von allen Aussagen in diesem Forum
    welche nicht von mir stammen und mache mir deren Inhalte nicht zu eigen.


    www.ibn-service.com

  9. #9
    Registriert seit
    22.11.2006
    Beiträge
    186
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Das mit den Alfanumerischen habe ich nicht bedacht, sorry...
    dennoch scheint es mir sonst nahezu unmöglich das eine division durch eine 8stellige Zahl den restwert 0 ergibt.
    Ciao

    Antonio
    ________________________________
    nicht in Problemen, sondern in Lösungen denken

  10. #10
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Antonio Beitrag anzeigen
    Das mit den Alfanumerischen habe ich nicht bedacht, sorry...
    dennoch scheint es mir sonst nahezu unmöglich das eine division durch eine 8stellige Zahl den restwert 0 ergibt.
    ??? ???
    Ich glaub, ich kann dir nicht ganz folgen ?
    Je größer die Zahl, desto wahrscheinlicher ist doch, das ne Division Rest 0 ergibt!

    Außerdem hat ne S7 garkein Zahlenformat, dass so große Beträge mit Auflösung 1 darstellen kann!

Ähnliche Themen

  1. kommt jetzt TIA...?
    Von rostiger Nagel im Forum Simatic
    Antworten: 526
    Letzter Beitrag: 04.09.2012, 14:25
  2. Wie kommt die Bild Nr an die SPS
    Von MikeJ im Forum HMI
    Antworten: 5
    Letzter Beitrag: 30.04.2010, 06:34
  3. UG kommt zurück!
    Von zotos im Forum Stammtisch
    Antworten: 32
    Letzter Beitrag: 27.12.2007, 16:55
  4. morgen kommt der lehrling...
    Von vierlagig im Forum Stammtisch
    Antworten: 33
    Letzter Beitrag: 08.10.2007, 09:15
  5. Betriebsmeldung kommt ereigniss...
    Von Jochen Kühner im Forum HMI
    Antworten: 2
    Letzter Beitrag: 28.02.2005, 20:33

Lesezeichen

Berechtigungen

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