LabVIEWForum.de
CS++ - A LVOOP Actor based Framework - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: LVOOP (/Forum-LVOOP)
+---- Thema: CS++ - A LVOOP Actor based Framework (/Thread-CS-A-LVOOP-Actor-based-Framework)

Seiten: 1 2


RE: CS++ - A LVOOP Actor based Framework - Y-P - 21.08.2013 07:13

Dann bitte Profil_ergaenzen, wenn Du schon LabVIEW 2013 hast. Big Grin

Gruß Markus


(20.08.2013 15:35 )BNT schrieb:  An alle CS++ Interessierten

Ich habe nun nach dem Urlaub noch einige Kleinigkeiten geändert und ein neues Preview auf Guthub hochgeladen. Mit dem Tag LV2012 ist die letzte Version mit LabVIEW 2012 markiert.

Die weiteren Entwicklungen werden mit LV2013 fortgesetzt. LV2013 hat zwei neue LVOOP Features, die ich unbedingt benutzen möchte.
- Man kann jetzt ein Object mit Default-Daten nur mit Hilfe des Klassennamen erzeugen, wenn sich die Klasse schon im Memory befindet. Das vereinfacht das Bauen von Executables deutlich.
- Man kann sich jetzt den Namen der Klasse eine Objekts in einem Draht verraten lassen. Das ist sicher auch ganz angenehm.

Gruß Holger



RE: CS++ - A LVOOP Actor based Framework - BNT - 21.08.2013 10:10

An alle CS++ Interessierten

lv13_img
Auf Github ist der Preview-Branch für LabVIEW 2013 verfügbar. Er enthält die Quellen fur LV2013 (mass compile). Es wurden einige verbesserte Default-Werte in den Beispielen gesetzt.

lv12_img
Die letzte Version für LV2012SP1f4 habe ich mit dem Tag LV2012 versehen. Wer damit weitermachen möchte, sollte sich von dort aus einen eigenen Branch erzeugen.

Lesen
Wer noch bei den User Requirements Specifications im Master-Branch mitmachen möchte, sollte sich beeilen.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 30.08.2013 15:57

An alle CS++ Interessierten

Ich habe dem Projekt eine Demo Build-Specification hinzugefügt. Dazu waren wenige Änderungen an der Factory erforderlich. die ini-Dateien enthalten jetzt zusätzlich zu dem LVClassPath noch LVLibPath.

Für jede Bibliothek wurde eine Beispiel-Ini-Datei hinzugefügt.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 20.12.2013 14:44

An alle CS++ Interessierten

Ich habe dem Projekt einige Geräte-Basisklassen hinzugefügt. Es wurden die IVI-Treiber zur Definition der Interfaces herangezogen. Es wurden bereits folgende IVIklassen implementiert: IVI_DMM, IVI_DCPwr, IVI_Fgen. Für dies Klassen gibt es auch schon die korresponsirenden CS++-Basisklassen mit GUI. CS++FgenGui ist noch nicht vollständig implementiert. Es fehlen noch fast alle Konfigurationskommandos.

Für jede Klassenbibliothek wurde eine Beispiel-Ini-Datei hinzugefügt.

Die neue Revision findet Ihr im Preview-Branch auf GitHub.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 06.05.2014 10:09

An alle CS++ Interessierten

Ich das Projekt überarbeitet und neu strukturiert. Das Projekt ist nun als pre-alpha Release im MainDev-Branch veröffentlicht.

CS++ ist nun als Startpunkt gedacht, um die Struktur zu zeigen. Es referenziert zwei Submodule, CSPP_Core und CSPP_DeviceBase. Alle anderen gewünschten Submodule muss der Entwickler selbst hinzufügen.

Nach dem Klonen des Projekt sitzt man auf dem Master-Branch. Als erstes sollte man auf den MainDev-Branch umschalten und danach die zwei Kommandos:
Code:
git submodule init
und danach
Code:
git submodule update
ausführen, um die referenzierten Submodule-Quellen zu holen. Sie werden in dem Ordner Packages/SubmoduleName abgelegt. Weitere Submodule können mit
Code:
git submodule add URL Path
hinzugefügt werden.

Zuletzt sollte man die Quellen der Submodule auf Nur-Lesen setzen.
Code:
chmod a-w -R SubodulePath
Das hat den Vorteil, dass man die Submodul-Quellen nicht unbeabsichtigt ändert. In diesem Zusammenhang sollte man in den LabVIEW Optionen in der Kategorie Environment folgende Eigenschaften aktivieren:
  • Treat read-only VIs as locked
  • Do not save automatic changes

Nun kann man das CS++.lvproj öffnen. Es gibt eine README.txt, in dem ein Getting started enthalten ist, sowie externe Abhängigkeiten genannt sind.

Wenn jemand Änderungen an dem Projekt oder den Submodulen vornimmt, sollte er sich vorher einen eignen Branch anlegen. Alternativ kann er das Projekt auf Guthub klonen und damit arbeiten. Das gilt natürlich auch für die Submodule. Das erleichtert das Versenden und bearbeiten eines Pull-Requests. Der Git-Workflow für dieses Projekt muss noch genauer definiert werden. Ich denke dieses Dokument ist ein guter Ansatz, der von meinen Kollegen in ihrem Projekt erzwungen wird. Für das CS++-Projekt müssen natürlich noch die LabVIEW spezifischen Details berücksichtigt werden.

Wenn eigene Projekte konkret begonnen werden, sollte man auch mit einem eignen LabVIEW Projekt in einem eigenen neuen Git-Repository beginnen und die notwendigen CS++-Submodule manuell hinzufügen. Damit ist jeder Entwickler frei, die Struktur gemäß der eigenen projektspezifischen Anforderungen zu organisieren und weitere Bibliotheken hinzuzufügen, die nicht notwendig mit CS++ zu tun haben.

Als nächtes wird nun auch die Dokumentation in dem zugehörigen Github-Wiki vervollständigt.

Kritik und konstruktive Anregungen sind selbstverständlich erwünscht. Bug-Reports und Feature-Requests sollten mittels Github-Issue-Tracker eingebracht werden.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 27.05.2014 13:37

Liebe CS++-Interessierten

Ich habe mal begonnen, etwas Dokumentation in dem zugehörigen Projekt-Wiki hinzuzufügen, damit der Start und die Einarbeitung etwas leichter fällt.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 10.12.2014 10:07

Liebe CS++-Interessierten
Ich habe einen neuen Branch RC veröffentlicht.

Ich habe Neuerungen aus LV 2014 eingepflegt. Einige Umbenennungen sorgen für mehr Eindeutigkeit. Wenige Eigenschaften wurden in Basisklassen geschoben. Den Message Handler habe ich OO-konform eingebaut und als Alternative zu Syslog einen DSC-MessageLogger bereitgestellt. Die Angabe von PV-URL's in der ini-Datei ist jetzt weitgehend optional.

Ich habe auch mit dem VI-Analyzer die LV Kodierungsempfehlungen überprüft.

Also, Freiwillige vor! Wer mag Beta-Tester des Release-Kandidaten testen?
Auch die Doku im Wiki bedarf der Überarbeitung. Möchte sich jemand damit beschäftigen? Das wäre eine gute Gelegenheit sich grundlegend mit dem CS++ Framework zu beschäftigen.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 22.01.2015 13:50

Liebe CS++-Interessierten
Ich habe zwei neue CS++ Submodule auf Github veröffentlicht.
  • CSPP_LNA: Diese Bibliothek erlaubt es Actor-Messages ohne Kopplung an remote Linked Network Actors zu senden. Siehe auch die aktualisierte Revision des CSPP_Example mit einem Beispiel.
  • CSPP_RT: Diese Bibliothek enthält eine von CS++Base und CS++BaseActor unabhängige Klassenbibliothek für LabVIEW RT Target-Systeme, die es auch erlaubt, auch Nachrichten ohne Kopplung zu empfangen und zu versenden. Zusätzlich werden einige Shared Variablen zu System-Health unf Watchdog veröffentlicht. Diese Bibliothek stellt nur den wiederverwendbaren Rahmen. Die eigentliche RT-Applikation muss als Kindklasse von CS++RTMain.lvclass implementiert werden.

Gruß Holger


RE: CS++ - A LVOOP Actor based Framework - BNT - 14.03.2015 14:26

Liebe CS++-Interessierten
Die MainDev-Branches der CS++ submodule haben einen Sprung gemacht.

Wesentliches neues Feature ist, dass bei Verwendung des DSC-Moduls die Shared Variablen automatisch erzeugt werden können, wenn sie nicht schon vorher deployed wurden.

Die anderen Änderung sind Anpassungen an dieses neue Feature und Bug-Fixes.

Gruß Holger