Available time HumanResources

All topics on the Atoms in any Enterprise Dynamics Library.
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Available time HumanResources

Post by EvelineHermans »

Hi,

I've two reqestions regarding HumanResource.
1) I would like to monitor (using a Generic Monitor) the output per uptime_HumanResource. What code can I use to refer to the up-time of my HR-team? I now use this code for output / hour, but I would like to change "Time" to "Time_HR" in where HR was actually able to perform tasks:

Code: Select all

Output(refProduction) * 3600 / ((Time + 0.00001))
2) Is there a method to monitor the time in where HumanResources is (i) busy doing tasks, (ii) waiting for tasks? What atom do I use for this and what script do I use?

Thanks!

Eveline
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Available time HumanResources

Post by Bram de Vries »

Hello Eveline,

May I ask which atom you are using to regulate the availability (uptime/downtime) of your Human Resource team?

Kind regards,

Bram
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Available time HumanResources

Post by EvelineHermans »

Yes sure. I have two atoms: HumanResourceTeam & HumanResourceScheduele.
There are 9 HR team members in total and they are split up (3 by 3) into 3 schedueles (early, late and night shift). The shifts do not overlap each other.

Kind regards,
Eveline

PS: Till now I do not initialize the HumanResourceScheduele, but maybe in future I would like to do that to check if other schedueles are more optimal.
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Available time HumanResources

Post by Bram de Vries »

Hello Eveline,

I attached a model to explain a method that I think might help you. What I did is create a simple Source-Queue-Server-Sink model, where the server calls an agent for the incoming product on its enry trigger and releases this agent on its exit trigger. Unfortunately, for my method I had to use an Availability Control atom combined with a Time Schedule atom instead of the HumanResourceSchedule atom. But these atoms can also be used to create a schedule for your Human Resources (it is however probable that you will need more teams than you currently have).

What I then did was create a table with 4 columns and 1 row for the administration of the Human Resource Up- and Busy times. On the Up and Down triggers of the Availability control, I added some code which will register the last time when the Human Resource became available in the second column of the table and the total time that a Human Resource has been available in the first column. As you will see in the model, these times will correspond to the schedule Up times.

For the busy time of the Human Resource, I used a similar method involving the third and fourth column of the table and the When called and When freed triggers of the Human resource itself.

I hope this helps you along,

Bram
Attachments
HRAdmin.mod
(18.01 KiB) Downloaded 399 times
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Available time HumanResources

Post by EvelineHermans »

Hi Bram,

Thank you very much!! This is exactly what I needed :)
Am I correct now that I just have to "copy & paste" the three atoms (time scheduele, availability control and HR-team) for each HR team that is involved in my model? Of course I will not forget to change cell-references to the table where the up and busy times have to be written.

Thanks a lot :D
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Available time HumanResources

Post by Bram de Vries »

Hello Eveline,

You're welcome! And you are correct. You can have as many HR-teams as you want and you can assign a schedule to each team by using an Availability Control atom and a Time Schedule atom. Of course, you can also use one combination of an Availability Control and a Time Schedule for more teams if these teams should have the same schedule. As long as you have a cell in your table for each HR-team and each Human Resource this should work just fine.

Kind regards,

Bram
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Available time HumanResources

Post by EvelineHermans »

Hi Bram,

I now implemented the 3 HR-teams into your sample model, but unfortunately still only one team is called by the server.
Although I created a reference for all HR-teams (refHumanResourceTeam), only one out of three teams is called and no tasks are given to the other teams.

I attached the model to clearify my explaination. Can you help me to solve this? Maybe I have to give each team a different reference? But how to call them then if a product enters the server atom? For me it doesn't matter which HR is called as long as any HR is called..
HRAdmin_3teams.mod
(37.54 KiB) Downloaded 383 times
Thanks in advance!

Eveline
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Available time HumanResources

Post by Bram de Vries »

Hello Eveline,

You should indeed give each team a different reference, because the function to call an agent will just select the first team it finds with a certain reference (which will always be the same team, explaining your problems).

I see that the shifts of the teams do not overlap (like you said before), so maybe you could use some kind of condition on the simulation time to check which team should be called at a certain time. You can use the 4DScript command Time to request the simulation time. Also, I saw in another topic that you found the command Mod. I would advise you to use this here as well.

I hope this helps, but feel free to let me know if you have any more questions.

Bram
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Available time HumanResources

Post by EvelineHermans »

Thanks Bram, I indeed think that something like you suggest should work.
However I tried to fix it myself, I really have no clue where to start.

For now I wrote a function in a FunctionEditor atom that calls the HR-team depending on time, but I unfortunately don't know how to implement a kind of loop that checks the scheduele up- and downtimes and correlates it to the HR-team that is being called.

Code: Select all

If(
Time < hr(7.45),
HumanResourceTeam_CallResources(refHumanResourceTeam1, c, i, p(1), p(2)),
HumanResourceTeam_CallResources(refHumanResourceTeam2, c, i, p(1), p(2))
)
HRAdmin_conditioncheck.mod
(39.83 KiB) Downloaded 375 times
Also I don't know how to define the Mod-function in this context as now different actions have to be undertaken every 8x hours.
Updown teams.PNG
Updown teams.PNG (5.54 KiB) Viewed 10382 times
Where and how do I start? Can you maybe help me with an example?
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Available time HumanResources

Post by Bram de Vries »

Hello Eveline,

I just remembered a function that might make things easier.. What we are trying to do is measure the time your Human Resources are in a particular status. For this, we can use the function StatusTime. The statuses for the Human Resources are visible in your model (Idle, Busy or Not Available) and with StatusTime you can retrieve how long a Human Resource has been in a particular status. If you go to the Help files in ED, you can search for statuslist, which will give you an overview of the indices for the different statuses (idle = 1, busy = 2 etc.). You can then use these indices in the function; StatusTime(In(1, c), 1) will give you the time that your Human Resource has been idle during the simulation (in this case of course only when your Human Resource is connected to the first inputchannel of the atom that you write this function on).

This way, you can also go back to using one Human Resource team together with the HumanResourceSchedules atom. I believe this has advantages for you over the method which I previously described.

Kind regards,

Bram
Post Reply