Die Installation von BTF ist weitestgehend selbsterklärend und automatisiert. Beim ersten Start sind dann eine Reihe von Einstellungen für Konfiguration vorzunehmen.
Hinweis
Auf einem Computer kann immer nur eine Version von BTF installiert werden.
Einstellen der Sprachversion
BTF arbeitet zunächst mit deutschsprachiger Oberfläche. Startet BTF mit dem Kommandozeilen Parameter -en wird die englischsprachige Oberfläche verwendet.
Beispiel: "C:\Program Files (x86)\MBS\BTF\bin\BTF.exe" -en
Hinweis: Alle Konfigurationen, Projektdaten und Tests bleiben davon unbeeinflusst.
Ablauf im Überblick
Schritt #1
Installation von BTF selbst sowie die Lizenzierung von BTF Bereitstellungen der notwendigen Softwareumgebung für BTF
Schritt #2
Grundlegende Einstellungen zur Einbindung der Softwareumgebung Einstellungen für IP-Logger Funktion in BTF
Schritt #3
EPICS für IUT, TD (=Test-Device) und OD (=Other Device) einladen, Projekt erstellen und Testplanbaum in das Projekt kopieren, „bacstackd.ini“ erstellen und in den Testplanbaum einpflegen
Schritt #4
IP-Testumgebung festlegen und in BTF an den notwendigen Stellen hinterlegen
Schritt #5
Testplanbaum entsprechend der Funktion des IUTs einkürzen/bereinigen und Hinweise zur Parametrierung der Tests
Hinweis
Voraussetzungen für ein erfolgreiches Testen eines IUTs mit BTF, ist abschließend immer ein angeschlossenes Testgerät mit bekannter IP-Adresse und zugehörigem EPICS des Herstellers.
Schritt #1
a) Ausführen der BTF_Fullinstall_xx.x.x.xx.exe Datei und den Anweisungen folgen.
b) Innerhalb einer Vollinstallation werden derzeit auch Python_3.8.10 und Microsoft SQL-Server 2019 installiert.
c) Installation abschließen und Dongle einstecken.
d) Wireshark oder einen ähnlichen Datenlogger aus einer externen Quelle herunterladen und installieren.
e) ggf. Pyscripter aus einer externen Quelle herunterladen und installieren.
f) BTF starten und die Demo-Version wählen. BTF ist beim ersten Start noch unlizenziert.
g) Das Fenster "Projektauswahl" zunächst schließen.
h) Projekt / Systempflege / Softwarefreigabe / [Feature Profile Einlesen] wählen und den passenden Lizenzschlüssel mit der xxxxxx.lic erworbenen Datei einlesen.
Hinweis
Der Dongle als auch die Lizenzdatei müssen die gleiche Referenznummer haben. Wenn ein Unternehmen mehrere Lizenzen besitzt, muss sichergestellt werden, dass Dongle und Lizenzdatei (es können mehrere Lizendateien hinterlegt werden) genau übereinstimmen.
i) Versionsnummer und erfolgreiche Lizensierung können über Info / „Über BTF“ geprüft werden
Hinweis
Die Navigation in der BTF-Oberfläche erfolgt hauptsächlich über die 5 Schaltflächen am unteren Rand:
Hier wird zwischen den folgenden Ansichten gewechselt:
[Projekteigenschaften]
[IUT] Implementation Under Test (das zu testende Gerät)
[TD] Testing Device (testendes Gerät, hier BTF)
[OD] Other Device (Ein anderes Gerät, das in bestimmten Tests eine Aktion ausführt, z. B. externes Quittieren von Alarmen. Dieses Gerät wird innerhalb von BTF mit einer zweiten Netzwerkkarte simuliert)
[Testplanbaum]
Hinweis
In [IUT] [TD] und [OD] erscheint unmittelbar das [Importieren...] von EPICS.
Schritt #2
Die BTF-Systemeinstellungen müssen geprüft und z.T. angepasst werden.
Hinweis
Im folgenden Beispiel wurden Wireshark und PyScripter installiert. Eine Anpassung ist damit in der Regel nicht erforderlich, weil die Standardinstallation von BTF von diesem Szenario ausgeht.
Projekt / Systempflege / Einstellungen / Paketlogger Konfiguration:
a) IP-Logger-Anweisung = Wireshark Installationsverzeichnis
b) Paketlog-Viewer = Wireshark Installationsverzeichnis
c) Paketlog-Utility = Wireshark Installationsverzeichnis
(Wurde Wireshark im vorgeschlagenen Windows-Verzeichnis installiert, stimmen die Voreinstellungen bereits.)
Projekt / Systempflege / Einstellungen / Python-Einstellungen:
d) Pfad Python x.x.xx-Interpreter = Python Installationsverzeichnis
(Wurde Python im vorgeschlagenen Windows-Verzeichnis installiert, stimmt die Voreinstellung bereits)
Empfehlungen:
e) Verbose = True
f) Log-Datei je Testplan = False bzw. = True (für SC-)
g) IP-Logger-Verbindungen: den Eintrag [TD] durch den Namen der Netzwerkverbindung in der getestet wird, ersetzen. (z.B. "Ethernet 4" oder "eigener Name") Standardeintrag ist: [TD] -f "udp and port 47808" -i "7" -q -w [FN]
Schritt #3
Für die weitere Inbetriebnahme von BTF ist es notwendig, die EPICS der jeweiligen Geräte zu importieren. Dazu sind die folgenden Schritte erforderlich:
a) Das Projekt anlegen: Projekt / Auswählen... Es öffnet sich das Fenster Projektauswahl. Mit [Neu] den Projektnamen festlegen und den Teststandard festlegen. Hier ist der neueste, also der aktuellste auszuwählen. Ein neues Projekt ist zu Beginn leer.
b) [IUT] diese EPICS befinden sich im SampleEpics-Verzeichnis, welches Teil von BTF ist: C:\Program Files (x86)\MBS\BTF\Documentation\SampleEpics
c) [TD] diese EPICS befinden sich im SampleEpics-Verzeichnis, welches Teil von BTF ist: C:\Program Files (x86)\MBS\BTF\Documentation\SampleEpics
d) [OD] diese EPICS befinden sich im SampleEpics-Verzeichnis, welches Teil von BTF ist: C:\Program Files (x86)\MBS\BTF\Documentation\SampleEpics
In dem o.g. Verzeichnis gibt es für jede Revision ein Beispiel-Set an EPICS-Dateien.
Hinweis
Für das TD und das OD ist die gleiche Revision zu wählen, die auch das IUT hat!
Beispiel
Hat das IUT die BACnet-Revision 22, so sind hier die Dateien:
BTL22_0_EPICS_OD_Template.tpi und BTL22_0_EPICS_TD_Template.tpi
zu wählen und zu importieren.
Schritt #4
Testumgebung
Für den Betrieb des BTF ist eine sinnvolle und funktionale IP-Umgebung anzulegen.
Beispiel
Ist das IUT mit der IP-Adresse 168.152.32.50 versehen, dann könnte eine IP-Umgebung wie folgt aussehen:
IP-Adresse/Subnetzmaske zugeordnet zu Gerät bzw. Tool
IP-Adresse: 168.152.32.1
Subnetzmaske: 255.255.255.0
reserviert für VTS
IP-Adresse: 168.152.32.100
Subnetzmaske: 255.255.255.0
vorgesehen für das TD (BTF)
IP-Adresse: 168.152.32.101
Subnetzmaske: 255.255.255.0
reserviert für BTF (Reserve-Adresse für verschiedene spätere Tests)
IP-Adresse: 168.152.33.33
Subnetzmaske: 255.255.255.0
vorgesehen für das OD
IP-Adresse: 168.152.32.200
Subnetzmaske: 255.255.255.0
reserviert für BACnet-Device-Browser wie BACeye
Hinweis
VTS ist ein weit verbreitetes Tool welches oft verwendet wird, um einfach und schnell BACnet Requests o.ä. zu erzeugen. VTS nutzt stets die kleinste Adresse des Netzes, weshalb die Adresse x.x.x.1 nicht anderweitig verwendet werden sollte.
Um BTF grundsätzlich erst einmal in Betrieb zu nehmen, ist zunächst die Adresse für das TD ausreichend.
Konfigurationen für das IUT
Unter [Projekteigenschaften], [Daten] müssen mindestens die IP-Adresse des IUTs (hier MAC-Adresse IUT:) und die Geräte-Id IUT (Nummer der Device-Instanz) hinterlegt werden.
Die anderen Felder erleichtern die Projektübersicht.
bacstackd.ini erstellen
Unter [Projekteigenschaften], [BACnet-Einstellungen] ist eine bacstackd.ini Datei zu erstellen. Der Name „bacstackd“ ist nicht verbindlich und kann frei gewählt werden.
Diese Konfigurationsdatei C:\Programme\MBS\BTF\bin\BacStack\bacstackd.ini enthält das Setup für den BACnet Protocol Stack.
Die werkseitige Standarddatei enthält die folgenden Einstellungen und ist für den Betrieb von zwei Netzwerkkarten konfiguriert.
Die in den Kommentaren angegebenen Regeln für die Einstellung der Netzwerkeinstellungen und der BBMD/FD-Unterstützung sind zu beachten.
Wenn nur eine Netzwerkkarte genutzt wird und keine OD-Tests durchführen wollen, wird im Abschnitt #defines the general settings for this file# der Eintrag cnt_data_link = 1 gesetzt.
Die Konfigurationsdatei, wird in der Tabelle BACnet-Einstellungen im Kontextmenü (Rechtsklick) mit [Neu] erstellt.
Die bacstackd.ini ist als Vorlage bereits in BTF vorhanden, siehe Beispiel oben.
Deshalb ist an dieser Stelle für die Kopie dieser Vorlage ein neuer Name zu vergeben. Das gewählte Verzeichnis ist beizubehalten!
Durch einen Doppelklick wird die erzeugte Kopie im Editor geöffnet.
Die Vorlage der bacstackd.ini ist in 3 Bereichen nicht auskommentiert:
unter
#defines the general settings for this file # Hier sind zunächst keine Änderung vorzunehmen.
unter
#defines the pysical network connection for BACnet/IP for TD# Bei "lan_name" die vorgesehene IP-Adresse für das TD eintragen. Wie im o.g. Beispiel vorgeschlagen, wäre das hier die 168.152.32.100.
Unter "net_number" wird die BACnet Netznummer eintragen, in der das IUT voreingestellt ist.
Der UDP-Port 47808 ist der Standard-Port für BACnet. Diesen nur anpassen, wenn das IUT auf einen anderen Port voreingestellt ist. Es ist jedoch sinnvoll, die Tests auf dem BACnet Port 47808 durchzuführen.
unter
#defines the pysical network connection for BACnet/IP for OD# bei "lan_name" die vorgesehene IP-Adresse für das OD eintragen.
Weil das OD (Other Device) sich in einem fremden Netz befinden soll, ist hier eine abweichende "net_number" zu wählen.
Hier ist auch den jeweils verwendeten BACnet-Port zu hinterlegen.
Schritt #5
Unter [Testplanbaum] wird mit [Bearbeiten] der BTF-Testplankonfigurator gestartet.
Von dort können die Ordner mit den Tests in das Fenster Testplanbaum gezogen werden (Drag & Drop).
Dieser Import kann einige Sekunden dauern.
Es empfiehlt sich, neben dem BTL-Testplan XX.X auch die BTF-Tools in den Testplanbaum zu ziehen.
Mit [+] können die Unterverzeichnisse mit den Tests geöffnet werden.
Die Verzeichnisse werden über das Kontextmenü am jeweiligen Symbol verwaltet.
Unter [Bearbeiten] können die Testplan-Eigenschaften eingestellt werden.
Hier kann zum Beispiel die bacstackd.ini dem jeweiligen Verzeichnis zugeordnet werden. Diese Zuordnung gilt dann auch für alle Unterverzeichnisse.
Mit [OD nicht verwenden] kann bei Bedarf auch das OD für das gewählte Verzeichnis deaktiviert.
Der eingefügte Testplanbaum ist vollständig und nimmt zunächst keinen Bezug auf die tatsächlich vorhandenen Funktionen des IUT.
Bei Projektbeginn ist es sinnvoll, den Testplanbaum entsprechend des Funktionsumfang des IUT einzukürzen.
Testplanbaum einkürzen
Es gibt zwei mögliche Vorgehensweisen:
a) Tests zu nicht unterstützten Funktionen werden in der Testliste deaktiviert. Das ist auch mit einer Gruppe von markierten Tests möglich. Bei dieser Methode bleibt das Projekt sehr groß und ist dadurch unübersichtlich und bietet sich an wenn nur einzelne Funktionen nicht unterstützt werden.
b) Verzeichnisse zu nicht unterstützten Funktionen löschen. Diese Methode bietet sich an wenn ganze BIBBS oder Datenlayer nicht benötigt werden.
Wurde ein Verzeichnis gelöscht, kann es auch einzeln wieder exakt an dieser Stelle aus der Vorlage eingefügt werden.
Hinweis
Nimmt man das Einkürzen nicht vor, so gelangt man schnell an Tests zu Funktionen, die vom IUT gar nicht unterstützt werden. Innerhalb des Testablaufes ist es dann in der Praxis schwierig den Überblick zu behalten.