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 

Events auf dem RT-Controller



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!

26.08.2008, 10:20
Beitrag #1

MichaDu
Unregistered


 







Events auf dem RT-Controller
Hallo,

habe eine RT-Applikation, die auf einem cRIO läuft, in der ich Benutzereingaben (Buttons etc.) mit einer Eventstruktur bearbeiten möchte. Die Events werden aber nicht registriert, wenn ich Eingaben über das "Mirror-Frontpanel" oder einen Webbrowser mache. Liegt es daran, dass die Eingabegeräte nicht direkt an das Realtime-Gerät angeschlossen sind? Wenn ich die Eingaben mit einer ganz normalen Polling-Schleife mache, funktioniert es!
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.08.2008, 03:59
Beitrag #2

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
Events auf dem RT-Controller
es gibt keine events unter RT weil es kein FrontPanel gibt. Es gibt nur user generated events.

Wennst mit einer event structure arbeitest nehme ich an, dass property nodes auch nicht weit sind:
Property nodes unter RT funktionieren nur so lange, bis das FP removed wird (ist bei einer EXE z.b. standard)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2008, 06:12
Beitrag #3

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Events auf dem RT-Controller
' schrieb:Wennst mit einer event structure arbeitest nehme ich an, dass property nodes auch nicht weit sind:
Lol Cool

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
29.08.2008, 07:38
Beitrag #4

MichaDu
Unregistered


 







Events auf dem RT-Controller
Danke für die Antwort!

Wundere mich auch schon, warum NI dann diese Funktionen bei einem RT-Projekt nicht aus der Funktionsliste eliminiert? Das machen die doch auch bei dem FPGA-Modul...
Diese Nachricht in einer Antwort zitieren to top
29.08.2008, 08:12
Beitrag #5

MichaDu
Unregistered


 







Events auf dem RT-Controller
' schrieb:Wennst mit einer event structure arbeitest nehme ich an, dass property nodes auch nicht weit sind:
Property nodes unter RT funktionieren nur so lange, bis das FP removed wird (ist bei einer EXE z.b. standard)

A propos property node ;-)
Ich habe tatsächlich einen aus einem Tab-Container verwendet (wie die Porperty page aus MS-MFC), um die Tabs (Pages) von einem anderen Control aus zu steuern. Das funktioniert sowohl über das "Mirror-Frontpanel" als auch über den Webbrowser. Was muss ich denn hierbei beachten? Oder besser: was darf ich hier nicht verwenden, um spätere Fehler zu vermeiden? Ich will das Target nur am Anfang parametrieren...
Diese Nachricht in einer Antwort zitieren to top
29.08.2008, 08:29
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Events auf dem RT-Controller
' schrieb:Aber a propos property node ;-)
Ich habe tatsächlich einen aus einem Tab-Container verwendet (wie die Porperty page aus MS-MFC), um die Tabs (Pages) von einem anderen Control aus zu steuern. Das funktioniert sowohl über das "Mirror-Frontpanel" als auch über den Webbrowser. Was muss ich denn hierbei beachten? Oder besser: was darf ich hier nicht verwenden, um spätere Fehler zu vermeiden?

wenn du den eingebauten Web-Server ist das wiederum ein "Sonderfall", da hast du ja wieder ein "Frontpanel".

Gedacht ist das Ganze "eigentlich" so:
im RT-Teil deiner verteilten Anwendung finden keine Frontpanel Interaktionen mit dem User statt. Wenn du den RT-Teil fertig programmiert hast, kompiliert und als Startup auf den RT-Controler abgelegt hast, startet dieser einfach und führt dein VI aus. Dann hast du kein Frontpanel mehr, das ist einfach nicht da. Für die Benutzer-Interaktion schreibst du ein eigenständige Windows Applikation, die den RT-Teil - durch welche Mechanismen auch immer - steuert. Den RT-Controler hast du mehr oder weniger in eine Black-Box "verwandelt" bzw. in ein Messgerät, dass genau deinen Anforderungen entspricht. Ausser Einschalten, Ausschalten und ggf. ein Reset wird da nicht mehr interagiert ...

Das Frontpanel hast du bei den RT-VIs eigentlich nur, wenn du beim Entwickeln bist. Sobald du die Entwicklungs-Umgebung verläßt gibts die nicht mehr. Wenn du's mir nicht glaubst: schließ einfach mal einen Monitor an den RT-Controler anWink

Zitat:Welcome to LabVIEW RT 8.5.1 *blink blink blink*

Was gibt es zu beachten:
- verzichte einfach auf alles was mit Frontpanel zu tun hatSmile
=> keine locals, keine property nodes

