Savchenko - Assembling Station Modelling in Excel VBA
Savchenko - Assembling Station Modelling in Excel VBA
Savchenko - Assembling Station Modelling in Excel VBA
2
HITEL GmbH, Redtenbachergasse 25/1/12, 1160 Vienna, Austria
[email protected]
Initially, during the simulation, times in the model are displayed in a [hh]:mm:ss
format, i. e. using over-24-hour «endless» calculation. It is necessary as the model
usually simulates greater periods than 1 day, but at the same time is not tied to the
concrete year and month. Table 1 shows an example of this time format, presenting
production start times of 5 consecutive orders.
The format is not user-friendly. It is hard to guess which moments in real time
correspond with the table data. There, the time starts at 00:00:00 and goes without
interruptions. Basically, the table shows the total number of passed working hours (as
if the enterprise worked 24/7 uninterrupted) plus 8 hours before the start of the first
day’s shift. However, the model requires that the working shift at the enterprise last
from 8:00 to 16:30, with a 30-minute lunch break from 12:00 to 12:30. Moreover, the
enterprise is planned to operate 5 days per week. Outside of this range, no working
operations are possible. The shift parameters are presented in the table 2.
Event Value
Shift start 8:00:00
Shift end 16:30:00
Lunch break start 12:00:00
Lunch break duration 0:30:00
Working days per week 5
Correction 0:00:00
=IF(<order number>="","",CONCATENATE
("Week ",TRUNC((TRUNC((<internal time>-<shift start>)/
(<shift end>-<shift start>-<break duration>)+<correction>))/
<working days per week>)+1,
", Day ",MOD((TRUNC((<internal time>-<shift start>)/
(<shift end>-<shift start>-<break duration>)+<correction>)),<working days
per week>)+1,", ",
TEXT(MOD((<internal time>-<shift start>+<correction>),<shift end>-<shift
start>-<break duration>)+<shift start>+IF(MOD((<internal time>-<shift
start>+<correction>),<shift end>-<shift start>-<break duration>)+<shift
start>><break start>,<break duration>,0),"hh:mm:ss")))
The formula is applied only to the non-empty order lines. It uses CONCATENATE
to create a final version consisting of three elements: week number, day number and
time. The number of full passed weeks is calculated by dividing the internal time by
the daily shift duration, then by the number or working days per week. To exclude the
current week data from the calculation, TRUNC is used. At the end, 1 is added to the
number of full passed weeks to display the current week. The number of full passed
days of the current week is calculated as the remainder (MOD) of the division
described above. At the end, 1 is added to the number of full passed days to display
the current day. Finally, the current time is calculated as the remainder of the division
of internal time by the daily shift duration. If the result is higher than 12:00:00 (start
of the break), then it is automatically prolonged by the duration of the break (i. e. the
event calculated to happen at 12:15 actually happens at 12:45 because of the 30-
minute break). During the calculation of all three elements, a correction is added to
avoid the ambiguity of «borderline» time moments like 08:00:00 and 16:30:00.
The same production start data as in the table 2, but recalculated for users and
presented in the real-time format, are shown in the table 3.
The VBA algorithm used in the model addresses the production process as the
sequence of discrete events. The model calculates starting time points for every order,
6
from top to bottom. For every order, the model establishes a connection with the list
of materials delivered in the simulation period. (An order may require more than one
delivery). In general case, the starting time point is calculated as the maximum of the
following variables:
• shift start;
• time of the latest material delivery;
• end time of the previous order.
When the first order is simulated, third condition is excluded. When there are
enough materials present at the start of the simulated period, delivery is unnecessary
and the second condition is excluded. The algorithm in pseudocode is presented
below.
Appendix
Fig. 1. A fragment of UKoSim results interface (in German). Marked is the line
«Pönalekosten» (penalty costs). These costs are based directly on delivery delays,
caused among others by production delays at the assembling stations.
9
References
1. Aldin, L., de Cesare, S. A literature review on business process modelling: new frontiers
of reusability. In: Enterprise Information Systems, pp. 1–25. Taylor & Francis, Uxbridge,
UK (2011).
2. Barosz, P., Golda, G., Kampa, A. Efficiency Analysis of Manufacturing Line with
Industrial Robots and Human Operators. Applied Science, 10(8):2862 (2020)
3. Bubenko, J., Persson, A., Stirna, J.: User guide of the Knowledge Management approach
using Enterprise Knowledge Patterns. Royal Institute of Technology (KTH) and
Stockholm University, Stockholm, Sweden, (2001).
4. Jeston, J.: Business process management: practical guidelines to successful
implementations. Elsevier, Oxford, UK (1993).
5. Horkoff, J., Jeusfeld, M. Enterprise Modeling for Business Agility. Business &
Information Systems Engineering, 60(1), 1-9 (2018).
6. Matson, J., Elizandro, D. Discrete Event Simulation Using Excel/Vba. In: 2005 ASEE
Annual Conference proceedings, pp. 1-11. American Society for Engineering Education ,
Portland, USA (2005).
7. Sandkuhl, K., Stirna, J.: Enterprise Modeling: Tackling Business Challenges with the 4EM
Method. Springer-Verlag, Berlin, Germany, (2014). DOI: 10.1007/978-3-662-43725-4
8. Vallespir, B. Model-based enterprise continuous improvement. In: Lean Manufacturing,
pp. 1-19. DOI: 10.5772/intechopen.96856
9. Vernadat, F. Enterprise modeling in the context of enterprise engineering: State of the art
and outlook. International Journal of Production Management and Engineering, 2(2), 57-
73 (2014).