Labor Shift Overriding

90 views
Skip to first unread message

MAYUR SHAH

unread,
Mar 8, 2018, 4:10:33 AM3/8/18
to delmia_quest
Hi,

I have 5 labors working in 1st shift, 2 in 2nd shift and 1 in 3rd shift from Monday to Friday and my process requirement is like 2 labors are required for a process.

So I have created shift schedule in quest in following way-


Labor no.          1st shift       2nd Shift      3rd Shift
1                            Y                 Y                  Y

2                            Y                 Y      

3                            Y

4                            Y

5                            Y


So I created 1 full day(3 shift) schedule from Monday to Friday for 1st labor. 
2 shifts schedule for 2nd labor and 1 shift schedule for 3rd, 4th, and 5th labor. 

So when my work comes in 2nd shift on Monday , my 1st and 2nd labor involves. But after 2nd shift, work should be stopped as 2nd labor shift is over. but 1st labor shift is overriding the 2nd labor shift and work continues.


How can we stop the overriding of shifts ?


Regards,
Mayur Shah


BARNES Martin

unread,
Mar 8, 2018, 8:23:05 AM3/8/18
to delmia...@googlegroups.com
How do you identify that a machine is running a process during the 3rd Shift?
Do you check Run->Trace and look at the current status of the Machine?

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest...@googlegroups.com.
To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

MAYUR SHAH

unread,
Mar 8, 2018, 8:52:12 AM3/8/18
to delmia_quest
Yes. From trace

BARNES Martin

unread,
Mar 8, 2018, 10:18:53 AM3/8/18
to delmia...@googlegroups.com
Hmm.
Can you send the model and specify the simulation time at which you see the issue?

Best Regards,

Martin BARNES
Senior Software Consultant , Manufacturing - Consulting & Technical Services



Office: +1 248 205 5227
Mobile: +1 248 762 1775
Fax: 248 267 8585
martin...@3ds.com



3DS.COM




DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States


-----Original Message-----
From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of MAYUR SHAH
Sent: Thursday, March 08, 2018 8:52 AM
To: delmia_quest
Subject: Re: Labor Shift Overriding

Yes. From trace

MAYUR SHAH

unread,
Mar 8, 2018, 10:35:49 AM3/8/18
to delmia_quest
Ok..Will check and send tomorrow.

Thanks.

Regards,
Mayur Shah

Mohmed

unread,
Mar 9, 2018, 10:09:02 AM3/9/18
to delmia_quest
Hi Martin,
Here is the model Mayur is facing issue with. He is having trouble with upload.

Model and problem description from Mayur -

I have Machine 1 & 2 doing process 1 & 2 respectively. For process 2 I need 2 labors to do the process. Machine 3 is created just to keep labors at other location.

I have 1 labor class under whom I have 5 different labors. Labor 1_1, Labor 1_2 each has different shifts and Labor 1_3,1_4,1_5 has same shifts.

You may please check the labor status (who is out of shift) by halting the simulation at any shift end time labor status.

 

Shift 1

Shift 2

Shift 3

0700-1530

1500-2330

2300-0730

0700-1530

1500-2330

2300-0730

0700-1530

1500-2330

2300-0730

0700-1530

1500-2330

2300-0730

0700-1530

1500-2330

2300-0730

 

 Regards,

Mohmed

Trial.mdl

BARNES Martin

unread,
Mar 9, 2018, 1:07:15 PM3/9/18
to delmia...@googlegroups.com

Hi Mohmed:

 

Can you provide the simulation time at which you see a problem?

 

Best Regards,

Martin BARNES

Senior Software Consultant , Manufacturing - Consulting & Technical Services

3DS Logo

MAYUR SHAH

unread,
Mar 9, 2018, 9:30:08 PM3/9/18
to delmia_quest
Hi Martin,

You can halt Simulation at 1st day itself at 00:23:30:10. Here you can check the the labor who is working with Labor1_1 , should be out of shift. But as Labor1_1 has shift the othe labor continues the work.

So once the work of that Labor1_1 completes, the other labor takes a shift break and it delays it's next shift schedule by that many hours which he has worked extra.

Similarly you can check same things on other days also.

Regards,
Mayur Shah

BARNES Martin

