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 

Dieses Thema hat akzeptierte Lösungen:

verschachtelte Bibliotheken - Architekturfrage



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!

10.07.2018, 14:40
Beitrag #1

seuk Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: May 2018

2019x64
-
EN


Deutschland
verschachtelte Bibliotheken - Architekturfrage
Hallo Zusammen,

erst einmal möchte ich mich bei allen bedanken: Ich arbeite mich erst seit kurzen in LV ein und habe schon sehr vieles aus diesem Forum lernen können. Guru1

Derzeit mache ich mir Gedanken, wie ich eine größere Anwendung handhaben würde. Konkret denke ich an das folgende Szenario:

Ich möchte ein Template entwickeln, von dem ausgehend ich eine einzelne Aufgabe löse. Die Teilmodule, die so entstehen, sollen schließlich möglichst einfach zu einer größeren Anwendung zusammengeschraubt werden können. So komme ich zu zwei Anforderungen:

1. Für die Entwicklung und Tests sollen die Module erstmal einzeln lauffähig sein.
2. Es soll gemeinsam genutzte Komponenten geben, die nur einmal gepflegt werden. Thema Wiederverwendbarkeit...

Vielleicht ein kleines Beispiel dazu: Ein Modul, welches Dateien liest wird aufgerufen von einem Modul, welches Konfigurationsdateien liest, welches aufgerufen wird von einem Modul zur Live Überwachung eines Sensors, aber auch von einem Modul welches gespeicherte Messdaten aus einem File irgendwie verarbeitet.

[Bild: 33201666xb.png]
Wie könnten solche Abhängigkeiten im Projekt Explorer aussehen?

Nun zu meinen Fragen:

Wie organisiere ich die Dateien?
Die Verschachtelung von Projekten scheint mir nicht vorgesehen zu sein. Also ist mein Ansatz die einzelnen Module als lvlib zu handhaben. Lvlibs bieten aber weniger Funktionalität (Einsicht der Abhängigkeiten, Build Möglichkeit). Ich würde also zu jedem Modul sowohl eine Bibliothek als auch ein Projekt pflegen müssen - die Bibliothek, um das Modul in die Hauptanwendung (bzw. ein "höheres Teilmodul") einzubinden und das Projekt, um das Modul einzeln als EXE zu kompilieren. Wie würdet ihr das handhaben? Macht das Sinn, gibt es bessere Alternativen?

Ich kann natürlich einfach alle VIs in einem Ordner ablegen und für jedes Modul ein Projekt anlegen. Doch bei der Integration eines neuen Moduls müsste ich so alle VIs einzeln hinzufügen...

Wie füge ich solch eine gemeinsam genutzte Komponente sinnvoll hinzu?
Bei der Verschachtelung von lvlibs passieren für mich unklare Dinge. Hierzu ein konkretes Problem:

Zunächst habe ich meine Hauptanwendung die zwei Bibliotheken enthält. So weit so gut.
[Bild: 33201348lm.png]

Dann komme ich auf die Idee eine dritte Bibliothek "Visa" zu erstellen und ein VI dort abzulegen.
[Bild: 33201349lf.png]

Die neue Bibliothek möchte ich in dem Modul Task verwenden, also packe ich sie dort hinzu.
[Bild: 33201350rm.png]

Bis hierhin sieht für mich alles normal aus. Doch wenn ich anschließend die Bibliothek Visa öffne, erscheint sie nicht mehr wie gehabt, sondern es sieht plötzlich so aus, als wenn ich die Bibliothek Task geöffnet hätte. Selbst das Fenster zeigt oben den Namen Task.lvlib an. Was ist hier los?
[Bild: 33201351kg.png]

Ab hier wird die Übersicht nur noch schlechter. T2Lib soll die gemeinsame Bibliothek Visa auch verwenden können. Doch sie wird nicht einzeln geladen, sondern über die Bibliothek von Task:
[Bild: 33201352xi.png]


Schließlich öffne ich meine Hauptanwendung und habe einen verschachtelten Murks:
[Bild: 33201353zb.png]

Auf der Festplatte sieht es dabei noch so schön übersichtlich aus:
[Bild: 33201491su.png]

