Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 6.32 KB | None | 0 0
  1. pkg load instrument-control
  2.  
  3. clear all
  4. close all
  5. clc
  6.  
  7. test = 'BAR_3';                %% seleziona test (al momento fisso)
  8. point_number = 'H9';           %% inserisci punto che si sta misurando
  9.  
  10. %% setta le comunicazioni seriali
  11.  
  12. % porta 1
  13. s1 = serial("COM2");
  14. set(s1, "baudrate", 57600);           # Change baudrate
  15. set(s1, 'timeout', 20);
  16. disp('port 1 communication open')
  17. pause() %wait a second as it takes some ports a while to wake up
  18. kbhit()
  19.  
  20. % porta 2
  21. s2 = serial("COM3");
  22. set(s2, "baudrate", 57600);           # Change baudrate
  23. set(s2, 'timeout', 20);
  24. disp('port 2 communication open')
  25. pause() %wait a second as it takes some ports a while to wake up
  26. kbhit()
  27.  
  28. % porta 3
  29. s3 = serial("COM6");
  30. set(s3, "baudrate", 57600);           # Change baudrate
  31. set(s3, 'timeout', 20);
  32. disp('port 3 communication open')
  33. pause() %wait a second as it takes some ports a while to wake up
  34. kbhit()
  35.  
  36. srl_flush(s1)
  37. srl_flush(s2)
  38. srl_flush(s3)
  39.  
  40. %% Comandi utili
  41.  
  42. comando   =   uint8([66  74  37  34   3  51  21   0   0  51  50   0  65]);  %% Comando di settaggio per scheda + Terminatore (Checksum)
  43. inizia    =   uint8([63 63]);                                               %% Comando che segnala inizializzazione
  44. init_vett =   uint8([46 32 32 32 32 32 32 32 32 32 1 33]);                  %% Vettore di inizializzazione
  45.  
  46. %% CICLO INIZIALIZZAZIONE E SCRITTURA
  47.  
  48. % inizializzazione porta 1
  49.  
  50. srl_read(s1,1)                        %% leggi 00
  51. srl_read(s1,1)                        %% leggi AA
  52. srl_write(s1,[inizia,init_vett])      %% segnala inizializzazione e inizializza    
  53. srl_read(s1,1)                        %% leggi 00
  54. srl_read(s1,12)                       %% leggi inizializzazione
  55. srl_read(s1,1)                        %% leggi 3A
  56. disp ('setting port 1')
  57. pause();
  58. kbhit()
  59.  
  60. % inizializzazione porta 2
  61. srl_read(s2,1)                        %% leggi 00
  62. srl_read(s2,1)                        %% leggi AA
  63. srl_write(s2,[inizia,init_vett])      %% segnala inizializzazione e inizializza    
  64. srl_read(s2,1)                        %% leggi 00
  65. srl_read(s2,12)                       %% leggi inizializzazione
  66. srl_read(s2,1)                        %% leggi 3A
  67. disp ('setting port 2')
  68. pause();
  69. kbhit()
  70.  
  71. % inizializzazione porta3
  72. srl_read(s3,1)                        %% leggi 00
  73. srl_read(s3,1)                        %% leggi AA
  74. srl_write(s3,[inizia,init_vett])      %% segnala inizializzazione e inizializza    
  75. srl_read(s3,1)                        %% leggi 00
  76. srl_read(s3,12)                       %% leggi inizializzazione
  77. srl_read(s3,1)                        %% leggi 3A
  78. disp ('setting port 3')
  79. pause();
  80. kbhit()
  81.  
  82. srl_write(s1,comando)                 %% scrivi settaggio + checksum
  83. srl_read(s1,13)                       %% leggi settaggio + terminatore
  84. srl_read(s1,1)                        %% leggi 3A  
  85. srl_read(s1,1)-1                      %% leggi numero campioni per misura
  86.  
  87. srl_write(s2,comando)                 %% scrivi settaggio + checksum
  88. srl_read(s2,13)                       %% leggi settaggio + terminatore
  89. srl_read(s2,1)                        %% leggi 3A  
  90. srl_read(s2,1)-1                      %% leggi numero campioni per misura
  91.  
  92. srl_write(s3,comando)                 %% scrivi settaggio + checksum
  93. srl_read(s3,13)                       %% leggi settaggio + terminatore
  94. srl_read(s3,1)                        %% leggi 3A  
  95. srl_read(s3,1)-1                      %% leggi numero campioni per misura
  96.  
  97. disp ('setting done')
  98. pause();
  99. kbhit()
  100.  
  101. srl_write(s1, uint8(85));             %% scegli comando per inviluppo (0x66) o per echo_executing_commands
  102. srl_read(s1,1)                        %% leggi comando scelto
  103. srl_read(s1,254);                     %% fai una prima lettura, prima di entrare nel ciclo
  104.  
  105. srl_write(s2, uint8(85));             %% scegli comando per inviluppo (0x66) o per echo_executing_commands
  106. srl_read(s2,1)                        %% leggi comando scelto
  107. srl_read(s2,254);                     %% fai una prima lettura, prima di entrare nel ciclo
  108.  
  109. srl_write(s3, uint8(85));             %% scegli comando per inviluppo (0x66) o per echo_executing_commands
  110. srl_read(s3,1)                        %% leggi comando scelto
  111. srl_read(s3,254);                     %% fai una prima lettura, prima di entrare nel ciclo
  112.  
  113. disp('Okay, press enter key, and after that you can switch the Function Generator on')
  114. pause()
  115. kbhit()
  116.  
  117. figure()
  118. subplot(3,1,1)
  119. l1=line(nan,nan);
  120. grid on  
  121. grid minor
  122. xlim([0 242])
  123. ylim([0 280])
  124. xlabel('Samples [-]')
  125. ylabel('Samples [-]')
  126. hold on
  127.  
  128.  
  129. subplot(3,1,2)
  130. l2=line(nan,nan);
  131. grid on  
  132. grid minor
  133. xlim([0 242])
  134. ylim([0 280])
  135. xlabel('Samples [-]')
  136. ylabel('Samples [-]')
  137. hold on
  138.  
  139. subplot(3,1,3)
  140. l3=line(nan,nan);
  141. grid on  
  142. grid minor
  143. xlim([0 242])
  144. ylim([0 280])
  145. xlabel('Samples [-]')
  146. ylabel('Samples [-]')
  147. hold on
  148.  
  149. drawnow()
  150.  
  151.  
  152. %% ciclo di rodaggio
  153.  
  154. for i=1:10
  155.   [read_back_int_1,count_1] = srl_read(s1,255);           %% leggi i 254 valori + il terminatore AA
  156.   [read_back_int_2,count_2] = srl_read(s2,255);           %% leggi i 254 valori + il terminatore AA
  157.   [read_back_int_3,count_3] = srl_read(s3,255);           %% leggi i 254 valori + il terminatore AA
  158. end
  159.  
  160.  
  161.  
  162. for i=1:3
  163.  
  164.   read_back_int_1 = srl_read(s1,255);           %% leggi i 254 valori + il terminatore AA
  165.   read_back_int_2 = srl_read(s2,255);           %% leggi i 254 valori + il terminatore AA
  166.   read_back_int_3 = srl_read(s3,255);           %% leggi i 254 valori + il terminatore AA
  167.  
  168.   data_sensor_1(i,:) = read_back_int_1(1:254);  %% salva i dati in una matrice
  169.   data_sensor_2(i,:) = read_back_int_2(1:254);  %% salva i dati in una matrice
  170.   data_sensor_3(i,:) = read_back_int_3(1:254);  %% salva i dati in una matrice
  171.  
  172. end  
  173.  
  174.  
  175. sensor_1 = mean(data_sensor_1);                 %% media il dato acquisito su i=3 acquisizioni
  176. sensor_2 = mean(data_sensor_2);                 %% media il dato acquisito su i=3 acquisizioni
  177. sensor_3 = mean(data_sensor_3);                 %% media il dato acquisito su i=3 acquisizioni
  178.  
  179. set(l1,'XData',[1:254],'YData',sensor_1)
  180. set(l2,'XData',[1:254],'YData',sensor_2)
  181. set(l3,'XData',[1:254],'YData',sensor_3)
  182. drawnow()
  183.  
  184.  
  185. save(strcat(point_number,'_',test,'_sensor_1.mat'), 'sensor_1');
  186. save(strcat(point_number,'_',test,'_sensor_2.mat'), 'sensor_2');
  187. save(strcat(point_number,'_',test,'_sensor_3.mat'), 'sensor_3');
  188.  
  189. fclose(s1)
  190. fclose(s2)
  191. fclose(s3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement