Switching different batch names through a switch

Hi
I would like to connect three batches with different properties in Simulink/Simevents in parallel and then unite them with a switch.
The problem is that different batch names must be used for different properties, which cannot be combined at the input switch, as only one name is allowed there.
The problem description says:
This message is related to a hidden MsgSvcAdapter block.
Consider manually inserting such a block to debug the problem.
Unfortunately, I can't find any information about a MsgSvcAdapter.
Can you help me with my problem and explain how an input switch can switch different batch names?

답변 (1개)

Abdolkarim Mohammadi
Abdolkarim Mohammadi 2021년 9월 8일
편집: Abdolkarim Mohammadi 2021년 9월 8일

0 개 추천

Your description of the problem is a bit confusing for me. Are you talking about something like this?

댓글 수: 4

Yes, exactly.
Each batch should have a different parameter for "number of entities in the batch" and for this, different "entity type names" are necessary.
But the Switch can only switch batches with the same name.
Is there a solution for this problem?
In such situations you should create a general entity type. For example, if you have three products and you want them to have different attributes, you can create an attribute named ProductType and set it to 1, 2, or 3. Other attributes are the union of all of the attributes of the three types of products. The processing block, for example Entity Server or Entity Terminator, then processes the entities like the following:
switch entity.ProductType
case 1
% Attribute1 is only used when entity.ProductType == 1
entity.Attribute1 = 1;
case 2
% Attribute2 is only used when entity.ProductType == 2
entity.Attribute2 = 2;
case 3
% Attribute3 is only used when entity.ProductType == 3
entity.Attribute3 = 3;
end
The "input entity name" does not yet exist during entity generation.
Therefore, no attribute can be generated for it.
If the number of entities in a batch is different from the number of entities in the batches connected in parallel, then the error is displayed that the entity typed named "Batch" using different data properties for attributes.
And if the "Input entity name" is changed in a batch, then the error: Input Switch must have the same entity structure.
Does the solution still work with your code and if so, what do I have to change?
You are right. It seems that in addition to the type and attribute names for normal entities, the batch size is part of the structure of the batch entities. I don't have solutions for you right now. But in such situations where there is no ready-to-use block, the only solution would be to use MATLAB Discrete-Event System block, which enables you to author a customized block, using a syntax similar to MATLAB.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Discrete-Event System Objects에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

2021년 9월 7일

댓글:

2021년 9월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by