270 likes | 383 Views
Integrating Imhotep with existing Software and Hardware at NMGRL. Jake Ross Bremen, Germany 3/29/11 New Mexico Geochronology Research Laboratory New Mexico Tech jirhiker@nmt.edu. Components. Prep System. Database. Prep System Software. Mass Spectrometer. Data Processing Software.
E N D
Integrating Imhotep with existing Software and Hardware at NMGRL Jake Ross Bremen, Germany 3/29/11 New Mexico Geochronology Research Laboratory New Mexico Tech jirhiker@nmt.edu
Components Prep System Database Prep System Software Mass Spectrometer Data Processing Software Mass Spec. Software DAQ Software
Computer Model 1 Software Prep System Database Prep System Routines Mass Spectrometer Data Processing Routines Mass Spec. Routines DAQ Routines Al Deino’s Mass Spec
Computer Model 1 Software Database Prep System Prep System Routines CSV Mass Spectrometer Data Processing Routines Mass Spec. Routines DAQ Routines Imhotep
Computer Model 2 Software Data Processing Routines Database or filesystem Prep System Prep System Routines CSV Mass Spectrometer Mass Spec. Routines DAQ Routines Imhotep
Computer Model 3 Software Worker Pychron MySQL Prep System Prep System Routines Database Hardware specific DAQ Routines Mass Spec Imhotep Mass Spectrometer Data Processing Routines Mass Spec. Routines DAQ Routines Worker Manager Manager
Computer Model 3 Software Worker Pychron MySQL Prep System Prep System Routines Database Hardware specific DAQ Routines Mass Spec Imhotep Mass Spectrometer Data Processing Routines Mass Spec. Routines DAQ Routines Worker Manager
Pychron RemoteHardware Server Hardware Panel Switch Panel Item DIO Associated C# script Pychron-Imhotep Interface
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
RemoteHardwareServer • TCP/UDP server • Python Standard Library (SocketServer) • Minimal GUI
Hardware Panel Switch DIO HardwareScript
Valve Protocol Imhotep • Hardware Panel Switch • SetParameter() • Imhotep hardware script • Open [Valve Name] • RemoteHardwareServer • Repeat command to Pychron • Pychron • Parse command and act • OPEN A ==> Rout:301 OPEN • Aglient or arduino valve actuator • Actuate valve • Return status TCP RHS IPC Pychron USB RS-485 RS-232 Device
Mac Mini Mac Pro Mass Spec Pychron IPC RemoteHardwareServer Prep System Agilent/Arduino GP act. LAN CO2 UV Diode Dell Imhotep Valve A Valve B Mass Spectrometer Hardware Hardware Electronics TCPServer
Mac Mini Mac Pro Mass Spec Pychron IPC RemoteHardwareServer Prep System Agilent/Arduino GP act. LAN CO2 UV Diode Dell Imhotep Valve A Valve B Mass Spectrometer Hardware Hardware Electronics TCPServer
Unix Socket, TCP and RS232 N trials = 500 Min = 18.8 ms Mean = 21.45 ms std =3.41 Max = 39.68 ms 19200 baud frequency Time (ms)
Jake Ross New Mexico Tech / NMGRL http://code.google.com/p/arlab/ API (out of date) http://nmt.edu/~jirhiker/ jirhiker@gmail.com or jirhiker@nmt.edu
Mac Mini Mac Pro Mass Spec Pychron IPC RemoteHardwareServer Prep System Agilent/Arduino GP act. LAN CO2 UV Diode Dell Imhotep Valve A Valve B Mass Spectrometer Hardware Hardware Electronics TCPServer
Unix Socket N trials = 1000 Min = 2.54 ms Mean = 2.97 ms std =0.597 Max = 14.35 ms frequency RHS Pychron Time (ms)
Mac Mini Mac Pro Mass Spec Pychron IPC RemoteHardwareServer Prep System Agilent/Arduino GP act. LAN CO2 UV Diode Dell Imhotep Valve A Valve B Mass Spectrometer Hardware Hardware Electronics TCPServer
Unix Socket and TCP N trials = 500 Min = 2.14 ms Mean = 3.80 ms std =2.18 Max = 24.70 ms frequency Client RHS Pychron TCP UNIX LAN Time (ms)
Unix and TCP no logging N trials = 1000 Min = 1.96 ms Mean = 2.69 ms std = 0.48 Max = 5.46 ms frequency Time (ms)
Shared Memory IPC N trials = 1000 Min = 0.11 ms Mean = 0.37 ms std = 0.67 Max = 10.13 ms frequency Time (ms)
Unix Socket and TCP N trials = 1000 Min = 3.77 ms Mean = 6.27 ms std =3.15 Max = 35.96 ms frequency Client RHS Pychron localhost Time (ms)