Because the toolbox is currently in the alpha stage of development, a complete user manual is not yet ready. However, a quick-start guide will be published here soon. For now, some prerequisites are given, the installation procedure under MATLAB is described and some tips are provided.
1 Prerequisites
FOMCON toolbox is developed and tested in MATLAB version 7.10 (R2010a). However, the features are compatible with earlier releases, e.g. 7.4+. Since it is impossible for us to test the toolbox in every MATLAB release, any bug reports are appreciated.
The following MATLAB toolboxes are required for FOMCON to work:
- Control System toolbox;
- Optimization toolbox.
However, even if the Optimization toolbox is not available in the MATLAB installation, it is still possible to use certain toolbox features.
2 Installation
The installation currently comprises the following steps:
- Decompress the zipped folder into a directory of your choice, e.g.
C:\fomcon\
- Setup the directory in your MATLAB path. In the MATLAB, go to
File > Set Path...
and click onAdd with Subfolders...
. Now, select the directory that contains thefomcon
folder. This completes the installation.
Note: if you are not running MATLAB as administrator, you will probably need to save the MATLAB path into your personal user directory, i.e. the second step of the installation procedure will need to be repeated for every user that needs to access the toolbox.
3 Quick-start tips
You can start by loading up some exemplary fractional models into the MATLAB base workspace by typing the following in the MATLAB command line:
loadsets |
MATLAB should report: “All test sets loaded successfully”. Now, you can type
fomcon |
to launch the main module graphical user interface and experiment with the provided fractional-order systems, e.g. analyze them, design fractional controllers etc. Since all graphical user interfaces are internally linked through the menu it should be easy to accomplish this set of tasks.
40 Comments
Hello Sir,
I tried to integrate FOMCON toolbox with Matlab .However,after typing fomcon command the following error is being shown.
??? Attempt to execute SCRIPT genvarname as a function:
C:\Program Files\MATLAB\R2011a\toolbox\matlab\lang\genvarname.m
Error in ==> gui_mainfcn at 144
setappdata(0,genvarname([‘OpenGuiWhenRunning_’, gui_State.gui_Name]),1);
Error in ==> fotf_gui at 25
gui_mainfcn(gui_State, varargin{:});
Error in ==> fomcon at 15
fotf_gui();
Please guide me
Thanks In advance
This is strange. Make sure that the path to FOMCON toolbox files is correctly set. Otherwise, there may be an issue with your MATLAB installation.
Hello sir,
My project is on “controlling the speed of an AC machine”. My question is that Is there any block available which can directly give me the transfer function of my overall system. I am unable to calculate the transfer function of my motor as speed is variable.
In MATLAB, there is the fotf object. In Simulink we use approximations.
Also sir i want to know is how to upload my simulink model in fpid_optim window for calculating the optimize values of Kp, Ki, lamda etc.
Create a new model and replace the ‘Plant LTI’ block with the block containing your system. Be aware, though, that the frequency domain characteristics may not be valid any longer (this depends on what sort of linear approximation of your system you supply in the ‘Plant model’ field in
fpid_optim
tool).Thank u sir, but still i am unable to understand. can u please explain me in detail. I want to calculate the optimum value of Kp and Ki. Till now in my project i was using conventional PI controller (speed controller and current error controller) but now i want to replace it with fractional PI controller.
As u said i replaced the ‘Plant LTI’ block with the block containing my system but the error written below is shown
“System is no longer in workspace or invalid”
This most likely means that you did not specify a valid linear model in the optimization tool. It is treated separately from the one in Simulink.
Hi Aleksei,
I was working with 0.42-beta version in R2010a platform.
In order to replace it with 0.41-beta I removed the earlier version.I found this updated version incompatible with my Matlab.
Then I reverted to default and again added subfolders of 0.42-beta.It works fine but it is not saved in the path.I mean it works fine during the session and for the next session i need to add again the folder and subfolders.
Please let me know how can I save it permanently?
Thanks
Smita
Make sure you have administrator rights. Otherwise, the path will not be saved. See MATLAB messages related to this.
Thank You Alex…I will check it again…
Hi Friends,
Can anybody help me in finding the critical gain and critical period via Zeigler-Nichols Tuning Rule(2nd method) of a FOPDT plant that is :
G=0.8.(e^-0.1s) /s+1
Where, Process gain=0.8
Time Delay=0.1
Time Constant=1
Silly qn…but i am not getting it.Please help how i can find it…
Regards
Smita
Hi Aleksei,
Can you please help me in finding the critical gain and critical period via Zeigler-Nichols Tuning Rule(2nd method) of a FOPDT plant that is :
G=0.8.(e^-0.1s) /s+1
Where, Process gain=0.8
Time Delay=0.1
Time Constant=1
Silly qn…but i am not getting it.Please help how i can find it…Another qn “is Approximation same as Identification the terms we use often in frac. control systems…”???
Regards
Smita
Hello sir,
I am using FOMCON Toolbox in Matlab. but unable t0 define the plant and controller in simulink. kindly suggest me how to design any system in simulink…
Regards
Ashish
Sir..
In the fpid_optim tool i relpaced plant LTI with my system. what is meant by FOPID LTI in the fractional order PID block ,
The tool will take your LTI system specified in the fpid_optim GUI and use that in the corresponding Simulink block.
Hi dear alexi
I have a question about step response of a fractional syztsm.
when I select step time 0:0.01:2 and 0:0.001:2, step response will change a lot.
why does it happen?
This depends on the system under investigation.
The GL based implementation of the FODE solver is essentially a fixed-step method. Therefore, variations in computed output of the system are possible.
Aleksei,
fisrtly sorry my Inglês (I used translator)
I have a doubt in Foncom functionality:
1 – What method the inverse transform lapalce Fomcon program uses to ‘transfer function fractional’ in ‘s’ domian -> ‘t’ (time), to plot the graph step response vs time
2- the fomcon uses the CFE method (expansion continued fraction) to approximate a integer polynomial of fractional function transfer (Gs)?
1. The FODE solver is based on the Grünwald-Letnikov definition of the FO operator.
2. There are several method implemented in FOMCON for obtaining IO approximations of FO operators and transfer functions. The CFE method is used in the analog implementation module of the toolbox. See [1] for details.
[1] A. Tepljakov, E. Petlenkov, and J. Belikov, “Efficient analog implementations of fractional-order controllers,” in Proc. of the 14th International Carpathian Control Conference (ICCC), 2013, pp. 377–382.
Hello sir
I want to optimize FOPID controller parameters using Partica swarm optimization.
Please help me how I can implement it
hello.i have a simulink file relate a pmsm(permanent synchronous mathine) control ,that it has 3 pid .i want change one with fractional pid .please guide and help me
Dear Prof. Aleksei,
I have completed the first step of installation but i don’t understand the second step of installation i.e. how to set path for fomcon tool in matlab. Please details me.
Thanks and Regards
i want to convert a continuous domain fractional order model to a delta domain fractional order model .how to do it.plz plz help me.
fomcon toolbox is not running in matlab 2013.how to run it.
FOMCON has been tested in R2013x and should work if properly installed and configured (check MATLAB path).
Dear sir
can i use this tool box with matlab 7.6.0(R2008a)
Many thanks
A.hady
Pls advise
Now i using the FOTF viewer and i can make add to a new FOTF .but when i close the Matlab and try to open the viewer again the all T.f that i add are not available.
if any way available to save (keep) my T.F like yrs G1,G2 and G3 when i make loadsets.
Many thanks
Just use the
save
command. Typehelp save
for more information. Then load the systems as needed using theload
command.Pls advise
this the FOSS system as in Matlab i entered A,B,C,D and (comm. order) q=0.5 As you in following . but when i tray to use the STEP command the result As
(??? Error using ==> step at 79
Not enough input arguments.)
how can i solve this issue
Many thanks
>> S
Fractional-order state-space system
A =
-0.0599 0 0 0
0 -0.0476 0 0
0 0 -0.0917 0
0 0 0 -0.0694
B =
0.7665 0
0 -0.9000
0.6055 0
0 -1.3472
C =
1 1 0 0
0 0 1 1
D =
0
(comm. order) q=
0.5000
>> [Y,T] = STEP(S)
??? Error using ==> step at 79
Not enough input arguments.
Simulation of FOSS systems is not available yet.
Dear Mr Aleksei
i hope you are good
i wanna to ask any way available to handle different delay together as the following as a problem to me
??? Error using ==> fotf.plus at 28
Cannot handle different delays
i wait yr answer ASAP
Many thanks
The only way right now to tackle this problem would be to work with approximations of FO transfer functions in state-space form.
Sir,
How do we create ‘fidata’ from a fractional order transfer function.I consider the example in the manual but an error occurs when using ‘prbs’.The code is:
G2=newfotf(’1’,’0.8s^2.2+0.5s^0.9+1’);
t=(0:0.01:20)’; u=prbs(5,100,[0 1]);
u=u(450:length(t));
t=t(1:length(t)-449); y=lsim(G2,u,t)’;
id1=fidata(y,u,t);
The error is “Error using prbs”
Thank You.Hoping for a reply
Sir,
Could you give an example of how to create a fidata using refgen() for a fractional order transfer function.
Thank You
Regards,
Dan
Here is a complete example from my Ph.D. thesis.
Thank You Sir.
dear sir,
im new user and trouble in simulink with fractional PID controller block.inside that block two more block r there ,1]LTI system block
2]transfer function block
out of these two blocks tf block LTI system block cant edit .by default LTI variable G1
my frac PD controller is Gc(s)=(1.82*(1+13.48*s)^0.5)
my question is what should i write in LTI and TF block if my tf is above mentioned .im using matlab(2010)
thank u
Respected Sir,
I am working on a nonlinear system described by 8 ODE, 2 inputs (1 input and other disturbance input) and 1 output. I want to perform system identification of the system using input-output data, i.e. I want to identify a fractional order transfer function for the non-linear system. How do I do that? Please help.
You can generate some input data using the
refgen
facility. See its documentation for details. Then feed this input to your nonlinear equations of dynamics and collect the output. From this information, generate a SISO identification dataset using thefidata
function. Proceed with the identification in thefotfid
tool from there.