Anwendung des modularen Entwurfs in LabVIEW [message #4057] |
Wed, 07 March 2007 09:12 ![Go to next message Go to previous message](/theme/gsi/images/down.png) |
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.
|
|
|