Roboterprofis für Ihren Erfolg
Roboterprogrammierer auf Stundenbasis engagieren
jetzt Preise und verfügbare Roboterprogrammierer anfragen

Autor Thema:  Nummerierung  (Gelesen 2064 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mhw

  • Forum Mitglied LV 11
  • *
  • Beiträge: 110
  • Bewertet: 0
Nummerierung
« am: 27. März 2013, 20:59:45 »
Hallo Roboterfreunde

Heute habe ich mal ein Problem, welches nichts mit Robotern zu tun hat. Vielleicht hat jemand ja auch schonmal über sowas nachdenken müssen.

Ich muss die Produkte, die wir herstellen, nummerieren. Aber: Man soll aus der Nummer auf keinen Fall die Anzahl der produzierten Artikel herauslesen können. Sie dürfen also nicht fortlaufend sein. Das schließt auch die Möglichkeit ein, erst bei 100000 zu beginnen, oder so.

Was man machen könnte: Einen Zufallsgenerator bilden, der zufällig eine Zahl raussucht und sie mit einer Datenbank vergleicht und nachschaut ob die Nummer schonmal vergeben wurde. Das ist aber bei 1.000.000 produzierten Stücken pro Jahr irgendwann sehr rechenaufwändig. Das muss besser / einfacher gehen.

Wie lassen sich solche Seriennummern bilden? Hat jemand einen Vorschlag?

Matthias
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline WolfHenk

  • WolfHenk eben.
  • Forum Legende LV 7
  • *
  • Beiträge: 2348
  • GIT d- s+:- a+ C++ UL+ P+ L+ E-- W++ !N !o !K w !O
    • WolfHenk.de
  • Bewertet: +16
Re: Nummerierung
« am: 27. März 2013, 21:45:05 »
Du hast nen Pool von 12-stelligen Nummern.
Jedes Teil erhält per Zufallsgenerator aus dem Pool eine Nummer, die dann aus dem Pool gestrichen wird.
Dafür wird sie mit dem realen Produktionsdatum einfach in ne Datenliste transferiert...

Sollte in c++ mit unter hundert Zeilen realisierbar sein.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

Offline Urmel

  • Global Moderator
  • Forum Legende LV 1
  • *
  • Beiträge: 1107
  • Bewertet: +16
Re: Nummerierung
« am: 28. März 2013, 08:19:11 »
Dann doch eher einen Pool der am Anfang leer ist, wo die Nummern bei Vergabe hinzukommen. Das ist zumindest in den ersten Jahren schneller, außerdem können später einfach längere Nummern dazukommen.

Wenn man den Pool sortiert hält, ist der Test auf schon vorhandene Nummern mit Binärsuche sehr schnell. Dateigröße dürfte unkritisch sein, ein unkomprimiertes Bild ist größer. 

Kann man sicher gut in einer gängigen Programmiersprache plus einer kleinen Datenbank ,wie z.B. SQLite machen, dann werden die Daten auch schön in eine Datei gespeichert und sind nicht gleich aus dem RAM verschwunden, wenn mal der Strom weggeht. Das Suchen und Einfügen übernimmt dann die Datenbank. SQLite ist wirklich winzig, ist auch auf jedem Android Gerät.

Ja, ist erstaunlich, was man damit herausfinden kann. Angefangen haben damit übrigens die Engländer im zweiten Weltkrieg, die konnten aus den Seriennummern abgeschossener deutscher Flugzeuge exakt ausrechnen, wie sich die deutsche Flugzeugproduktion entwickelt ...
 
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline mhw

  • Forum Mitglied LV 11
  • *
  • Beiträge: 110
  • Bewertet: 0
Re: Nummerierung
« am: 29. März 2013, 18:53:11 »
Guten Abend

Also ihr würdet auch lieber zu einer Zufallsszahlenauswahl tendieren. Das hatte ich auch schon so vermutet.
Die Angelegenheit werde ich in C# schreiben, das müsste eigentlich locker hinzukriegen sein.

Vielen Dank für eure Vorschläge!

Schöne Ostern noch

Matthias
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Urmel

  • Global Moderator
  • Forum Legende LV 1
  • *
  • Beiträge: 1107
  • Bewertet: +16
Re: Nummerierung
« am: 30. März 2013, 09:36:34 »
Hallo,

mir fallen nur zwei Alternativen ein:

1.  Ein Hashalgorithmus, der z.B. aus Datum und Uhrzeit eine Seriennummer produziert. Da hat man aber auch wieder das Problem mit der Eindeutigkeit, man braucht eventuell wieder eine DB um nachzuschauen, ob es die Nummer schon gab. Außerdem ist das normalerweise eine Einbahnstraße. Man kommt nicht mehr von der Seriennummer zurück zu Datum und Uhrzeit. Spätestens wenn mal die Nachfrage kommt: "Ist das überhaupt ein Teil von uns, wann haben wir das produziert ?", sieht man damit alt aus. Schon allein das spricht aus meiner Sicht für eine Art Datenbank.

2. Man verwendet doch intern fortlaufende Nummern, erzeugt daraus durch einen Verschlüsselungsalgorithmus die Seriennummern. Das ist aber sicher mathematisch kompliziert, von Laien erdachte Verschlüsselungen sind in der Regel durch Experten einfach zu knacken. Hier auch schon, weil man ja weiß, dass es sich um eine Numerierung handelt.

Wenn das Numerieren auf einem Windows PC passiert, wäre C# auch meine Wahl gewesen. Falls später Seriennummern parallel von verschiedenen Maschinen vergeben werden sollen, oder die Verwaltung nachsehen will, wann denn ein Teil mit einer bestimmten Nummer produziert wurde, noch zusätzlich eine echte DB mit dem SQL Server Express. Im Single-User Fall etwas Dateibasiertes, eventuell auch ein Dataset, dass kann man schön als kleine DB im Arbeitsspeicher verwenden. Allerdings hab ich noch nie getestet, wie schnell das 10 Mio. Einträge liest und schreibt.

Schöne Ostern

  Urmel
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline KlausThaler

  • Forum Mitglied LV 3
  • *
  • Beiträge: 36
  • ...kann mir mal bitte jemand das Wasser reichen?
  • Bewertet: 0
Re: Nummerierung
« am: 13. Mai 2013, 07:19:08 »
Hallo;

Auch wenn es möglicherweise bereits gelöst ist, hätte ich noch eine Idee. Aber in wie weit die zu deinen Vorgaben zwecks "externes Mitzählen" passet, musst du entscheiden:

Wir haben eine Kombination aus Fortlaufender Stückzahl je Schicht oder Tag, Dem Jahr, und dem Kalendertag.

Das Jahr ist nicht in Jahreszahl geschrieben, sondern auch fortlaufend. Wir haben letztes Jahr begonnen mit Produktion, also 01. Dieses Jahr ist dann 02.  Heute wäre dann der 133. Tag im Jahr. Dann kann man Schichtweise 1-3 durchnummerieren, und sagen wir du machst 1000 Teile in der Schicht dann noch die nummer Pro Teil / Pro Schicht.

Somit kommt eine Zahl raus:  02.133.2.0480     Also das 480ste Teil der Spätschicht am 133 Tag im zweiten Produktionsjahr.

(Die Schreibweise bleibt jedem selbst überlassen: 0213320480)

Das ist für Aussenstehende nicht wirklich aus dem Stand nachvollziehbar, kann aber intern für Tracking / Chargenrückverfolgung verwendet werden.

Und eine Auskunft über die Anzahl der wirklich produzierten Teile gibt es eigentlich auch nicht.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Urmel

  • Global Moderator
  • Forum Legende LV 1
  • *
  • Beiträge: 1107
  • Bewertet: +16
Re: Nummerierung
« am: 13. Mai 2013, 08:32:44 »
Hallo,

im Prinzip hast du Recht, das ist ein übliches Verfahren.

Aber in der Frage hieß es ja

Bei so einer Numerierung sind zumindest die Teile aus einer Schicht fortlaufend numeriert. Wenn jetzt ein großer Kunde sehr viele Teile pro Tag bekommt, kann er evtl. schon rausfinden, wie viele da wirklich produziert werden.

Manchmal wird ein großer Aufwand betrieben, so etwas zu verhindern. Ich habe mal in einem Projekt gearbeitet, wo Tinte verwendet wurde, die innerhalb weniger Stunden verschwindet. Damit war die Beschriftung mit Seriennummer und Prüfdaten wieder verschwunden, bis die Teile beim Kunden waren. Der Hintergrund war, dass vom Aufbau her identische Teile für mehrere Kunden produziert wurden, die nach der Qualitätsprüfung entsprechend der Güteklassen auf verschiedene Kunden verteilt wurden. Man wollte unbedingt verhindern, dass die Kunden über die Seriennummern etwas über die Lieferungen an andere Kunden oder die Qualität der Fertigungsprozesses herausfinden.

Grüße

   Urmel
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap