darkHorse1990 Δημοσ. 2 Απριλίου 2015 Δημοσ. 2 Απριλίου 2015 Γεια σας τρεχω ενα μοντελο στο simulink μεσω της matlab και παιρνω το παρακατω λαθος Error using run (line 28) Call to MATLAB function aborted: The first input argument of the "mpc" command must be one of the following: an LTI object, an IDMODEL object or a structure of models and offsets. Block Subsystem2/Control plant (#38) While executing: State During Action Το embedeed block που χρησιμποιω εχει μεσα του τον παρακατω κωδικα function w0u = MPC(x,Sb_bus,Sb,vt,q,p,theta0,ku,xs,u,vf,KvP,KvI,Kp,Ki,Kd,Droop,DroopAvr,v0,wb,r,t0,umaxnow,time,samplingsTime,Rn,Qn,Rw,Qw,ud,uMinMPC,uMaxMPC,udMaxMPC,wmin,wminw,wmax,wmaxw,tFLR,aFLR,genset3connected,debuggingfile,mpcOn,mpcValSaveTime,mpcValFileName,useUMaxNow,wNLstart) coder.extrinsic('mpc'); w0u = zeros(2,1); [w0u] = mpc(p,Sb_bus,Sb,vt,q,x,theta0,ku,xs,u,umaxnow,vf,KvP,KvI,Kp,Ki,Kd,Droop,DroopAvr,v0,wb,r,t0,time,samplingsTime,Rn,Qn,Rw,Qw,ud,uMinMPC,uMaxMPC,udMaxMPC,wmin,wminw,wmax,wmaxw,tFLR,aFLR,genset3connected,debuggingfile,mpcOn,mpcValSaveTime,mpcValFileName,useUMaxNow,wNLstart); end και η συναρτηση Mpc ειναι function [w0u] = mpc(p,Sb_bus,Sb,vt,q,x,theta0,ku,xs,u,umaxnow,vf,KvP,KvI,Kp,Ki,Kd,Droop,DroopAvr,v0,wb,r,t0,time,samplingsTime,Rn,Qn,Rw,Qw,ud,uMinMPC,uMaxMPC,udMaxMPC,wmin,wminw,wmax,wmaxw,tFLR,aFLR,genset3connected,debuggingfile,mpcOn,mpcValSaveTime,mpcValFileName,useUMaxNow,wNLstart) persistent tupdated w0set eml.extrinsic('saveVariables'); H = [10; 7]; D = [.02;.025]; if (isempty(tupdated)) % Initialize variables tupdated = time; w0set = wNLstart; elseif (time < t0) % Wait until t0 elseif (mpcOn == 0) % If turned off, do nothing. elseif (time >= tupdated + samplingsTime) % Update w0 Pbus = sum(p.*Sb)/sum(Sb); Qbus = sum(q.*Sb)/sum(Sb); pFLR = aFLR*Sb(end)/Sb_bus*Pbus; X = [Pbus;Qbus;x]; u0 = u; udw = ud(1); %% Calculate the state space equations [A B B0 Cu Du ~, ud] = makeLinearSystem(H,D,p,Sb_bus,Sb,q,X,vf,vt,theta0,ku,xs,u0,wb,r,KvP,KvI,Kp,Ki,Kd,Droop,DroopAvr,w0set,v0,samplingsTime,ud); [Aw Bw B0w Cuw Duw ~, udw] = makeLinearWorstCaseSystem(H,D,p,Sb_bus,Sb,q,X,vf,vt,theta0,ku,xs,u0,wb,r,KvP,KvI,Kp,Ki,Kd,Droop,DroopAvr,w0set,v0,samplingsTime,genset3connected,pFLR,udw); %% Discretize if(genset3connected) % Discretize system for normal case [Ad Bd B0d] = makediscrete(A,B,B0,samplingsTime); % Discretize system after FLR reacts [AdFLRp, ~, ~] = makediscrete(Aw,Bw,B0w,samplingsTime-tFLR); else % Sets Ad, Bd, B0d and AdFLRp to remove compilation error (matrices % must have the same size for all cases) Ad = A; Bd = B; B0d = B0; AdFLRp = Aw; end % Discretize system for failure case [Adw Bdw B0dw] = makediscrete(Aw,Bw,B0w,samplingsTime); %% Find input optimal [dw0opt PHI PSI dw] = findInput(X,Ad,Bd,B0d,Cu,Du,Adw,Bdw,B0dw,Cuw,Duw,AdFLRp,pFLR,Rn,Qn,Rw,Qw,ud,udw,u,umaxnow,uMinMPC,uMaxMPC,udMaxMPC,wmin,wmax,wminw,wmaxw,p,Sb,genset3connected,time,debuggingfile,useUMaxNow); %% Save internal values for plotting if(mpcValSaveTime >= time && mpcValSaveTime< time + samplingsTime) saveVariables(mpcValFileName,PHI,PSI,dw) end w0set = w0set + dw0opt; tupdated = time;
Technology fan Δημοσ. 2 Απριλίου 2015 Δημοσ. 2 Απριλίου 2015 Δεν είναι λίγο αυτονόητο το μύνημα? το p που το αναθέτεις τιμή?
darkHorse1990 Δημοσ. 2 Απριλίου 2015 Μέλος Δημοσ. 2 Απριλίου 2015 file:///C:/Users/Fanourako/Desktop/1.jpg file:///C:/Users/Fanourako/Desktop/2.jpg Η εικονα ενα δειχνει απο που βγαινει το P και στην εικονα δυο ειναι το υποσυστημα της εικονας 1 που εκει εχει το embedeed block MPC Δεν ξερω πως να το διορθωσω αυτο το λαθος.
Technology fan Δημοσ. 2 Απριλίου 2015 Δημοσ. 2 Απριλίου 2015 file:///C:/Users/Fanourako/Desktop/1.jpg file:///C:/Users/Fanourako/Desktop/2.jpg Η εικονα ενα δειχνει απο που βγαινει το P και στην εικονα δυο ειναι το υποσυστημα της εικονας 1 που εκει εχει το embedeed block MPC Δεν ξερω πως να το διορθωσω αυτο το λαθος. Λίγο δύσκολο να έχω πρόσβαση στον PC σου για να δω τις εικόνες , δοκίμασε να ανεβάσεις εδώ τις εικόνες σου αν και προσωπικά προτιμώ εναν εξωτερικό host σαν το http://imgur.com Παρεπιπτόντως, καλως όρισες στο forum...
darkHorse1990 Δημοσ. 2 Απριλίου 2015 Μέλος Δημοσ. 2 Απριλίου 2015 Λίγο δύσκολο να έχω πρόσβαση στον PC σου για να δω τις εικόνες , δοκίμασε να ανεβάσεις εδώ τις εικόνες σου αν και προσωπικά προτιμώ εναν εξωτερικό host σαν το http://imgur.com Παρεπιπτόντως, καλως όρισες στο forum... ευχαριστω.Θα χρησιμοποιησω το dropbox https://www.dropbox.com/s/gwjniiq3d1azbgm/1.jpg?dl=0 https://www.dropbox.com/s/yv2p5yk0882y2jq/2.jpg?dl=0
Technology fan Δημοσ. 2 Απριλίου 2015 Δημοσ. 2 Απριλίου 2015 Εκτώς από το οτι δεν φαίνονται και πολλά και να φαίνονταν λίγα πράγματα καταλαβαίνω. Υποθέτω οτι το p που χτυπάει δημιουργείτε στο ορθογώνιο που λέει bus, οπότε βεβαιώσου οτι οι μεταβλητές σου που μπαίνουν στο bus υπάρχουν. Αν η υπόθεση μου είναι λάνθασμένη δεν ξέρω πως να σε βοηθήσω, ίσως άλλα μέλη ξέρουν περισσότερο απο simulink.
darkHorse1990 Δημοσ. 3 Απριλίου 2015 Μέλος Δημοσ. 3 Απριλίου 2015 Υπαρχουν οι μεταβλητες. Σε ευχαριστω παντως.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα