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 

FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht



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!

07.03.2009, 14:54
Beitrag #1

mighty Maetthy Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2009

8.2
2008
de

70178
Deutschland
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
Hallo,

ich bin ein ziemlicher Neuling in LabVIEW 8.2 und habe eine Frage zur FPGA Programmierung zu der ich im Forum und über google nichts finden konnte.

Ich habe ein Programm erstellt, mit welchem ich über ein FPGA VI, welches auf einem cRIO läft, verschiedene Ventile ansteuere. Was für mich wichtig wäre, ist eine Möglichkeit aus Sicherheitsgründen alle Ventile zu schließen, falls die Verbindung zwischen Frontpanel-VI auf dem PC und dem cRIO verloren geht (PC stürzt ab, etc.). Es würde wohl reichen, das VI auf dem cRIO zu stoppen, da ja dann die an den analogen I/Os ausgegebenen Spannungen Null werden?!?

Wie könnte man eine solche Funktion realisieren? Für Hilfe und Tips wäre ich sehr dankbar!

Viele Grüße
Maetthy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.03.2009, 16:12
Beitrag #2

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
Die werte am FPGA werden nicht zurueck gesetzt, wenn du das FPGA VI einfach stoppst.
Was du machen koenntest ist, dass du ein lifebit all XXms toggelst.
Am cRIO checkst du das bit und sollte eine bestimmte guardtime nicht eingehalten werden, laeufst den nothalt am FPGA, der alle outputs in einen von dir definierten zustand versetzt.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.03.2009, 16:48
Beitrag #3

mighty Maetthy Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2009

8.2
2008
de

70178
Deutschland
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
' schrieb:Was du machen koenntest ist, dass du ein lifebit all XXms toggelst.
Am cRIO checkst du das bit...

Danke Thomas, das scheint mir eine gute Lösung zu sein. Hast mir - da ich wirklich ein blutiger Anfänger bin - vielleicht noch einen kurzen Tip, wie man das ganz konkret realisiert?

Danke!

Maetthy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2009, 22:08
Beitrag #4

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
Ich nehme an, dass du, nachdem du PC schreibst nur ein Host VI und ein FPGA VI hast und direkt vom PC das bitfile deployest.

Was du machen kannst ist folgendes (einfachste der einfachen loesungen):

Am FPGA laesst du eine separate schleife laufen, die ein front panel (FP) boolean element auf wertaenderung ueberprueft.
Wenn die wertaenderung innerhalb einer bestimmten Zeit (timeout), nicht auftritt, dann kannst du mittels eines flags (ueber lokale variable, notifier, etc.) der haupt schleife im FPGA einen error signalisieren und dementsprechend in den notbetrieb gehen.

Nachdem das andere VI am Host laeuft musst du mit der schleifenzeit hier ein wenig spielen.
Grundsaetzlich solltest du das lebensbit in eine hoeher priore Schleife (timed loop) laufen lassen. Nachdem der determinismus am PC nicht vorhanden ist, musst du mit den loop werten ein wenig spielen. Als anfangswert kannst du die zeit vom timeout am FPGA durch 2 teilen und das result als timerwert am host VI nehmen.
In der schleife laesst das bit immer toggeln (entsprechend der logik am FPGA, welche ein toggelndes bit erwartet). Wenn das Host VI aussetzt oder die Verbindung verloren geht, bekommt das in dem Fall der FPGA mit und kann entsprechend deiner logik darauf reagieren.


Es gibt auch noch andere moeglichkeiten die weniger codearbeit fuer dich bedeuten, aber weitaus mehr text von meiner seite :-)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2009, 22:50
Beitrag #5

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
Wäre das nicht eine Standard-Aufgabe für ein IRQ? FPGA wirft eins, wenn das nicht nach x mx gelöscht ist, dann stoppt das FPGA. Meine, dass lässt sich auf dem FPGA per Eigenschaftskonten abfragen...

Die andere Möglcihkeit aus dem Hause NI würde mcih aber auch interessieren...Wink

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2009, 09:10
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
das kann man doch recht einfach mit einer Netzwerk-Variablen lösen:

Auf dem PC wird in einer While-Schleife eine numerische Variable alle 250 ms um eins erhöht. Auf dem RT-Teil wird diese Variable alle 500 ms abgefragt und wenn der neue Wert gleich dem alten (in einem Shift-Register zwischengespeicherten) Wert ist, dann hat der PC keine neuen Daten geschrieben und ist vermutlich abgestürzt.

im FPGA-Teil muss man dann noch was programmieren, dass auf ein bestimmtes Signal hin (z.B. ein Control STOP (False) /GO (True)) im Stop-Fall alle Ausgänge auf den gewünschten Wert setzt. Wenn nun der Watchdog "Alarm schlägt" wird der Button GO auf False gesetzt und die Ausgänge werden auf die definierten Stop-Werte gesetzt.

so ist das IMHO in 30 min implementiert und nicht wirklich schwieritsch ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.03.2009, 01:04
Beitrag #7

mighty Maetthy Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2009

8.2
2008
de

70178
Deutschland
FPGA VI auf cRIO stoppen, wenn Verbindung zum PC verloren geht
Ich danke euch allen für eure Antworten!

Da sind wirklich gute und nachvollziehbare Lösungen für mich dabei, werde mich nun an die Umsetzung machen.


Grüße
Maetthy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  RS485 Kommunikation auf FPGA Basis - cRio Nullstrom 8 10.673 02.12.2016 08:44
Letzter Beitrag: Nullstrom
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.992 26.10.2015 20:41
Letzter Beitrag: Felix777
  Datenübergabe parallele Schleifen FPGA cRIO Brainbug 0 5.931 16.09.2015 09:49
Letzter Beitrag: Brainbug
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.343 17.03.2015 16:58
Letzter Beitrag: LauraP.
  Fehlersuche bei FPGA-Code mit cRIO Mietzekatze 8 8.876 10.09.2013 18:52
Letzter Beitrag: Mietzekatze
  cRIO 9074 - FPGA, RT, Host Kommunikation Troy.mc.Lure 3 6.814 11.03.2013 19:05
Letzter Beitrag: jg

Gehe zu: