Project idea : SCPI control with Arduino?

Howdy folks!

At my work we've come across the need of a remote controllable RF-switch for automated calibration purposes.
We've got the mechanical switch itself, and it's almost too easy to control which in-/outputs are active, that's not the problem.

The problem (or challenge) is, that allmost all our automation operates on the GPIB-bus, so for this to work it's got to have an GPIB-interface - alternatively some kind of LXI-based (VXI-11 protocol) interface, since we on the long term will be moving towards the LXI-interface platform also.
Most of the equipment used is using the SCPI language for communication, so allthough it's not a must it would be a most welcome feature being able to interprete this language - at least for a dozen of simple commands to change the status of the switch.

Now then - I'm thinking of using an Arduino w/Ethernet Shield for this purpose and integrating the whole interface circuitry in that... but how??

I have some basic programming experience and I have an education in electronics, though it's some what rusty by now since I don't use it in my dayjob.

Any feedback will be appreciated.

The reference to Ethernet may be due to my lack of knowledge regarding the VXI-11 protocol.
My motiv for referring to Ethernet is that I've just worked with an instrument crontrolled by LXI. The fact that it's connected to the LAN and has implemented a small webserver as well as a DHCP-client made me think that there must be some kind of relationship between Ethernet and the VXI-11 protocol used by this LXI-controlled instrument, and therefore might be one way to approach the project.

But other suggestions are more than welcome. :slight_smile:

Hello Hans_T,

Have the same idea recently, but to make the job more easy; you don't really need to know a lot of VXI-11 protocol. SCPI on itself is quite simple protocol. But more important you should look at scpi_raw. That means you can send raw (ascii) scpi commands just over a TCP socket communication on port 5025 (most cases). I tested it with several lxi compatible devices already and it works good.

See also : About the LXI Consortium - Sponsored and Developed by Leading Test & Measurement Companies

Using scpi_raw would be for arduino quite easy to handle also.

I was thinking more of using it as a bridge between old scpi serial devices to make them LAN and Lxi compatible. Most old GPIB devices also have a serial port that also can just handle raw scpi.

The way to send commands over the socket is simple, for example : "*IDN?" + "\n"
Receiving results should be the same (keep receiving until you see a 'return' or a 'linefeed' character, except for binary data that is little more tricky. But not that much devices really use that.

Greedz,
Peter

Hi,

one year ago I have found an Arduino project called oic (open instrument controller):

I have use it with success in a multitask environment (FreeRTOS), a couple of processes use a serial connection and a ethernet connection.

BR
Dario