Posted Thu, 08 Feb 2024 23:03:28 GMT by Makwana, Jenil
Is  there a way I could collect 2W measurements from channel 101 and 102 in parallel, keep channel 101 closed and then get readings again from chanel 101 and 103?

here's the code i currently have. I was thinking if i should close channel 101 and keep it closed until all the readings are done but im not sure how to implement this :


instrument_write(s, "ROUT:SCAN:COUN:SCAN {0}".format(scan_count)) # Set the number of times the scan is repeated
instrument_write(s, 'TRAC:POIN {}, "defbuffer1"'.format(buffer_size)) # Set buffer size
instrument_write(s, 'SENS:FUNC "RES", (@101:103)') # specify the channels here for the 2W function
instrument_write(s, 'RES:RANG:AUTO ON, (@101:103)') # Set Auto Range on
instrument_write(s, 'SENS:RES:NPLC 0.1, (@101:103)') #Set NLPC value (the higher the better but more time taken then)
instrument_write(s, "ROUT:SCAN:CRE (@101:103)") # specify which channels to scan
instrument_write(s,"TRAC:CLE") #clear the buffer
instrument_write(s, "INIT") # Initiate the scan


start_index = 1
end_index = channel_count
accumulated_readings = 0
columns1= ['TimeStamp']+ ['Channel_{}'.format(i) for i in range(1,channel_count)]
df= pd.DataFrame(columns=columns1)
data_dict= defaultdict(list)
while accumulated_readings < buffer_size:
time.sleep(0.5)
readings_count = int(instrument_query(s, "TRACe:ACTual?", 16).rstrip())
if readings_count >= end_index:
tempbuf=instrument_query(s, "TRACe:DATA? {0}, {1}, \"defbuffer1\", READ".format(start_index, end_index), 128)
now= datetime.datetime.now()
now2 = now.strftime('%Y-%m-%d %H:%M:%S.%f')
final_data= tempbuf.strip().split(',')
data_dict['TimeStamp']= now2[:-4]
for i, value in enumerate(final_data,1):
data_dict[f"Channel_{i}"] = value
df_dictionary= pd.DataFrame([data_dict])
df= pd.concat([df, df_dictionary],ignore_index=True)

start_index += channel_count
end_index += channel_count
accumulated_readings += channel_count
# Close the socket connection
instrument_disconnect(s)
t2 = time.time()
Posted Thu, 17 Oct 2024 11:05:15 GMT by C, Andrea
When using the scan related commands, only one channel relay will be closed at a time.
If two or more channels are closed, the measured value will the combined ohms.

If the multiple closed channels is really what you need, you can close channels and separately command the dmm to measure.  You will need to also manage the backplane relays to connect the dmm to the switch hi and lo.

You must be signed in to post in this forum.