Since TSEP also builds and sells measurement instruments, the realization of a remote system with SCPI-99 Parsers was inevitable. The first implementation was created in 2008 and then used in various measurement systems. In 2014, the V2 version was launched with a significantly extended range of functions. With this parser, the commands were to be defined via an XML file, the SCPI code skeletons were to be generated via a tool, and support for overlapped commands was included. The TSEP Remote System V2 has been available since mid-2014 and is used by various applications and customers.
Since this year, the TSEP SCPI Remote System has a new name: Poseidon! Poseidon is completely based on C++ and is available for both Windows and Linux. With Poseidon special attention was paid to the fact that both several parsers and several data channels can be used. Using the modular data channels, TCP/IP, HiSLIP, RS232 or other data channels can be made available to the customer in parallel. The individual data channels can be parameterized (e.g. port number for TCP/IP) and instantiated several times. In addition, several parser modules can be loaded. This allows the customer to build functional groups of parsers that can also be used in other devices. TSEP provides two standard parsers (Common Commands IEEE 488.2, SCPI-99 partly) for the remote system.
In order to keep the configuration of the parser commands as simple as possible, an XML structure was defined. The XML structure contains the command definition as well as the documentation. This ensures that both code and documentation are always up to date. The generation takes place via an independent tool. A Microsoft Word template serves as a template for document creation. This can be adapted by the customer to his requirements.
Overlapped commands in particular always present the device software developer with special challenges, as these commands run asynchronously. In TSEP Poseidon the complete logic for the administration of the command sequences was implemented. The device software developer does not have to worry about the synchronization of these commands, this is done completely in Poseidon. The complete handling of the status registers for these commands is also anchored in Poseidon. Thus “overlapping commands” differ only marginally from normal commands from the point of view of the device software developer.
Command parameters (Input/Output) can be freely defined within the device software. Thus the device software developer has the possibility to implement his individual parameter types including syntax and value range check. TSEP provides Poseidon with a number of predefined parameters such as Numeric, Decimal, String, Binary, Date, etc.
Special attention was also paid to the runtime behavior of the command processing. The *IDN? Query on a reference system (Intel I5, 3.0 GHz) takes place in a release version under one millisecond.