powered by

CUSTOMIZING XCOS WITH NEW BLOCKS AND PALETTESALETTEIn this tutorial, we show how to create and customize Xcos blocks and palettes.
Moreover, wee use the "Xcos toolbox skeleton" for a better result. The
he LHY modelin Xcos scheme (already developed in other tutorials) is used as a starting point.
pointLevel

This work is licensed under a Creative Commons Attribution
Attribution-NonCommercial-NoDerivs 3.0 Unported License.

www.openeering.com

Step 1: Purpose of this tutorial
The aim of this tutorial is to show how to create and customize Xcosblocks adding new elements to the Xcos palettes.

Here, as a reference scheme we use the LHY model already developedin Xcos. The scheme is available in another tutorial at the Openeering
web site.

Moreover, we also introduce the reader to the “Xcos toolbox skeleton”
that is a useful toolbox for the customization of Xcos blocks.

The creation of new blocks are useful to:•Simplify the diagram;•Reuse of same block (also in other schemes).

Step 2: Roadmap
The following topics are covered in this tutorial:•

What is Scilab ATOMS;•

How to install “Xcos toolbox skeleton”;•How to create a new Xcos block;•

How to create a new Xcos palette.

Customizing Xcos block/palette

Descriptions
ATOMS
Xcos toolbox skeleton
LHY model
Custom Xcos blocks
Custom Xcos palette

www.openeering.com

Steps
3
4-5
6
7-12
13-16

page 2/13

Step 3: What is Scilab ATOMS
Scilab Atoms is a packaging system of Scilab external modules. Using
this tool it is trivial to install/un-installinstall prebuilt Scilab modules.

Atoms packages are available by clicking on the menu iconorfrom the menu "Applications/Module
Module manager - ATOMS". If anetwork proxy is installed this must be configured in Scilab using thecommand "atomsSetConfig" (see help).

On the right, the ATOMS window is reported. A green icon
the installed toolboxes.

denotes all

Step 4: How to install “Xcos toolbox skeleton”
The “Xcos toolbox skeleton”” is available in the ATOMS under the Xcos
menu.

Select the toolbox and then click on the “Install”” button.

As for any other ATOMS toolbox, it is necessary to restart Scilab after a
new installation.

Customizing Xcos block/palette

www.openeering.com

page 3/13

Step 5: Loading “Xcos toolbox skeleton”
Once Scilab has started the new module is loaded. This is visible in theScilab console where information on all loaded modules is displayed.
The model used in this tutorial is reported on the right. The Xcos scheme
corresponds to the LHY model. Some theory about the model and theXcos scheme can be downloaded from the tutorial on LHY model in Xcos
(part I).

Step 6: The LHY scheme
The model used in this tutorial is reported on the right. The Xcos schemecorrespond to the known LHY model. Some theory about the model andthe Xcos scheme can be download from the tutorial on LHY model inXcos.

Customizing Xcos block/palette

www.openeering.com

page 4/13

Step 7: How to create a custom Xcos block
To create a custom subsystem the following steps are required:•Select the desired blocks:-

Left-click where you want to start your selection;
Hold down your left mouse button and drag the mouse
until you have highlighted all the interested area;-

Left-click of the mouse over the element you want;-Ctrl + Left-click on elements and links you want to select;

or•(The selection of the LHY model)

Right-click on one of the selected elements and then select“Region to superblock” or from the menu “edit” select “Region tosuperblock” and new block appears.

Note: From the LHY model in Xcos scheme we have selected all blocks
and links that represent the system. All the other blocks that are used forthe graphical output are not selected because they are not considered aspart of the model.

(The LHY model as a new Xcos block)Customizing Xcos block/palette

www.openeering.compage 5/13

Step 8: Port and Subsystem blocks
The main blocks involved in the creation of subsystems are:••Regular Input Port: This port represents an explicit input port andshould be used only inside a Xcos Super Block;(Regular Input Port)

Regular Output Port: This port represents an explicit output port
and should be used only inside a Xcos Super Block.

These blocks are available in the “PortPort & Subsystem
Subsystem” palette.

Note: Ports numbers should be in increasing order starting from 1.

(Regularar Output Port)