bei mir sieht z.B. das Haupt-RT-VI so aus:
   

der Stop Button und die LEDs sind auch nur zum debuggen, damit ich das Programm auf dem RT-Controler laufen lassen kann und es ggf. stoppen kann ohne, dass ich mich mit dem Client verbinden muss. Vor dem Release kommt das auch alles noch wegWink

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
29.08.2008, 13:42
Beitrag #7

MichaDu
Unregistered


 







Events auf dem RT-Controller
Danke für die ausführliche Antwort!

Ich möchte mein RT-Target (übrigens ein cRIO) später als Prozessregler laufen lassen, der nur über TCP/IP von einer SPS aus gesteuert werden kann und auch Prozessdaten mit ihr austauscht.

Falls aber doch mal zwischendurch eine Änderung der Regelparameter vorgenommen werden muss, wollte ich die Möglichkeit offen lassen, einen Laptop oder PC anzuschließen und die Parameter komfortabel über einen Webbrowser ändern zu können. Dafür muss ich doch noch ein Frontpanel im RT-VI haben, oder? Die geänderten Reglerwerte speichere ich in einer Konfigurationsdatei ab, damit sie beim Neustart automatisch geladen werden.
Diese Nachricht in einer Antwort zitieren to top
29.08.2008, 15:06
Beitrag #8

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
Events auf dem RT-Controller
' schrieb:- verzichte einfach auf alles was mit Frontpanel zu tun hatSmile
=> keine locals, keine property nodes

So restriktiv ists dann auch wieder net :-)
Locals darfst verwenden weil die eine Speicherkopie sind und asynchron zum FP laufen
Invokes hingegen funktionieren unter RT auch nur eingeschraenkt (verstaendlich)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2008, 16:31
Beitrag #9

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Events auf dem RT-Controller
' schrieb:So restriktiv ists dann auch wieder net :-)
Locals darfst verwenden weil die eine Speicherkopie sind und asynchron zum FP laufen

naja, aber wirklich brauchen tut man se oooch nich ...

' schrieb:Falls aber doch mal zwischendurch eine Änderung der Regelparameter vorgenommen werden muss, wollte ich die Möglichkeit offen lassen, einen Laptop oder PC anzuschließen und die Parameter komfortabel über einen Webbrowser ändern zu können. Dafür muss ich doch noch ein Frontpanel im RT-VI haben, oder? Die geänderten Reglerwerte speichere ich in einer Konfigurationsdatei ab, damit sie beim Neustart automatisch geladen werden.

naja, ich mach das so:
ich speichere Konfigurations-Einstellungen in einer binären Datei auf dem cRIO. Diese Datei wird beim Start des RT-VIs gelesen und verarbeitet. Wenn man's nun einfach haben will könnte man mit dem FTP Client auf das cRIO zugreifen und diese Datei ersetzen und das RT-VI neu starten. Allerdings bin ich ja nu CLA und da macht man's natürlich kompliziert:

Die Verbindung zwischen cRIO und PC läuft über TCP und 2 Ports. Einer als "Hin-Kanal", der andere als "Rück Kanal". Für den Hin- und den Rück-Kanal gibt es jeweils ein eigenes Protokoll, das im groben aus einem Header (was kommen jetzt für Daten) und den Daten selbst besteht. Wenn ich nun irgendwelche Parameter des RT-VIs ändern will, schickt der PC Client eine Anforderung an den RT-Server "hey, schick ma die aktuelle Konfiguration". Die dafür zuständige State-Machine auf dem Server bekommt diese Anforderung und sendet die aktuelle Konfiguration per TCP an den Client.

Im Client kommt diese Nachricht an und anhand des Headers kann identifiziert werden, dass das jetzt die Konfigurations Daten sind. Daraufhin wird ein Dialog geöffnet, auf dem die entsprechenden Controls sind, die natürlich (ja, und da benutz ich z.B. locals ...) mit den "richtigen" Werten aus den Konfigurations-Daten "vor-ausgefüllt" sind. Der User kann nun diese Daten im Dialog ändern. Drückt er OK werden die Konfigurations-Daten wieder an den Server geschickt, im Header steht dann z.B. "konfiguration ändern". Die State-Machine im Server erhält den Befehl und überschreibt die vorhandenen Daten mit denen aus der TCP Nachricht und überschreibt die bestehende Konfig-Datei mit den neuen Daten ...

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Abarbeitungsgeschwindigkeit auf dem RT-Controller extrem unterschiedlich cRio 2 6.642 24.02.2012 16:46
Letzter Beitrag: cRio

Gehe zu: