HSL 2.0-Framework
1.9
Beschreibung des Frameworks
|
Eine kurze Zusammenfassung, wie man das HSL 2.0-Framework einrichtet und zu ersten Ergebnissen gelangt
Informationen und Download siehe folgenden Link.
Dieses Dokument erklärt die Einrichtung des HSL 2.0-Framework anhand der Erzeugung eines Bausteins am Beispiel des bereits aus dem HS/FS bekannten Binär-Auslösers.
Sie haben ein ZIP-Archiv namens "HSL20_Framework" vorliegen.
Kopieren Sie es an einen Platz Ihrer Wahl und entpacken Sie es mit Rechtsklick -> "Hier entpacken"
Es wird ein Verzeichnis erstellt, das mehrere Dateien und 3 Unterverzeichnisse enthält:
generator.pyc simulator.pyc create_project.pyc syslog.pyc /projects /hsl20 /python26
Das Verzeichnis projects
ist leer, im Verzeichnis hsl20
befinden sich die Quell-Dateien des Frameworks.
Die 4 direkt im Verzeichnis liegenden Dateien (die Tools), liegen in einer mit Python 2.7.x kompatiblen Version vor.
python26
-Verzeichnis, bevor Sie fortfahren. Rufen Sie nun das Einrichtungs-Script mit dem Parameter "-auto" auf.
python create_project.py -auto
Im Verzeichnis projects
wurde ein neues Verzeichnis namens my project
erzeugt.
In diesem Verzeichnis wurden wiederum einige Unterverzeichnisse angelegt und insgesamt zwei Dateien wurden neu erstellt:
Verzeichnisse:
debug release src tests tests/example project 01
Dateien:
config.xml tests/example project 01/project.xml
Die Datei config.xml ist die Definitions-Datei für Ihren Baustein.
Die Beschreibungen der einzelnen Parameter und Werte der Datei config.xml finden Sie in der Doku im Kapitel Tools -> XML-Definitionsdatei.
Der fertige Baustein liegt den Beispielen bei.
Tragen Sie nun in der Datei config.xml folgende Daten zum Baustein ein:
Der Binär-Auslöser verfügt nur über einen Eingang.
Geben Sie folgende Attribute dafür an:
Gehen Sie analog dazu für die beiden Ausgänge vor:
Ausgang 1:
Ausgang 2:
Das Ergebnis sollte nun so aussehen:
Damit ist die Definition Ihres Bausteins vollständig.
Speichern Sie nun die Datei config.xml und rufen Sie den Generator auf.
python generator.py "my project" UTF-8
Der Generator erzeugt beim ersten Aufruf für jeden in der Datei config.xml definierten Baustein einige Dateien im Testverzeichnis der Projektstruktur.
[id]_[Name].py
im Verzeichnis src
[id]_[Name].py
im Verzeichnis debug
[id]_[Name].hsl
im Verzeichnis release
Für unseren Binär-Auslöser sind das:
10700_hsl20_2_Binary_Trigger.py
im Verzeichnis src
10700_hsl20_2_Binary_Trigger.py
im Verzeichnis debug
10700_hsl20_2_Binary_Trigger.hsl
im Verzeichnis release
Bei allen weiteren Aufrufen des Generators werden die Dateien in den Verzeichnissen debug
und release
komplett, die Datei(en) im src
-Verzeichnis teilweise neu generiert.
src
-Verzeichnis erzeugt. In diesem Fall löschen Sie bitte diese Datei.Da der Baustein weder remanent ist, noch bei Initialisierung der Logik feuert, besteht der gesamte selbst zu programmierende Python-Code aus folgenden Zeilen:
def on_input_value(self, index, value): if self._get_input_value(index) != 0: self._set_output_value(self.PIN_O_UNGLEICH_NULL, 1) else: self._set_output_value(self.PIN_O_GLEICH_NULL, 1)
Ein HSL 2.0-Baustein hat als Basis immer die Klasse BaseModule. Über die Methode _get_framework() erhält man Zugriff auf das restliche Framework.
In unserem Beispiel heißt das Projekt-Verzeichnis "my project" und das Test-Verzeichnis heißt "Testprojekt 01" (projects\my project\test\example project 01
). Siehe Projekt-Verzeichnisstruktur.
In diesem Verzeichnis wurde bei der Einrichtung eine Datei namens project.xml erzeugt.
In dieser Datei können Sie mehrere Instanzen Ihres Bausteins definieren.
Für unser Beispiel benötigen wir nur eine Instanz, die folgendermaßen aussieht:
Im XML-Tag "instance" geben Sie folgende Attribute an:
Das Ergebnis sollte nun so aussehen:
Weitere Angaben sind für unser Beisipiel nicht notwendig.
Speichern Sie die Datei project.xml und rufen Sie nun den Simulator auf.
python simulator.py "my project" "example project 01"
Starten Sie jetzt eine weitere Python-Shell in der Windows-Eingabeaufforderung mit dem syslog-Script, das Ihnen die Ausgaben Ihres Bausteins anzeigt:
python syslog.py
Geben Sie zum Testen des Bausteins die folgenden Kommandos ein:
Der Befehl set setzt einen Eingang eines Bausteins auf einen bestimmten Wert und hat daher drei Parameter:
Sie können weitere Test-Projekte anlegen, indem Sie für jedes neue Test-Projekt ein Verzeichnis im Ordner projects\my project\tests\
anlegen und dort eine Datei namens project.xml erstellen.
Sind alle Tests zu Ihrer Zufriedenheit abgeschlossen, gehen Sie wie folgt vor:
projects\my project\release\10700_hsl20_2_Binary_Trigger.hsl
in das "logic"-Verzeichnis Ihrer Experte-Installation.Im GLE haben Sie nun im Zugriff auf den neuen Baustein unter "hsl20_2\fw_examples\hsl20_2_Binary_Trigger". Sie können Ihn auf dieselbe Art wie jeden anderen Baustein verwenden.