Difference: ControlPowerSupply (1 vs. 11)

Revision 112016-11-15 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 112 to 112
 
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1478644238" name="Console.py.txt" path="Console.py.txt" size="11448" user="TomErikHaugen" version="4"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1478644260" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8854" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="RootCommands.py.txt" attr="" comment="" date="1478644280" name="RootCommands.py.txt" path="RootCommands.py.txt" size="11837" user="TomErikHaugen" version="2"
>
>
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1479171287" name="Console.py.txt" path="Console.py.txt" size="11633" user="TomErikHaugen" version="5"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1479171319" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="9432" user="TomErikHaugen" version="4"
META FILEATTACHMENT attachment="RootCommands.py.txt" attr="" comment="" date="1479171303" name="RootCommands.py.txt" path="RootCommands.py.txt" size="15451" user="TomErikHaugen" version="3"

Revision 102016-11-08 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 30 to 30
  RootCommands.py
Changed:
<
<
This is a small set of Root macros (written in python). Currently it only features functions that read the raw data files and converts the .dat files into .root files (with a TTree). Each of these files takes 2 inputs, the name of the .dat file, and what to name the new .root file.
>
>
This is a small set of Root macros (written in python). Currently it only features functions that read the raw data files and converts the .dat files into .root files (with a TTree). Most of these take 2 arguments, an input file, and an output file.

The new more complicated function takes an input arduino file, and output .root file, and a directory of data files from the DAQ system. It matches files from the directory to data from the arduino using the timestamp then fills a standard ttree with the arduino and daqload data. This process has one major flaw, the process loops over the data of the daq files but can only read the last modification data. If any 3PG files are changed later then the date they were modified will replace the data when the data was taken. It also currently requires the DAQ files to all be their own directory as the file matching only runs on hour and minute not on day or month of data taking.

  Console.py
Line: 110 to 112
 
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1478198479" name="Console.py.txt" path="Console.py.txt" size="10634" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1478198508" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8854" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="RootCommands.py.txt" attr="" comment="" date="1478198528" name="RootCommands.py.txt" path="RootCommands.py.txt" size="2994" user="TomErikHaugen" version="1"
>
>
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1478644238" name="Console.py.txt" path="Console.py.txt" size="11448" user="TomErikHaugen" version="4"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1478644260" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8854" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="RootCommands.py.txt" attr="" comment="" date="1478644280" name="RootCommands.py.txt" path="RootCommands.py.txt" size="11837" user="TomErikHaugen" version="2"

Revision 92016-11-03 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 22 to 22
 While remote control through the GPIB connector is on, none of the buttons on either of the power supplies will be useable. Local control can be regained on either supply by pressing the "local" button

Code for Control

Changed:
<
<
There is a large collection of scripts written for serial communication with the power supplies and the Arduino. These have all been written together in the python module SerialCommands.py.txt. There is another module of root scripts for quick data analysis that is still being implemented RootCommands.py. Lastly to make the interface with these sets of scripts much easier a third script has been written, Console.py.txt. This is the program that should be run and should be able to do all of the interfacing with the power supplies and Arduino that is necessary.
>
>
There is a large collection of scripts written for serial communication with the power supplies and the Arduino. These have all been written together in the python module SerialCommands.py.txt. There is another module of root scripts for quick data analysis that is still being implemented RootCommands.py.txt. Lastly to make the interface with these sets of scripts much easier a third script has been written, Console.py.txt. This is the program that should be run and should be able to do all of the interfacing with the power supplies and Arduino that is necessary.
  SerialCommands.py
Line: 34 to 34
  Console.py
Changed:
<
<
This is the more complicated function. It establishes the serial port for communication between the computer and the power supplies. It then queries the user for an input. To get help in Console.py enter help, to get help with a certain command enter [name of command] -h. Arguments for commands are entered with flags, each flag is separated with a space then the corresponding value is after that flag with another space, for example
>
>
This is the more complicated function. It establishes the serial port for communication between the computer and the power supplies. It then queries the user for an input. It is mostly an if,else chain to interpret the input and run the necessary function. It also has protections in place (such as not letting the user drastically alter the HV without ramping it from one value to another in steps), and assigns default values to arguments.

Alternative Method