Ich habe etwas über den User.lib Ordner nachgedacht, doch der eignet sich wohl eher nur für Grundfunktionalitäten, sonst würde praktisch meine gesamte Applikationsentwicklung in diesem Ordner statt finden.

Die Module möchte ich per SVN verwalten, in der Hoffnung, so auch einzelne Module einfach durch neuere ersetzen zu können. Was passiert nun wenn ich in einer Bibliothek ein VI umbenenne? Innerhalb eines Projektes werden alle Aufrufer aktualisiert. Ich hätte nun erwartet, dass eine Bibliothek einer höheren Bibliothek auch "bescheid" gibt, dass alterName.vi jetzt neuerName.vi heißt. Aber ein erster Versuch hat dies leider nicht bestätigt.

Ich freue mich über jeden Denkanstoß oder auch Links zum Thema!

Grüße,
seuk


Angehängte Datei(en)
0.0 .zip  Bilder.zip (Größe: 62,37 KB / Downloads: 160)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2018, 15:12
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschachtelte Bibliotheken - Architekturfrage

Akzeptierte Lösung

Hallo seuk,

Zitat:Ein Modul, welches Dateien liest wird aufgerufen von einem Modul, welches Konfigurationsdateien liest, welches …
Hier bietet sich OOP an.
Aber genau anders herum:
Die Hauptklasse liest allgemeine Daten ein, eine Kindklasse kann dann sich um Config-Daten kümmern…

Zitat:Ich habe etwas über den User.lib Ordner nachgedacht, doch der eignet sich wohl eher nur für Grundfunktionalitäten, sonst würde praktisch meine gesamte Applikationsentwicklung in diesem Ordner statt finden.
Ich habe gefühlt 80% meines Prüfstands-Codes im user.lib-Ordner!
Das ist aber Geschmackssache und musst du für dich selbst festlegen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.07.2018, 11:24
Beitrag #3

seuk Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: May 2018

2019x64
-
EN


Deutschland
RE: verschachtelte Bibliotheken - Architekturfrage
Hallo GerdW,

perfekt - Klassen lassen sich genau so in einer Hierarchie anordnen, wie ich es mir wünsche. Außerdem kann ich unterschiedliche Hierarchien erstellen, welche auf gemeinsame Klassen zugreifen.

Ich fürchte zur Problematik beim Umbenennen gibt es keinen Königsweg? Wenn ich in Projekt A VIs oder auch ganze Klassen oder deren Methoden umbenenne, werden innerhalb des Projektes alle Verweise darauf automatisch aktualisiert - Projekt B, welches auch diese Klasse nutzt, hat aber keine Chance davon etwas mitzubekommen, oder?

Welche weiteren Vorteilen haben VIs im user.lib Ordner, außer, dass sie über die Funktionspallette direkt hinzugefügt werden können?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.07.2018, 11:32
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschachtelte Bibliotheken - Architekturfrage
Hallo seuk,

Welche weiteren Vorteilen haben VIs im user.lib Ordner, außer, dass sie über die Funktionspallette direkt hinzugefügt werden können?
- Es gibt dann nur eine Kopie dieser VIs…
- Man kann den Ordner bequem im SCC-System (SourceCodeControl) verwalten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Verschachtelte Clusterelemente auslesen simcum 5 3.952 31.08.2020 10:25
Letzter Beitrag: simcum
  Referenzen in mehreren Bibliotheken aktualisieren seuk 3 3.996 12.09.2019 09:10
Letzter Beitrag: IchSelbst
  verschachtelte Cluster gottfried 5 5.020 04.12.2017 17:24
Letzter Beitrag: gottfried
  Verschachtelte und parallele Schleifen gleichzeitig beenden Rayid 6 7.195 14.11.2016 08:24
Letzter Beitrag: GerdW
  Zugriff auf verschachtelte Referenzen Hasenfuss 6 5.235 23.06.2015 19:05
Letzter Beitrag: Hasenfuss
  Symbole verschwinden in komp. Bibliotheken dali4u 2 3.664 08.10.2013 09:03
Letzter Beitrag: dali4u

Gehe zu: