Files
imdd_silas/projects/Lab_base_system/olaf_control.m
2025-12-15 15:25:40 +01:00

75 lines
2.0 KiB
Matlab

clear all
visastring = "GPIB0::22::INSTR";
v_pwrmtr = visadev(visastring);
writeline(v_pwrmtr, "*IDN?");
answ = readline(v_pwrmtr);
disp(['Yay! We can talk to Instrument: ',char(answ)]);
% laser = Exfo_laser("mainframe_channel",3,"safety_mode",0,"connection_id",'15','lab_interface','gpib');
% laser.getLaserInfo();
L = OptLaserN7714A("GPIB0::20::INSTR");
% visastring = 'GPIB0::10::INSTR';
% v_lsr = visadev(visastring);
% writeline(v_lsr, "*IDN?");
% answ = readline(v_lsr);
% disp(['Yay! We can talk to Instrument: ',char(answ)]);
steps = 100;
wavelength_sweep = linspace(1554,1556,steps);
start_wavelength = wavelength_sweep(1);
% laser.setWavelength(start_wavelength);
L.setWavelength(start_wavelength,0);
% laser.setPower(0);
% laser.enableLaser();
L.setPower(0, true,0);
pwr_save = NaN(size(wavelength_sweep));
for l = 1:numel(wavelength_sweep)
% 1)
% laser.setWavelength(wavelength_sweep(l));
L.setWavelength(wavelength_sweep(l),0);
%writeline(v_lsr, ['L=' num2str(wavelength_sweep(l))]);
% 2) Set Wavelength of Power Meter
t = string(['SENS2:POW:WAVE ',num2str(wavelength_sweep(l)),'NM']);
writeline(v_pwrmtr, t);
% writeline(v, "SENS:POW:WAVE?");
% wavel = readline(v);
% 3) Read Power of
writeline(v_pwrmtr, "READ2:POW?");
pwr = readline(v_pwrmtr);
pwr_save(l) = str2num(pwr);
figure(2025);clf
plot(wavelength_sweep,pwr_save,'Marker','*');
xlabel('Wavelength [nm]');
ylabel('Insertion Loss [dB]');
ylim([min(pwr_save)-1, min(pwr_save)+1]);
xlim([wavelength_sweep(1) wavelength_sweep(end)])
grid minor
end
% laser.disableLaser();
L.setPower(0, false,0);
L.delete();
%writeline(v_lsr, 'DISABLE');
path= "Z:\2025\NFT WDM DFG Olaf\lambda_vs_power";
dt = datetime('now','Format','yyyyMMdd_HHmmss');
filename = fullfile(path, "loop_5_7_"+num2str(wavelength_sweep(1)) +"nm_to_"+ num2str(wavelength_sweep(end))+ "nm_" + string(dt) + ".mat");
save(filename, "pwr_save","wavelength_sweep");
disp("Saved to: " + filename);