[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