Bonjour,
Je construis un programme qui lit la valeur de mon multimètre via le réseau et affiche la valeur dans une figure.
Entre deux mesures j'avais mis jusqu'à présent "pause 1" mais le temps d'accès à l'appareil prend entre 0.1 et 0.5s.
J'essaie d'utiliser la fonction timer pour lancer une acquisition toutes les 1 seconde , mais j'ai cette erreur :
Error while evaluating TimerFcn for timer 'timer-1'
Too many input arguments.
vous pouvez m'aider svp
Merci
Le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 %% initialisation clear;clc; duree=1; iterrations=10 ; %% timer map = [0.5 0 0 0.9412 0.9412 0.9412]; t = timer(); t.ExecutionMode = 'fixedRate'; t.Period = duree; t.TasksToExecute = inf; t.TimerFcn = @acqMultimetre ; %% Connexion multimetre type=(':MEAS:VOLT:DC?'); multi=visadev( 'TCPIP0::192.168.0.11::inst0::INSTR' ) ; figure colormap (map) %% début période start(t) if i==iterrations stop(t) clear multi; end %% fonction acquisition function [] = acqMultimetre() %for i = 1:iterrations tic i=i+1; write(multi, type); acq= readline(multi); mesure=str2double(acq); M(i)=mesure*1; plot(M); xlabel('Durée (s)') ylabel('Tension (V)') grid on toc end
Partager