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

Ergebnis 1 bis 10 von 10

Thema: 10.000 Strings durchsuchen

  1. #1
    Registriert seit
    10.04.2005
    Beiträge
    77
    Danke
    55
    Erhielt 7 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich muss für eine Sondermaschine eine kleine Produktverwaltung schreiben. Die soll 10.000 Datensätze enthalten und über einen String mit 15 Zeichen eindeutig identifizierbar sein.

    Software: Step 7 V5.5

    Hardware:
    NCU 710.3B PN MIT PLC 317-3 PN/DP
    SINUMERIK PCU 50.5-C
    SINUMERIK BEDIENTAFELFRONT TP O15A

    Wenn ich die max DB Größe von 64kB durch die 17Byte des Strings teile komm ich auf 3764 Datensätze je DB, das heißt ich brauch mindestens 3 DBs. Ist die CPU in der Lage solch eine Anzahl von Daten in einer angemessenen
    Zeit zu verarbeiten (durchsuchen)? Wird vermutlich auf mehrere Zyklen aufgeteilt werden müssen!? Wir haben so etwas schon mal in kleinerem Maßstab gemacht. Dabei wurde mit dem Suchstring byteweise verglichen und beim ersten Byte, das nicht übereinstimmte wurde der Suchindex für das Array of String inkrementiert. Wäre das immer noch ein praktikabler Weg? Ich kenne den Aufbau des Identstrings im Vorfeld nicht, da er ein Dateiname aus der Konstruktion ist. Daher ist mir nicht klar wie und ob man die Daten irgendwie sortiert ablegen sollte um die Suche zu beschleunigen.

    Für Tips wäre ich dankbar.

    Gruß Elmoklemme
    rot ist blau und plus ist minus
    Zitieren Zitieren 10.000 Strings durchsuchen  

  2. #2
    Registriert seit
    02.02.2012
    Ort
    Kaarst
    Beiträge
    126
    Danke
    10
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Hallo Elmo,
    Ich habe vor einiger Zeit mal eine Suchfunktion für so was geschrieben die auch in der Lage ist mehrere Vergleiche innerhalb eines Zykluses zu machen. Bei dieser Anzahl von Datensätzen wirst aber nicht drum herum kommen dass über mehrere Zyklen aufzuteilen wegen der Zykluszeitüberwachung. Denke aber von der Geschwindigkeit her sollte das weniger ein Problem sein sofern dass eine aktuelle 317 ist.
    Frage ist was passieren soll wenn du den jeweiligen Datensatz gefunden hast - müssen die Daten dann weiter rangiert werden?
    Kann dir mein Programm gerne zur Verfügung stellen, vielleicht kannst du die Verwenden.
    MfG Martin

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Die benötigte Speichergröße hat die 317-3 wohl zur Verfügung, und es läßt sich sicher auch ein Programm schreiben, was die CPU nicht in STOP schickt. (meine Prognose: Suchzeit < 10s)

    Aber: wo kommen die Daten her? Ändern die sich dynamisch zur Laufzeit? Wie wird für ein Backup dieser großen Datenmenge gesorgt? Soll die Maschine stundenlang nicht nutzbar sein, weil im Ernstfall vielleicht 10.000 Datensätze per Hand eingegeben werden müssen?

    Spontan würde ich sagen, die Verwaltung von so vielen Daten ist nicht die Aufgabe einer SPS. Kann das nicht von der Bedientafel TP 015A übernommen werden?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    elmoklemme (14.07.2015)

  5. #4
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Die 10000 Datensätze sollen vermutlich nicht auf der HMI eingetippt werden ?
    Denk über wie man mit diese Datenmenge flüssig arbeiten kann.
    Denk über wie man ein Backup von die Daten macht.
    Absolut eine Aufgabe für ein Rezept-System, eventuell über Datenbank.

    Der Ident kommt wohl von ein RFID oder Barcode Reader ?
    In den Fall, der SPS bekommt den Ident-Wert, und es wird auf der HMI übertragen.
    Der HMI holt die Daten aus sein Rezeptsystem/Datenbank.
    Die Daten wird auf der HMI angezeigt, und der Bediener kann jetzt entscheiden ob die Daten übernommen soll oder nicht.
    Erst wenn die Daten übernommen sind, kann der Maschine mit die Daten weiterfahren.

    Mit ein Rezeptsystem kann man oft alle Daten nach CSV exportieren und importieren. Dann kann man mit Excel die Daten einfach bearbeiten.
    Noch besser ist ein Datenbank. Dann kann man die Daten bearbeiten, gleichzeitig das die Daten für den Produktion verwendet werden.
    Jesper M. Pedersen

  6. Folgender Benutzer sagt Danke zu JesperMP für den nützlichen Beitrag:

    elmoklemme (14.07.2015)

  7. #5
    Registriert seit
    10.04.2005
    Beiträge
    77
    Danke
    55
    Erhielt 7 Danke für 6 Beiträge

    Standard

    Die Hardware ist neu.

    Ganz fix ist das alles noch nicht, aber nach aktuellem Stand sieht es so aus:

    Die Konstruktion stellt ein DXF-File zur Verfügung, aus dem ca. 10 Parameter des Werkstücks gezogen werden müssen. Ca weitere 10-20 Parameter, größtenteils Real-Werte, müssen händisch hinzugefügt werden.
    Der File Name kommt in einen DB, der dann durchsucht werden kann und über den ermittelten Index wird auf auf die restlichen Parameter zugegriffen und in einen Arbeits-DB kopiert. Aus den gesamten Daten erstellt ein Post Processor das CNC-Programm für die Fertigung. Also keine dynamische Änderungen zur Laufzeit.
    Backup wurde bisher noch nicht berücksichtigt, denke aber man könnte von Zeit zu Zeit die DBs mit Aktualdaten sichern.
    Gibt es denn eine einfache Lösung die Daten auf einer Datenbank auf dem TP laufen zu lassen und an die SPS anzubinden? Hab sonst nicht mit so großen Datenmengen zu tun.
    rot ist blau und plus ist minus

  8. #6
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    1 Datensatz = STRING[15] + 30 REALS = 17 Bytes + 30 x 4 Bytes = 137 Bytes.
    10000 Datensätze = 1370000 Bytes = 1.3 MByte.
    Es ist nicht unmöglich, aber ist es Sinnvoll ?
    Jesper M. Pedersen

  9. #7
    Registriert seit
    30.09.2014
    Beiträge
    29
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Bei der Menge würde ich definitiv aufteilen. Ich würde die Dateinamen "hashen" (zB MD5) und dann nur noch einen Vergleich mit Zahlen fahren. So kann ich auf einmal ein DINT vergleichen und habe sehr eindeutige Ergebnisse. Wenn das erste DINT ungleich ist, springe ich zum nächsten Datensatz, ansonsten kommt das zweite Segment dran und so weiter.

    Sollte ein PC in der Nähe sein, würde es sich anbieten das dieser diese Arbeit übernimmt und nur die relevanten Daten in einem DB bereitgestellt werden und der PC holt sich die Daten ab, zB mit Snap7 und verarbeitet diese dann zB mit Hilfe einer Datenbank (MySQL, MSSQL, SQLite)

    Wenn der Werker wirklich nur diese 10-20 Werte eingeben muss und der Rest passiert über ein HMI, für was dann die SPS?

  10. Folgender Benutzer sagt Danke zu Rusticus für den nützlichen Beitrag:

    elmoklemme (14.07.2015)

  11. #8
    Registriert seit
    17.03.2010
    Ort
    Bonn
    Beiträge
    268
    Danke
    4
    Erhielt 58 Danke für 52 Beiträge

    Standard

    Zitat Zitat von elmoklemme Beitrag anzeigen
    Die Hardware ist neu.

    Ganz fix ist das alles noch nicht, aber nach aktuellem Stand sieht es so aus:

    Die Konstruktion stellt ein DXF-File zur Verfügung, aus dem ca. 10 Parameter des Werkstücks gezogen werden müssen. Ca weitere 10-20 Parameter, größtenteils Real-Werte, müssen händisch hinzugefügt werden.
    Der File Name kommt in einen DB, der dann durchsucht werden kann und über den ermittelten Index wird auf auf die restlichen Parameter zugegriffen und in einen Arbeits-DB kopiert. Aus den gesamten Daten erstellt ein Post Processor das CNC-Programm für die Fertigung. Also keine dynamische Änderungen zur Laufzeit.
    Backup wurde bisher noch nicht berücksichtigt, denke aber man könnte von Zeit zu Zeit die DBs mit Aktualdaten sichern.
    Gibt es denn eine einfache Lösung die Daten auf einer Datenbank auf dem TP laufen zu lassen und an die SPS anzubinden? Hab sonst nicht mit so großen Datenmengen zu tun.
    Wenn ich das hier lese kann ich eurer Firma nur empfehlen sich mal mit den Leuten von der Sinumerik zu unterhalten.
    Das wird so ein Projekt wo Anlagenbauer mal eben eine Werkzeugmaschine mit 840Dsl baut, und von WZM und 840D nicht die geringste Ahnung hat.

  12. #9
    Registriert seit
    15.09.2006
    Ort
    Hessen
    Beiträge
    361
    Danke
    38
    Erhielt 36 Danke für 30 Beiträge

    Standard

    Die Sinumerik kann über den Umweg des DXF-Readers DXF- Konturen importieren.

    http://www.industry.siemens.com/topi...euerungen.aspx

    Letztendlich möchtest du ein Programm bekommen. Der Aufwand zum Ziel ist gigantisch, ich kann mich da nur Peter anschließen- schildert euren Anwendungsfall der Sinumeriktruppe, ich bin mir sicher dass es da einfacherere Lösungen für gibt als den Umweg über die PLC.
    Den Entwicklungsaufwand bezahlt euch vermutlich kein Mensch- wenn es nicht unbedingt sein muss und es nicht gerade "braindead" werden muss, gibt es wahrscheinlich geschicktere Lösungen. Wie z.B. die Kontur des DXF in einem Unterprogramm aufzurufen etc. pp.
    Die so entwickelten CNC- Programme lassen sich auch wesentlich leichter sichern, ändern und einsehen.
    Isn't simulating stimulating?

  13. Folgender Benutzer sagt Danke zu TobiasA für den nützlichen Beitrag:

    elmoklemme (14.07.2015)

  14. #10
    Registriert seit
    10.04.2005
    Beiträge
    77
    Danke
    55
    Erhielt 7 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für eure Hinweise,

    werd mich morgen wirklich mal mit den Sinumerik-Jungs unterhalten.
    rot ist blau und plus ist minus

Ähnliche Themen

  1. 10.000
    Von Lipperlandstern im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 07.02.2015, 23:51
  2. 400.000
    Von Markus im Forum Stammtisch
    Antworten: 17
    Letzter Beitrag: 20.11.2012, 20:34
  3. DB's nach Strings durchsuchen
    Von Flying Maulwurf im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 10.05.2010, 14:42
  4. 350.000.000.000
    Von RobiHerb im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 17.05.2009, 17:30
  5. DB mit 1000 Strings durchsuchen...?!?!
    Von Klausi im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 15.08.2006, 12:35

Lesezeichen

Berechtigungen

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