Schieberegister in C programmieren

Thinkoka

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich bin neu hier und habe noch nicht sehr grosse erfahrung im C Programmieren, und leider keinen anhaltspunkt wie ich beginnen soll.

Ich habe vollgende Signale:
Sensor 1-4
Drehgeber
Mitnehmertakt der Kette
Signal Ausgang

Ich habe eine Kette die mein produkt transportiert, ich kann mehrere produkte auf meine Kette stellen die nicht den gleichen abstand zum ausgang haben.
Sobald ein Produkt auf der Kette ist wird es vom jeweiligen Sensor erkannt (je nach abstand dum ausgang) Sensor 1 ist vorne und die restlichen kommen weiter hinten
Wie muss ich das Programmiern das ich weiss wann mein Produkt beim Ausgang ist?

Kann mir jemand einen Tipp geben?
 
Gib mal bitte noch ein paar Details preis.
Entspricht der Mitnehmertakt der Kette den minimal möglichen Abstand der Produkte?
Verstehe ich das richtig? Das Produkt kann auf vier mögliche Positionen auf die Kette gelegt werden, was durch die Sensoren angezeigt wird, also quasi eine variable Beschickungsposition?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hoffe, das ist ein Spielzeug. Sonst lass Dir vom Chef zumindest einen Einführungskurs bezahlen.

Noch ein Hinweis, die SPS werden nicht in C programmiert, zumindest nicht bei solchen Anwendungen.
 
Ja der Mitnehmer Takt entspricht der Kette hat aber einen separaten Sensor. Der minimal Abstand der Produkte ist ca. 200mm
Ja genau die Produkte können an vier verschiedenen Positionen auf die Kette gelegt werden was durch die Sensoren angezeigt wird (variable Beschickungsposition).
 
Wieviele Mitnehmertakte braucht es denn maximal, bis das am weitesten entfernte Produkt den Ausgang erreicht?
Sind das mehr als 32?
Falls nein, macht man ein einfaches Bit-Shifting auf ein Long Integer. Wenn es mehr als 32 Takte sind, muss man mehrere Shiftregister in Reihe nutzen und den Overflow durchreichen.

Mein Rat, informiere dich über die Themen Bit-Shifting und Bit-Masking (Bit Maskierung). Die beiden Dinge wirst du brauchen und solltest du auch verstanden haben.

Man kann das auch mit einem Array oder Pointern lösen, aber Bit-Shifting ist da die effektivste Herangehensweise meiner Meinung nach.
 
Hallo noch mal

Wollte kurz nachfragen ob Ihr noch weitere Tipps bezüglich diesem Thema für mich hättet?

Besten Dank im voraus
 
Zurück
Oben