SMU1._write_to_instrument(":SOUR:volt:LEV 0") SMU1._write_to_instrument(f":SENS:VOLT:PROT {heater_max_voltage}") SMU1._write_to_instrument(':form:elem CURR') SMU1._write_to_instrument("TRIG:CLE") # Clear any pending input triggers SMU1._write_to_instrument("arm:coun 100") # Perform # points in test SMU1._write_to_instrument("arm:sour tlin") # Wait for trigger from 2400 #3 SMU1._write_to_instrument("arm:dir sour") # Skip 1st trigger event SMU1._write_to_instrument("arm:outp none") # No output triggers from scan SMU1._write_to_instrument("arm:ilin 3") # Define arm layer input line SMU1._write_to_instrument("trig:coun 1") # Perform one point of test SMU1._write_to_instrument("trig:sour tlin") # Trigger using Trigger Link SMU1._write_to_instrument("trig:dir sour") # Skip first trigger SMU1._write_to_instrument("trig:outp sour") # Output trigger after source "on" SMU1._write_to_instrument("trig:inp sour") #?? Wait for trigger before source SMU1._write_to_instrument("trig:ilin 1") # Input trigger line SMU1._write_to_instrument("trig:olin 2") # Output trigger line SMU1._write_to_instrument("trig:del 0") # Set trigger delay before source SMU1._write_to_instrument('sour:volt:star 0.0') # Start point for sweep SMU1._write_to_instrument(f'sour:volt:stop {heater_max_voltage}') # Stop point for sweep SMU1._write_to_instrument(f'sour:volt:step {heater_max_voltage/100}') # Define sweep step size SMU1._write_to_instrument(f'sour:volt:rang {heater_max_voltage}') SMU1._write_to_instrument('sour:del 0.001') # Set source delay before measure SMU1._write_to_instrument('sour:volt:mode swe') SMU2._write_to_instrument(":SOUR:VOLT:LEV -2") SMU2._write_to_instrument(":SENS:CURR:PROT 10e-3") SMU2._write_to_instrument(':form:elem CURR') SMU2._write_to_instrument("TRIG:CLE") # Clear any pending input triggers SMU2._write_to_instrument("arm:coun 1") # Perform only one scan SMU2._write_to_instrument("arm:sour imm") # Immediately start scan SMU2._write_to_instrument("arm:dir acc") # Wait for trigger event (IMM) SMU2._write_to_instrument("arm:outp none") # No output triggers from scan SMU2._write_to_instrument("trig:coun 100") # Perform # points in test SMU2._write_to_instrument("trig:sour tlin") # Trigger using Trigger Link SMU2._write_to_instrument("trig:dir acc") # Wait for first trigger SMU2._write_to_instrument("trig:inp sour") # Wait for trigger before source "on" SMU2._write_to_instrument("trig:outp none") # Output trigger after measure SMU2._write_to_instrument("trig:ilin 2") # Input trigger line SMU2._write_to_instrument("trig:del 0") # Set trigger delay before source SMU3._write_to_instrument(":SOUR:VOLT:LEV -2.5") SMU3._write_to_instrument(":SENS:CURR:PROT 10e-3") SMU3._write_to_instrument(':form:elem CURR') SMU3._write_to_instrument("TRIG:CLE") # Clear any pending input triggers SMU3._write_to_instrument("arm:coun 1") # Perform only one scan SMU3._write_to_instrument("arm:sour imm") # Immediately start scan SMU3._write_to_instrument("arm:dir acc") # Wait for trigger event (IMM) SMU3._write_to_instrument("arm:outp none") # No output triggers from scan SMU3._write_to_instrument("trig:coun 100") # Perform # points in test SMU3._write_to_instrument("trig:sour tlin") # Trigger using Trigger Link SMU3._write_to_instrument("trig:dir acc") # Wait for first trigger SMU3._write_to_instrument("trig:inp sour") # Wait for trigger before source "on" SMU3._write_to_instrument("trig:outp sens") # Output trigger after measure SMU3._write_to_instrument("trig:ilin 2") # Input trigger line SMU3._write_to_instrument("trig:olin 1") # Output trigger line SMU3._write_to_instrument("trig:del 0") # Set trigger delay before source SMU4._write_to_instrument(":SOUR:VOLT:LEV -2.5") SMU4._write_to_instrument(":SENS:CURR:PROT 10e-3") SMU4._write_to_instrument(':form:elem CURR') SMU4._write_to_instrument("TRIG:CLE") # Clear any pending input triggers SMU4._write_to_instrument("arm:coun 1") # Perform only one scan SMU4._write_to_instrument("arm:sour imm") # Immediately start scan SMU4._write_to_instrument("arm:dir acc") # Wait for trigger event (IMM) SMU4._write_to_instrument("arm:outp none") # No output triggers from scan SMU4._write_to_instrument("trig:coun 100") # Perform # points in sweep SMU4._write_to_instrument("trig:sour tlin") # Trigger using Trigger Link SMU4._write_to_instrument("trig:dir acc") # Wait for first trigger SMU4._write_to_instrument("trig:inp sour") # Wait for trigger before source "on" SMU4._write_to_instrument("trig:outp sens") # Output trigger after measure SMU4._write_to_instrument("trig:ilin 2") # Input trigger line SMU4._write_to_instrument("trig:olin 3") # Output trigger line SMU4._write_to_instrument("trig:del 0.01") # Set trigger delay before source time.sleep(0.1) SMU3._write_to_instrument("INIT") SMU4._write_to_instrument("INIT") SMU2._write_to_instrument("INIT") SMU1._write_to_instrument("INIT") time.sleep(8) I1 = SMU3._query_instrument("FETCh?") I2 = SMU4._query_instrument("FETCh?") I3 = SMU2._query_instrument("FETCH?") SMU1._write_to_instrument("TRIG:CLE") SMU1._write_to_instrument(':form:elem VOLT, CURR, RES') SMU1._write_to_instrument('sour:volt:mode fix') SMU1._write_to_instrument("TRIG:SOUR IMM") SMU1._write_to_instrument("TRIG:COUN 1") SMU3._write_to_instrument("TRIG:CLE") SMU3._write_to_instrument(':form:elem VOLT, CURR, RES') SMU3._write_to_instrument("TRIG:SOUR IMM") SMU3._write_to_instrument("TRIG:COUN 1") SMU2._write_to_instrument("TRIG:CLE") SMU2._write_to_instrument(':form:elem VOLT, CURR, RES') SMU2._write_to_instrument("TRIG:SOUR IMM") SMU2._write_to_instrument("TRIG:COUN 1") SMU4._write_to_instrument("TRIG:CLE") SMU4._write_to_instrument(':form:elem VOLT, CURR, RES') SMU4._write_to_instrument("TRIG:SOUR IMM") SMU4._write_to_instrument("TRIG:COUN 1")