Remotesystem

Nachdem TSEP auch Messgeräte baut und vertreibt, war die Realisierung eines Remote Systems mit SCPI-99 Parsers zwangsläufig notwendig. Die erste Implementierung wurde 2008 erstellt und anschließend in verschiedenen Messsystem verwendet. 2014 wurde die Version V2 mit einem deutlich erweiterten Funktionsumfang in Angriff genommen. Bei diesem Parser sollten nun die Kommandos über eine XML Datei definiert werden, die Generierung der SCPI Code-Skeletons sollte über ein Tool erfolgen und die Unterstützung von Overlapped Kommandos sollte enthalten sein. Seit Mitte 2014 steht nun das TSEP Remote System V2 zur Verfügung und wird bei verschiedenen Applikationen und Kunden eingesetzt.

Das Remote System basiert komplett auf C++ und ist sowohl für Windows, als auch für Linux verfügbar. Bei dem Remote System wurde besonders darauf geachtet, dass sowohl mehrere Parser als auch mehrere Datenkanäle genutzt werden können. Mit Hilfe der modularen Datenkanäle können dem Kunden TCP/IP, HiSlip, RS232 oder andere Datenkanäle parallel zur Verfügung gestellt werden. Die einzelnen Datenkanäle lassen sich parametrieren (z.B. Portnummer bei TCP/IP)  und mehrfach instanziieren. Zusätzlich können auch mehrere Parser-Module geladen werden. Somit hat der Kunde die Möglichkeit funktionale Gruppen von Parsern zu bauen, die auch in anderen Geräten verwendet werden können. TSEP liefert zum Remotesystem zwei Standard Parser (Common Commands IEEE 488.2, SCPI-99 teilweise) mit.

Um die Konfiguration der Parser Kommandos möglichst einfach zu halten, wurde eine XML Struktur definiert. Die XML Struktur enthält sowohl die Kommandodefinition, als auch die Dokumentation. Hiermit ist gewährleistet, dass sowohl Code, als auch Dokumentation immer auf demselben aktuellen Stand sind. Die Generierung erfolge über ein eigenständiges Tool. Als Vorlage für die Dokumentenerstellung dient eine Microsoft Word Vorlage. Diese kann beliebig vom Kunden an seine Anforderungen angepasst werden.

Besonders „Overlapped Kommandos“ stellen den Gerätesoftwareentwickler immer vor besondere Herausforderungen, da diese Kommandos asynchron ablaufen. Im TSEP Remote System wurde die komplette Logik für die Verwaltung der Kommandoabläufe implementiert. Der Gerätesoftwareentwickler muss sich nicht um die Synchronisierung dieser Kommandos kümmern, diese wird komplett im Remote System erledigt. Das komplette Handling der Status Register für diese Kommandos ist ebenso im Remote System verankert. Somit unterscheiden sich „Overlappend Kommandos“ aus Sicht des Gerätesoftwareentwicklers nur marginal von normalen Kommandos.

Kommandoparameter (Input/Output) können innerhalb der Gerätesoftware frei definiert werden. Somit hat der Gerätesoftwareentwickler die Möglichkeit, seine individuellen Parametertypen inklusive Syntax und Wertebereichsüberprüfung zu implementieren. TSEP liefert beim Remote System eine Reihe von vordefinierten Parametern wie Numeric, Decimal, String, Binary, Date, etc. mit.

Ein besonderes Augenmerk wurde auch auf das Laufzeitverhalten der Kommandoverarbeitung gelegt. Die *IDN? Abfrage auf einem Referenzsystem (Intel I5, 3.0 GHz) erfolgt bei einer Release Version unter einer Millisekunde.