Matlab-support
Postat: 19 november 2012, 22:16:41
Ett litet bekymmer som ni säkert har en enkel lösning på.
Använder matlab för att styra o läsa från diverse mätinstrument via GPIB-interface. Problem är när programmet av någon anledning avslutas innan programmet gjort 'fclose' så hänger sig Matlab.
Har försökt använda mig av 'CloseRequestFcn' men problemet är att GPIB-variablerna ('instr') inte är tillgängliga där och därmed inte kan göra fclose() på dessa objekt.
koden ser ut typ så här och det är inte ett GUI-program utan helt 'vanlig' kod.
function aa
instr=gpib('agilent', 7, 1);
fopen(instr);
set(gcf,'CloseRequestFcn',@my_closefcn)
f=figure(1);
bla bla bla
function my_closefcn(src,evnt)
delete(gcf)
fclose(instr); %instr är ej åtkommlig här
delete(instr); %instr är ej åtkommlig här
Frågan lyder alltså kan man komma åt 'instr'-variabeln inuti funktionen 'my_closefcn'?
Använder matlab för att styra o läsa från diverse mätinstrument via GPIB-interface. Problem är när programmet av någon anledning avslutas innan programmet gjort 'fclose' så hänger sig Matlab.
Har försökt använda mig av 'CloseRequestFcn' men problemet är att GPIB-variablerna ('instr') inte är tillgängliga där och därmed inte kan göra fclose() på dessa objekt.
koden ser ut typ så här och det är inte ett GUI-program utan helt 'vanlig' kod.
function aa
instr=gpib('agilent', 7, 1);
fopen(instr);
set(gcf,'CloseRequestFcn',@my_closefcn)
f=figure(1);
bla bla bla
function my_closefcn(src,evnt)
delete(gcf)
fclose(instr); %instr är ej åtkommlig här
delete(instr); %instr är ej åtkommlig här
Frågan lyder alltså kan man komma åt 'instr'-variabeln inuti funktionen 'my_closefcn'?