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 

RT-Exe erstellen, was muss beachtet werden?



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!

08.12.2010, 18:03
Beitrag #1

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Hallo zusammen,

ich programmiere für das cRIO. Starte ich meine Anwendung aus LabVIEW heraus (über den Ausführen-Pfeil), dann wird das Programm sofort abgearbeitet.
Erstelle ich nun eine RT-Exe daraus, dann dauert es 1 - 2 Minuten, bis das Programm läuft. Die CPU-Auslastung liegt in der Zeit bei rund 100%. Der Arbeitsspeicher nimmt in dieser Zeit kontinuierlich zu, bis er so voll ist, wie auch bei der aus LabVIEW heraus gestarteten Anwendung. Dann sinkt die CPU-Auslastung und das Programm läuft.

Muss man da irgendetwas beachten (Compiler-Optionen o.ä.) oder wie ist das Verhalten zu erklären?

Die Anwendung läuft ohne RT-Exe viel besser als mit. Ich hätte eigentlich das Gegenteil erwartet, da der ganze Ethernet-Overhead (Frontpanel in LabVIEW sichtbar, Sonden etc.) wegfällt.

Grüße
Matze

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.12.2010, 09:39 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2010 09:41 von dlambert.)
Beitrag #2

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

2010
2007
en

12359
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Das ist ganz klar von Deiner Anwendung abhängig und kein typisches Verhalten.

Die autarke RT Applikation läuft aus meiner Sicht in der Regel als Zustandsmaschine ab, soll heissen InputProcessingOutput.
In der Verarbeitungsphase muss man bekanntermassen auf die CPU Last achten und die Schleifen etwas timen, da bei zu hoher CPU Last die Kommunikation abbricht.

Meine Vermutung: Die Zunahme des genutzten RAM liegt wohl an dynamischer Alloziierung was in der Regel auch CPU Last bedeutet.

Du könntest zum Debuggen Deine RT Appl in Teile zerlegen, die Du per Variable weiterschaltest, um die Lasten der Einzelphasen zu monitoren. Das RT TraceExecToolkit ist auch ok, bei 100% RT Last aber unwirksam.

(Bei der Verwendung von Shared Variablen muss man wissen, dass der RT in Runtime-Konfiguration das der RTExe beigestellte *.aliases File liest, um die zu nutzende SVEngine im Netzwerk zu bestimmen.)

Hope it helps
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2010, 20:51 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2010 20:54 von Matze.)
Beitrag #3

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Hallo,

fast den gesamten Speicher weise ich zu Beginn zu, bevor ich in die parallelen Schleifen gehe, die eigentlich ununterbrochen laufen (sollen). Alles fest zuzuweisen ist natürlich nicht praktikabel, aber der Speicherbedarf ändert sich im laufenden Programm kaum, es sei denn, man hat mal einen Dateizugriff, doch auch ohne diese ist das Problem vorhanden.
Es geht auch alles einwandfrei, wenn ich über den Pfeilbutton aus LabVIEW starte.
Shared Variables nutze ich keine. Ich habe die Unterstützung dafür auch gar nicht erst installiert.

Die RT-Exe macht irgendwas ganz komisches im Vergleich zum Start aus LabVIEW heraus. Nach ca 2 Minuten kann ich das Programm verwenden, davor leider gar nicht.

Weiß keiner, was das sein könnte?
Wenn es aus LabVIEW heraus nicht ging, wäre klar, dass es am Programm liegt. Aber selbst wenn der Speicher dynamisch zugewiesen werden würde, darf sich die Anwendung im kompilierten Zustand nicht so von der "nicht richtig kompilierten" unterscheiden. Doch wie gesagt, den Speicher weise ich einmalig zu.

Das RT Trace Execution Toolkit ist für eine Aufzeichnungsdauer von 2 Sekunden ok, mehr wird nicht protokolliert, auch wenn ich 10 MB Speicher zuweise. Aber wie gesagt, es kann kein generelles Problem mit dem Programm sein, da es aus LabVIEW heraus läuft.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2010, 11:42
Beitrag #4

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Hab's grad nochmals getestet:
Das erste, was ich nun im Programm mache ist, die User-LED einzuschalten. Anschließend wird der Rest ausgeführt.

Die LED geht erst nach der Wartezeit von ca. 2 Minuten an. D.h. davor läuft mein Programm noch gar nicht. Gibt's da Netzwerk-Optionen/-Timeouts o.ä. oder was könnte das denn sein?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2011, 11:24
Beitrag #5

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Die 2 Minuten sehen aus wie die Bootzeit des cRIO + Startzeit deiner Anwendung. Aus der Entwicklungsumgebung greift das natürlich nicht, da dein cRIO dann schon gestartet ist und du entsprechend nur die Startzeit deiner Anwendung hast.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2011, 21:36
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
RT-Exe erstellen, was muss beachtet werden?
Danke. Auf dieses Ergebnis bin ich mittlerweile auch gekaommen.Smile

In den 2 Minuten werden Betriebssystem gebootet, Treiber geladen etc. Aber 2 Minuten sind verdammt lange, finde ich. Doch das scheint bei den cRIOs normal zu sein.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.04.2011, 20:58
Beitrag #7

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: RT-Exe erstellen, was muss beachtet werden?
Leider etwas spät aber noch ein Vorschlag um deine Bootzeit zu verkürzen.
Installier am besten nur die Komponenten die du wirklich brauchst. Mittlerweile (LV 2010) gibt es sehr viele verschiedene Komponenten die man meist nicht alle braucht aber die Bootzeit doch erheblich erhöhen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: