Hi John,
query_binary_values()
is a standard pyvisa function:
https://pyvisa.readthedocs.io/en/latest/api/resources.html#pyvisa.resources.MessageBasedResource.query_binary_values
The encodings are explained on page 2-445 of the programmer's manual.
Indeed using RPB (positive integer) instead of SRI (swapped signed integer) would explain the issue you're seeing as one represents the waveform data as an unsigned integer and the other as a signed integer, leading to the shifting you're seeing.