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 

LVOOP im Kommen!



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!

30.10.2010, 10:33 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2010 11:35 von BNT.)
Beitrag #45

BNT Offline
LVF-Freak
****


Beiträge: 740
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
LVOOP im Kommen!
Hallo

Nein, es gibt noch keine wirklich belastbaren Erfahrungen. Das ganze Projekt habe ich in LV 8.2 begonnen, um herauszufinden, wie man mit dem LVOOP-Ansatz große skalierbare, ereignisgesteuerte und verteilte Applikationen realisieren könnten. Dabei war das Ziel auch mit LVOOP konsequent dem Datenflusskonzept zu folgen, und auf Referenzen zu verzichteten. Es handelte sich also eher um eine akademische Übung. Ab LV 2009 scheint es ganz gut zu laufen und die wichtigsten notwendigen Features wurden von NI implementiert. Vielen Dank für die positive Resonanz.

Es gibt also bisher nur die veröffentlichten Beispiele, die die Anwendung der HGF Klassen illustrieren. Stabilität und Performanz müssen noch untersucht werden.

Du hast ganz richtig beobachtet, dass es in den Beispielen viele String-Konstanten gibt. Dabei handelt es sich aber überwiegend um Klassennamen und Objektnamen. Zusätzlich werden die Initialisierungsparameter für ein Objekt als Variant-Attribute dem createObject.vi der HGF_Factory.lvclass übergeben und mit Hilfe der Namenkonvention Klassenname.Attributname an das initialize.vi durchgereicht. Sonst werden einfach die Objekte mit Hilfe der Drähte Datenfluss konform benutzt. Die String-Konstanten werden in einem Framework selber nur Parameter sein, die z.B. von einer Datenbank oder ASCII-Konfigurationsdatei gelesen werden. Die Initialisierungsparameter könnten aber auch von einem anderen z.B. C++- oder JAVA-basierten Programm via TCP/IP-Sockets geliefert werden, um die Erzeugung neuer Objekte zu veranlassen. Daher werden die Parameternamen als Strings mit der genannten Konvention benutzt. Es ist halt einfach ein generischer Ansatz in heterogenen Umgebungen. In LabVIEW kann man Objekte einfach mit Hilfe des Flatten to String.vi persistent speichern und mit Unflatten From String.vi wieder laden, aber halt nicht in anderen Programiersprachen.

Das Typeüberprüfungen bzw. Typecasts oft erst in einem SubVI, also erst zur Laufzeit durchgefürt werden, ist eine Konsequenz der generischen Behandlung von LabVIEW Objekten, die irgendwo in der Klassen-Hierachie aufgehängt sind. Das ist aber konform zum LVOOP Design von NI.

Ich stehe mit der Entwicklung des Gesamtprojekt noch ziemlich am Anfang. Die veröffentlichte Basisklassenbibliothek bis hin zu dem Agentensystem ist nur die Basis. Das ganze möchte ich im weiteren zu einem Framework ausbauen. Wie schnell das geht, hängt von meinen sonstigen Verpflichtungen ab, und natürlich von einem neuen Großprojekt, dass sich auf diesen Ansatz einlassen möchte. Es gibt noch sehr viel zu tun. Es ist auch sicherlich das eine oder andere Redesign notwendig. Ich hoffe auf konstruktive Kritik in diesem Forum.

Zur Zeit entwickle ich eine Vision-Applikation, die die HGF_Imaq-Klassen benutzt. Die einfache Implementierung, Standardansatz mit GUI- und DAQ-Loop, Producer-Consumer-Pattern und LabVIEW-Objekte als einfache passive Daten, schein stabil zu laufen. Das wird sich im kommenden Experiment zeigen. Im nächsten Schritt werde ich dieselbe Applikation mit Hilfe des HGF_ThreadPool umsetzen. Sobald diese stabil läuft, werde ich auf die Agenten umschalten. Über die Ergebnisse werde ich hier berichten.

An die Moderatoren:
Wenn dieses Thema größeres Interesse und Anwender findet, könnte dafür ein eigenes Forum eröffnet werden.

Gruß Holger

