First you have to decide, if the service level is a input data or an output data. As output data you need to record data about estimated and real deliver dates (e.g. at the end of the model), with the differences you can calculate the service level of the system.
If the service level is a input data, you need to seperate the request from the (delayed) delivery (e.g. of a upstream storage system). This you can do with a seperated table. For each delivery you calculate the probability of a delay and if there should be a delay the duration. Calculate a new delivery date (eventcontroller.simTime+delay) and insert delivery date and MU(type) into a table. Using a generator and a method you can observe the table and trigger the delayed delivery, if the simTime is >= the delayed delivery time.
Thanks for your reply,
I intend to check the time between order is made, and order is receievd. So that I can check if customer is waiting much or not. I think the output idea you mentionied is the solution however, if I want to code this, to have a table with three colums, one is order made at time, one is order received at time, and duration.
Can you please help me with coding this. This is my model I have created.
Thanks alot !
your case is special: the customer don't get "his" product, he get the next finished product. So you cannot measure the dwell time of the production, only how long it takes to deliver the next product of the right type.
I cannot open your model to change it (I dont use the VSM library). But you could do the following:
Insert a table with 4 columns, first column: part name, second column: order time, third column: deliver time , fourth column: duration
in the exit control of the source you create a new line in the table (part name, order time) --> see command <table>.writeRow, eventController.simTime
then you add an entrance control to the drain. There you search the row with the right part and without deliver time --> insert delivertime and calculate the duration...
see help <table>.find
First I removed the VSM library and saved it without it. It should work now properly .
I managed to do the first part which is writing in service level table the name of part and time of arrival. However, there they are not aligned.
I did not manage to do the other thing which is to find for the value and insert the time of arrival. Can you please help me do it ?
first you need to correct the entry of the parts into the table:
the entrancecontrol of the drain may look like this:
for i:=1 to serviceLevel.yDim loop
--right part, no time in column 3
if serviceLevel[1,i] = @.name and serviceLevel[3,i] = 0 then
First, let me extend my deepest appreciation to you for your help and responsivness !
The code worked absolultly right !
I added it to a normal kanban model. Would you please have a swift look at this traditional kanban normal system, and tell me if it looks good in terms of programing the kanban method ? It differs than the previous model as it is only kanban. It's 3 stage process, and 2 products, just the same as the previous one. I should say here, I learned how to program the assembly, and customization from your book "
Tecnomatix Plant Simulation: Modeling and Programming by Means of Examples.
It's useful in learning how to program in plant sim
I look forward to hearing your valuable opinion !
you should remove the creation of empty Kanban-Cards in the init-method, you don't need them here