====== BiDiB-Monitor ====== Der BiDiB-Monitor liefert einen schnellen Überblick über angebundene Rück- bzw. Positionsmelder sowie eine Decoderverwaltung zur einfachen Bearbeitung von CVs.\\ === Aktuelle Version === **//Release 10.7.5//** vom 12.02.2024\\ [[https://www.fichtelbahn.de/files/monitor-fw/download.php?file=BiDiB-Monitor-10.7.5.zip|BiDiB-Monitor-10.7.5.zip]]\\ [[https://www.fichtelbahn.de/files/monitor-fw/download.php?file=BiDiB-Monitor-Setup-10.7.5_x64.exe|BiDiB-Monitor-Setup-10.7.5_x64.exe]]\\ === Entwicklungsversion === **//10.8.0 (Build 1460)//** vom 16.04.2024\\ [[https://www.fichtelbahn.de/files/monitor-fw/download.php?file=BiDiB-Monitor-10.8-1460-16042024.zip|BiDiB-Monitor-10.8-1460-16042024.zip]]\\ :!: Bei der Entwicklungsversion handelt es sich um eine frühe Vorschau! Hier können Fehler enthalten sein, die zu Abbrüchen oder fehlerhaftem Verhalten am Bus führen. Wer sich traut diese auszuprobieren, bitte ich um konstruktive Kritik. \\ :!: Diese Vorab-Version also auf keinen Fall in das Verzeichnis entpacken, in dem schon die "Aktuelle Version" liegt.\\ :!: Ein Backup der Benutzerdaten wird dringend empfohlen!.\\ :!: Bei Verwendung des Setups muss die ältere 10.x Version vorher deinstalliert werden\\ \\ === System Anforderungen === * ab Windows Xp für Zip Version * ab Win 7 für Setup Version * .NET Framework 4.0 oder neuer * ab Build 1136 muss unter Windows Xp .Net Framework 4.0.3 installiert sein * ab Build 1265 wird empfohlen das [[https://dotnet.microsoft.com/en-us/download/dotnet/6.0|.NET 6 Framework]] zu installieren. * ab Build 1359 muss das [[https://dotnet.microsoft.com/en-us/download/dotnet/6.0|.NET 6 Framework]] installiert sein. ===Lizenz === Das Programm wird kostenfrei als 'Freeware' angeboten, es gibt weder implizite noch explizite Garantie auf Funktion oder gar Schadenersatz bei evtl. Programmmängeln. ---- ===== Installation ===== Die aktuelle Version des Monitor wird momentan als einfaches Zip-Archiv zur Verfügung gestellt.\\ Dieses ist lediglich an einem beliebigen Ort zu entpacken.\\ Entsprechend kann der Monitor durch Ausführen der //BiDiB-Monitor.exe// auch von einem Wechselmedium (z.B. USB-Stick) mit Schreibrechten gestartet werden :!: Für eine Installation im Standard Windows Programmverzeichnis 'C:\Programme' sind für das **Entpacken** als auch den **ersten Start Administratoren Rechte** notwendig. Folgende Daten werden werden zur Laufzeit verwendet:*\\ * Konfigurationsdateienen - C:\Users\[NUTZER]\AppData\Local\.BiDiBMonitor\UserConfig\\ * BiDiB Daten - C:\Benutzer\[NUTZER]\.BiDiB \\ :!: Soll der Monitor auf einen neuen Rechner übertragen werden, müssen lediglich die Inhalte der beiden Ordner kopiert werden. (Dies gilt auch für den Wizard). **Wenn der Monitor nicht startet**\\ Sollte der Monitor z.B. nach Veränderung von Pfadeinstellungen mal nicht oder nur mit Fehlermeldungen starten, sollte das Löschen der Konfigurationsdateienen helfen.\\ Ab Windows 7 & neuer kann es vorkommen, dass nach dem Entpacken des Zips und Starten der BiDiB-Monitor.exe, ein Prozess zwar gestartet wird, aber sich das Hauptfenster nicht öffnet. In diesem Fall werden höchstwahrscheinlich die Dateien durch Windows gesperrt. Zu erkennen ist dies in den Eigenschaften alle exe & dll Dateien im Ordner.\\ {{:monitor:monitorfileblock.png?200|}} Dies kann behoben werden indem folgender Befehl in einem PowerShell Terminal ausgeführt wird: dir [Pfad zum entpackten Monitor Ordner] -Recurse | Unblock-File Ab Version 10.6. befindet sich neben der BiDiB-Monitor.exe die Scriptdatei //"BiDiB-Monitor unblock.ps1"//, welche mit Powershell ausgeführt werden kann. {{:monitor:monitorfileunblock.png?500|}} \\ * Variante 1: Script mit vollständigen Pfad zum entpackten Ordner\\ * Variante 2: Script wird aus dem entpackten Ordner ausgeführt * Variante 3: Verwendung der Scriptdatei Nach Ausführung des Scripts/ der Datei, sollte die Sicherheitsmeldung bei allen Dateien verschwunden sein und der Monitor normal starten. * entsprechende Ordner werden beim ersten Start, sofern nicht vorhanden, erstellt, jedoch bei Verwendung der installierten Variante bei der Deinstallation aber nicht wieder gelöscht. ---- ===== Knotenmodul ===== Das Knotenmodul ist das Hauptmodul des Monitors. Es bietet alle Funktionen zur Übersicht und Verwaltung der Knoten wie z.B. Firmwareupdates sowie CV- & Feature-Anpassungen. \\ Es unterteilt sich in eine Funktionsleiste (1), den Knotenbaum (2) und die Knotendetailansicht (3) \\ {{:monitor:monitor_nodesmodule.png?nolink&600|}} ==== Knotenübersicht ==== Die Knotenübersicht kann über die Funktionsleiste geöffnet werden.\\ Sie biete eine Auflistung aller aktuell verbundenen Knoten mit ihren wichtigsten Details. {{:monitor:monitor_nodeoverview.png?nolink&600|}} U.a. wird ist leicht ersichtlich ob ein Firmwareupdate für einen Knoten zur Verfügung steht.\\ Durch einen Klick auf das Update Icon kann direkt der Update-Dialog geöffnet werden. \\ Zusätzlich ist es möglich diese Auflistung im CSV Format zu exportieren. ==== Knoten Features bearbeiten ==== Um die Features mehrerer Knoten gleichzeitig zu bearbeiten gibt es die Funktion "Features bearbeiten". {{:monitor:monitor_multinodefeatures.png?nolink&400|}} Im Dialog kann im oberen Bereich aus den aktuell verbundenen Knoten gewählt werden. Je nach Auswahl werden im unteren Bereich alle gemeinsamen Features angezeigt. Um einen Wert zu Ändern ist ein Doppelklick in der 'Wert' Spalte notwendig. Nach der Änderung wird das Feature orange hervorgehoben. Mit Klick auf 'Speichern' werden die Werte für die geänderten Features an die ausgewählten Knoten übertragen. ==== Knoten CVs bearbeiten ==== Über die Funktion "CVs bearbeiten" wird der Dialog zur gleichzeitigen Bearbeitung von Knoten CVs geöffnet.\\ {{:monitor:monitor_multinodecvs.png?nolink&600|}} Im linken Bereich kann aus den aktuell verbundenen Knoten gewählt werden. Für größere Anlagen gibt es zusätzlich eine Filterfunktion um die Liste nach Produkttyp u/o Text im Namen gefiltert werden.\\ {{:monitor:monitor_multinodefeaturesfilter1.png?nolink&200|}} {{:monitor:monitor_multinodefeaturesfilter2.png?nolink&200|}} Im rechten Bereich werden wiederum alle gemeinsamen CVs in entsprechenden Struktur dargestellt.\\ Sobald ein CV Wert geändert wird, kann über den Button "Änderungen übertragen" an die ausgewählten Knoten übertragen werden. ==== Knoten Updates ==== Der Dialog hinter der Funktion "Knoten Updates" biete eine detailliertere Übersicht aller Knoten für die ein Firmware Update zur Verfügung steht. {{:monitor:monitor_nodeupdates.png?nolink&600|}} Durch einen Klick auf das Update Icon kann direkt der Update-Dialog geöffnet werden. \\ ===== Knotendetails ====== ==== Knoten Features anpassen ==== Um die Features eines BiDiB-Knoten zu ändern, muss der Knoten im Knotenbaum ausgewählt werden.\\ Dann den Reiter "Features" anklicken und die Liste mit allen Features des Knoten wird angezeigt.\\ Der Wert des jeweiligen Features kann in der Spalte 'Wert' (1) geändert werden.\\ {{:monitor:monite_node_features.png|}}\\ Mit dem Button 'Änderung übertragen' (2), wird die Änderung an den ausgewählten Knoten geschickt. Über die Filterbox (3) kann anhand des Featurenamens bzw. dessen Beschreibung gefiltert werden. Um das Feature auf mehreren Knoten zu ändern, befindet sich oberhalb des Knotenbaums ein Button 'Features bearbeiten'\\ {{::monite_node_features_allb.png|}} Im sich öffnenden Dialog werden im oberen Bereich (1) alle am Bus vorhandenen Knoten aufgelistet. \\ In Abhängigkeit der ausgewählten Knoten werden im unteren Bereich alle gemeinsamen Features aufgelistet.\\ {{::monite_node_features_alld.png|}}\\ Diese können ebenfalls über die Filterbox (3) gefiltert bzw. die 'Wert' Spalte geändert werden.\\ Mit einem Klick auf den Button 'Speichern' werden die Änderungen an die ausgewählten Knoten übertragen.\\ ---- ==== Accessory: Aspect schalten ==== Wenn im BiDiB-Baum ein Knoten ausgewählt wird, der das Feature FEATURE_ACCESSORY_COUNT auf einen Wert größer 0 gesetzt hat, wird die Karteikarte „Accessory“ angeblendet. \\ {{:monitor_accessories.png|}} In jeder Zeile werden die aktuellen Einstellungen eines Accessories angezeigt.\\ Jeder verfügbare Aspect wird als Button dargestellt, wobei der aktuell aktive Aspect blau hinterlegt ist. \\ Der gewünschte Aspect kann durch Betätigen des entsprechenden Buttons aktiviert werden. ---- ===== DCC-Befehle per Script ===== Über eine einfache [[http://forum.opendcc.de/wiki/doku.php?id=tools:scripting-loco|Scriptsprache]] kann eine Folge von Befehlen definiert werden. Diese werden vom Monitor abgearbeitet und per BiDiB an den Lokdecoder geschickt. ==== Beispielscript ==== # Testscript # Decoderadresse angeben ADDR 211 # Fahrstufen des Decoder angeben. SPEEDSTEPS 128 # Geschwindigkeitsstufe 20, vorwärts SPEEDV 20 # 3 Sekunden warten WAIT 3000 # Funktionstaste F0 betätigen, Licht an KEY 0 # Funktionstaste F1 zweimal betätigen, kurzer Signalton KEYSHORT 1 # 3 Sekunden warten WAIT 3000 # Licht wieder aus KEY 0 # Geschwindigkeitsstufe 10, vorwärts SPEEDV 10 # 1 Sekunde warten WAIT 1000 # Anhalten mit Bremsrampe des Decoders STOP ==== Script erstellen ==== Ein Script kann mit einem einfachen Texteditor erstellt werden. Die Datei muss die Extention **.dcct** haben. ==== Script ablaufen lassen ==== {{:monitor:dcc-script.png|}} - Im Monitor den Booster und DCC einschalten - Den Lokdecoder in der [[http=http://forum.opendcc.de/wiki/doku.php?id=monitor#lokdecoderverwaltung|Decoderverwaltung]] eingeben. - Das Fahrpult aufrufen (1) - Die Lok auswählen, für die das Script verwendet werden soll. Wenn im Script mit ADDR xx eine andere DCC-Adresse gesetzt wird, wird die Auswahl der Lok ignoriert. - Das Script laden. Dazu auf den Button „Script“ (2) klicken. Es öffnet sich ein Dateidialog. Dort eine Scriptdatei mit der Endung .dcct auswählen. - Der Dateiname wird eingeblendet und der Button „Start“ (4) freigegeben. - Dann das Script mit Klick auf den Button „Start“ (4) starten. - Der „Start“-Button wird gesperrt und der „Stop“-Button (5) freigegeben. Die Wait-Befehle werden angezeigt. Im Log-Bereich werden die DCC-Messages angezeigt. - Mit dem „Stop“-Button (6) kann das Script vorzeitig gestoppt werden. Wenn der Haken bei „Repeat“ (6) gesetzt ist, wird das Script wiederholt, bis der „Stop“-Button (4) angeklickt wird. ---- ===== Optionale Funktionen für Tests und Entwicklung ===== {{:monitor_settings_poweruser.png?300 |}} \\ Diese Funktionen stehen zur Verfügung, wenn in den Einstellungen der Punkt 'Powernutzer' aktiviert wurde.\\ ---- ==== BiDiB-Error Meldungen ==== {{:monitor:bidiberrormsg.png?200 |}}Wenn ein Knoten eine **MSG_SYS_ERROR**-Message sendet, ändert sich das Icon vor dem Knoten. Der Fehlerstatus kann über das Kontextmenu zurückgesetzt werden.\\ Die genaue Fehlermeldung ist in der Karteikarte "Event-Log" zu sehen. ---- ==== Ping-Test ==== {{ :monitor:pingtestmenu.png?300|}}Im Kontextmenu der Knoten wird der Menupunkt „**MSG_PING Test**“ eingeblendet.\\ {{:monitor:pingtestform.png?200 |}}Es öffnet sich ein neues Fenster. \\ Hier kann die Anzahl der Parameter-Byte angepasst werden. Da die Länge der Message über das normale Maß für **MSG_PING** hinausgeht, entspricht dies nicht ganz der BiDiB-Message-Syntax. Mit „**Start PING**“ wird solange eine MSG_PING an den Knoten geschickt, bis „**Stop PING**“ angeklickt wird. Dieser Antwortet jeweils mit MSG_PONG. OUT -- : MSG_SYS_PING FE 0F 04 00 10 07 01 00 01 02 03 04 05 06 07 08 09 15 FE Input : |05 04 00 0F 82 01 4B FE | IN --- : MSG_SYS_PONG 05 04 00 0F 82 01 OUT -- : MSG_SYS_PING FE 0F 04 00 11 07 02 00 01 02 03 04 05 06 07 08 09 D4 FE Input : |05 04 00 10 82 02 BC FE | IN --- : MSG_SYS_PONG 05 04 00 10 82 02 OUT -- : MSG_SYS_PING FE 0F 04 00 12 07 03 00 01 02 03 04 05 06 07 08 09 F1 FE Input : |05 04 00 11 82 03 49 FE | IN --- : MSG_SYS_PONG 05 04 00 11 82 03 ---- ==== Knoten-CV permanent lesen ==== {{:monitor:knotencvlesen.png?200 |}}In der CV-Verwaltung für BiDiB-Knoten werden zwei weitere Icons eingeblendet.\\ Ein Mausklick auf das linke, grüne Icon startet ein permanentes lesen der markierten CV.\\ Ein Klick auf das rechte, rote Icon beendet den Vorgang. OUT -- : MSG_VENDOR_GET FE 06 02 02 00 16 17 00 7A FE Input : |09 02 02 00 14 93 01 31 01 31 9F FE | IN --- : MSG_VENDOR 09 02 02 00 14 93 01 31 01 31 OUT -- : MSG_VENDOR_GET FE 06 02 02 00 17 17 00 D1 FE Input : |09 02 02 00 15 93 01 31 01 31 A8 FE | IN --- : MSG_VENDOR 09 02 02 00 15 93 01 31 01 31 OUT -- : MSG_VENDOR_GET FE 06 02 02 00 18 17 00 8E FE Input : |09 02 02 00 16 93 01 31 01 31 F1 FE | IN --- : MSG_VENDOR 09 02 02 00 16 93 01 31 01 31 OUT -- : MSG_VENDOR_GET FE 06 02 02 00 19 17 00 25 FE Input : |09 02 02 00 17 93 01 31 01 31 C6 FE | IN --- : MSG_VENDOR 09 02 02 00 17 93 01 31 01 31 ---- ==== Ausgabe der CV-Meldungen ==== Im Systemmodul werden in der Karteikarte „CV Log“ alle ein- und ausgehenden CV-Meldungen ausgegeben.\\ Dies gilt sowohl für die CV Operation der BiDiB Knoten als auch der Lok/Fahrzeug Decoder. {{:monitor_cvlog.png?nolink|}} ===== Hilfreiche Daten zur Fehlersuche (Logs) ===== Um Probleme und/oder Fehler an einem BiDiB-System besser analysieren zu können,\\ ist es hilfreich, wenn detaillierte Daten zur Verfügung gestellt werden. Ab der Version 0.8.2 werden bei jedem Start automatisch Log-Dateien angelegt.\\ Diese sind zu finden unter „C:\Benutzer\[NUTZER]\AppData\Local\Temp\.BiDiBMonitor.“\\ Es gibt eine laufende Log-Datei, zu jedem Start eine separate Log-Datei, sowie ein paar spezielle Dateien für Fehlermeldungen, POM & RCPlus. ==== Systemlog Übersicht ==== Zur Laufzeit des Monitors werden die Log Meldungen im System-Bereich -> Systemlog live ein einer Liste angezeigt.\\ {{:monitor:bidib-monitor_systemlogs.png?nolink|}} Hier stehen verschiedene Funktionen zur Verfügung:\\ 1) Hält die fortlaufende Liste an. Logs werden dabei weiterhin im Hintergrund in die Dateien geschrieben und zusätzlich im Speicher gehalten.\\ 2) Löscht alle Einträge aus der Liste. (nicht aus den Log-Dateien)\\ 3) Logs exportieren mit 3 Optionen\\ 4) Logs in der Liste nach Typ bzw. im Textfeld nach Inhalt filtern\\ 5) Logs die während des Pause Modus im Speicher gehalten werden schrittweise zur Liste hinzufügen\\ ==== Logs exportieren ==== Logs können über den Punkt "Export" in der Systemlog Übersicht exportiert werden. Dazu stehen mehrere Optionen zur Verfügung, die im Dateiauswahl Dialog gewählt werden können. \\ {{:monitor_logexport_options.png?nolink|}} -- Aktuelle Einträge aus der Liste\\ -- Aktuelle Log-Datei aus dem Temp Verzeichnis\\ -- Alle Log-Dateien aus dem Temp Verzeichnis zusammengepackt als zip\\ Ab Version 10.4 (Build 1118) befindet sich zusätzlich im Hauptmenü ein Eintrag zum schnellen Export der Logs. {{:monitor:bidib-monitor_logexport.png?nolink|}} :!: Zur optimalen Fehleranalyse wird der Zip-Export empfohlen ==== Logs bereinigen ==== Da sich über die Zeit besonders viele Logs sammeln können und dadurch entsprechend Platz auf der Festplatte belegt wird, gibt es in den Einstellungen die Möglichkeit alle Log-Dateien bis auf die aktuelle Laufzeitdatei zu löschen. {{:bidib-monitor_clearlogs.png?nolink|}} ==== Application Insights ==== Seit Build 1145 wird als zusätzliches Logging Feature der Microsoft Online Analyse Dienst 'Application Insights' verwendet. Dieser dient ausschließlich der Nutzungsanalyse der Abfragen zum Knoten Firmwarerepository und DecoderDB Repository. {{:monitor_telemetry_events.png?nolink|}} Zudem werden jegliche Fehler registriert auch wenn sie nicht durch den Nutzer bemerkt bzw. nicht über das Forum gemeldet werden. {{:monitor_telemetry_exceptions.png?nolink|}} Wenn dieses Tracking nicht gewünscht ist, kann es in den Einstellungen unter dem Punkt "Anwendungstelemetrie" deaktiviert werden. {{:monitor_settings_telemetry.png?nolink|}} Zur Deaktivierung muss der Monitor mit Administratorrechten gestartet werden. \\ ===== Links ===== [[monitor:cv-definitionsfile|XML-Struktur einer CV-Definitionsdatei]]\\ [[monitor:monitor-faq|FAQ]] === CV-Definitionsdateien der einzelnen Knoten als Download === [[monitor:cv-definitionsfile-download|CV-Definitionsdateien]] ----