If you prefer to avoid the Console.py interface then you can do this:

  1. run python
  2. import serial
  3. import SerialCommands as ser
  4. open the serial port (s = ser.Open_Serial('/dev/ttyUSB0', 115200))
  5. run whatever command you want, for example to power on enter ser.Power_On(s,1.5,4.2). Almost all of the commands take the serial port as an argument

Using Consoly.py

To open the interface enter through the command terminal python Console.py_. This sort of mimics a command prompt, including tab completion. Any functions can be stopped by a keyboard interrupt (Ctrl + C) this will stop whatever it is doing and return you to the prompt. Every function is interruptible without causing any problems (except start_atlys it should be fine but I have not tested that)

To get help in Console.py enter help, this will list all of the possible commands. To get help with a certain command enter [name of command] -h. Arguments for commands are entered with flags, each flag is separated with a space then the corresponding value is after that flag with another space, for example

  read_arduino -f Arduino_Data.dat_ would read the Arduino data then save it to the file Arduino_Data.dat
Line: 44 to 58
  This would read the serial port for the Arduino and save the data to a default filename that is generated using the date.
Changed:
<
<
If you prefer to avoid the Console.py interface then you can do this:
  1. run python
  2. import SerialCommands as ser
  3. open the serial port (s = ser.Open_Serial('/dev/ttyUSB0', 115200))
  4. run whatever command you want, for example to power on enter ser.Power_On(s,1.5,4.2). Almost all of the commands take the serial port as an argument
>
>
Example Commands

All of the necessary communication between the power supplies, and Arduino board can be done through this script. The most important commands are listed below:

start_atlys This performs the same function as running source setup.sh from the Desktop directory (meaning it sets up the atlys board)

power_on sets the voltage to 1.5 and 4.2 volts on the +5 and +25 Volt lines respectively. It also turns on the output for the Keithley and keysight power supplies

ramp_hv -v {HV} [-s] {Voltage Step} [-t] {Delay between steips} [-I] {Compliance Current} This ramps the voltage from whatever it currently is to the value HV. It does not accept positive values and will assign default values to any non-included arguments (only the -v flag is required)

iv_scan same as ramp_hv but saves the current and voltage at each step to a file ([-f] {filename} will save it to that filename) if no filename is given it saves it to a generated .dat file, then turns that into a root TTree in a TFile

read_arduino [-f] {filename} reads the arduino serial port and saves the readings to the filename given

monitor [-f] {filename} reads the arduino and power supplies and saves to the filename given. It waits for the Arduino output (which is periodic with a time period hard coded into arduino) then queries the power supplies.

power_off Lowers the voltage to 0 and turns all outputs off. If the Keithley HV supply is high (higher than 10V) then it will call the Ramp_HV function to lower it in steps.

There are other functions that it can run as well but those are listed under the help command and are relatively simple/less commonly used

Changing Console.py

It should be relatively easy to add new functionality to the python script. Below is an example that should include most of the necessary information:

Let's say that you have a new function named New_Func( voltage, filename ) in a module NewCommands.py where voltage is a necessary input and filename can be given a default value.

