INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Relais Entprellung auf FPGA



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

13.08.2015, 17:33 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2015 17:42 von skyph.)
Beitrag #1

skyph Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Jun 2015

LV2014, LV2015, TS2014
2015
DE


Deutschland
Relais Entprellung auf FPGA
Hallo zusammen,

ich habe folgendes Problem: ich will mit meinem sbRIO auf die Zusandsänderung durch das angesteuerte Relais reagieren. Dabei sehe ich das bekannte Nebeneffekt, es prellt. Da die HW schon vor mir liegt, wollte ich das Problem im LV lösen und zwar über einen Lowpassfilter (Butterworth Filter). Ist es überhaupt eine gute Idee oder gibt es intelegentere?

Am Eingang vom Butterworth Filter erwarte ich ein 1D array (laut Definition), kann diesem aber "nur" einen boolschen Wert von meinem abgelesenen IO bieten. Gibt es eine Chance das zu konvertieren?

Vielen Dank schon im Voraus Smile

Grüße
Dennis


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.08.2015, 18:02 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2015 18:02 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Relais Entprellung auf FPGA
Die Filter mit Array-Eingang sind zur Offline-Verarbeitung von Daten. Für die Online-Verarbeitung gibt es alle Filter auch als Punkt-zu Punkt-Funktionen. Die haben nur einen einzelnen numerischen Wert als Eingang.
Ich sehe aber Filter nicht als optimale Methode zur Entprellung. Andere Methode z.B: Ein Zustandswechsel, beispielsweise von High auf Low, wird erst dann gültig, wenn mehr als 5 hintereinanderfolgende Abtastwerte Low sind. (die "5" ist hier nur ein Beispiel, der optimale Wert ist durch Probieren zu ermitteln).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.08.2015, 18:10
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Relais Entprellung auf FPGA
Diese Filter VIs laufen sowieso nicht auf FPGA-Ebene.
Eine ganz simple Variante für eine Mindestdauer "HIGH" hätte ich hier:
   
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 07:40
Beitrag #4

skyph Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Jun 2015

LV2014, LV2015, TS2014
2015
DE


Deutschland
RE: Relais Entprellung auf FPGA
danke für eure Meinung!

dass die Filter VIs auf dem FPGA nicht laufen, ist natürlich ein Argument.

Mit den einfacheren Schleifen das abzufangen war ich bei der Lösung aus dem Anhang.
Allerdings habe ich 24 Kanäle gleichzeitig zu überwachen. Dafür lese ich diese in einem Sub VI permanet aus, pack in ein 1D Array. Dieses leite ich zum einem zur RT Ebene weiter, zum anderen stelle ich einen möglichen Flankenwechsel über xor fest (Flag wird ebenfalls danach weitergereicht). An der Stelle wollte ich eigentlich keine Schleife einbauen, weil ich im aufrufenden VI weitere Befehle ohne Zeitverzögerung unabhängig vom Flankenwechsel ausführen muss... Ich probiere aus, ob ein "Zeitopfer" an der Stelle mich doch weiterbringt


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 08:24
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Relais Entprellung auf FPGA
Das ist doch schnell skaliert:
   
Irgendwann packst du den Inhalt in der Schleife oder die gesamte Schleife noch in ein SubVI, und dann sieht das BD auch wieder übersichtlich aus.
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 12:09
Beitrag #6

skyph Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Jun 2015

LV2014, LV2015, TS2014
2015
DE


Deutschland
RE: Relais Entprellung auf FPGA
Hallo Jens,

danke für den weiteren Tipp Smile ich kann da alles nachvollziehen bis auf das größer-gleich Fkt. Welche Rolle spielt hier die Dauer und warum muss ich sie mit der Zustandsänderung vergleichen?

Ich habe jetzt eine andere Lösung, auch wenn es vielleicht mit Kanone auf Spatzen geschossen ist Smile State Machine. Es tut sogar! Jetzt nur noch optimieren

Grüße
Dennis


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 12:17
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Relais Entprellung auf FPGA
(14.08.2015 12:09 )skyph schrieb:  danke für den weiteren Tipp Smile ich kann da alles nachvollziehen bis auf das größer-gleich Fkt. Welche Rolle spielt hier die Dauer und warum muss ich sie mit der Zustandsänderung vergleichen?
Also das Beispiel überwacht eigentlich nur ein Prellen beim Flankenwechsel von Low auf High. Der echte Zustand High wird erst dann weitergegeben, wenn x-mal direkt hintereinander der Zustand High erkannt wurde. "Dauer" ist die Grenze (in Einheiten der Loop-Time), wie oft hintereinander der Zustand High erkannt werden muss, bevor er als Ausgabe weitergeleitet wird.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 12:19 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2015 12:24 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Relais Entprellung auf FPGA
Hallo skyph,

Zitat:Ich habe jetzt eine andere Lösung
Was soll die UND-Verknüpfung unten? Wenn du die mit einem Array aus lauter FALSE startest, bleibt das Ergebnis immer FALSE…
Was machst du im FALSE-Case?
Warum vergleichst du das XOR-Ergebnis ALLER Relais gleichzeitig? Werden die alle gleichzeitig geschaltet?
Was soll die UND-Verknüpfung mit TRUE vor dem Schleifen-Stop? RubeGoldberg lässt grüßen…

Nachtrag zu Jens' Kommentar: bei einer SPS nennt sich die gleichwertige Funktion "TON"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 12:55
Beitrag #9

skyph Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Jun 2015

LV2014, LV2015, TS2014
2015
DE


Deutschland
RE: Relais Entprellung auf FPGA
die UND Verknüpfung ganz unten rechts ist überflüssig (das meinte ich mit Optimierung). Die Abbruchbedingung wird aus jeweiligen Case definiert und das ist ausreichend.
Die andere Verknüpfung... wo Du das grade sagst, verstehe ich auch warum ich in RT die Relaiszustände richtig ablese aber keine Flankenauswertung erhalte! Danke Smile
XOR - weil es tatsächlich möglich ist, dass alle Relais gleichzeitig schalten können, und ich lese auf den höheren Ebenen was genau geschaltet hat.
und im false-Case wird nur der nächste Zustand angegeben. In diesem Fall Ausgabe mit Überleitung zum Loop Abbruch.

Grüße
Dennis
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2015, 16:56
Beitrag #10

skyph Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Jun 2015

LV2014, LV2015, TS2014
2015
DE


Deutschland
RE: Relais Entprellung auf FPGA
mit der Änderung an der o.g. Stelle sieht es schon besser aus Smile


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.931 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.239 17.03.2015 16:58
Letzter Beitrag: LauraP.

Gehe zu: