Integrating Imhotep with existing Software and Hardware at NMGRL
Jake Ross
Bremen, Germany 3/29/11
New Mexico Geochronology Research Laboratory
New Mexico Tech
QuickTime™ and a decompressor
are needed to see this picture.
Components
Prep System
Mass Spectrometer
Database
Data ProcessingSoftware
DAQSoftware
Prep SystemSoftware
Mass Spec.Software
Model 1
Prep System
Mass Spectrometer
Database
Data ProcessingRoutines
DAQRoutines
Prep SystemRoutines
Mass Spec.Routines
Al Deino’s Mass Spec
Software
Computer
Model 1
Prep System
Mass Spectrometer
Database
Data ProcessingRoutines
DAQRoutines
Prep SystemRoutines
Mass Spec.Routines
Imhotep
CSV
Software
Computer
Model 2
Prep System
Mass Spectrometer
DAQRoutines
Prep SystemRoutines
Mass Spec.Routines
Imhotep
CSV
Databaseor
filesystemData Processing
Routines
Software
Computer
Model 3
Prep System
Mass SpectrometerData Processing
Routines
DAQRoutines
Prep SystemRoutines
Mass Spec.Routines
Hardware specificDAQ Routines
Manager
Worker
Worker
Manager
Mass Spec Imhotep
Pychron
MySQL
Database
Software
Computer
MySQL
Model 3
Prep System
Mass Spectrometer
Database
Data ProcessingRoutines
DAQRoutines
Prep SystemRoutines
Mass Spec.Routines
Hardware specificDAQ Routines
Manager
Worker
Worker
Mass Spec Imhotep
Pychron
Software
Computer
Pychron-Imhotep Interface
• Pychron• RemoteHardware
Server
• Hardware Panel– Switch Panel Item
• DIO– Associated C# script
Pychron
• Python (EPD)• Enthought Tool Suite
• Rapid prototyping Framework• Flexible, extensible and configurable• Hardware Control
– USB, RS232/485, LAN (TCP or UDP)
• Full featured Photon Machines interface
Photon Machines Fusions
RemoteHardwareServer
• TCP/UDP server– Python Standard Library (SocketServer)
• Minimal GUI
Hardware Panel
Hardware Panel
Switch DIO HardwareScript
HardwareScript
Valve Protocol
1. Hardware Panel Switch• SetParameter()
2. Imhotep hardware script• Open [Valve Name]
3. RemoteHardwareServer• Repeat command to Pychron
4. Pychron• Parse command and act• OPEN A ==> Rout:301 OPEN
5. Aglient or arduino valve actuator• Actuate valve• Return status
Imhotep
RHS
Pychron
Device
TCP
IPC
USBRS-485RS-232
Mac Mini
LAN
ImhotepValve A Valve B
RemoteHardwareServer
Pychron
TCPServer
Hardware
Agilent/Arduino GP act.
Prep System
Dell
Mac Pro
Mass Spectrometer
HardwareElectronics
IPC
Mass Spec
CO2 UV Diode
Mac Mini
LAN
ImhotepValve A Valve B
RemoteHardwareServer
Pychron
TCPServer
Hardware
Agilent/Arduino GP act.
Prep System
Dell
Mac Pro
Mass Spectrometer
HardwareElectronics
IPC
Mass Spec
CO2 UV Diode
Unix Socket, TCP and RS232
N trials = 500 Min = 18.8 ms Mean = 21.45 ms std =3.41 Max = 39.68 ms19200 baud
Time (ms)
freq
uenc
y
Jake RossNew Mexico Tech / NMGRL
http://code.google.com/p/arlab/
API (out of date)http://nmt.edu/~jirhiker/
[email protected] or [email protected]
QuickTime™ and a decompressor
are needed to see this picture.
MDD Plugin
Mac Mini
LAN
ImhotepValve A Valve B
RemoteHardwareServer
Pychron
TCPServer
Hardware
Agilent/Arduino GP act.
Prep System
Dell
Mac Pro
Mass Spectrometer
HardwareElectronics
IPC
Mass Spec
CO2 UV Diode
N trials = 1000 Min = 2.54 ms Mean = 2.97 ms std =0.597 Max = 14.35 ms
Time (ms)
freq
uenc
y
RHS Pychron
Unix Socket
Mac Mini
LAN
ImhotepValve A Valve B
RemoteHardwareServer
Pychron
TCPServer
Hardware
Agilent/Arduino GP act.
Prep System
Dell
Mac Pro
Mass Spectrometer
HardwareElectronics
IPC
Mass Spec
CO2 UV Diode
N trials = 500 Min = 2.14 ms Mean = 3.80 ms std =2.18 Max = 24.70 ms
Time (ms)
freq
uenc
y
RHS PychronClient
TCP
Unix Socket and TCP
LAN
UNIX
Unix and TCP no logging
N trials = 1000 Min = 1.96 ms Mean = 2.69 ms std = 0.48 Max = 5.46 ms
Time (ms)
freq
uenc
y
N trials = 1000 Min = 0.11 ms Mean = 0.37 ms std = 0.67 Max = 10.13 ms
Shared Memory IPC
Time (ms)
freq
uenc
y
N trials = 1000 Min = 3.77 ms Mean = 6.27 ms std =3.15 Max = 35.96 ms
Time (ms)
freq
uenc
y
RHS PychronClient
localhost
Unix Socket and TCP