• Thermocouple Type K | Keithley 2701 Scan Configuration

    Hi everyone, 

    thanks in advance for your support. 
    I am communicating with a Keithley 2701 with a 7700 expansion module via Python code and RS232 interface. 

    The goal is to sample 8 channels of the board in polling, on which 8 thermocouples are installed. 

    I am attaching the code I arrived at, everything seems to work correctly, but the speed is very slow, especially considering the 8 channels to be switched.

    How can I increase the sampling rate? I would like to optimize this script so as to maximize the number of points on each channel.
    Would you know how to help me?

    Thank you, 

    Matteo


    Python Code:

    import pyvisa
    import time
    import csv

    rm = pyvisa.ResourceManager()
    print(rm.list_resources())
    instrument = rm.open_resource('ASRL39::INSTR', read_termination='\r\n', write_termination='\r\n')
    instrument.timeout = 5000  
    instrument.baud_rate = 9600
    instrument.data_bits = 8
    instrument.parity = pyvisa.constants.Parity.none
    instrument.stop_bits = pyvisa.constants.StopBits.one
    instrument.flow_control = pyvisa.constants.VI_ASRL_FLOW_NONE
    instrument.write('*IDN?') 
    instrument.write('TRAC:CLE')  
    instrument.write('*RST') 
    instrument.write('SYST:REM') 


    instrument.write("SENS:FUNC 'TEMP', (@110:117)")   
    instrument.write("SENS:TEMP:TC:TYPE K, (@110:117)") 
    instrument.write('SENS:CAV:DEL 0.5') 
    for channel in range(110, 117):  
        instrument.write(f'SENS:TEMP:DIG 5, (@{channel})')
    instrument.write('ROUT:SCAN (@110:117)')  
    instrument.write('ROUT:SCAN:LSEL INT')  
    instrument.write('SAMP:COUN 1')  
    instrument.write('TRIG:COUN 1')  
    instrument.write('TRIG:DEL:AUTO OFF') 
    instrument.write('INIT:CONT ON')   

    try:
        while True:
            data = instrument.query('FETC?')   
            print(f'Dati acquisiti: {data}')

    except KeyboardInterrupt:
        instrument.write(':ABOR')
        instrument.close()