Bluefors Temperature Controller
The Bluefors Temperature Controller agent monitors and controls the Bluefors Temperature Controller device for temperature readout and DR control in newer Bluefors dilution refrigerators. The monitoring is done via HTTP via the requests package.
usage: python3 agent.py [-h] [--ip-address IP_ADDRESS]
[--serial-number SERIAL_NUMBER]
[--mode {idle,init,acq}]
Agent Options
- --ip-address
- --serial-number
- --mode
Possible choices: idle, init, acq
Starting action for the Agent.
Default: “acq”
Dependencies
Todo
Any dependencies or special set up?
Configuration File Examples
Below are configuration examples for the ocs config file and for running the Agent in a docker container.
OCS Site Config
Todo
Add example config file entry
Docker Compose
Todo
Add example docker compose file entry
Direct Communication with Driver Code
Todo
Describe how to use driver code to communicate directly over serial
Agent API
- class pcs.agents.bluefors_tc.agent.Bluefors_TC_Agent(agent, name, ip)[source]
Agent to connect to a single Bluefors Temperature Controller device.
- init_bftc(auto_acquire=False, acq_params=None)[source]
Task - Perform first time setup of the communication to the BFTC.
- Parameters:
auto_acquire (bool, optional) – Default is False. Starts data acquisition after initialization if True.
acq_params (dict, optional) – Params to pass to acq process if auto_acquire is True.
- acq()[source]
- Process - Acquire data from the BF TC. Set to check for new data at
2 Hz - this needs to be adjusted if wait_time+meas_time in the BF TC is shorter than a second (it is much longer than 1 sec by default).
Notes
The most recent data collected is stored in session data in the structure:
>>> response.session['data'] {"fields": {"Channel_05": {"T": 293.644, "R": 33.752, "timestamp": 1601924482.722671}, "Channel_06": {"T": 0, "R": 1022.44, "timestamp": 1601924499.5258765}, "Channel_08": {"T": 0, "R": 1026.98, "timestamp": 1601924494.8172355}, "Channel_01": {"T": 293.41, "R": 108.093, "timestamp": 1601924450.9315426}, "Channel_02": {"T": 293.701, "R": 30.7398, "timestamp": 1601924466.6130798}, } }
Todo
Can also add driver API eventually