Marius_100
Level-1
- Beiträge
- 8
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Guten Tag,
ich bin im Moment dabei die Teileverfolgung für eine Produktionslinie zu programmieren. In der Anlage werden Holzdielen befördert, vermessen, bearbeitet und zum Schluss einsortiert. Leider gibt es keine Möglichkeit zur eindeutigen Identifikation der Teile mittels QR-Code oder RFID.
Die Daten der einzelnen Teile müssen in der Steuerung (S7-1500) gespeichert und mitgeführt werden.
Da sich die Anordnung der Teile nicht ändert und diese nur eine Transportrichtung haben, habe ich an den Einsatz von Schieberegistern/ FIFOS gedacht. Im Forum konnte ich dazu auch schon einige hilfreiche Tipps finden.
Nun zu meinen Ansätzen und den Problemstellung:
1) Wenn sich die Teile im Durchlauf befinden, erfasse ich immer mit einer fallenden Flanke einer Lichtschranke oder eines Abstandssensors (Breite, Länge, Dicke), dass ein Teil in einen Abschnitt der Anlage eingefördert wurde. Im gleichen Zuge speichere ich die Position des Förderbandes (und ggf. einen Messwert) und schreibe diese in ein Schieberegister. Passiert das Teil eine weitere Lichtschranke oder eine Messstelle, kopiere ich die Daten aus dem letzten Element des Registers und validiere anhand der letzten Teileposition und der aktuellen Position des Förderbandes, ob Teile entnommen wurden oder nicht. Wurden Teile entnommen, lösche ich die Daten. Stimmt die Position überein, schreibe ich die Daten in ein neues Schieberegister und lösche den Eintrag anschließend aus dem vorherigen Register.
Um einen Teilestau zu erkennen, erfasse ich wie lange die Sensoren belegt sind. Über die Teilelänge und die Fördergeschwindigkeit errechne ich mir die Dauer (+Toleranz) die der Sensor belegt sein darf. Bei Überschreitung der Zeit wir die Anlage gestoppt und die Teile müssen manuell entnommen werden.
2) Nun habe ich dass Problem, dass ich eine Winkelübergabe auf dem Transportweg habe. Die Validierung anhand der Position ist hier leider nicht möglich. Ich habe in dem Fall überlegt, mit Zeitstempeln zu arbeiten. Allerdings sehe ich das problematisch, da im Falle eines Anlagenstopps die Systemzeit weitergezählt wird.
3) In einem Abschnitt befindet sich ein Scanner, der die Bretter optische Beurteilen soll. Das Problem hierbei ist, dass der Scanner mit dem Verlassen des Teil aus aus dem Scannbereich, je nach Maße und Geschwindigkeit der Teile, bis zu über eine Sekunde benötigt die Daten auszuwerten und an die Steuerung zu senden. Hier habe ich überlegt ein zweites Register anzulegen um die Messdaten des Scanners zu speichern. Passieren die Teile eine Lichtschranke, die weit genug hinter dem Scanner liegt, so nehme ich die ältesten Einträge aus dem "Messdaten-Register" und dem "Transport-Register" und kombiniere die Daten. Problematisch hierbei ist, dass ich irgendwie erkennen muss, dass ein Teil vor oder nach der Messung entnommen wurde und ggf. den Messwert zu löschen.
Leider hab ich bisher noch keine Teileverfolgung aufgezogen, außerdem hatte ich auch noch keinen Fall, wo mir die Daten mit so hoher Verzögerung zur Verfügung standen. Daher bin ich über weitere mögliche Ansätze oder Verbessrungsvorschläge sehr dankbar.
ich bin im Moment dabei die Teileverfolgung für eine Produktionslinie zu programmieren. In der Anlage werden Holzdielen befördert, vermessen, bearbeitet und zum Schluss einsortiert. Leider gibt es keine Möglichkeit zur eindeutigen Identifikation der Teile mittels QR-Code oder RFID.
Die Daten der einzelnen Teile müssen in der Steuerung (S7-1500) gespeichert und mitgeführt werden.
Da sich die Anordnung der Teile nicht ändert und diese nur eine Transportrichtung haben, habe ich an den Einsatz von Schieberegistern/ FIFOS gedacht. Im Forum konnte ich dazu auch schon einige hilfreiche Tipps finden.
Nun zu meinen Ansätzen und den Problemstellung:
1) Wenn sich die Teile im Durchlauf befinden, erfasse ich immer mit einer fallenden Flanke einer Lichtschranke oder eines Abstandssensors (Breite, Länge, Dicke), dass ein Teil in einen Abschnitt der Anlage eingefördert wurde. Im gleichen Zuge speichere ich die Position des Förderbandes (und ggf. einen Messwert) und schreibe diese in ein Schieberegister. Passiert das Teil eine weitere Lichtschranke oder eine Messstelle, kopiere ich die Daten aus dem letzten Element des Registers und validiere anhand der letzten Teileposition und der aktuellen Position des Förderbandes, ob Teile entnommen wurden oder nicht. Wurden Teile entnommen, lösche ich die Daten. Stimmt die Position überein, schreibe ich die Daten in ein neues Schieberegister und lösche den Eintrag anschließend aus dem vorherigen Register.
Um einen Teilestau zu erkennen, erfasse ich wie lange die Sensoren belegt sind. Über die Teilelänge und die Fördergeschwindigkeit errechne ich mir die Dauer (+Toleranz) die der Sensor belegt sein darf. Bei Überschreitung der Zeit wir die Anlage gestoppt und die Teile müssen manuell entnommen werden.
2) Nun habe ich dass Problem, dass ich eine Winkelübergabe auf dem Transportweg habe. Die Validierung anhand der Position ist hier leider nicht möglich. Ich habe in dem Fall überlegt, mit Zeitstempeln zu arbeiten. Allerdings sehe ich das problematisch, da im Falle eines Anlagenstopps die Systemzeit weitergezählt wird.
3) In einem Abschnitt befindet sich ein Scanner, der die Bretter optische Beurteilen soll. Das Problem hierbei ist, dass der Scanner mit dem Verlassen des Teil aus aus dem Scannbereich, je nach Maße und Geschwindigkeit der Teile, bis zu über eine Sekunde benötigt die Daten auszuwerten und an die Steuerung zu senden. Hier habe ich überlegt ein zweites Register anzulegen um die Messdaten des Scanners zu speichern. Passieren die Teile eine Lichtschranke, die weit genug hinter dem Scanner liegt, so nehme ich die ältesten Einträge aus dem "Messdaten-Register" und dem "Transport-Register" und kombiniere die Daten. Problematisch hierbei ist, dass ich irgendwie erkennen muss, dass ein Teil vor oder nach der Messung entnommen wurde und ggf. den Messwert zu löschen.
Leider hab ich bisher noch keine Teileverfolgung aufgezogen, außerdem hatte ich auch noch keinen Fall, wo mir die Daten mit so hoher Verzögerung zur Verfügung standen. Daher bin ich über weitere mögliche Ansätze oder Verbessrungsvorschläge sehr dankbar.