- Beiträge
- 15.070
- Reaktionspunkte
- 3.586
-> Hier kostenlos registrieren
Da hast du ja eine Menge schon Konkretes geschrieben ...
Ich denke mal, dass dein Werkstück-Datensatz dann eine Menge mehr Info's beinhalten muss. Ich werde das jetzt (aus meiner Sicht) mal ein wenig aufblasen und, da ich deine Maschine nicht wirklich kenne, sicherlich Dinge dabei übersehen.
Dann Werkstück-Datensatz muss dann ja schon mal beinhalten welche Schlüsselnummer es hat - das wäre die oben schon genannte Index-Nummer. Die kann sich im Laufe der Zeit natürlich wiederholen - es darf aber in der Maschine immer nur ein Werkstück mit derselben Nummer geben.
Dann müßten die Daten beinhalten von woher das Werkstück gekommen ist und wo es hin soll. Falls es hier aber so ist, dass das Werkstück kommend von Position 20 erst nach Pos.1 und dann nach 7 und dann nach 12 und dann nach 8 soll dann muss auch das darin stehen. Für jede dieser Positionen, hier würde ich ein Array anlegen, das die mögliche Stationenzahl berücksichtigt wobei hier dann ja auch dieselbe Station mehrfach angeleaufen werden kann, ein Bool, das aussagt ob die Bearbeitung der Station abgeschlossen und irgendwo auch einen Index, der dir sagt in welchem Bearbeitungsschritt das Werkstück gerade steckt.
Hat eine Station mehrere, möglicherweise sogar unterschiedliche Dinge zu tun dann würde ich auch das hinterlegen oder, falls das aus dem Rezept hervorgeht, würde ich die Rezept-Nummer hinterlegen und auch wieder die Info, welche Einzelschritte davon bereits bearbeitet worden sind - vielleicht auch noch eine Bewertung - es kann ja auch mal ein Teil nicht korrekt bearbeitet worden sein, warum auch immer, und es deshalb dann NIO sein. Auf jeden Fall kannst du auf diese Weise ziemlich sicherstellen, dass im Ablauf, sogar bei einer Unterbrechung, nichts vergessen werden kann. Um das jetzt aber weiter ausewinander zu puzzeln müßte ich mehr über die Varianten wissen - ich denke aber, dass es dir so als Denkansatz vielleicht schon mal hilft.
Wenn ich es richtig verstanden habe dann hast du max. 75 Werkstücke in der Anlage - du müßtest dann dies also als Array mit 75 UDT-Elementen anlegen - das wäre dann wenn du so willst dann auch deine schon genannte "Statemachine".
Die jeweilige Station würde nun (nach meiner Vorstellung) einfach nur mitgeteilt bekommen, mit welchen der Datensätze sie gerade arbeitet, also dort dann die Felder ausfüllt und wenn sie dann fertig ist eine Kennung an dein Zentral-Programm in dessen Arbeits-FIFO schicken, damit das Werkstück dann irgendwann, wenn der Robbi Zeit dafür hat, wieder entleert und ggf. neu beschickt wird.
Soweit meine Überlegungen dazu ... jetzt bin ich dann mal auf deine Antwort gespannt ...
Ich denke mal, dass dein Werkstück-Datensatz dann eine Menge mehr Info's beinhalten muss. Ich werde das jetzt (aus meiner Sicht) mal ein wenig aufblasen und, da ich deine Maschine nicht wirklich kenne, sicherlich Dinge dabei übersehen.
Dann Werkstück-Datensatz muss dann ja schon mal beinhalten welche Schlüsselnummer es hat - das wäre die oben schon genannte Index-Nummer. Die kann sich im Laufe der Zeit natürlich wiederholen - es darf aber in der Maschine immer nur ein Werkstück mit derselben Nummer geben.
Dann müßten die Daten beinhalten von woher das Werkstück gekommen ist und wo es hin soll. Falls es hier aber so ist, dass das Werkstück kommend von Position 20 erst nach Pos.1 und dann nach 7 und dann nach 12 und dann nach 8 soll dann muss auch das darin stehen. Für jede dieser Positionen, hier würde ich ein Array anlegen, das die mögliche Stationenzahl berücksichtigt wobei hier dann ja auch dieselbe Station mehrfach angeleaufen werden kann, ein Bool, das aussagt ob die Bearbeitung der Station abgeschlossen und irgendwo auch einen Index, der dir sagt in welchem Bearbeitungsschritt das Werkstück gerade steckt.
Hat eine Station mehrere, möglicherweise sogar unterschiedliche Dinge zu tun dann würde ich auch das hinterlegen oder, falls das aus dem Rezept hervorgeht, würde ich die Rezept-Nummer hinterlegen und auch wieder die Info, welche Einzelschritte davon bereits bearbeitet worden sind - vielleicht auch noch eine Bewertung - es kann ja auch mal ein Teil nicht korrekt bearbeitet worden sein, warum auch immer, und es deshalb dann NIO sein. Auf jeden Fall kannst du auf diese Weise ziemlich sicherstellen, dass im Ablauf, sogar bei einer Unterbrechung, nichts vergessen werden kann. Um das jetzt aber weiter ausewinander zu puzzeln müßte ich mehr über die Varianten wissen - ich denke aber, dass es dir so als Denkansatz vielleicht schon mal hilft.
Wenn ich es richtig verstanden habe dann hast du max. 75 Werkstücke in der Anlage - du müßtest dann dies also als Array mit 75 UDT-Elementen anlegen - das wäre dann wenn du so willst dann auch deine schon genannte "Statemachine".
Die jeweilige Station würde nun (nach meiner Vorstellung) einfach nur mitgeteilt bekommen, mit welchen der Datensätze sie gerade arbeitet, also dort dann die Felder ausfüllt und wenn sie dann fertig ist eine Kennung an dein Zentral-Programm in dessen Arbeits-FIFO schicken, damit das Werkstück dann irgendwann, wenn der Robbi Zeit dafür hat, wieder entleert und ggf. neu beschickt wird.
Soweit meine Überlegungen dazu ... jetzt bin ich dann mal auf deine Antwort gespannt ...