unread,
Mar 10, 2018, 1:02:52 AM3/10/18
to delmia...@googlegroups.com
The issue here is that you have specified the shifts as covering different times.
If you specify a day starting at 07:00 - then when simulation clock is zero, the shift (7:00) starts.


If you specify each day as 24:00 hours and set breaks accordingly you will see that things behave in a more understandable manner.


Best Regards,

Martin BARNES
Senior Software Consultant , Manufacturing - Consulting & Technical Services



Office: +1 248 205 5227
Mobile: +1 248 762 1775
Fax: 248 267 8585
martin...@3ds.com



3DS.COM




DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States


-----Original Message-----
From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of MAYUR SHAH

MAYUR SHAH

unread,
Mar 10, 2018, 2:06:52 AM3/10/18
to delmia_quest
Ok..Thanks Martin.. will try that and let you know.

Regards,
Mayur Shah

BARNES Martin

unread,
Mar 10, 2018, 7:25:35 PM3/10/18
to delmia...@googlegroups.com
I took another look.
Changing the period of the day won't fix this.
I am investigating .....

Best Regards,

Martin BARNES
Senior Software Consultant , Manufacturing - Consulting & Technical Services



Office: +1 248 205 5227
Mobile: +1 248 762 1775
Fax: 248 267 8585
martin...@3ds.com



3DS.COM




DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States


-----Original Message-----
From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of MAYUR SHAH
Sent: Saturday, March 10, 2018 2:07 AM
To: delmia_quest
Subject: RE: Labor Shift Overriding

BARNES Martin

unread,
Mar 12, 2018, 2:06:40 PM3/12/18
to delmia...@googlegroups.com
I have investigated further and found that the issue is due to an incorrect behavior at the Day End for the Labor1_2.
The behavior is that the Day End is deferred - which is an option.
However my investigation shows that the Shift pattern Day End is correctly set to No defer.

I have fixed this with a modification to the Day End Logic for the Shift, in which it does no Day End deferral.
I attach a Powerpoint showing the assignment of the modified code (Slide 3) and the correct Machine behavior at that time.

I also attach the code.
You can compare it with the standard code.

Put the code into your Project's LOGICS directory, and then assign it as the Day End Logic of the Daily Schedule.

Let me know if you have any difficulty with this.

As I believe that this is a bug I will pass it along to the DELMIA Support Team.


Best Regards,

Martin BARNES
Senior Software Consultant , Manufacturing - Consulting & Technical Services



Office: +1 248 205 5227
Mobile: +1 248 762 1775
Fax: 248 267 8585
martin...@3ds.com



3DS.COM




DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States


-----Original Message-----
From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of MAYUR SHAH
Sent: Saturday, March 10, 2018 2:07 AM
To: delmia_quest
Subject: RE: Labor Shift Overriding

Labor1_1 is available at 23.pptx
modified_int_dayend.scl

MAYUR SHAH

unread,
Mar 13, 2018, 10:13:51 AM3/13/18
to delmia_quest

Thanks Martin , your solution solved the problem. But now we are stuck at the following scenario.



Model :

 

2 elements of Machine1 does process1 which has cycle time 0f 10 hrs. and labor requirement as 2 labors of class labor1

 

we have 6 labors in labor class labor1

 

 

Consider the situation :

 

machine1_1 is occupied by labor1_1 and labor 1_2

 

machine1_2 is occupied by labor1_3 and labor 1_4

 

Now labor1_2 and labor1_4 are getting out of shift at a time when half the process1 is completed at both machines

 

what is happening is labor1_1 and labor1_3 are stuck at their respective machines

 

what we want to happen is that they should both come at one machine at a time , finish the remaining process and then move to other machine and finish the process.

 

 

 

One basic query : How can we disengage a labor from a machine(machine 1) at its shift (morning shift) end while the process is still incomplete at the machine. And in continuation, how can we make the new shift(evening shift) labor to prioritize the unfinished process on machine1 one over new process at machine 2.


Regards,
Mayur Shah




 

Mohmed

unread,
Mar 15, 2018, 5:26:28 PM3/15/18
to delmia_quest
Hi Martin,
I was wondering if you happened to have a look at following issue from Mayur.

Thanks in advance.
-Mohmed

BARNES Martin

unread,
Mar 15, 2018, 6:45:37 PM3/15/18
to delmia...@googlegroups.com
Hi Mohamed

The email from me in this thread explains that I developed a solution and provided it.
Are you having problems with it?

Sent from my iPhone

BARNES Martin

unread,
Mar 15, 2018, 6:46:28 PM3/15/18
to delmia...@googlegroups.com
Sorry - Mohmed

Sent from my iPhone

Mohmed Shaikh

unread,
Mar 15, 2018, 8:45:58 PM3/15/18
to delmia...@googlegroups.com
Hi Martin,
Sorry for confusion. Actually somehow I am not able to quote last mail from Mayur while replying in the forum. 
After your solution we have come across another issue which Mayur has posted (as below) . Can you help?

Thanks Martin , your solution solved the problem. But now we are stuck at the following scenario.

Model :

2 elements of Machine1 does process1 which has cycle time 0f 10 hrs. and labor requirement as 2 labors of class labor1

we have 6 labors in labor class labor1

Consider the situation :

machine1_1 is occupied by labor1_1 and labor 1_2

machine1_2 is occupied by labor1_3 and labor 1_4

Now labor1_2 and labor1_4 are getting out of shift at a time when half the process1 is completed at both machines

what is happening is labor1_1 and labor1_3 are stuck at their respective machines

what we want to happen is that they should both come at one machine at a time , finish the remaining process and then move to other machine and finish the process.

One basic query : How can we disengage a labor from a machine(machine 1) at its shift (morning shift) end while the process is still incomplete at the machine. And in continuation, how can we make the new shift(evening shift) labor to prioritize the unfinished process on machine1 one over new process at machine 2.


Regards,
Mayur Shah


To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.

To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.

To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.

BARNES Martin

unread,
Mar 16, 2018, 11:16:17 AM3/16/18
to delmia...@googlegroups.com

Hi Mohmed:

 

I cannot see an easy way. Anyone else?

 

I can only give some general guidance on this as it will take some work and testing to know where to make the change and what change to make.

My approach may not be the only one.

It looks like some heavy SCL work, which may end up as only a few lines of code of course, but it will take some effort to get there.

 

When a Laborer goes on a break or end of the day, an Interrupt Logic (def_day_end_logic in int_dayend.scl) is triggered for the Laborer.

This is the Logic that I modified for you.

 

Then, in turn, an Interrupt Logic is triggered for the Machine to controls what happens to the Machine. (Model->Aux->User Interrupt->Create/Modify can be used to set alternatives).

These Interrupt Logics have options that can be selected, but it is not easy to see which ones to set and to understand what they do.

 

You will need to investigate – see below and then choose what you want to set – or write your own, which in this case may be the easiest route.

 

I am not sure which SCL file or SCL procedure is involved.

I think that it is def_user_interrupt_logic in predef_uintr.scl.src (in SYSDEF/LOGICS) and then this will call def_agv_lbr_preempted in the same file.

 

To find out, copy the file predef_uintr.scl.src to your project LOGICS directory, and rename it to predef_uintr.scl.

Then add a write statement at the start of each procedure.  It is important to do this for each procedure – see below – as you don’t know which one is used.

e.g. write(sim_time,<procedure name>, celem->name, cr)

 

This will enable you to select the appropriate User Interrupt Settings

 

Now when you run the simulation you should see one or more write statements showing you which procedure is being used.

Review the code in that procedure to see what it does and maybe add more write statements until you fully understand what is going on.

 

However, you also do need to think through exactly what you want to happen, or you will solve one problem only to hit another unexpected one.

 

e.g.

What do you want Labor1_2 to do when it starts the next day

                Be available for any job?

                Resume work on the same machine?

What do you want Machine2_3 to do when Labor1_2 ends its day?

                Release both laborers (see above)

                Abort the part?

                Require the same laborers (when available) to resume the work, or be OK with any 2 laborers?

                Remember how much process time has been done and just do the remaining work?

 

Once you have this clearly specified, you can start working with the code as above.

Note that you will probably need to reset the machine process logic, and unreserve the laborers at some point.

 

 

 

Best Regards,

Martin BARNES

Senior Software Consultant , Manufacturing - Consulting & Technical Services

