LabVIEWForum.de - Digital Port richtig entprellen

LabVIEWForum.de

Normale Version: Digital Port richtig entprellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich bin gerade dabei mehrere (8) Schaltsignale digital zu erfassen. Dies soll über den Digitalport einer Messkarte laufen.
Mein Problem ist nun das diese Schaltsignale alle einzeln entprellt werden müssen.
Ich dachte ich lese dem Port komplett alle ca 2-5ms aus.
Aber wie mache ich es dann mit der Entprellung? Verschiebe ich die Daten mit hilfe von 8 Queue´s und verarbeite sie dann einzeln?
Das erscheint mir nicht der richtige Ansatz zu sein.... Wie kann ich den Port auslesen und die einzelnen digitalen Signale einzeln entprellen, so das die erfassungschleife immer ihre feste Durchlaufzeit hat? Die restlichen Schleifen aber nur aktiv sind wenn ein Signal erfasst wurde.

Hat jemand einen guten Ansatz der funst oder evtl schon ein VI?

Vielen Dank für die Hilfe.

Lg
Ob Du die Entprellung für jede Leitung einzeln behandeln mußt, hängt davon ab, ob die Schaltzustandsänderung immer synchron für alle Leitungen oder unabhängig voneinander erfolgt. Darüber sagts Du nichts.
Der Schaltzustand ist dann stabil und damit gültig, wenn der boolsche Wert über mehrere Abtastungen gleich bleibt. Kontrollieren läßt sich das am einfachsten mit einem Shift-Register:
[attachment=30902]
Hier hast Du außer dem Wert noch ein Gültigkeitsanzeige. Eine andere, wahrscheinlich bessere Möglichkeit wäre, auf die Gültigkeitsanzeige zu verzichten und es so zu handhaben: Der alte boolsche Wert bleibt so lange gültig, bis N-mal hintereinander ein anderer boolscher Wert abgetastet wurde. Schaffe es allein, diese Logik zusammenzubauen --> Vorzeigepflicht!:mellow:Termin: in Bälde.Mellow
Die Schaltzustandsänderung erfolgt eigentlich nicht genau vorhersehbar.
von mehr oder weniger gleichzeitig bis länger versetzt 1-2 sek.

Die letzte version habe ich bereits im Grunde so programmiert, aber dann gehen mir ab und an Signale durch die lappen, wenn die Schaltzustandsänderungen relativ dich hintereinander erfolgen und die Schleife grad in der entprellung ist. entprellung ca 10 ms
Wenn die Prellzeit 10 ms ist und wenn die Umschaltungen "relativ dicht hintereinander folgen" (also in der Größenordnung der Prellzeit liegen) , dann ist das Entprellen mit Software nicht mehr zu machen. Da helfen nur noch andere Relais.
Hmm...
hab ich mir schon fast gedacht....

Aber Danke für die Hilfe.

Gruß
Referenz-URLs