This turned out reasonably easy with the MATLink package. I used this set of code:
Needs["MATLink`"]
OpenMATLAB[] // Quiet
MEvaluate["scope=serial('COM3');"];
MEvaluate["scope.Terminator='LF';"];
MEvaluate["scope.Terminator='LF';scope.InputBufferSize=10*12800;"];
MEvaluate["scope.Timeout=10;"];
MEvaluate["fopen(scope);"];
MEvaluate["fprintf(scope,'DAT:SOU CH1')"]
MEvaluate["fprintf(scope,'DAT:SOU?')"]
MEvaluate["datsource=fgets(scope);"]
MEvaluate["fprintf(scope,'WFMPRE?')"]
MEvaluate["waveformpreamble=fgets(scope);"]
MEvaluate["wvfrmpresplit=strsplit(waveformpreamble,';');"];
MEvaluate["timeintervalsizecell=wvfrmpresplit(10);"]
MEvaluate["voltageunitsizecell=wvfrmpresplit(14);"]
MEvaluate["timeintervalsizestring=timeintervalsizecell{1};"]
MEvaluate["voltageunitsizestring=voltageunitsizecell{1};"]
MEvaluate["timeintervalscinotationarray=strsplit(\
timeintervalsizestring,'E');"]
MEvaluate["voltageunitscinotationarray=strsplit(voltageunitsizestring,\
'E');"]
MEvaluate["timenumcell=timeintervalscinotationarray(1);"]
MEvaluate["timepowcell=timeintervalscinotationarray(2);"]
MEvaluate["voltnumcell=voltageunitscinotationarray(1);"]
MEvaluate["voltpowcell=voltageunitscinotationarray(2);"]
MEvaluate["timenumstring=timenumcell{1};"]
MEvaluate["timepowstring=timepowcell{1};"]
MEvaluate["voltnumstring=voltnumcell{1};"]
MEvaluate["voltpowstring=voltpowcell{1};"]
MEvaluate["timenum=str2num(timenumstring);"]
MEvaluate["timepow=str2num(timepowstring);"]
MEvaluate["voltnum=str2num(voltnumstring);"]
MEvaluate["voltpow=str2num(voltpowstring);"]
MEvaluate["timetosecondscale=timenum*10^timepow"];
MEvaluate["voltagescaler=voltnum*10^voltpow"];
timetosecondscale = MGet["timetosecondscale"];
voltagescaler = MGet["voltagescaler"];
MEvaluate["fprintf(scope,'CURVE?')"]
MEvaluate["unitlessvoltagelist=fgets(scope);"]
unitlessvoltagestring = MGet["unitlessvoltagelist"];
MEvaluate["fclose(scope)"]