i've tried to made a simple process with a random production of entitys.
I made a table to realize the random creation, and choose a number of 3. So the source should create just 3 entitys. But the source create more than 3, and i dont know why.
Could anyone help?
the purpose of setting your source to mode "Random/Zufall" is to have it choose randomly from the tablefile which MU(type) to produce next. Everytime the source wants to generate an MU, it will check the tablefile to randomly set its type.
If you want to limit the number of MUs that are generated in this random fashion, change the Source-parameter "Erzeugungszeitpunkt/GenerationTime" from "Intervall einstellbar/Interval adjustable" to "Anzahl einstellbar/Number adjustable" and define the total number of MUs:
thanks for the hint. It works.
But in this context, i have another question.
If I set my source for the maximum production to (for exapmle) 10 entitys. is it possible, to indicate an interval. I want that all my 10 entitys produce between 10 and 11 am for example.
Because i have to implement an arrival process for an elavator.
I am not sure which the best way could be to implement the problem
tanks and best regards
You can add a distribution to the setting creation times, but I think that this is too simple for your question.
Another option would be to set your source to "Delivery table" then you can define at what exact moment which MU and how many will arrive to the system. The disadvantage is offcourse that you eliminate the random behavoir.
To keep the random behavoir, you can set your source back to "Interval Adjustable" and the MU selection, you set to "Sequence". In this case you aslo need a table, and the source is creating exact the amount of MUs as defined in the table, but the advantage is that you can use the random distributiuons from Interval, Start and stop. So you can set a start time at 10 AM
have a look at the helpfile and check out the Trigger-object; I think it is what you need.
Search for "Teile mit der Quelle erzeugen" and then the sub-topic "Teile mit dem Objekt Trigger produzieren".
I only saw Auke's reply after posting mine, so one addition from my side; I think the advantage of the trigger-object will be that you can easily define different arrival-probabilities for different time-intervals (e.g. many people arrive in the morning going up, then until lunch time only few people want to use the lift, at lunchtime again many people arrive, then again until late afternoon, when everybody gets off work, not so many people want to use the lift).
If you only have the one timeslot from 10am-11am where people arrive, Auke's solution is simpler (but then why not just set the start-time of the Source to 10am).
this is exactly what i want to do.
I attached a picture of my elevator. On every floor is a soure that is like an arrival of people.
Like you said it, in the morning people come to work (between 7 and 10 am). In the noon, most peaple wants to go down for lunch. In the evening, every people wants to go home.
Can i write for every interval a trigger? So i have a tablefile, which is filed with a random distribution of an attribute (target).
So I can give every trigger the table and in combination with the inveral i gave it, it should be work???
But is it possible, du number the people who arrive?
Thanks and best regards!!!
I meant something like in the attached modelfile (I hope you can open it with your license?). But the Trigger-Source-combination does not seem to work properly/as expected, so I'll file an incident report with Siemens to check out, what is wrong here.
since the Trigger-Source-combination is currently not working as desired, here's a simple workaround: Let the source create infinite MUs and use a SingleProc directly behind the source to control the generation-rate. The Trigger sets the ProcTime of the SingleProc, so that you can define any arrival rate for any interval-lengths in the Trigger-values. The Trigger calls a method with code like this (e.g.); I have called the SingleProc "NextMUCycle":
( p_sOldTrigger : string; p_sNewTrigger : string; ) is sDistType : string; rDistPar1 : real; do -- apply new cycletime to NextMUCycle if (p_sNewTrigger = "") or (p_sNewTrigger = " ") then -- don't generate any MU's in this interval NextMUCycle.Unplanned := true; else -- generate MU's in this interval (assumption: negexp-distribution ==> 1 parameter) NextMUCycle.Unplanned := false; -- parse distribution for next/this interval sDistType := copy(p_sNewTrigger, 1, pos(",", p_sNewTrigger) - 1); if (sDistType /= "negexp") then debug; end; rDistPar1 := str_to_num(copy(p_sNewTrigger, pos(",", p_sNewTrigger) + 1, 100)); NextMUCycle.ProcTime.setParam(sDistType, rDistPar1); end; end;
The Trigger was setup like this and the resulting number of MU's per hour are shown next to it:
I hope this helps
so the steps could be:
1. Production of endless movable objects with my tablefile, which allocates them an attribute.
2.Behind the source, i have to initiate a single proc. in this singelproc, i can control the generation with a trigger. in this trigger, it is possible to define all times ans production it ist use to be.
For example for the setting of the trigger:
first time: between 7 and 10 am, the singleproc produce 80 movable objects.
second time: between 1 and 2 pm, the singleproc produce 80 movable objects
and so on
Did i understand it correctly?
Thanks and best regards!!! :-)