GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » LVUG » LVUG - Objektorientiertes Programmieren » Anwendung des modularen Entwurfs in LabVIEW
Anwendung des modularen Entwurfs in LabVIEW [message #4057] Wed, 07 March 2007 09:12 Go to next message
Peter Schieberle is currently offline  Peter Schieberle
Messages: 3
Registered: March 2007
Location: Geroldsgrün
occasional visitor
From: *lear.com
Hallo,

ich bin neu im Forum und auch ein Neuling in Sachen LabVIEW. Ich beschäftige mich allerdings (beruflich bedingt) schon länger mit Softwareentwicklung und Architektur. Diesbezüglich habe ich einige Fragen bei der Umsetzung in LabVIEW:

1. Wie kann in LV der Ansatz des modularen Entwurfs angewendet werden ? Ich meine hier nicht SubVi’s, sondern
„richtige“ Module die das Prinzip der Datenkapselung, Angabe von In- und Exportlisten, internes Gedächtnis etc. verfolgen.

2. Wie kann ich sicher stellen, dass der Aufruf von privaten VI’s eines Modules von außerhalb dieses Moduls nicht möglich ist. Wie kann ich also Sichtbarkeitsgrenzen definieren ? Wenn das nicht möglich ist, wie kann ich die unkontrollierte Änderung von Code von beliebigen anderen Programmteilen aus verhindern. Meine erstellten VI’s sind ja von überall her sichtbar.

3. Bei der Erstellung von Semaphoren, bin ich an die Grenze gestoßen, dass LV Semaphore nur innerhalb ihrer Applikation verfügbar sind. Bei der Erstellung von Semaphoren, die von mehreren Applikationen aus verwendet werden sollen, kann der Aufruf der kernel32.dll Funktion „WaitForSingleObject“ verwendet werden. Hier habe ich allerdings das Problem, dass ein Timeout von max. 65s angegeben werden kann. Selbst wenn ich den Wert &HFFFF von meinem Vi übergebe, was dem Schlüsselwort INFINITE (unendlich Warten) entspricht, erhalte ich nach 65s einen Timeout. Wie kann ich in LV ein unendliches Warten implementieren ?

Schon mal vielen Dank für eure Bemühungen im Voraus. Vielleicht verfolge ich ja auch einen komplett falschen Ansatz um in LabVIEW eine Software zu designen. In diesem Fall wäre ich für Anregungen und Tipps sehr dankbar.
Re: Anwendung des modularen Entwurfs in LabVIEW [message #4058 is a reply to message #4057] Wed, 07 March 2007 09:39 Go to previous message
Brand is currently offline  Brand
Messages: 180
Registered: January 2004
Location: GSI - SB2 2.256
first-grade participant
From: *gsi.de
Hi Peter,
vielen Dank für Dein Interesse an diesem Forum. Es gibt in diesem Forum eine weitere Katagorie zum Thema Objeckt-orientiertes Programmieren und Entwurfsmuster in LabVIEW. Ich würde mich freuen, wenn wir die weitere thematische Diskussion dort fortsetzen könnten.
http://forum.gsi.de/index.php?t=thread&frm_id=68&rid=8&S=2f0 eea43bed756edb909909e925fdebf

Die konkrete Diskussion läuft in dem für LVUG Vereinsmitglieder reservierten Bereich eines WikiWebs, siehe http://www-win.gsi.de/lvug/. Die LVUG hat auch einen Entwurfsmuster Wettbewerb ausgeschrieben, http://www-win.gsi.de/lvug/Wettbewerbe/DesignPattern.htm

Eine weitere Aktivität zum Thema ist bei der GSI, http://www.gsi.de, zu finden, http://wiki.gsi.de/cgi-bin/view/NIUser/LabVIEWObjectOrientedProgramming. Hier findest Du Informationen zum Objekt-orientierten Programmieren mit LabVIEW 8.2.

Es gab auch in der Vergangenheit Ansatze zum Objekt-orientierten Programmieren mit LabVIEW, z.B. GOOP, ObjectVIEW oder das CS-Framework, http://wiki.gsi.de/cgi-bin/view/CSframework/WebHome. Das CS-Framework wird gerade auf LabVIEW 8.20 portiert, um von den LabVIEW-Bibliotheken und der Geheimnisprinzip zu profitieren.

LabVIEW-Bibliotheken stellen einen eigenen Namensraum dar und VIs lassen sich als privat deklarieren, so dass diese von Ausserhalb der Bibliothek nicht aufgerufen werden können.

Zum Thema System-weite Semaphore kann ich Dir keine weiteren Infos geben. Da bist Du auf die Resourcen des Betriebsystems angewiesen.

Ich hoffe, dass Dir diese Informationen als Startpunkt zur Beantwortung Deiner Fragen dienlich sind, und freue mich auf einen weitere Diskussion.

Vielleicht möchtest Du ja später einmal Mitglied in der LVUG werden, und konkret an der Speziellen Interessensgruppe, http://www-win.gsi.de/lvug/themen.htm, für Objektorientierung, Ereignissteuerung und Entwurfmuster teilnehmen.

Gruß Holger
Previous Topic: CS-Framework Version 3.0 released
Next Topic: Anwendung des modularen Entwurfs in LabVIEW
Goto Forum:
  


Current Time: Fri Mar 29 14:50:08 CET 2024

Total time taken to generate the page: 0.00635 seconds