To add this to the interface you would need to edit Console.py this way:

  1. at the beginning of the script add import NewCommands
  2. in the array commands add a new string that is the name new_func
  3. in the array help_messages add a string describing how to use New_Func (this string needs to start with " new_func\n" as that is how the script matches up the command and the help message
  4. In the function process_command(ser, line)
    1. add to the if else chain elif entry[0] == "new_func":
    2. voltage = get_key_value(entry, 'v') This will find whenever the flag -v was given in the command and take the substring after it. This is using the -v flag because it is a voltage (the flag needs to be a single char and choose one that is easy to remember for the context)
    3. filename = get_key_value(entry, 'f') This assigns filename the name of whatever followed the -f flage. Since the filename is not a required input there needs to be a way to assign this variable a default value.
    4. the function get_key_value returns the string "NONE" if it was unable to find the string, so if the command new_func -v -20 was given then the script will give the filename as "NONE". Add an if statement to catch this value, if filename == "NONE":
    5. then write code to assign a default value to filename
    6. then run NewCommands.New_Func(voltage, filename)
    7. return
Note that if the new functions involves communicating through a serial port, the port either needs to be passed as an argument (sort of cumbersome), or be reinitialized in that function (incredibly repetitive/inefficient).
 -- Tom-Erik Haugen - 2016-10-21

Comments

Line: 61 to 110
 
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1477695264" name="Console.py.txt" path="Console.py.txt" size="9244" user="TomErikHaugen" version="2"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1477695282" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8637" user="TomErikHaugen" version="2"
>
>
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1478198479" name="Console.py.txt" path="Console.py.txt" size="10634" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1478198508" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8854" user="TomErikHaugen" version="3"
META FILEATTACHMENT attachment="RootCommands.py.txt" attr="" comment="" date="1478198528" name="RootCommands.py.txt" path="RootCommands.py.txt" size="2994" user="TomErikHaugen" version="1"

Revision 82016-11-02 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 22 to 22
 While remote control through the GPIB connector is on, none of the buttons on either of the power supplies will be useable. Local control can be regained on either supply by pressing the "local" button

Code for Control

Changed:
<
<
A whole bunch of code is written for interfacing with the power supplies. These have all been written in python and combined into one library called SerialCommands.py this is also currently in the directory ~/Desktop/Haugen/New_Scripts. This library is sort of a collection of raw code and it has a lot of different procedures that can be run. To actually run any of these scripts it is best to run Console.py which takes input from the user, interprets them and then runs the relevant script. It offers tab completion and help with the different commands (tells you what commands it accepts and the arguments that those commands take).
>
>
There is a large collection of scripts written for serial communication with the power supplies and the Arduino. These have all been written together in the python module SerialCommands.py.txt. There is another module of root scripts for quick data analysis that is still being implemented RootCommands.py. Lastly to make the interface with these sets of scripts much easier a third script has been written, Console.py.txt. This is the program that should be run and should be able to do all of the interfacing with the power supplies and Arduino that is necessary.
 
Changed:
<
<
To get help in Console.py enter help, to get help with a certain command enter [name of command] -h. Arguments for commands are entered with flags, each flag is seperated with a space then the corresponding value is after that flag with another space, for example
>
>
SerialCommands.py
 
Changed:
<
<
read_arduino -f Arduino_Data.dat_ would read the arduino data then save it to the file Arduino_Data.dat
>
>
This is the raw code that is a combination of the scripts for the power supplies and the scripts for the Arduino. All of the communication is done through serial ports, and most of the functions defined in this module take the serial port as an argument (this is so that it does not need to be reopened with every function).
 
Changed:
<
<
Some flags/arguments are optional. These are all listed under the specific help for that command
>
>
RootCommands.py

This is a small set of Root macros (written in python). Currently it only features functions that read the raw data files and converts the .dat files into .root files (with a TTree). Each of these files takes 2 inputs, the name of the .dat file, and what to name the new .root file.

Console.py

This is the more complicated function. It establishes the serial port for communication between the computer and the power supplies. It then queries the user for an input. To get help in Console.py enter help, to get help with a certain command enter [name of command] -h. Arguments for commands are entered with flags, each flag is separated with a space then the corresponding value is after that flag with another space, for example

read_arduino -f Arduino_Data.dat_ would read the Arduino data then save it to the file Arduino_Data.dat

Some flags/arguments are optional. These are all listed under the specific help for that command (the flag will be listed in brackets). for example the previous command could also be given as:

read_arduino

This would read the serial port for the Arduino and save the data to a default filename that is generated using the date.

  If you prefer to avoid the Console.py interface then you can do this:
  1. run python

Revision 72016-10-28 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 20 to 20
 
    • set the address
    • select GPIB protocol (SCPI)
While remote control through the GPIB connector is on, none of the buttons on either of the power supplies will be useable. Local control can be regained on either supply by pressing the "local" button
Deleted:
<
<
-- Tom-Erik Haugen - 2016-10-21
 

Code for Control

A whole bunch of code is written for interfacing with the power supplies. These have all been written in python and combined into one library called SerialCommands.py this is also currently in the directory ~/Desktop/Haugen/New_Scripts. This library is sort of a collection of raw code and it has a lot of different procedures that can be run. To actually run any of these scripts it is best to run Console.py which takes input from the user, interprets them and then runs the relevant script. It offers tab completion and help with the different commands (tells you what commands it accepts and the arguments that those commands take).

Line: 36 to 33
 If you prefer to avoid the Console.py interface then you can do this:
  1. run python
  2. import SerialCommands as ser
Changed:
<
<
  1. run whatever command you want, for example to power on enter ser.Power_On()
>
>
  1. open the serial port (s = ser.Open_Serial('/dev/ttyUSB0', 115200))
  2. run whatever command you want, for example to power on enter ser.Power_On(s,1.5,4.2). Almost all of the commands take the serial port as an argument
-- Tom-Erik Haugen - 2016-10-21
 

Comments

Line: 48 to 47
 
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1477687002" name="Console.py.txt" path="Console.py.txt" size="9070" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1477687002" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="7844" user="TomErikHaugen" version="1"
>
>
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1477695264" name="Console.py.txt" path="Console.py.txt" size="9244" user="TomErikHaugen" version="2"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1477695282" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="8637" user="TomErikHaugen" version="2"

Revision 62016-10-28 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 25 to 25
 

Code for Control

Changed:
<
<
A whole bunch of code is written for interfacing with the power supplies. These have all been written in python and combined into one library called SerialCommands.py this is also currently in the directory ~/Desktop/Haugen/New_Scripts. This library is sort of a collection of raw code and it has a lot of different procedures that can be run. To actually run any of these scripts it is best to run Console.py which takes input from the user, interprets them and then runs the relevant script. This is still being written but is useful for interfacing with the power supplies and arduino, and it offers tab completion and help with the different commands (tells you what commands it accepts and the arguments that those commands take). This is still a work in progress though and is not fully implemented yet.
>
>
A whole bunch of code is written for interfacing with the power supplies. These have all been written in python and combined into one library called SerialCommands.py this is also currently in the directory ~/Desktop/Haugen/New_Scripts. This library is sort of a collection of raw code and it has a lot of different procedures that can be run. To actually run any of these scripts it is best to run Console.py which takes input from the user, interprets them and then runs the relevant script. It offers tab completion and help with the different commands (tells you what commands it accepts and the arguments that those commands take).

To get help in Console.py enter help, to get help with a certain command enter [name of command] -h. Arguments for commands are entered with flags, each flag is seperated with a space then the corresponding value is after that flag with another space, for example

read_arduino -f Arduino_Data.dat_ would read the arduino data then save it to the file Arduino_Data.dat

Some flags/arguments are optional. These are all listed under the specific help for that command

  If you prefer to avoid the Console.py interface then you can do this:
Changed:
<
<
  1. run python
  2. import SerialCommands as ser
  3. run whatever command you want, for example to power on enter ser.Power_On()
>
>
  1. run python
  2. import SerialCommands as ser
  3. run whatever command you want, for example to power on enter ser.Power_On()
 

Comments

Line: 42 to 48
 
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
Added:
>
>
META FILEATTACHMENT attachment="Console.py.txt" attr="" comment="" date="1477687002" name="Console.py.txt" path="Console.py.txt" size="9070" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCommands.py.txt" attr="" comment="" date="1477687002" name="SerialCommands.py.txt" path="SerialCommands.py.txt" size="7844" user="TomErikHaugen" version="1"

Revision 52016-10-26 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Line: 23 to 23
  -- Tom-Erik Haugen - 2016-10-21
Added:
>
>

Code for Control

A whole bunch of code is written for interfacing with the power supplies. These have all been written in python and combined into one library called SerialCommands.py this is also currently in the directory ~/Desktop/Haugen/New_Scripts. This library is sort of a collection of raw code and it has a lot of different procedures that can be run. To actually run any of these scripts it is best to run Console.py which takes input from the user, interprets them and then runs the relevant script. This is still being written but is useful for interfacing with the power supplies and arduino, and it offers tab completion and help with the different commands (tells you what commands it accepts and the arguments that those commands take). This is still a work in progress though and is not fully implemented yet.

If you prefer to avoid the Console.py interface then you can do this:

  1. run python
  2. import SerialCommands as ser
  3. run whatever command you want, for example to power on enter ser.Power_On()
 

Comments


<--/commentPlugin-->

Revision 42016-10-26 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Changed:
<
<
Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, and are controlled using scripts from Timon. This allows for control and measurement through the computer instead of by hand. When you run the attached scripts to control the power supplies the buttons on the supplies will no longer do anything. To regain control of the equipment press the local button on which ever supply you want to control.
>
>
Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, then controlled from python scripts (temporarily in ~/Desktop/Haugen/New_Scripts). These are based heavily on the scripts from timon and allow for powering on, powering off, ramping high voltage, performing an IV scan, and recording the data. There is documentation for the connector here.
 
Changed:
<
<
If any changes are made to the files they need to be recompiled in make. Running power_on power_off and start_mon require the argument of the serial port. The serial port for the GPIB connector is /dev/ttyUSB0 communication happens through that, with the Keithley power supply having the ID 10, and the keysight power supply having the ID 05.
>
>
The communication happens through a serial port name /dev/ttyUSB0
 
Changed:
<
<
-- Tom-Erik Haugen - 2016-10-21
>
>
Each device on the bus has to have a unique ID number between 0-30. I have set the Keysight supply to be ID 05, and the Keithley supply to be ID 10.

To change the ID:

  • Keysight:
    • press the I/O config button
    • Select HPIB / 488 (if the screen shows this press I/O Config again, if not scroll the adjust wheel till it does)
    • set the address
  • Keysight:
    • Press MENU
    • select COMMUNICATION
    • select GPIB
    • set the address
    • select GPIB protocol (SCPI)
While remote control through the GPIB connector is on, none of the buttons on either of the power supplies will be useable. Local control can be regained on either supply by pressing the "local" button

-- Tom-Erik Haugen - 2016-10-21

 

Comments

Changed:
<
<
<--/commentPlugin-->
>
>

<--/commentPlugin-->
 
META FILEATTACHMENT attachment="Makefile" attr="" comment="" date="1477090488" name="Makefile" path="Makefile" size="840" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="power_off.cxx" attr="" comment="" date="1477090488" name="power_off.cxx" path="power_off.cxx" size="2359" user="TomErikHaugen" version="1"

Revision 32016-10-24 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Changed:
<
<
Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, and are controlled using scripts from Timon.
>
>
Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, and are controlled using scripts from Timon. This allows for control and measurement through the computer instead of by hand. When you run the attached scripts to control the power supplies the buttons on the supplies will no longer do anything. To regain control of the equipment press the local button on which ever supply you want to control.
  If any changes are made to the files they need to be recompiled in make. Running power_on power_off and start_mon require the argument of the serial port. The serial port for the GPIB connector is /dev/ttyUSB0 communication happens through that, with the Keithley power supply having the ID 10, and the keysight power supply having the ID 05.

Revision 22016-10-24 - TomErikHaugen

Line: 1 to 1
 
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, and are controlled using scripts from Timon.

Changed:
<
<
<--This section is under construction-->
>
>
If any changes are made to the files they need to be recompiled in make. Running power_on power_off and start_mon require the argument of the serial port. The serial port for the GPIB connector is /dev/ttyUSB0 communication happens through that, with the Keithley power supply having the ID 10, and the keysight power supply having the ID 05.
  -- Tom-Erik Haugen - 2016-10-21

Revision 12016-10-21 - TomErikHaugen

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="UsingHighVoltage"

Controlling the Power Supplies Through the Computer

Both the Keithley (High Voltage source) and the Keysight (LV and LVDS power supply) can be controlled through the computer. They are connected to each other and the computer through a GPIB connector bus, and are controlled using scripts from Timon.

<--This section is under construction-->

-- Tom-Erik Haugen - 2016-10-21

Comments

<--/commentPlugin-->

META FILEATTACHMENT attachment="Makefile" attr="" comment="" date="1477090488" name="Makefile" path="Makefile" size="840" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="power_off.cxx" attr="" comment="" date="1477090488" name="power_off.cxx" path="power_off.cxx" size="2359" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="power_on.cxx" attr="" comment="" date="1477090488" name="power_on.cxx" path="power_on.cxx" size="4265" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.cpp" attr="" comment="" date="1477090488" name="SerialCom.cpp" path="SerialCom.cpp" size="1871" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="SerialCom.h" attr="" comment="" date="1477090488" name="SerialCom.h" path="SerialCom.h" size="703" user="TomErikHaugen" version="1"
META FILEATTACHMENT attachment="start_mon.cxx" attr="" comment="" date="1477090488" name="start_mon.cxx" path="start_mon.cxx" size="3780" user="TomErikHaugen" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback