Our lab has started using Keithley 2450s but they behave quite differently from 2400s. We use them to output a voltage with a finite step size when changing their output because we need to slowly ramp the output voltage for the safety of our devices.
When changing the output voltage of a 2400, our ramp function would prevent any further execution of code until the ramp is finished. This is the desired behavior because we usually need to let the system get to the final voltage and settle before continuing with anything else. Basically we are breaking up any larger step into smaller steps but each step isn't seen as completed for any further execution of code until the 2400 has set the voltage and updated the current reading
":SOUR:VOLT:LEV deltaV"
Keithley 2450s however don't do this. They just take in any number of set commands which go into the instruments buffer to be executed, but the code keeps trudging along (so you would immediately blast through a loop of however many step commands because they just go into the queue without waiting for completion). I can force the desired behavior by forcing a read command on the instrument, so at worst, I can set this up.
I am not really sure what is happening at the lower levels given that the commands sent are exactly the same (and the 2450 behaves exactly the same way even when using the 2400 command set!). But my best guess is that the 2400s were blocking further execution of code because they forced an update on the SENSE parameter (current in our case) with their set output level command at the end of the set command. This is clearly not the case on the 2450 as the screen doesn't get updated without a read command (except for the little number showing the output level)
Any help would be greatly appreciated!