Serielle Geräteverwaltung

Letzte Anpassung: 21. October 2020

Um mit einem seriellen Gerät kommunizieren (Senden / Empfangen) muss – analog zu dem Nadeldrucker – das Gerät via keyspan an den Rechner verbunden werden, ein Gerät hinzugefügt werden und mit den richtigen Parametern (siehe Datenblatt vom Gerät) eingetragen werden. Das Gerät sollte einen spezifischen Namen für das Gerät in Verbindung mit dem Rechner haben (sollten evtl. zwei solche Geräte in der Praxis genutzt werden)

Zurzeit sind 2 Modi implementiert:

  • Kontinuierliches Abhören eines Gerätes, wenn eine Karteikarte geöffnet ist. Sollte das Gerät etwas schicken, wird ein neuer Karteieintrag mit den eingelesenen Daten erstellt. Das Interpretieren des Datenstrangs wird über das Kommunikations-Tab konfiguriert. Es können mehrere Empfangskommunikationsphasen konfiguriert werden, wodurch nach mehreren Mustern gesucht werden kann. Das zuletzt gefundene Muster wird als Werte genommen.
  • Einmaliges Senden von den Daten eines geöffneten Karteieintrages, wobei der zu sendende Datenstrang im selben Tab zusammengesetzt werden kann.

Direktes Handshake ist noch nicht zur Verfügung gestellt.

Format der Kommunikation

Für die Konfigurationsphase stehen 2 Felder zur Verfügung. In der Mitte das normale Eingabefenster, auf der Rechten Seite ein Hex-Editor, in dem man einzelne Zeichen ändern kann. (Hinzufügen/Löschen von Zeichen im Hex-Editor ist noch nicht implementiert) Eine Variable kann – jeweils für senden und empfangen gleich – durch die Zeichenfolge

$$var|2.2$$ ersetzt/gelesen werden, hierbei sind 2 „$“ Zeichen jeweils Start und Stop Signal. Der Variablenname ist mit „var“ bezeichnet (die verfügbaren Variablennamen in tomedo® sind weiter untern aufgelistet) Das „|“ Zeichen ist ein Separator und die Zahlenkolonne „2.2“ ist das Format. Zum Senden wird das printf Format genommen (zB: „+05.2“ = 5stellige zahl, darin ein Vorzeichen, führende Null und 2 Nachkomma Ziffern, „4.2“ = 4stellige zahl mit 2 Nachkomma Ziffern), zum lesen wird die Anzahl der verwendeten Ziffern genommen („2“ = eine 2stellige Zahl, „4.3“ = eine 8stellige Zahl mit 4 Vorkomma Ziffern und 3 Nachkomma Ziffern)

Weitere Möglichkeiten:

$$var|s99$$ 99 Zeichen einlesen
$$var|S</$$ bis zur </ Zeichenkette einlesen
$$var|5$$ 5-stellige Nummer einlesen
$$var|t<$$ bis zum < Zeichen einlesen (Abgelöst durch Befehl 2)
$$var|a<$$ bis zum < Zeichen einlesen & an Variable dranhängen

Serielles Gerät mit Karteieintrag verknüpfen

Die Verknüpfung ist unter Systemeinstellungen im Tab Arbeitsplatzeinstellungen analog zum File-Listener konfigurierbar. Hier muss das Aktivhäkchen und das Gerät gesetzt werden.

Variablen der Karteieinträge

Zurzeit sind 5 Karteieintragtypen implementiert. Die verfügbaren Variablen Namen sind:

Augendruck

druckLinks druckRechts
druckMitKorrekturLinks druckMitKorrekturRechts
messTyp
augenFreitext

Augendruck Extra-Werte

Formatierter Freitext
pachyLinks pachyRechts

Keratometer

hhr1Links hhr1Rechts
hhr2Links hhr2Rechts
keraAchseLinks keraAchseRechts
KeratormeterMitIOL
hhr1Links hhr1Rechts
hhr2Links hhr2Rechts
keraAchse1Links keraAchse1Rechts
keraAchse2Links keraAchse2Rechts
keraZylinderLinks keraZylinderRechts
vktLinks vktRechts
alLinks alRechts

Refraktion

achseLinks achseRechts
addLinks addRechts
basisLinks basisRechts
ccVisusFernBinText
ccVisusFernLinksText
ccVisusFernRechtsText
ccVisusNahBinText
ccVisusNahLinksText
ccVisusNahRechtsText
freitext
prismaLinks prismaRechts
pupillenDistanz
scVisusFernBinText
scVisusFernLinksText
scVisusFernRechtsText
scVisusNahBinText
scVisusNahLinksText
scVisusNahRechtsText
scheitelabstandLinks
scheitelabstandRechts
sphaereLinks sphaereRechts
zylinderLinks zylinderRechts

Refraktions Extra-Werte: Verarbeitung zu den obigen Werten

sphaereLinksN
sphaereRechtsN
sphaereLinksN_f
sphaereRechtsN_f
sphaereLinksN_XXX
sphaereRechtsN_XXX -> XXX… karteieintragtyp
prismaRechtsIN
prismaRechtsOUT
prismaRechtsUP
prismaRechtsDOWN
prismaLinksIN
prismaLinksOUT
prismaLinksUP
prismaLinksDOWN

Refraktions Extra-Werte:

Formatierter Freitext
keraRR1 keraRD1 keraRA1
keraRR2 keraRD2 keraRA2
keraRRAV keraRCYL
keraLR1 keraLD1 keraLA1
keraLR2 keraLD2 keraLA2
keraRLRAV keraLCYL

Visus

ccVisusFernBinText
ccVisusFernLinksText
ccVisusFernRechtsText
ccVisusNahBinText
ccVisusNahLinksText
ccVisusNahRechtsText
freitext
scVisusFernBinText
scVisusFernLinksText
scVisusFernRechtsText
scVisusNahBinText
scVisusNahLinksText
scVisusNahRechtsT