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 on`Add with Subfolders...`

. Now, select the directory that contains the`fomcon`

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. Type`help save`

for more information. Then load the systems as needed using the`load`

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 the`fidata`

function. Proceed with the identification in the`fotfid`

tool from there.