microscope icon indicating copy to clipboard operation
microscope copied to clipboard

Add support to PI piezo stages

Open gjover opened this issue 4 years ago • 4 comments

Hi, At ALBA we are installing a CryoSIM system. For this project we need devices for different hardware. One of them is a z-stage from PI (physikinstrumente).

I have develop an stage device for the e754 controller, but can be generalized to other ones.

gjover avatar Mar 12 '21 11:03 gjover

We actually already use several PI stages. The M687 is current in cockpit and needs to be moved to microscope, but for the others we drive then via analogue voltage as we need the control to be synchronous during experiments. Any other settings we do once from the PI application and then save to NV ram.

iandobbie avatar Mar 17 '21 17:03 iandobbie

Hi, I just added support for rfc2217 protocol.

For serial controllers one could use ser2net to allow socket communication. The configuration would be: /etc/ser2net.conf 3000:telnet:600:/dev/ttyS0:19200 8DATABITS NONE 1STOPBIT

And one could construct the device as:

PIM687_CONF = dict(url='rfc2217://127.0.0.3:3000') DEVICES = [ device(pi_stage.PIm687, host, port, conf=PIM687_CONF), ]

But this setup has not been tested

gjover avatar Mar 22 '21 12:03 gjover

I don't understand what this provides that a wrapper using pyserial wouldn't. It adds another dependency and a new different way to talk to devices. Unless there is a very clear advantage I think it would be better to talk to the stage with pyserial as we do with every other stage.

iandobbie avatar Mar 30 '21 11:03 iandobbie

Issue #259 (now closed as duplicate of this one) suggests using PIPython (https://github.com/PI-PhysikInstrumente/PIPython) to do this.

carandraug avatar Jan 06 '23 01:01 carandraug