WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

DAQ Toolbox "WAIT reached its timeout before OBJ stoppe

 

GodfatherTB
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 31.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2012, 12:48     Titel: DAQ Toolbox "WAIT reached its timeout before OBJ stoppe
  Antworten mit Zitat      
Hallo zusammen,

beim Testen meines Messprogramms ist mir folgendes passiert:

Ich habe eine Routine, die die aktuelle Position des Messrechens erfasst und sobald dieser eine bestimmte Position erreicht, wird ein Messpunkt genommen.
Das klappt auch grundsätzlich wunderbar.
Lediglich manchmal (heute in 5 von 24 Fällen) kommt im Command Window ein Fehler:
"WAIT reached its timeout before OBJ stopped running
Error in daqdevice.wait at 51 wait(uddobjs,waittime)"
Dieser Fehler bezieht sich bisher auf eine Abfrage der u_z Werte

Den genauen Code meiner Routine findet ihr in einer gekürzten Version am Ende des Posts.

Da ich den Wait-timer auf 2 Sekunden gesetzt habe und eine Messung nur etwa 0,1 sekunde geht (auch nicht länger gehen soll) scheint es doch ein Fehler in der Kommunikation zwischen Wandler (NI USB 6218 BNC) und PC zu geben?!

Weiß jemand ob man das
a) besser Programmieren kann/muss?
b) mit anderen Treibern (NIDAQmx) lösen kann?
c) akzeptieren muss?

Wie immer danke ich euch für eure Hilfe!

Gruß,

Christian

Code:
function measspan
ok=0;
ai=analoginput('nidaq','dev2');
addchannel(ai,0:6);
set(ai,'SampleRate',20000);
h=helpdlg('Drive wake rake into one of the arresters and set speed to an average level',...
    'Wake rake adjustment');
waitfor(h)
clear h
while ok==0
    load data\currentoptions.mat
    load data\caldata.mat
   
    ok2=0;
    g_deltaz=1.5;
    % Voltage for smallest deltaz distance
    u_deltaz=u_ws3/110*g_deltaz;
    set(ai,'SamplesPerTrigger',50);
    start(ai);
    wait(ai,2);
    data=getdata(ai);
    i=6;
    datamp=length(data);
    u_zstart=0;
    while i<=datamp;
        u_zstart=u_zstart+data(i,2);
        i=i+1;
    end
    u_zstart=u_zstart/(datamp-5);
   
   
    if abs(u_zstart-u_ws1)<abs(u_zstart-u_ws2)
        dir=0;
    elseif abs(u_zstart-u_ws1)>=abs(u_zstart-u_ws2)
        dir=1;
    end
    if dir==0;
        %PLATZHALTER RELAIS
    elseif dir==1;
        %PLATZHALTER RELAIS
    end
    % maximal travel distance
    g_zborder=50;
    summz=2*g_zborder/g_deltaz;
    % driving wake rake to starting position
        while ok2==0
        % ADWANDLERABFRAGE u_z
        start(ai);
        wait(ai,2);
        dataz=getdata(ai);
        i=6;
        datamp=length(dataz);
        u_z=0;
        while i<=datamp;
            u_z=u_z+dataz(i,2);
            i=i+1;
        end
        u_z=u_z/(datamp-5);
        g_zs1=(u_z-u_ws2)/u_ws3*110+55;
        if dir==1 && g_zs1>g_zborder
            ok2=0;
        elseif dir==0 && g_zs1<-g_zborder
            ok2=0;
        else
            ok2=1;
            mz=0;
            u_zstart=u_z;
        end
    end
    % Pre-allocate variables
    g_al_ave=0;
    F_lift_ave=0;
    p_qm_ave=0;
    clift_ave=0;
    p_gmax_ave=0;
    p_gm_ave=0;
    p_delta_ave=0;
    cdrag_ave=0;
    ok2=0;
    while ok2==0
        %Measuring loop
        set(ai,'SamplesPerTrigger',100);
        start(ai);
        wait(ai,2);
        data=getdata(ai);
        u_aa=0;
        u_lift=0;
        u_pq=0;
        u_gmax=0;
        u_gm=0;
        u_pdelta=0;
        i=6;
        datamp=length(data);
        while i<=datamp;
            u_aa=u_aa+data(i,1);
            u_lift=u_lift+data(i,3);
            u_pq=u_pq+data(i,4);
            u_gmax=u_gmax+data(i,1);
            u_gm=u_gm+data(i,1);
            u_pdelta=u_pdelta+data(i,1);
            i=i+1;
        end
        u_aa=u_aa/(datamp-5);
        u_lift=u_lift/(datamp-5);
        u_pq=u_pq/(datamp-5);
        u_gmax=u_gmax/(datamp-5);
        u_gm=u_gm/(datamp-5);
        u_pdelta=u_pdelta/(datamp-5);
        % calculate current values (RAUSGEKÜRZT)
       
        ok3=0;
        while ok3==0
            set(ai,'SamplesPerTrigger',50);
            start(ai);
            wait(ai,2);
            dataz=getdata(ai);
            i=6;
            datamp=length(dataz);
            u_z=0;
            while i<=datamp;
                u_z=u_z+dataz(i,2);
                i=i+1;
            end
            u_z=u_z/(datamp-5);
            if u_z<(u_zstart+u_deltaz*mz) && dir==0
                ok3=0;
            elseif u_z>(u_zstart-u_deltaz*mz) && dir==1
                ok3=0;
            else
                ok3=1;
            end
        end
        g_zstop=(u_z-u_ws2)/u_ws3*113+55;
        if dir==1 && g_zstop>-g_zborder
            ok2=0;
        elseif dir==0 && g_zstop<g_zborder
            ok2=0;
        else ok2=1;
        end
    end
% gekürzt
   
 

_________________

Student der Luft- und Raumfahrttechnik in den letzten Zügen.
Lerne für meine Studien- und Diplomarbeit Matlab kennen und bin für Hilfe sehr dankbar!
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.