3DS Logo

3DS.COM

DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States

 

 

From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of Mohmed Shaikh
Sent: Thursday, March 15, 2018 8:46 PM
To: delmia...@googlegroups.com
Subject: Re: Labor Shift Overriding

 

Hi Martin,

Jaime Prieto

unread,
Mar 24, 2018, 8:41:24 AM3/24/18
to delmia...@googlegroups.com
Thanks Martin, good job as always, especially this time.
I am attaching an example model with 1 machine and 3 labor classes (one per shift).

Regards


Hi Martin,

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.


To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.


To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.


To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.


To post to this group, send email to delmia...@googlegroups.com.
Visit this group at https://groups.google.com/group/delmia_quest.
For more options, visit https://groups.google.com/d/optout.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest+unsubscribe@googlegroups.com.
AGV_Labor_Interrupted.PNG
Labors.mdl
int_dayend_mod.scl

BARNES Martin

unread,
Mar 25, 2018, 8:00:54 AM3/25/18
to delmia...@googlegroups.com

Thanks Jaime:

 

This is a nice example of altering interrupt behavior.

 

To all:

 

I find that interrupt behavior is pretty tricky because:

                It’s not obvious what the options do

The various parts of it are in different SCL files

                I have to think through the consequences of a change carefully and then handle these consequences, or I end up solving problem after problem

 

If you are weird like me, you can enjoy the process of solving these tricky problems, but they can slow you down.

 

So, in estimating the effort on a project it is a good idea to add this to the list of more difficult things to do, such as non-standard AGV/Labor behavior.

 

Best Regards,

Martin BARNES

Senior Software Consultant , Manufacturing - Consulting & Technical Services

Office: +1 248 205 5227
Mobile: +1 248 762 1775
Fax: 248 267 8585
martin...@3ds.com

3DS Logo

3DS.COM

DS Americas Corp. | 900 North Squirrel Road, Suite 100 | Auburn Hills, MI 48326 | United States

 

 

From: delmia...@googlegroups.com [mailto:delmia...@googlegroups.com] On Behalf Of Jaime Prieto
Sent: Saturday, March 24, 2018 8:41 AM
To: delmia...@googlegroups.com
Subject: Re: Labor Shift Overriding

 

Thanks Martin, good job as always, especially this time.

Regards

 

Shubham Chaube

unread,
Apr 19, 2018, 8:57:24 AM4/19/18
to delmia_quest
Hi Jaime 
I found an issue with this approach. Suppose we put a break in between the shifts and consider we have 4 labors in class Labor_S1. 
suppose Labor_S1_1 and Labor_S1_2 are working on the machine. now the break comes and it ends. what happens after the break is that Labor_S1_3 and Labor_S1_4 continues the process on machine instead of Labor_S1_1 and Labor_S1_2.
How can we avoid this ?
Any Suggestions/solutions will be helpful.

Regards
Shubham Chaube 

Hi Martin,

To post to this group, send email to delmi...@googlegroups.com.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest...@googlegroups.com.

To post to this group, send email to delmi...@googlegroups.com.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest...@googlegroups.com.

To post to this group, send email to delmi...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

To unsubscribe from this group and stop receiving emails from it, send an email to delmia_quest...@googlegroups.com.

To post to this group, send email to delmi...@googlegroups.com.

This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer

--
You received this message because you are subscribed to the Google Groups "delmia_quest" group.

BARNES Martin

unread,
Apr 20, 2018, 9:04:47 AM4/20/18
to delmia...@googlegroups.com

One thought here  - does it matter?

I can see that in some cases it would but equally in some cases it would not, so it would be useful to know.

Shubham Chaube

unread,
Apr 23, 2018, 1:26:27 PM4/23/18
to delmia_quest
Just like you said, our case happens to be one of those where this would matter.

BARNES Martin

unread,
Apr 23, 2018, 4:07:59 PM4/23/18
to delmia...@googlegroups.com

Hi:

 

Well I can’t think of an easy workaround to this.

You would have to modify code and this will take some thought.

It’s probably not a lot of code but it has to be the right code in the right place J

 

I won’t get time to work on this for 2 weeks – has anyone else some ideas to help?

Reply all
Reply to author
Forward
0 new messages