LFNETIOControl: Undokumentierte
Funktionen/Eigenschaften
Hier liste ich einige undokumentierte Funktionen auf, womit sie eigentlich dann doch dokumentiert wären. Allgemein
Steuerungen per Tastenkombination im Hauptfenster sperren/freigeben Ab Version: RC4 In der Konfig lassen sich die einzelnen Steuerungen bekanntlich deaktivieren. Das ist aber auch direkt im Hauptfenster per Tastenkombination möglich: Strg+Alt+Shift+{0-4} Für die Gruppensteuerung gilt 0, für die Ausgänge entsprechend 1-4. Demnach kann man mit Strg+Alt+Shift+0 die Gruppensteuerung sperren/freigeben und z.B. mit Strg+Alt+Shift+2 den Ausgang 2 sperren/freigeben. Mehrere LFNC Instanzen einrichten für mehrere NETIOs Ab Version: RC4 LFNC ist generell nur für die Bedienung von einem einzelnen NETIO gedacht. Allerdings ist LFNC bereits für Multi-Instanz ausgelegt, womit sich dann mehrere NETIOs gleichzeitig bedienen lassen. Dazu müssen die drei Programme (*.exe) kopiert und dann alle Programme umbenannt werden. Wichtig ist dabei, dass die zwei Unterprogramme LFNETIOControlPing.exe und LFNETIOControlStatus.exe mit dem exakt gleichen Namen beginnen wie das Hauptprogramm LFNETIOControl.exe. Wenn z.B. zwei NETIOs gleichzeitig mit LFNC gesteuert werden sollen, dann könnte man z.B. einfach zwei verschiedene Nummern im Programmnamen vergeben. Das ist jedoch nur ein Beispiel, statt der Ziffern kann man auch beliebigen anderen Text verwenden. Erste Instanz LFNETIOControl0.exe LFNETIOControl0Ping.exe LFNETIOControl0Status.exe Zweite Instanz LFNETIOControl1.exe LFNETIOControl1Ping.exe LFNETIOControl1Status.exe Blau dargestellter Text ist variabel, muss dann aber bei allen 3 Programmen identisch sein. Rot dargestellter Text ist dagegen fix und darf nicht geändert werden! Damit hätte man zwei komplett getrennte Instanzen mit eigener Konfiguration und eigener Multitasking-Umgebung. Auf diese Weise ist es dann möglich LFNC mehrfach zu starten. Wenn man dann in der jeweiligen Konfiguration noch "Letzte Fenster-Position speichern" aktiviert, könnte man die Startposition der jeweiligen LFNC-Instanz festlegen. Somit würden alle LFNCs immer an der letzten Position gestartet werden, auch bei Multi-Monitor-Konfigurationen. LFNC sucht übrigens immer nach einer INI die genauso heisst, wie das Hauptprogramm selbst. Heisst das Hauptprogramm z.B. Test.exe, sucht Test.exe nach Test.ini. Bemerkung: Ab V1.1.0 können mit dem Profil-Manager bis
zu 8
NETIOs einzeln
verwaltet werden. Multi-Instanz könnte trotzdem interessant sein,
wenn man mehrere
NETIOs gleichzeitig
bedienen und überwachen will. Multi-Instanz
und Profil-Manager können übrigens auch kombiniert eingesetzt
werden.
INI
In der INI gibt es einige spezielle Schalter. Diese werden von LFNC grundsätzlich nur gelesen, niemals geschrieben. Bei jedem Schalter steht dabei, ab welcher Version dieser eingebaut wurde und in welcher INI dieser Gültigkeit besitzt. Global bedeutet der Schalter wird nur in der Primär-INI "LFNETIOControl.ini" akzeptiert und gilt dabei global für alle Profile. Profil bedeutet der Schalter wird sowohl in der Primär-INI als auch in den Sekundär-INIs "LFNETIOControl(x).ini" akzeptiert, gilt aber nur für das Profil (INI), in das er eingetragen wird. Typen-Erkennung Methode umschalten Ab Version: 1.0.0 In der Betaphase zeigte sich, dass die Typenerkennung nicht immer funktioniert. Nach zig Tests fand ich dann heraus, dass der NETIO nur eine bestimmte Anzahl von Zugriffen dieser Art zulässt und dann für ein paar Minuten sperrt. Darum habe ich die Erkennung ab V1.0.0 auf eine neue Methode geändert die immer funktioniert, allerdings gegenüber Firmware-Änderungen empfindlich ist. Die alte Methode ist dagegen unempfindlich gegenüber Firmware-Änderungen, wird aber - wie erwähnt - nach ein paar Zugriffen gesperrt. Die Sperrung käme aber nur zum tragen, wenn LFNC ständig neu gestartet würde. Trotzdem empfehle ich die neue Methode aktiviert zu lassen. [Main] detectmethod={0/1} 0 = alte Methode 1 = neue Methode (Standard) Bemerkung: Wurde in
V1.1.0
wieder
entfernt. Ab dieser Version wird grundsätzlich nur noch die alte
Methode
verwendet, da die NETIO Generation C/CS mit der neuen Methode
nicht erkannt werden kann. Ausserdem wird ab 1.1.0 automatisch eine
zweite Fallback-Routine ausgeführt, wenn der Typ mit der ersten
nicht erkannt werden konnte.
Maximale Fehlerzahl bei Statusabfrage ändern Ab Version: 1.0.1 Gültigkeit: Profil Für die Statusabfrage gilt Standardmässig ein Fehler-Limit von 3. Das heisst es dürfen nacheinander 3 Fehler in der Abfrage auftauchen, beim vierten wird ein echter Fehler ausgelöst und LFNC in den Offline-Status versetzt. Sollte aus irgendeinem Grund - wie z.B. lausige VPN-Verbindung - dieses Limit nicht ausreichen, kann dieses hochgesetzt werden. Allerdings ist das kaum sinnvoll. Lieber sollte man dann nach dem Grund forschen. In der Praxis hat sich das Limit von 3 sehr gut bewährt und muss normalerweise nicht geändert werden. [Main] statuserrcountermax={0-255} 0 = Keinerlei Fehler-Toleranz, beim ersten Auftreten eines Fehlers wird LFNC sofort offline geschaltet. (nicht sinnvoll) 1 = Ein Fehler ist erlaubt, beim zweiten wird offline geschaltet. 2 = Zwei Fehler sind erlaubt, beim dritten wird offline geschaltet. 3 = (Standard) 4...255 = usw. Laufzeit-Dauer der NETIO Kommandos protokollieren Ab Version: 1.1.0 Gültigkeit: Profil Im Problemfall kann es hilfreich sein, die Laufzeit der HTTP Requests zum NETIO zu protokollieren. Mit dieser Funktion wird bis auf die Millisekunde genau gemessen, wie lange ein Request insgesamt braucht vom Absetzen des Kommandos bis zur Rückmeldung. Diese Info wird dann in den Debug-Infos der Meldungen aufgeführt sowie in der Log-Datei bei aktivierten erweiterten Infos. [Main] logcmdduration={0/1} |