Hallo,
das lässt sich meiner Ansicht nach wesentlich einfacher lösen (mit Ausnahme der echten Konflikte, die softtwaremässig garnicht lösbar sind):
Ich kann an einen PC bis zu 64 meiner Analyse-Geräte anschliessen, neben Comx auch Ethernet oder USB, hier interessieren nur die Geräte, die über eine
Com-Schnittstelle angeschlossen sind. Diese haben die Nummer des Comports in Ihrer Konfiguration eingetragen. Hat ein Gerät COM5 und soll aktiviert werden, so fordert die Log-Software COM5 von einem Pool von derzeit 16
Com-Schnittstellen an (u.a. weil es 64 Geräte geben kann, aber niemals so viele Comports, die würden über LWL-Multiplexer angeschlossen). Wird COM5 bereits von einem anderen Gerät benutzt (Multiplexer), so stellt der Pool sofort ein
Handle zur Verfügung, andernfalls initialisiert er erst eine neue Schnittstellendatei COM5.
Ein Gerät kann inaktiv sein, dann beachtet es die Logsoftware nicht, oder aktiv, dann versucht die Logsoftware, über sein Comport Verbindung aufzunehmen - klappt das nach einiger Zeit nicht, oder es kommen eine bestimmte Anzahl von Fehlern nacheinander, wird das Gerät auf inaktiv zurückgestuft. Steht die Verbindung, so kann ein Experiment gestartet werden. Bei laufendem Experiment wird die Verbindung nur auf Befehl deaktiviert oder nach endgültigem Zusammenbruch der Übertragung. Übrigens kann die Verbindung zu einem laufenden Experiment jederzeit wieder aufgenommen werden, solange das Gerät noch läuft.
Der Pool prüft, ob ein Comport seit einiger Zeit nicht mehr angefordert wurde, ist das der Fall, wird COMx geschlossen und damit ans Betriebssystem als verfügbar zurückgegeben. M.a.W. nicht benutzte Comports (von deaktivierten Stationen) sind automatisch wieder frei verfügbar, läuft dagegen ein Experiment, so kann der Comport solange nicht anderweitig benutzt werden (privilegierter Status).
Aus der Logsoftware heraus können natürlich alle Verbindungen deaktiviert werden, am einfachsten dadurch, dass man sie beendet. Die Geräte sind autark und speichern ihre Daten intern, man kann also auch die Logsoftware beenden und mit den Comports machen was man will, wenn man die Logsoftware einen Tag später wieder startet, holt sie sich die Daten von den laufenden Experimenten ab als ob nichts gewesen wäre. Das Konzept erlaubt es sogar, ein Experiment auf einem Gerät von 2 PCs in USA und Europa parallel zu überwachen.
Gruss Reinhard