
ptkolodziejczyk
Members-
Posts
27 -
Joined
-
Last visited
About ptkolodziejczyk

Converted
-
LOCATION
Delft, NL
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
ptkolodziejczyk's Achievements
Newbie (1/14)
0
Reputation
-
I am afraid you need to go around and create a state variable within the entity to hold the row number when you set the table row. Then, for a new entity you need just to use it for the SetRow step.
-
Buffer without Server/WorkStation
ptkolodziejczyk replied to luizfvpereira's topic in SI General Discussions
In my opinion you should use a custom node with a station element. Additional storage elements might be required depending on how sophisticated are your rules for job allotment. You can even add extra storage elements to the servers if pre-selection per machine is desired. Mind that a station represents a physical location and an entity can only be in a single one at a time, while a storage element is a custom queue, and an entity can be in multiple of these queues (but not twice in one queue). In a simple situation an entity (job), having left server n, automatically enters the buffer station at the node and is ranked, based e.g. on priority. Then, when a server m finishes a job, the first entity in line goes to it. -
Unfortunately I cannot open Academic licenses but from what you wrote you are comparing your list reference rpSynchroStation to a name and thus get a mismatch comparing reference to a string. To solve it you need to search through your list to actually get the name. I do not know how the model is set up, but if you need to do a multi-level search (for every output node search through the list), you need two searches after each other. Mind that if there are a lot of elements in these searches, and if you execute it often, you might get performance issues.
-
Server Processing State Variable
ptkolodziejczyk replied to simiouser1's topic in SI General Discussions
To acess a state variable of an entity that is being processed at a server (let's call it Server1) you should type the following into the label, assuming there is only a single entity at the server: Server1.Processing.Contents.FirstItem.ModelEntity.Name Mind that you will get a warning if you run with such expression in a label, because you will be at times trying to reference an entity at an empty station. Then, you should expand the expression to: Math.if(Server1.Processing.Contents.NumberWaiting != 0, Server1.Processing.Contents.FirstItem.ModelEntity.Name, "") -
Time TransferNode is occupied
ptkolodziejczyk replied to simiouser1's topic in SI General Discussions
You can create a list state with 2 values: occupied or empty. Then every time an entity enters you set to occupied and when it leaves you check if it is the last entity and if so then set it to empty. The rest is taken for you and you can access percentage or total times easily. Otherwise, you need to have 3 global variables, call them Sum, Aux (both Real) and and Occupied (Boolean) to keep track if occupied. Then: OnEntered: If not Occupied then Aux = TimeNow, Occupied = True. OnExited: If Node.NumberTravelers == 0, then Sum = Sum + Aux - TimeNow, Occupied = False. -
Time TransferNode is occupied
ptkolodziejczyk replied to simiouser1's topic in SI General Discussions
To know the exact times for individual entities you need to define state variables within you entity and compare the time between OnEntered and OnExited events. If you want to know general statistics of all you entities you should use a Tally Statistics. Then you also measure waiting time OnExited as: TimeNow - ModelEntity.TimeEnteredNode -
Complex Selection Condition doesn't work?
ptkolodziejczyk replied to Damarow's topic in SI General Discussions
The first expression you wrote is not a selection condition but a logic statement, that can evaluate to 1 or 0. For selection you need to use the Candidate construct as in the second expression. E.g. ((Candidate.Server.AttributeA == 1) && (Candidate.Server.AttributeB == 2)) Mind that there is a difference between using .Is and ==, the first of which checks if the candidate belongs to a particular class, and the latter checks for a value. Finally, AssociatedObject to a node might not be assigned. Make sure it is and that it is of the right class. -
Searching for alternate function to RandomRow
ptkolodziejczyk replied to FOUADELALBI's topic in SI General Discussions
Ah, so you want to create 10 different entity types at the same simulation time? Why? What is the fundamental difference between them? Typically, you have 10 initializations of the same type, that you distinguish by giving them various values of state variables, especially in a small model like yours. My suggestion from above will not work. The error happens because you have not set a row in the table. Make your own add-on process that handles it if you really want to do it like that, I do not think the standard library source supports what you are trying to do. I would seriously rethink your approach though, it does not seem right. As for states, if you want your entities to have different processing times, the easiest way is to create a state for your ModelEntity that you use as a processing time. It won't automatically read the values from a table without setting the appropriate row, and the entity does not 'remember' it. Well, it can but that would be a bit more difficult. -
Searching for alternate function to RandomRow
ptkolodziejczyk replied to FOUADELALBI's topic in SI General Discussions
I cannot open files with academic license but can help with the problem: First of all, do not set the interarrival time to 0, that is dangerous, use entities per arrival to have more than one at the same time. If you set a row on Before Creating Entities, you will get the same row for all entities per arrival. Instead, you should assign jobs On Created Entity, once you already have them. Then you can assign the values to entity states and go forward with processing. For the target, make a queue (storage element) minimizing the processing time and always take the first element. -
Road works iteration throughout the month
ptkolodziejczyk replied to MQasim1's topic in SI General Discussions
I am sorry but I see 2 problems with your request: 1. I am pretty sure that Simio would not appreciate solicitaion here 2. Judging from your academic license you are either a student or a researcher, the latter less likely. Taking shortcuts will not help you, and there is a good chance it would be plain cheating. You can do it, you just need to put enough effort. I wish you good luck. -
Road works iteration throughout the month
ptkolodziejczyk replied to MQasim1's topic in SI General Discussions
By freespace (Simio concept, see help) I mean not using nodes and paths to direct the movement of your entities, but have them roam 'free', and their progress be determined by heading, speed and duration. I don't know exactly how detailed you need your problem to be modeled but if it is just one road and with limited equipment it should not be too bad. The map underneath does not influence the execution of your simulation in any way, so it is up to you to decide whether it provides value to your solution. -
Road works iteration throughout the month
ptkolodziejczyk replied to MQasim1's topic in SI General Discussions
I cannot open your model. Please mention that you are using academic license in the future. I do not think there is a good SimBit showing interactions among multiple vehicles. I would strongly advise against that, as you need a node every time (precisely knowing where it happens!) and animation would not look nice. However, what is the purpose of the simulation then, if you know your progress exactly? If you want to show nicely the progress of the works even when you make different progress on various days I suggest doing everything in freespace. This will work only if you accept straight-line movements. You can store the progress in a variable and smoothly iterate in steps. For every day the vehicle will store then e.g. starting position, progress goal, movement direction. Add a vector for a vehicle for progress/distance/whatever for each day. Add a tally for average results among multiple vehicles. With limited number of vehicles you can reference them and create custom events to move around and offset truck from excavator etc. A lot of tedious work. Unless you really need to carry cargo between locations or use multiple resources for a task, use entities instead of vehicles (way simpler). Interaction between entities in freespace will be a challenge though, but you should manage with absolute/relative coordinates. -
can I measure the electricity consumption in Simio
ptkolodziejczyk replied to Abdullah's topic in SI General Discussions
You can set up a level variable and then add a positive rate when it is in use. See e.g. SimBit called Electric Vehicle.