After TSEP also builds and sells measuring instruments, the implementation of a remote system containing a SCPI-99 parser was absolutely necessary. The first implementation was created in 2008 and was subsequently used in different measuring instruments. The version V2 was tackled in 2014, with a greatly expanded range of functions. In this parser, commands shall be defined by a XML file, the generation of the SCPI code skeleton shall be done by a tool and the support of overlapped commands shall be included. The TSEP remote system V2 is available since the middle of 2014 and is used in various applications and customers.
The remote system is based entirely on C++ and is available for Windows and Linux. Particular care was given to allow the use of several parsers as well as several data channels. Due to the modular data channels, it is possible to provide TCP/IP, HiSlip, RS232 or other data channels parallel to the customer. The individual data channels can be parameterized (e.g. port numbers at TCP/IP) and instanced several times. In addition, multiple parser modules can be loaded. Therefore, the customer has the option to build functional groups of parsers, which can also be used in other devices. TSEP supplies two standard parser (Common Commands IEEE 488.2, SCPI-99 partial) to the remote system.
To keep the configuration of the parser as simple as possible, an XML structure has been defined. This XML structure contains command definitions and documentation. This ensures that code and documentation are always up-to-date with the same status. The creation is done by a stand-alone tool. A Microsoft Word template serves as a template for the document composition. This template can be modified by the customer to fit its requirements.
Especially overlapped commands pose challenges to the instrument software developer, because these commands run asynchronously. The entire logic for the management of the command order is implemented inside the TSEP remote system. The instrument software developer does not need to take care about the synchronization of the commands, this is done inside the remote system entirely. The whole handling of the status register is embedded inside the remote system as well. Therefore, overlapped commandos only differ marginally from normal commandos from the point of view of the instrument software developer.
Command parameters (input/output) may be freely defined within the instrument software. Thus, the instrument software developer has the opportunity to implement his individual parameter types including syntax and value range verification. TSEP provides a set of predefined parameters like numeric, decimal, string, binary, date, etc.
Special attention was paid to the run time behavior of the command processing. The “*IDN?” query takes place in less than one millisecond with a release version on a reference system (Intel I5, 3.0 GHz).