Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE BEMERKUNGEN Sollten Sie Verbesserungsvorschläge, Fragen oder Probleme haben, so wenden Sie sich am besten persönlich an Ihren Betreuer oder schreiben ihm eine E-Mail (vorname.nachname@inf.tu-dresden.de).
Schnelleinstieg SCHNELLEINSTIEG Im Folgenden wird vorgeführt, wie mit dem Tool Node Builder ein Geräte-Template und ein Funktionsblock Schritt für Schritt erstellt werden kann. Dabei wird für einen Taster-Knoten (BIM-Modul) eine Applikation in Neuron C programmiert. Durch die Implementierung wird auf dem Knoten der Taster 1 durch Betätigung seinen Ausgang toggeln. Im Menü LonMaker Node Builder aufrufen: NEUES NODEBUILDER-PROJEKT ERSTELLEN 1. Create a new NodeBuilder project auswählen und Weiter anklicken: 2
Neues NodeBuilder-Projekt Erstellen 2. Dem (NodeBuilder-)Projekt einen Namen geben (im Beispiel Praktikum ). Wird Set as default project for this network angehakt, dann wird bei jedem Öffnen des NodeBuilders dieses Projekt als Standard geöffnet und der Wizard wird nicht geöffnet. Weiter anklicken. 3. Fertig stellen anklicken. 3
Neues Geräte-Template Anlegen NEUES GERÄTE-TEMPLATE ANLEGEN Dem neuen Geräte-Template einen Namen geben(im Beispiel MeinGeraet ) und Weiter anklicken : Program ID einstellen: Hierfür Calculator anklicken. 4
Neues Geräte-Template Anlegen In den Felder Manufacturer (Hersteller), Device Class (Geräteklasse), Usage (Anwendungsgebiet) und Channel type (Kanaltyp) geeignete Einträge auswählen (Im Beispiel wie im Bild). OK anklicken. Hardware-Template für die Entwicklung auswählen (im Beispiel BIM) und Fertig stellen anklicken. 5
NodeBuilder Code Wizard NODEBUILDER CODE WIZARD Im Fenster NodeBuilder Code Wizard im Resource Pane : LonWorks/Types/STANDARD/FunctionalProfileTemplates/SFPTSwitch auswählen. SFPTSwitch zu MeinGeraet/ Functional Blocks per Drag&Drop hinzufügen. 6
NodeBuilder Code Wizard switch1 zum Switch umbenennen und die Warnung ignorieren. Dann Generate and Close anklicken. Das Projekt ist damit zur Entwicklung bereit. Die Source-Dateien können im Workspace gefunden werden. 7
Code-Implementierung und Build CODE-IMPLEMENTIERUNG UND BUILD Switch.nc per Doppelklick im Editor öffnen und diese Source-Datei editieren: I. Nach diesen zwei Zeilen: #include "common.h" #include "Switch.h" II. die folgenden zwei Zeilen einfügen: IO_4 input bit button; boolean buttonstate; Kommentar: button entspricht somit dem Taster 1 nämlich IO-PIN Nr. 4 vom Tasterknoten. buttonstate ist eine boolesche Variable, in der der aktuelle Zustand vom Taster 1 gespeichert wird. Der Zustand wird getogglet. Vor der Funktion SwitchDirector eine Initialisierungsfunktion (init) hinzufügen: void init() { buttonstate = 0; nvoswitch.state = 0; nvoswitch.value = 0; io_change_init(button); 8
III. IV. } Kommentar: Geräte-Template im Netzwerk Verwenden Diese Funktion initialisiert den Zustand vom Taster 1, den Zustand von der Netzwerkvariable-Ausgang nvoswitch.state, deren Wert nvoswitch.value und initialisiert den IO-PIN Nr. 4, der dem button entspricht. Aufruf von init : In der Funktion SwitchDirector nach der folgenden Zeilen: } else if ((TFblock_command)iCommand == FBC_WHEN_RESET) { setlockedoutbit(ufblockindex, FALSE); den folgenden Aufruf hinzufügen: init(); Kommentar: Damit werden bei jedem Zurücksetzen des Geräts die in der Funktion implementierten Initialisierungen durchgeführt. Vor der Funktion init den folgenden Task hinzufügen: when (io_changes(button) to 1) { buttonstate =!buttonstate; if (buttonstate == 1) { nvoswitch.state = 1; nvoswitch.value = 200; } else { nvoswitch.state = 0; nvoswitch.value = 0; } } Kommentar: Ein Task wird ausgeführt, sobald am Eingang button eine 1 vorliegt. Zuerst wird durch die Zuweisung buttonstate =!buttonstate; das Toggeln ermöglicht. Nach dem Toggeln der Zustand und Wert von nvoswitch dementsprechend aktualisiert. Der Zustand kann entweder 0 oder 1 sein. Der Wert kann zwischen 0 und 100% propagieren, jedoch mit einer Schrittweite von 0,5%. Daher gibt es insgesamt 200 Schritte. V. Nun die Änderungen speichern und vom Menü Project Build All aufrufen. Sollten keine Fehlermeldungen erscheinen, ist die Implementierung des Funktionsblocks Switch fertig. GERÄTE-TEMPLATE IM NETZWERK VERWENDEN Gerät Hinzufügen (analog zu den Schritten im Dokument Schnelleinstieg_LonMaker.doc Gerät Hinzufügen und Kommissionieren): 9
Geräte-Template im Netzwerk Verwenden Im Schritt 2 statt Load XIF Existing Template anklicken und das im NodeBuilder-Projekt angelegte Geräte-Template MeinGeraet auswählen. Next anklicken. Bis zum Schritt 6 analog fortsetzen. Im Schritt 6 Load Application Image anklicken und mit Weiter fortführen. Im restlichen analog fortsetzen und das Gerät kommissionieren. Funktionsblock hinzufügen: (analog zu den Schritten im Dokument Schnelleinstieg_LonMaker.doc Funktionsblock Hinzufügen): Im Schritt I im Feld Device Name Mein Geraet auswählen. Im Feld Functional Block Name Switch auswählen. Die Fortführung ist analog. Gerät Tasterknoten testen: Öffnen Sie den LonMaker Browser, wie im Dokument Schnelleinstieg_LonMaker.doc Monitoring von Netzwerkvariblen beschrieben, für das Funktionsblock Switch. Vergessen Sie nicht den Monitoring-Status auf Monitoring All On zu setzen. Den Taster 1 auf dem Tasterknoten drücken und die Änderung an der NV nvoswitch beobachten. 10