Skip to content

Integrating our manipulator software with Scienta's SES software using sockets

Notifications You must be signed in to change notification settings

yuvalni/SES_Manipulator_Integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is an implementation of the "Manipulator interface" provided by Scienta for the SES program (for performing ARPES experiments).

a manipulator is a set of motors that controls the position and orientation of a sample/device.

The idea behind this dll is to pass all positioning "commands" from the SES program to the manipulator program via a socket connection.

All of the heavy lifting (logic, boundries check and so on) is done by the manipulator python program.

Our manipulator (6 independent motors) is controled by a python script which runs a GUI using the Eel library.
The messeges are handled by the manipulator program by running a thread that recives the messages from SES, and passes it to the main program thread.
Included is a mock-up python script for testing purpose (socket_ex.py).
A complete and working implementation of a class handeling the connection can be found here.

please note: I am not a professional programmer! The namings may be awkward, this might not be the most efficient or organized code - but it works (at your own risk).

Automation

This functionality allows us to use automated sequences.
Essentialy: the SES measurement program "thinks" it is in control of the motors, while the python code "intercepts" the commands and acts according to it's own logic. This procedure let's us, for example, measure microns-sized samples where a positioning correction is required whenever one of the angles is changed.

About

Integrating our manipulator software with Scienta's SES software using sockets

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published