How do you read an attribute from one part of a composite entity

5 次查看(过去 30 天)
I have two entities that create a new composite entity. After that creation I will need to access an attribute from one of these entities in the composite entity. How do I do that?

采纳的回答

Abdolkarim Mohammadi
编辑:Abdolkarim Mohammadi 2020-5-19
Composite entities retain the hierarchical structure of the constituent entities. There are two ways:
(1) Directly method. If you name your constituent entities E1 and E2, you can access the original attributes by using entity.E1.Attribute.
(2) Indirect method. You can first split the composite entity and read their attributes separately. I have implemented both methods in the attached model.
  2 个评论
Mats
Mats 2020-5-20
Thanks, just as i expected. I realized now when I read your answer that my problem was a bit more specific.
I am trying to use a Entity Selector with a composite entity and that is what doesn't work. It does not seem to accept composite entities.
Abdolkarim Mohammadi
编辑:Abdolkarim Mohammadi 2020-5-20
Now the best way to implement this is the MATLAB Discrete-Event System block, where you can programatically define any discrete-event system. The entity selector block itself is implemented as a MATLAB Discrete-Event System block. There you can define that, for instance, when an entity arrives into the first input port into Storage 1, the block iterate over Storage 2 to do whatever is desired on every entity in that storage using eventIterate method.

请先登录,再进行评论。

更多回答(1 个)

Krishna Akella
Krishna Akella 2020-12-1
Hi Mats,
Entity Selector block is expected to work with both composite entities as well as batched entities. I think the attribute name for the 'key' entity is not set correctly. Probably 'P.PA.nuffra' should read differently?
I have attached a similar model as yours (R2020a) and I am able to simulate it and the results also seem to be as expected.
Thanks & regards,
Krishna

类别

Help CenterFile Exchange 中查找有关 Queue and Service 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by