Closing the loop on this one.
Suggest updating firmware to latest (1.7.12b) ; you are at 1.7.7b.
Even so, when using the integrating A/D, we are able to duplicate the issue with DMM7510 but not with DMM6500.
A bug has been logged for DMM7510 behavior.
Workarounds if using DMM7510:
First: your trigger model operation is essentially sampling until told to stop; You could get to essentially same outcome by making use of abort() command to stop an infinite count acquisition into a recycled finite sized buffer.
Second: your trigger model operation will work and *TRG can be detected/used to stop it if the digitizing A/D is used instead of the integrating A/D.
Here is a code sample:
my_instr.write("reset()")
my_instr.write("errorqueue.clear()")
#comment out the use of integrating A/D
#my_instr.write("dmm.measure.func = dmm.FUNC_DC_VOLTAGE")
#my_instr.write("dmm.measure.range = 0.1")
#use the digitizing A/D
my_instr.write("dmm.digitize.func = dmm.FUNC_DIGITIZE_VOLTAGE")
my_instr.write("dmm.digitize.range = 0.1")
my_instr.write("dmm.digitize.samplerate = 10e3")
my_instr.write("dmm.digitize.aperture = dmm.APERTURE_AUTO")
my_instr.write("measure_buffer = buffer.make(12)")
my_instr.write("measure_buffer.fillmode = buffer.FILL_CONTINUOUS")
my_instr.write("trigger.model.setblock(1, trigger.BLOCK_BUFFER_CLEAR, measure_buffer)")
my_instr.write("trigger.model.setblock(2, trigger.BLOCK_MEASURE_DIGITIZE, measure_buffer, trigger.COUNT_INFINITE)")
my_instr.write("trigger.model.setblock(3, trigger.BLOCK_WAIT, trigger.EVENT_COMMAND, \
trigger.CLEAR_ENTER, \
trigger.WAIT_OR, \
trigger.EVENT_DISPLAY)")
my_instr.write("trigger.model.setblock(4, trigger.BLOCK_MEASURE_DIGITIZE, measure_buffer, trigger.COUNT_STOP)")