[Scilab-users] Xcos - names/labels for subsystems and ports?

Pierre-Aimé Agnel pierre-aime.agnel at scilab-enterprises.com
Tue Apr 12 16:55:04 CEST 2016


Hi,

Le 12/04/2016 16:39, Paul Bignier a écrit :
>
> Hello Graham,
>
> Pleased to hear that you're using Xcos, it's always good to have 
> feedback!
>
> 1) Right-clicking a "link" (which you call "signal") pops "Format" and 
> "Link style" menus which enables you to label/color it as well as 
> using automatic layouts (also accessible via keyboard shortcuts).
>
> 2) When dragging a link from a port, you can click in the diagram at 
> random points. Those will be "control points" through which the link 
> will pass regardless of the position of its connecting blocks. You may 
> play with the demos to check it out.
>
> 3) If you want to label ports at the moment, you need to define your 
> own block and set its graphics.in_label & graphics.out_label in its 
> interface function (typically, the ones in 
> modules/scicos_blocks/macros/*).
>
> 4) That goes with the 1).
>
> 5) I don't understand why you would mask a superblock before designing 
> it properly. Masks are meant to be created once your block is stable, 
> so there's something I'm missing here.
>
For 5) it's quite natural to design a system it a top-down approach 
where you consider a subsystem as a black-box first, set up the 
requirements for this black box and how it will interact with the system 
as a whole, then design, or have designed, the inside of your black box. 
This enables a parallel workflow where an integrator can verify the 
behaviour and simulate the whole system when all parts are ready. Xcos 
is rather bottom-up because of the model verification for simulation 
done each time you insert a block.

In a sense, Xcos is more suitted for writing what's inside the black-box 
than for designing whole sytems where you typically less constrained by 
simulability but want to have a link to requirements, traceability, 
verification & validation, tests, costs etc.

This could also be a good idea to have black-box for import of other 
models (I think FMU here). You don't have the implementation for a 
subsystem but want to consider its input/output.

> Hope this helps!
> Regars,
> Paul
>
> On 04/12/2016 02:30 PM, Graham Bartlett wrote:
>> I've done quite a lot of work with Matlab and Simulink in previous 
>> jobs.  At my new place, I'm checking out Xcos (and hence Scilab) as a 
>> free alternative to Simulink, partly on principle, and partly so our 
>> team aren't constrained by bean-counters telling us how many 
>> development seats we can afford. :)
>>
>> What's currently bugging me with Xcos is subsystem and signal 
>> labelling, which are fundamental to building a design that's 
>> maintainable.  There are a few newbie things I'm trying to work out 
>> with this, none of which I've managed to find in the Xcos tutorials, 
>> help docs, or the wiki.  I went looking for a mailing list FAQ but I 
>> didn't see one.
>>
>> 1) The first one should be simple.  How do I make signals default to 
>> horizontal instead of rat's-nest (point-to-point)?
>>
>> 2) Perhaps related to that, is it possible to manually drag signals 
>> to where I want them to be laid out?  Some time back I used VisSim 
>> (for another example) - that also routed signals automatically, but 
>> it had a "wiring" block which let you direct them via a particular 
>> point.  I can't find anything like that in Xcos.  Of course I can use 
>> from/goto blocks where the automatic layout doesn't look good, or I 
>> could use unity gains or single-input sum blocks as a hack to force 
>> signals through some point without changing them, but none of that is 
>> really ideal. My rule of thumb is that if the design layout looks 
>> messy or rushed then the thought processes involved probably were 
>> too, and that makes me worried.
>>
>> 3) In Simulink, I can put labels on inputs and outputs.  If I've got 
>> a subsystem calculating biquad filter coefficients, say, I can label 
>> the inputs "cornerFreq", "qFactor" and "sampleTime", and the outputs 
>> as "b0/b1/b2/a0/a1/a2".  When I drop an instance of that subsystem 
>> into a diagram, those names will appear next to the inputs/outputs.  
>> That makes the design clearer, instead of having to dig into the 
>> subsystem and look for annotion text in there (or worse, figure it 
>> out directly from the design itself).  Is there a way to make Xcos 
>> subsystems do this?
>>
>> 4) Simulink lets you put names on signal flows as they come out of an 
>> output.  As the signal flow goes through the design, Simulink labels 
>> the signal.  Typically you'd give this a variable name.  Auto-coding 
>> can then use that variable name, or if you're coding up a design 
>> manually then you can use that name.  I can see the "Kalman" demo 
>> doing something like this (or perhaps like point 2, I can't tell), 
>> but I can't find anywhere how those names for flows are set up.
>>
>> 5) Masks.  If it's your own block, Simulink lets you look at the 
>> subsystem under the mask.  Xcos lets you put a mask on a block, but I 
>> can't then see any way to look at the subsystem under the mask, 
>> except by completely deleting the mask.  For us mere mortals whose 
>> designs don't always work first time every time, this could be a 
>> problem.
>>
>> Thanks folks.
>>
>> Graham.
>>
>> -------------------------------------------------------------------------
>> The information contained in this email may be privileged and is 
>> intended for the personal and confidential use of the recipient(s) 
>> named above. If the reader of this message is not the intended 
>> recipient or an agent responsible for delivering it to the intended 
>> recipient, you are hereby notified that you have received this email 
>> in error and that any review, dissemination or copying of this 
>> message is strictly prohibited. If you have received this email in 
>> error, please notify us immediately.
>> This message and any attachments are believed to be free of any virus 
>> or defect that might affect any computer system into which it is 
>> received and opened. However, it is the responsibility of the 
>> recipient to ensure that it is virus free; therefore, no 
>> responsibility is accepted for any loss or damage in any way arising 
>> from its use.
>> ---------------------------------------------------------------------------
>> Elektron Technology plc
>> Registered in England No.448274.
>> Broers Building, 21 JJ Thomson Avenue, Cambridge, CB3 0FA
>> _______________________________________________
>> users mailing list
>> users at lists.scilab.org
>> http://lists.scilab.org/mailman/listinfo/users
>

-- 
Pierre-Aimé Agnel
R&D Projects Manager
Phone:  +33.1.80.77.04.67
Mobile: +33.6.82.49.35.23
-----------------------------------------------------------
Scilab Enterprises
143bis rue Yves Le Coz - 78000 Versailles, France
Phone: +33.1.80.77.04.60
http://www.scilab-enterprises.com




More information about the users mailing list