You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

60 lines
2.0 KiB

  1. % start-up routine for the Prologic USB-GPIB interface
  2. NLoop = 10;
  3. Out = zeros(NLoop,1); % output buffer
  4. dss = instrfind('Port','COM11');
  5. if (isempty(dss))
  6. dss = serial('COM11','BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'TimeOut',5,'Terminator','CR');
  7. end
  8. fopen(dss); % communication channel for DAC
  9. fprintf(dss,'++mode 1');
  10. fprintf(dss,'++auto 0'); % turn off read-after-write for non-querry command
  11. fprintf(dss,'++eos 1');
  12. fprintf(dss,'++eoi 1');
  13. fprintf(dss,'++read_tmo_ms 4000');
  14. fprintf(dss,'++eot_enable 1');
  15. fprintf(dss,'++eot_char 13');
  16. fprintf(dss,'++addr 24'); % GPIB ADDR of the DSM
  17. fprintf(dss,'*RST');
  18. %pause(3);
  19. fprintf(dss,':sour:func:mode curr');
  20. fprintf(dss,':sour:curr 0');
  21. fprintf(dss,':sour:del 0');
  22. fprintf(dss,':sour:curr:mode list'); %
  23. fprintf(dss,':sour:list:curr 0, 0.0309,0.05878, 0.0809, 0.09511, 0.1, 0.09511, 0.0809, 0.05878, 0.0309');
  24. fprintf(dss,':sour:list:curr:app 0, -0.0309,-0.05878, -0.0809, -0.09511, -0.1, -0.09511,-0.0809, -0.05878, -0.0309');
  25. %fprintf(dss,':sour:list:volt 0,0.3090,0.5878,0.8090,0.9511,1.0000,0.9511,0.8090,0.5878,0.3090');
  26. %fprintf(dss,':sour:list:volt:app 0,-0.3090,-0.5878,-0.8090,-0.9511,-1.0000,-0.9511,-0.8090,-0.5878,-0.3090');
  27. %fprintf(dss,':sour:volt:trig:sfac 2');
  28. fprintf(dss,':arm:coun 5');
  29. fprintf(dss,':trig:coun 20');
  30. fprintf(dss,':sour:curr:mode list'); %
  31. fprintf(dss,':outp on');
  32. fprintf(dss,':init');
  33. pause(5);
  34. fprintf(dss,':outp off');
  35. % fprintf(dss,':sour:swe:rang best');
  36. % fprintf(dss,':sour:swe:spac lin');
  37. % fprintf(dss,':sour:volt:star 0.1');
  38. % fprintf(dss,':sour:volt:stop 1');
  39. % fprintf(dss,':sour:volt:step 0.1');
  40. % fprintf(dss,':sens:func "volt"');
  41. % fprintf(dss,':sens:volt:range:auto on');
  42. %
  43. % fprintf(dss,'++rst');
  44. % for i = 1:NLoop,
  45. % fprintf(dss,'read?');
  46. % fprintf(dss,'++read');
  47. % Out(i) = fscanf(dss,'%e')
  48. % end
  49. %
  50. % %fprintf(dss,'++auto 0'); % turn on read-after-write for non-querry command
  51. %
  52. fprintf(dss,'*RST');
  53. %
  54. fclose(dss);
  55. % delete(dss);