SCPI Remote System
Beste Performance bei maximaler Modularität

Hauptmerkmale

  • PERFORMANTE KOMMANDO­ABARBEITUNG (<100 μS FÜR *IDN? QUERY) 

  • STANDARD­SCHNITTSTELLEN: TCP/IP, RS232 UND HISLIP (NUR FÜR LXI MITGLIEDER)
  • MODULARES KONZEPT FÜR PARSER UND DATENKANÄLE
  • GENERIERUNG VON CODE SKELETONS UND DOKUMENTATION MITHILFE VON XML
  • MODERNES UND FLEXIBLES SCPI PARAMETER KONZEPT

Nachdem TSEP auch Mess­geräte baut und vertreibt, war die Reali­sierung eines Remote Systems mit SCPI-99 Parsers zwangs­läufig notwendig. Die erste Implementierung wurde 2008 erstellt und anschließend in verschiedenen Mess­system verwendet. 2014 wurde die Version V2 mit einem deutlich erweiterten Funktions­umfang 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 Unter­stützung von Over­lapped 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 Daten­kanäle genutzt werden können. Mit Hilfe der modularen Datenkanäle können dem Kunden TCP/IP, HiSLIP, RS232 oder andere Daten­kanäle parallel zur Verfügung gestellt werden. Die einzelnen Daten­kanä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öglich­keit funktionale Gruppen von Parsern zu bauen, die auch in anderen Geräten verwendet werden können. TSEP liefert zum Remote­system 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 Kommando­definition, 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 Dokumenten­erstellung dient eine Microsoft Word Vorlage. Diese kann beliebig vom Kunden an seine Anforderungen angepasst werden.

Besonders "Overlapped­ Kommandos" stellen den Geräte­software­entwickler immer vor besondere Heraus­forderungen, da diese Kommandos asynchron ablaufen. Im TSEP Remote System wurde die komplette Logik für die Verwaltung der Kommando­abläufe implementiert. Der Geräte­software­entwickler 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äte­software­entwicklers nur marginal von normalen Kommandos.

Kommando­parameter (Input/Output) können innerhalb der Geräte­software frei definiert werden. Somit hat der Geräte­software­entwickler die Möglich­keit, seine individuellen Parameter­typen inklusive Syntax und Werte­bereichs­überprüfung zu implementieren. TSEP liefert beim Remote System eine Reihe von vor­definierten Parametern wie Numeric, Decimal, String, Binary, Date, etc. mit.

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

Technical Software Engineering Plazotta

Our work is inspired by science, not fiction!


Folgen Sie uns auf
Adresse

Technical Software Engineering Plazotta
Hopfenstr. 30, 85283 Wolnzach,
Deutschland


© 2019 Technical Software Engineering Plazotta