Gui+Simulink

di Anonimizzato9908 il
82 risposte

82 Risposte - Pagina 5

  • Allora...ho pensato ad un'altra strada
    t = get_param('mass_spring8', 'SimulationStatus')
    t1=str2num(t)
    d=0;
    while t1 == running
        d=d+0.0001
         altre operazioni
    t = get_param('mass_spring8', 'SimulationStatus')
    da come risultato una di queste tre voci "stop" "pause" "runnig"

    t1=str2num(t)
    da a t1 la stringa corrispondente

    il costrutto while t1 == running è errato vero?
  • Esatto, intendevo una cosa del genere quando dicevo di usare il while...
    Credo che sia sbagliato... hai convertito t in un numero... quindi sicuramente non puoi eguagliarlo così. Direi qualcosa tipo
    while strcmp(t,'running')=1
    Però all'interno del while avrei usato il parametro di cui parlavi prima, che ti dà l'esatto valore del tempo di simulazione....
  • Non va...
    options = simset('SrcWorkspace','current');
    sim('mass_spring8',[],options);
    
    t = get_param('mass_spring8', 'SimulationStatus')
    
    while strcmp(t,'running')==1
        d = get_param('mass_spring8', 'SimulationTime')
    prima parte la simulazione con il comando sim
    e appena finisce la simulazione esegue le altre istruzioni e quindi da a t la stringa stopped
  • Con il Clock hai provato?
  • In che modo?
  • Con il blocco clock che va al file .mat...
    anche se, pensandoci, tu devi in qualche modo sapere il tempo "stimato" per poter fare la barra...
    giusto? Non ti basta monitorare lo scorrere del tempo...
  • Non mi ricordo se questo l'avevamo già visto...
  • Mi sono accorta adesso che non ho messo il link... che ovviamente adesso non so come ripescare...
  • Ecco, avevo copiato il codice...
    h = waitbar(0,'Please wait...');
    
    End_Time = 100;
    
    myoptions = simset('SrcWorkspace','current','DstWorkspace','current','FixedStep', 0.1);
    sim('pp',End_Time,myoptions)
    
    close(h)
  • L'avevo provato quello, ma dava errore...

    cmq per ora ci rinuncio
  • Ho riletto i vecchi post... ora mi ricordo...
    Io ho provato e non mi dà nessun errore, copiando il codice e cambiando solo il nome del file da simulare.
  • giug ha scritto:


    Ho riletto i vecchi post... ora mi ricordo...
    Io ho provato e non mi dà nessun errore, copiando il codice e cambiando solo il nome del file da simulare.
    e come può essere?...vuoi vedere allora che è il simpletime...io ho 0.00001...devo vedere
  • Ho usato uno schema semplice semplice, tanto per provare. E ho scritto solo quel codice.
    Magari prova anche tu con qualcosa di più semplice prima di inserirlo nel codice finale.
  • Allora prova così: copia lo schemino che c'è nel file model, modifica l'embedded matlab function togliendogli l'uscita (togli y= dalla definizione della function e y=1 dall'ultima riga) e aggiungi
    eml.extrinsic('waitbar');
  • Perdonami....sei di una gentilezza unica ma ancora non ho avuto il tempo di provare...
    spero di riuscirci questo fine settimana
Devi accedere o registrarti per scrivere nel forum
82 risposte