Modelling a conveyor mechanism

All topics specific to modeling questions in Enterprise Dynamics
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Modelling a conveyor mechanism

Post by Jtran »

Hello

I hope someone can help me.
I would like to model a conveyor which receives goods from an elevator. The conveyor is very long, and therefore the conveyor in the start should buffer a fixed amount of products before starting the transportation. At the same time the flow from the elevator is irregular, which means that sometime it might take a while before the buffer reaches x size. Therefore, I would like to insert a timer which measures when the last product entered the buffer, and if at some point this exceed x seconds, then the goods in the buffer will ship anyways.
I tried playing with the buffer conveyor and advanced conveyor, but was unsuccessful. Can someone perhaps help me, or show an example of how to model this mechanism?

Best regards,

Jesper
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a conveyor mechanism

Post by HarryBunnik »

Hello Jesper,

I'm not fully understanding your model description. You're talking about an elevator and a conveyor behind the elevator. But then you're talking about a conveyor in the start. Where is this start conveyor located?

Can you otherwise post the model that you've made sofar, so I can see what you try to do?

Regards,

Harry
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Re: Modelling a conveyor mechanism

Post by Jtran »

Hello Harry

Sorry for my confusing explanation, i have attached my model.

The model i have attached is not finished yet, and there are a lot of processes i have yet to model and improve upon, so sorry if some of it may look a bit messy. The area i was discussing, is at "Metro elevator1". The purpose of the elevator is to transport the goods created from the kanban flow to the conveyor belt, so it can be transported over to the adjacent facility. In order to reduce the amount of times the long conveyor belt has to run, it batches units too be transported after the elevator has moved the goods on to the long conveyor belt. It batches 10 units at a time. To ensure that the goods does not wait too long, it will move it if no new arrivals has occurred within 5 minutes even though it does not have a full batch.

Hope this makes more sense now.

If you happen to notice anything which could be optimized in relation to other parts in the model, feel free to point it out :)

Best regards,

Jesper
Attachments
SMD simulation v1.mod
(909.72 KiB) Downloaded 180 times
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a conveyor mechanism

Post by HarryBunnik »

Hello Jesper,

I had a look and think that you need for your situation a more specific solution.

What I would do is:
- OnEntry of the conveyor (if content of the conveyor is 1, so a new, first product of a batch entered), I would close the output of the conveyor and write the current time in a label.
- Then you'll need a check, since after 10 products, you would like to open the conveyor again,
- Or after 300 sec. Whatever is reached first.

To be able to open the conveyor after 300 sec. you'll need to use the "User Events" atom (Library => TIME). Here you create an non-time scheduled event (with a 300 sec. delay) to open the conveyor, which we call "TimedEvent_BufferConv". This can be called using a function with the same name ("TimedEvent_BufferConv") as the event you just created.

In the event you place code to:
1. Check if the first product entered really 300 sec. ago (it can be that already 10 products have passed and the cycle was started again).
2. If so, close the input of the conveyor, open the output of the conveyor and set the time-label back to 0.

- The event function that you used made, you have to call in your OnEntry code of the conveyor. So we get code like (sorry for the format of the code, but all preceding spaces are removed...):

Do(
var([valBufferSize], vbValue, 10),

If(
Content(c) = 1,
Do(
Label([StartTimeBatching], c) := Time,
CloseOUtput(c),
TimedEvent_BufferConv
),
If(
Content(c) = valBufferSize,
Do(
OpenOUtput(c),
Label([StartTimeBatching], c) := 0
)
)
)
)

On the OnExit we need to make sure then that the conveyor opens again when the last product leaves the conveyor:

If(
Content(c) = 0,
OpenInput(c)
)

I've made some adjustments to you model, so you can see what I did.
SMD simulation v1_HB.mod
(912.38 KiB) Downloaded 184 times
I hope it helps you further,

Harry
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Re: Modelling a conveyor mechanism

Post by Jtran »

Hello Harry

Thanks for the help so far.

I tried implementing the code in my model, and it seemed to work fine.
I tried adding an additional source, in order to increase the load of the conveyor system, to see if it would function as desired. I tried this both in my model and the one where you implemented the code. I am not sure if i am missing something fundamental, or if its because you are using a newer engine revision(mine is 2641 and yours is 2685), but the model is not batching. It is instead receiving the product, and not allowing any more product to enter, until the timer reaches 5 min. I understand your coding, but can not see why it will not receive the product.

I have attached my new version of the model with your current rendition of the code.

Hope you can help me :)

Best regards,

Jesper
Attachments
SMD simulation v1.mod
(924.19 KiB) Downloaded 185 times
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a conveyor mechanism

Post by HarryBunnik »

Hallo Jesper,

I think this has to do with the type of conveyor that you've chosen.

I see that the conveyor is an advanced non-accumulating conveyor. So once a product has reached the end of the conveyor, the complete conveyor stops and is no longer able to receive any additional products. If more products arrive with the elevator (capacity set to 5), you'll see that these are all allowed on the conveyor, since the conveyor is still moving.

An advanced accumulating conveyor will allow products to enter when the first product is already at the end and laying still (you can see this as a belt (non-accumulating) against a roller conveyor (acculating), where the latter would be the better choice here.

I hope this helps you further.

Cheers,

Harry
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Re: Modelling a conveyor mechanism

Post by Jtran »

Hello Harry

Ahh, my mistake.

Thanks!

Best regards,
Jesper
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Re: Modelling a conveyor mechanism

Post by Jtran »

Hello

I hope someone is able to help me with another conveyor issue.

I have attached my model.

I have a machine that can contain three products. One product on the inbound conveyor, one on the outbound conveyor, and the one in the middle which it can process. As this is not possible to model with a single atom from what i have see, i have been using conveyors to model them. The issue start when in want to make products changeover. The inbound and outbound conveyor plus the process needs to be emptied before i am able to make a changeover, and allow the next product type in the machine. The changeover should only occur if there are products occupying one of the given places, and it should then last 20 sec which starts from the point it has been emptied.

Best regards,

Jesper
Attachments
Process conveyer example.mod
(38.9 KiB) Downloaded 170 times
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a conveyor mechanism

Post by HarryBunnik »

Hello Jesper,

I think you can arrange this by placing a CloseInput(c) and a UserEvent (UserEvent atom under TIME in the library) which you can give a delay of 20 sec, before executing the UserEvent code (the OpenInput(i)), where i is the involved atom and refers to the conveyor that must be opened again. Of course this event only should be called when there is a changeover.

I hope this helps you further,

Regards,

Harry
Jtran
Posts: 15
Joined: Wednesday 04 October, 2017 - 11:44

Re: Modelling a conveyor mechanism

Post by Jtran »

Hello Harry

Thanks!

I have tried as suggested, but i can only get it to delay the opening of the output for 20 sec. I need it to first wait until the amount of products in both conveyors and the process are gone, and then start the 20 seconds delay.
If it is full and want to wait until my variable(of products in converyor and process) reaches 0, and i insert it into the User event code, then nothing will happen because it will only execute it one time, which is when the products enter the process.
Need some kind of way for it to continuously consider to code when the event has been activated.

I have attached the model with userevent.

Best regards,

Jesper Tran
Attachments
Process conveyer example.mod
(44.15 KiB) Downloaded 171 times
Post Reply