Controlling a Tricontinent pump with Python

Hello everyone! We’re in the process of developing a tool that integrates several syringe pumps we’ve acquired from Tricontinent (Syringe Pumps | C-Series Syringe Pumps | TriContinent). The pumps perform quite well and are compatible with a variety of organic solvents, electrolytes, and viscous fluids. However, I’ve encountered a challenge with controlling them using Python. I’ve seen this accomplished before, but I’m uncertain about how to implement it myself. Please let me know if you have ideas about how one might do this!

1 Like

The usual process is:

  1. First define and standardize the syntax of communication protocols, command structures, control parameters, etc. for each pump (check the manufacturer’s documentations).
  2. Then develop corresponding python wrappers for each interface. Design asynchronous control if more than one.
  3. I’m guessing that maybe need to do api interfacing with prefect as well.

The python framework will need:

  1. design abstract interfaces: defined PumpInterface abstract base class, to ensure that all pump implementations have basic functionality
    use dataclass PumpStatus unified management pump status information
  2. central controller: PumpController class to manage multiple pumps, providing pumps to add, remove, start, stop and other unified operation interface, including asynchronous status monitoring capabilities.

Hope useful.

1 Like

There are a couple of syringe pump packages. The tricontinent’s commands are compatible with the Tecan pumps too. Here are some links

  1. pylabware/PyLabware/devices/tricontinent_c3000.py at master · croningp/pylabware · GitHub
  2. src/matterlab_pumps · main · Matter Lab / Self-Driving Lab / Devices / Pumps · GitLab
  3. north-devices · PyPI
1 Like

I second and have had success with north devices too