Edit:
Ich vergaß zur Einarbeitung Stellung zu nehmen. Ich hatte zu diesem Thema an der GSI einen dreitägigen Workshop organisiert. Der Kurs war ziemlich knackig und die LV erfahrenen Teilnehmer haben die komplette Zeit benötigt, um alle HGF-Basisklassen zu verstehen und zu jedem Entwurfsmuster eine einfache kleine Anwendung zu programmieren bis hin zu einem sehr einfachen Agenten. Danach geht die Arbeit dann aber erst richtig los, wenn man auf sich allein gestellt ist. Zum Debugging: Wer schon einmal eine LV-Applikation mit vielen Threads, VITs und Ereignismechanismen entwickelt hat wird damit schon fertig werden.
Ich würde beim nächsten Mal einen einwöchigen Workshop bevorzugen.

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
LVOOP im Kommen! - abrissbirne - 11.03.2010, 16:51
LVOOP im Kommen! - Y-P - 11.03.2010, 17:18
LVOOP im Kommen! - abrissbirne - 11.03.2010, 17:47
LVOOP im Kommen! - cb - 11.03.2010, 17:52
LVOOP im Kommen! - IchSelbst - 11.03.2010, 20:13
LVOOP im Kommen! - abrissbirne - 16.03.2010, 20:06
LVOOP im Kommen! - cb - 17.03.2010, 09:19
LVOOP im Kommen! - abrissbirne - 17.03.2010, 10:28
LVOOP im Kommen! - IchSelbst - 17.03.2010, 10:36
LVOOP im Kommen! - IchSelbst - 17.03.2010, 10:42
LVOOP im Kommen! - abrissbirne - 17.03.2010, 11:09
LVOOP im Kommen! - Y-P - 17.03.2010, 11:14
LVOOP im Kommen! - cb - 17.03.2010, 11:17
LVOOP im Kommen! - abrissbirne - 17.03.2010, 11:28
LVOOP im Kommen! - Y-P - 17.03.2010, 11:33
LVOOP im Kommen! - IchSelbst - 17.03.2010, 11:40
LVOOP im Kommen! - cb - 17.03.2010, 12:34
LVOOP im Kommen! - abrissbirne - 17.03.2010, 12:38
LVOOP im Kommen! - IchSelbst - 17.03.2010, 12:59
LVOOP im Kommen! - Y-P - 17.03.2010, 13:06
LVOOP im Kommen! - abrissbirne - 17.03.2010, 13:21
LVOOP im Kommen! - Y-P - 17.03.2010, 13:23
LVOOP im Kommen! - abrissbirne - 17.03.2010, 13:25
LVOOP im Kommen! - Y-P - 17.03.2010, 13:27
LVOOP im Kommen! - macmarvin - 18.03.2010, 23:12
LVOOP im Kommen! - cb - 20.03.2010, 09:02
LVOOP im Kommen! - macmarvin - 21.04.2010, 13:39
LVOOP im Kommen! - abrissbirne - 21.04.2010, 14:32
LVOOP im Kommen! - macmarvin - 23.04.2010, 08:48
LVOOP im Kommen! - IchSelbst - 24.04.2010, 10:42
LVOOP im Kommen! - eg - 24.04.2010, 12:15
LVOOP im Kommen! - IchSelbst - 24.04.2010, 13:30
LVOOP im Kommen! - eg - 24.04.2010, 13:50
LVOOP im Kommen! - abrissbirne - 24.04.2010, 15:32
LVOOP im Kommen! - macmarvin - 24.04.2010, 15:54
LVOOP im Kommen! - cb - 25.04.2010, 08:26
LVOOP im Kommen! - abrissbirne - 26.04.2010, 07:53
LVOOP im Kommen! - cb - 26.04.2010, 11:00
LVOOP im Kommen! - eg - 27.04.2010, 20:46
LVOOP im Kommen! - cb - 28.04.2010, 08:08
LVOOP im Kommen! - Frederik Berck - 01.06.2010, 15:17
LVOOP im Kommen! - BNT - 05.06.2010, 21:03
LVOOP im Kommen! - BNT - 29.10.2010, 14:16
LVOOP im Kommen! - rbliomera - 29.10.2010, 20:57
LVOOP im Kommen! - BNT - 30.10.2010 10:33
LVOOP im Kommen! - rbliomera - 01.11.2010, 17:53
LVOOP im Kommen! - abrissbirne - 02.11.2010, 08:02
LVOOP im Kommen! - BNT - 02.11.2010, 09:17
LVOOP im Kommen! - dlambert - 02.11.2010, 14:28
LVOOP im Kommen! - BNT - 02.11.2010, 16:50

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  CS++ - A LVOOP Actor based Framework BNT 18 27.970 14.03.2015 14:26
Letzter Beitrag: BNT
  LVOOP und DAQmx - Resource ist reserviert Sundypha 2 10.006 13.08.2012 12:42
Letzter Beitrag: Sundypha
  Neuling, was bringen mir Klassen, LVOOP dali4u 6 17.691 24.02.2012 13:40
Letzter Beitrag: Kiesch
  LVOOP - wann wird Kopie erstellt? Kiesch 7 14.165 21.10.2011 14:23
Letzter Beitrag: Kiesch
Information LVOOP-Anfänger, Kommentar zu Programm Martin Heller 11 24.002 09.03.2011 14:32
Letzter Beitrag: Martin Heller
  LVOOP-Beispiel - Stimmt das so? Matze 12 25.125 29.06.2010 13:14
Letzter Beitrag: jg

Gehe zu: