Wednesday, November 6, 2013

Create a Customized Component

Hello again!

The other day I was trying to simulate a customized NTC resistor, and finally I came with the solution of creating a new custom component.

First of all, open a .ssc file in order to access to the block editor. Choose a component, for example a resistor, and open the block parameter.

Blocm parameter: Resistor
 Here we see the 'View source for Resistor' and if we click it we enter to the block editor:
.ssc file example
Inside this block editor we can create any component.

In my case, I would like to create a NTC with B equation dependence:

Code:

component MyNTC_B_equation
Explanation that will appear in the block parameter:
%NTC  Name of the component
%Resistor with temperature dependece defined by R = R0* exp(B*(1./T-1/T0))
%Where R is the nominal resistance at the reference temperature in ohms and B is the characteristic temperature constant
% Temperature must be in Kelvin!!!

Pins that will be in our component
%component pins
nodes
p = foundation.electrical.electrical; %+:left
n = foundation.electrical.electrical; %-:right
end

variables
i = {0,'A'};
v = {0,'V'};
end

Parameters by default that the user can change:
%user interface
parameters
R0  = {33,'kOhm'}; %nominal resistance
B  = {3000, 'K'};       %characteristic temperature constant
T0 = {300,'K'} %Reference temperature
T  = {300,'K'} %Current temperature
    end
%function of model
function setup
if R0 < 0
pm_error('simscape:GreaterThatOrEqualToZero','Resistance')
end
through (i, p.i, n.i);
across (v,p.v,n.v);
end

Component behaviour
%component behaviour
equations
v == R0 * exp(B*(1./T-1/T0))*i;
end
end

Note: The code is just the blue one!

Now, in order to create a library with this component, we must save the file in a folder starting with '+'. For example: '+MyComponents'.

Now, in Matlab enviroment, and in the path we have the new folder, we write:
>>ssc_build MyComponents;

Matlab will give us back a comment:
Generating Simulink library 'MyComponents_lib' in the current directory '...'

And the library will be created with the component inside it.
Custom components library
Here I have two examples inside my library: NTC and R therms. The library will convert all the .ssc files to inside the folder to components.

If we select our component into a new Simulink model and we double-click it we can see the different parameters that need to be enter by an external user. We can also go to the code of the NTC.
Block parameters: Custom component
Now, we can use the component in any schematic we want.

With that tool, we can create whatever we need for our examples! If you have an example I will be glad to look at it and use it in my future examples! You can use mine too!

Hope this helps!

Licencia Creative Commons

2 comments :

  1. Generating Simulink library 'MyComponents_lib' in the current directory '...
    This is generated in my matlab.Now ,how to see my model

    ReplyDelete
  2. Hello ! I tried to do so but I cannot add a file containing '+' to MATLAB path and so I am unable to run the ssc_build command. How did you do ?

    ReplyDelete