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