Step 9: Xcos superblock
On the right, a simple subsystem with two inputs and two outputs ispresented. The bottom figure shows the resulting Xcos block appearance.

Customizing Xcos block/palette

www.openeering.com

page 6/13

Step 10: Customize a Xcos block
Using the “Xcos toolbox skeleton” it is possible to personalize eachblock in an easy way:
•Select the desired element;•Right-click and then select "Format -> Edit" and it appears adialog where it is possible to change some aspect parameters.

At the end press "Ok" button.

Add the text "LHY Model" and change colors in the previous dialog.

Customizing Xcos block/palette

www.openeering.com

page 7/13

Step 11: Xcos block input mask
The LHY model depends on the following (eleven) constants:["tau"; "s"; "smax";"L0"; "H0"; "Y0"]

"q";

"a";

"b";"g";"delta";It is possible to create an input mask making the element as general as
possible allowing the reuse of the model in other applications/schemes.

An input mask can be created as follows:•Right-click on the element and then select "Superblock mask-> Create";•Insert all the eleven variables in the "variable setting" tabselecting them one by one from the list (see figure);•Change the default values in the "Default values" tab.

Customizing Xcos block/palette

www.openeering.com

page 8/13

Step 12: The input mask
The input mask for our LHY model is reported on the right and can be
activated by double-clicking on the element.

Step 13: Create a new Xcos paletteNow, we want to make the LHY model block available as new element forother diagrams adding it to the Xcos palette.
The first step is to create a new empty Xcos file and save the newelement. Here, the adopted name is "LHY_Xcos_Lib.xcos".

Customizing Xcos block/palette

www.openeering.com

page 9/13

Step 14: Create a new palette folder
Step 1 (Create a new palette folder):•Right-click on "Palettes" of the Xcos "Palettes
Palettes browser
browser"
dialog and then "Create";•Left-click again on "Palettes".

As a result, a new folder named "Category" is created as the last row on
the "Palettes" selector.

Step 2 (Rename the default palette folder):•Rename the new folder into as "LHY" for our purpose.

As a result, an icon appears on the left of the "Palettes
Palettes" selector whereto put our library model.

Customizing Xcos block/palette

www.openeering.com

page 10/13

Step 15: Insert blocks in the palette browser
Step 3 (Load the file into the "Palettes" selector):•

From the menu "Palettes" select "Open" and then open the file
"LHY_Xcos_Lib.xcos";•

Double-click on the "Palettes" selector

Step 4 (Move the file into the folder "LHY"):•

Select the file, and drag it into the folder "LHY".

Customizing Xcos block/palette

www.openeering.com

page 11/13

Step 16: Finalize the palette
Step 5 (Rename the input file in the "LHY" palette):•

Click on "Palettes" and then click on "LHY” and modify on theright the name of the library as "LHY_Xcos".

All these steps create a permanent new palette in your Xcos. In fact, if you
close and re-open Scilab you may notice that this new palette is still there.

Step 17: Exercise #1
Use the new library to create a new scheme with the comparison of two
different LHY models where the second has the parameter
0.2.

Note: Remember to set the simulation to 50.

Customizing Xcos block/palette

www.openeering.com

page 12/13

Step 18: Concluding remarks and References
1. Scilab Web Page: Available: www.scilab.org.
In this tutorial we have shown how to create and customize blocks andpalettes in Xcos.
2. Openeering: www.openeering.com.
On the right-hand column you may find a list of references for furtherstudies.

Step 19: Software content
To report a bug or suggest some improvement please contact Openeering
team at the web site www.openeering.com.
Thank you for your attention,
Manolo Venturin

Customizing Xcos block/palette-----------------------------LHY BLOCK MODEL IN SCILAB/XCOS------------------------------------------Main directory-------------ex1.xcos
LHY_Tutorial_Xcos.xcos
LHY_Tutorial_Xcos_Mask.xcos
LHY_Tutorial_Xcos_Sub.xcos
LHY_Xcos_Lib.xcos
Xcos_Subsystem_Example.xcos
license.txt

www.openeering.com: Solution of the exercise: LHY Xcos scheme: LHY Block with input mask
: LHY Block with subsystem: LHY Block library: Example two input / two output: The license file

page 13/13