Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pkg load instrument-control
- clear all
- close all
- clc
- test = 'BAR_3'; %% seleziona test (al momento fisso)
- point_number = 'H9'; %% inserisci punto che si sta misurando
- %% setta le comunicazioni seriali
- % porta 1
- s1 = serial("COM2");
- set(s1, "baudrate", 57600); # Change baudrate
- set(s1, 'timeout', 20);
- disp('port 1 communication open')
- pause() %wait a second as it takes some ports a while to wake up
- kbhit()
- % porta 2
- s2 = serial("COM3");
- set(s2, "baudrate", 57600); # Change baudrate
- set(s2, 'timeout', 20);
- disp('port 2 communication open')
- pause() %wait a second as it takes some ports a while to wake up
- kbhit()
- % porta 3
- s3 = serial("COM6");
- set(s3, "baudrate", 57600); # Change baudrate
- set(s3, 'timeout', 20);
- disp('port 3 communication open')
- pause() %wait a second as it takes some ports a while to wake up
- kbhit()
- srl_flush(s1)
- srl_flush(s2)
- srl_flush(s3)
- %% Comandi utili
- comando = uint8([66 74 37 34 3 51 21 0 0 51 50 0 65]); %% Comando di settaggio per scheda + Terminatore (Checksum)
- inizia = uint8([63 63]); %% Comando che segnala inizializzazione
- init_vett = uint8([46 32 32 32 32 32 32 32 32 32 1 33]); %% Vettore di inizializzazione
- %% CICLO INIZIALIZZAZIONE E SCRITTURA
- % inizializzazione porta 1
- srl_read(s1,1) %% leggi 00
- srl_read(s1,1) %% leggi AA
- srl_write(s1,[inizia,init_vett]) %% segnala inizializzazione e inizializza
- srl_read(s1,1) %% leggi 00
- srl_read(s1,12) %% leggi inizializzazione
- srl_read(s1,1) %% leggi 3A
- disp ('setting port 1')
- pause();
- kbhit()
- % inizializzazione porta 2
- srl_read(s2,1) %% leggi 00
- srl_read(s2,1) %% leggi AA
- srl_write(s2,[inizia,init_vett]) %% segnala inizializzazione e inizializza
- srl_read(s2,1) %% leggi 00
- srl_read(s2,12) %% leggi inizializzazione
- srl_read(s2,1) %% leggi 3A
- disp ('setting port 2')
- pause();
- kbhit()
- % inizializzazione porta3
- srl_read(s3,1) %% leggi 00
- srl_read(s3,1) %% leggi AA
- srl_write(s3,[inizia,init_vett]) %% segnala inizializzazione e inizializza
- srl_read(s3,1) %% leggi 00
- srl_read(s3,12) %% leggi inizializzazione
- srl_read(s3,1) %% leggi 3A
- disp ('setting port 3')
- pause();
- kbhit()
- srl_write(s1,comando) %% scrivi settaggio + checksum
- srl_read(s1,13) %% leggi settaggio + terminatore
- srl_read(s1,1) %% leggi 3A
- srl_read(s1,1)-1 %% leggi numero campioni per misura
- srl_write(s2,comando) %% scrivi settaggio + checksum
- srl_read(s2,13) %% leggi settaggio + terminatore
- srl_read(s2,1) %% leggi 3A
- srl_read(s2,1)-1 %% leggi numero campioni per misura
- srl_write(s3,comando) %% scrivi settaggio + checksum
- srl_read(s3,13) %% leggi settaggio + terminatore
- srl_read(s3,1) %% leggi 3A
- srl_read(s3,1)-1 %% leggi numero campioni per misura
- disp ('setting done')
- pause();
- kbhit()
- srl_write(s1, uint8(85)); %% scegli comando per inviluppo (0x66) o per echo_executing_commands
- srl_read(s1,1) %% leggi comando scelto
- srl_read(s1,254); %% fai una prima lettura, prima di entrare nel ciclo
- srl_write(s2, uint8(85)); %% scegli comando per inviluppo (0x66) o per echo_executing_commands
- srl_read(s2,1) %% leggi comando scelto
- srl_read(s2,254); %% fai una prima lettura, prima di entrare nel ciclo
- srl_write(s3, uint8(85)); %% scegli comando per inviluppo (0x66) o per echo_executing_commands
- srl_read(s3,1) %% leggi comando scelto
- srl_read(s3,254); %% fai una prima lettura, prima di entrare nel ciclo
- disp('Okay, press enter key, and after that you can switch the Function Generator on')
- pause()
- kbhit()
- figure()
- subplot(3,1,1)
- l1=line(nan,nan);
- grid on
- grid minor
- xlim([0 242])
- ylim([0 280])
- xlabel('Samples [-]')
- ylabel('Samples [-]')
- hold on
- subplot(3,1,2)
- l2=line(nan,nan);
- grid on
- grid minor
- xlim([0 242])
- ylim([0 280])
- xlabel('Samples [-]')
- ylabel('Samples [-]')
- hold on
- subplot(3,1,3)
- l3=line(nan,nan);
- grid on
- grid minor
- xlim([0 242])
- ylim([0 280])
- xlabel('Samples [-]')
- ylabel('Samples [-]')
- hold on
- drawnow()
- %% ciclo di rodaggio
- for i=1:10
- [read_back_int_1,count_1] = srl_read(s1,255); %% leggi i 254 valori + il terminatore AA
- [read_back_int_2,count_2] = srl_read(s2,255); %% leggi i 254 valori + il terminatore AA
- [read_back_int_3,count_3] = srl_read(s3,255); %% leggi i 254 valori + il terminatore AA
- end
- for i=1:3
- read_back_int_1 = srl_read(s1,255); %% leggi i 254 valori + il terminatore AA
- read_back_int_2 = srl_read(s2,255); %% leggi i 254 valori + il terminatore AA
- read_back_int_3 = srl_read(s3,255); %% leggi i 254 valori + il terminatore AA
- data_sensor_1(i,:) = read_back_int_1(1:254); %% salva i dati in una matrice
- data_sensor_2(i,:) = read_back_int_2(1:254); %% salva i dati in una matrice
- data_sensor_3(i,:) = read_back_int_3(1:254); %% salva i dati in una matrice
- end
- sensor_1 = mean(data_sensor_1); %% media il dato acquisito su i=3 acquisizioni
- sensor_2 = mean(data_sensor_2); %% media il dato acquisito su i=3 acquisizioni
- sensor_3 = mean(data_sensor_3); %% media il dato acquisito su i=3 acquisizioni
- set(l1,'XData',[1:254],'YData',sensor_1)
- set(l2,'XData',[1:254],'YData',sensor_2)
- set(l3,'XData',[1:254],'YData',sensor_3)
- drawnow()
- save(strcat(point_number,'_',test,'_sensor_1.mat'), 'sensor_1');
- save(strcat(point_number,'_',test,'_sensor_2.mat'), 'sensor_2');
- save(strcat(point_number,'_',test,'_sensor_3.mat'), 'sensor_3');
- fclose(s1)
- fclose(s2)
- fclose(s3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement