-> Hier kostenlos registrieren
Hey,
ich hätte ein Anliegen zum Thema Schieberegister und hoffe mir kann jemand hier eventuell einen kleinen Tipp geben.
Zur Problemstellung: Es geht um ein Förderband auf welchem Werkstücke durch eine Maschine befördert werden. Hier wird ein Schieberegister (32 Bit, SLD) verwendet um eine Möglichkeit zu haben, zu prüfen ob an Position X gerade ein Werkstück vorhanden ist oder nicht. In dem Fall ist an dem entsprechenden Bit für die entsprechende Position im Schieberegister eine 1 vorhanden.
Damit eine 1 (Werkstück vorhanden) in das Schieberegister geschoben wird, muss das Signal einer Lichtschranke am Einlauf der Maschine vorhanden sein und dort das Werkstück erkennen. Über den Maschinentakt wird mit jeder positiven Flanke die 1 um ein Bit verschoben. Das Ganze über insgesamt vier Merker-Doppelworte.
Nun zu dem Problem: Eine neue Erkennung soll installiert werden. Die derzeitige Auflösung des Schieberegisters ist für diese Erkennung zu ungenau.
Das heisst, an der Stelle wo die Erkennung in der Maschine positioniert ist, benötige ich zur Programmierung dieser optimalerweise ca. 10 einzelne Bits.
Durch mein vorhandenes Schieberegister habe ich allerdings nur ein Bit zur Verfügung.
Ich suche nun eine Möglichkeit, wie ich zwischen beispielsweise im Bereich von 5 aufeinanderfolgenden Bits in meinem bestehenden, schlecht aufgelösten Schieberegister ein zweites, feiner ausgelöstes Schieberegister für meine Erkennung erstellen könnte.
Ich bräuchte hier einen Ansatz, wie ich das ganze verfeinern könnte z.B. um den Faktor 10. An dem vorhandenen Schieberegister soll jedoch nach Möglichkeit nichts geändert werden.
Ein neues Schieberegister zu erstellen welches einfach einen größeren Bereich umfasst, also anstatt der 4 MDW dann das 10 fache würde ja nicht ausreichen, da der Maschinentakt von seiner Geschwindigkeit gleich bleiben würde. Also wäre mein Ansatz, wie bekomme ich den vorhandenen Maschinentakt (0_1_0_1_0_1 ...) in der Steuerung von der Geschwindigkeit her verzehnfacht.
Vielleicht liege ich auch falsch und jemand könnte mir einmal schreiben, wie man sowas eleganter löst.
Vielen Dank
ich hätte ein Anliegen zum Thema Schieberegister und hoffe mir kann jemand hier eventuell einen kleinen Tipp geben.
Zur Problemstellung: Es geht um ein Förderband auf welchem Werkstücke durch eine Maschine befördert werden. Hier wird ein Schieberegister (32 Bit, SLD) verwendet um eine Möglichkeit zu haben, zu prüfen ob an Position X gerade ein Werkstück vorhanden ist oder nicht. In dem Fall ist an dem entsprechenden Bit für die entsprechende Position im Schieberegister eine 1 vorhanden.
Damit eine 1 (Werkstück vorhanden) in das Schieberegister geschoben wird, muss das Signal einer Lichtschranke am Einlauf der Maschine vorhanden sein und dort das Werkstück erkennen. Über den Maschinentakt wird mit jeder positiven Flanke die 1 um ein Bit verschoben. Das Ganze über insgesamt vier Merker-Doppelworte.
Nun zu dem Problem: Eine neue Erkennung soll installiert werden. Die derzeitige Auflösung des Schieberegisters ist für diese Erkennung zu ungenau.
Das heisst, an der Stelle wo die Erkennung in der Maschine positioniert ist, benötige ich zur Programmierung dieser optimalerweise ca. 10 einzelne Bits.
Durch mein vorhandenes Schieberegister habe ich allerdings nur ein Bit zur Verfügung.
Ich suche nun eine Möglichkeit, wie ich zwischen beispielsweise im Bereich von 5 aufeinanderfolgenden Bits in meinem bestehenden, schlecht aufgelösten Schieberegister ein zweites, feiner ausgelöstes Schieberegister für meine Erkennung erstellen könnte.
Ich bräuchte hier einen Ansatz, wie ich das ganze verfeinern könnte z.B. um den Faktor 10. An dem vorhandenen Schieberegister soll jedoch nach Möglichkeit nichts geändert werden.
Ein neues Schieberegister zu erstellen welches einfach einen größeren Bereich umfasst, also anstatt der 4 MDW dann das 10 fache würde ja nicht ausreichen, da der Maschinentakt von seiner Geschwindigkeit gleich bleiben würde. Also wäre mein Ansatz, wie bekomme ich den vorhandenen Maschinentakt (0_1_0_1_0_1 ...) in der Steuerung von der Geschwindigkeit her verzehnfacht.
Vielleicht liege ich auch falsch und jemand könnte mir einmal schreiben, wie man sowas eleganter löst.
Vielen Dank

Zuletzt bearbeitet: