Istanze dei turni
I calendari definiti in Turni e calendari forniscono il modello utilizzato dal sistema per creare le singole istanze dei turni utilizzate durante la produzione.
Un turno è un periodo di tempo definito con un'ora di inizio e un'ora di fine. Un'istanza del turno è un'istanza effettiva di tale turno in una data specifica per un centro di lavorazione o un'unità di lavorazione. Ad esempio, il turno 3 è operativo dalle 08.00 alle 16.00. Un'istanza del turno 3 inizia alle 08.00 e termina alle 16.00 del 19 gennaio 2021 per l'unità di lavorazione BOS-StackingRobot-01.
Il sistema crea le istanze dei turni in anticipo in modo che siano presenti durante la produzione. Le istanze dei turni vengono create in base al calendario applicabile al centro di lavorazione o all'unità di lavorazione e alle programmazioni turni assegnate ai giorni di calendario.
Lo scheduler dei turni viene eseguito ogni 30 minuti per verificare se le istanze dei turni sono presenti per il giorno corrente e il giorno successivo, per tutti i centri di lavorazione e le unità di lavorazione e, se necessario, crea l'insieme di istanze dei turni per il giorno. Lo scheduler dei turni in esecuzione ogni 30 minuti garantisce che le istanze dei turni vengano create per il giorno corrente e il giorno successivo per i centri di lavorazione e le unità di lavorazione di un sito, in base al fuso orario del sito.
I passi riportati di seguito descrivono il flusso seguito dal sistema durante l'esecuzione dello scheduler, per ogni centro di lavorazione e unità di lavorazione.
1. Il sistema recupera il calendario per il centro di lavorazione o unità di lavorazione e determina quale giorno di calendario si applica alla data corrente, in base alla data di inizio del calendario. Ad esempio, se la data di inizio del calendario è 01 gennaio 2021, il calendario prevede un ciclo ricorrente di 7 giorni di calendario e la data corrente è 12 gennaio 2021, il giorno di calendario per la data corrente è il quinto giorno di calendario. In questo esempio, il quinto giorno di calendario è denominato Day 5.
2. Il sistema recupera la programmazione turni per il giorno corrente (Day 5) e controlla se è designato come giorno lavorativo. Le istanze dei turni vengono create solo per i giorni lavorativi a cui sono state assegnate programmazioni turni.
3. Supponendo che il giorno corrente (Day 5) sia un giorno lavorativo con una programmazione turni assegnata, il sistema controlla le istanze dei turni da creare per la programmazione turni e verifica se è possibile crearle tutte.
Le istanze dei turni possono essere create purché non esistano istanze dei turni con un'ora di inizio corrispondente o successiva all'ora di inizio di una delle nuove istanze dei turni. Se questa condizione è soddisfatta, vengono create tutte le istanze dei turni per il giorno corrente, nell'ordine indicato dal valore Ordine all'interno della programmazione turni. In caso contrario, non vengono create istanze dei turni per il giorno corrente.
Ad esempio, se esiste un'istanza del turno che inizia alle 06.00 del giorno corrente e tutte le nuove istanze dei turni hanno un'ora di inizio successiva alle 06.00 nel giorno corrente, le nuove istanze dei turni vengono create. Se una delle nuove istanze dei turni ha un'ora di inizio corrispondente o precedente alle 06.00 del giorno corrente, nessuna delle nuove istanze dei turni viene creata.
* 
Se è presente una sovrapposizione tra la prima nuova istanza del turno e l'ultima istanza del turno esistente, l'istanza del turno esistente viene troncata in modo che termini quando inizia la nuova istanza del turno. Ad esempio, se l'ultima istanza del turno esistente va dalle 02.00 alle 08.00 e la prima nuova istanza del turno inizia alle 07.00 e termina alle 13.00, quando la nuova istanza del turno viene creata, l'istanza del turno esistente viene troncata in modo che inizi alle 02.00 e termini alle 07.00. Tale sovrapposizione può verificarsi solo se sono state apportate modifiche al calendario dopo che sono già state create le istanze dei turni. Questa è l'unica situazione in cui un'istanza del turno esistente viene modificata dal sistema.
4. Il sistema ripete i passi da 1 a 3 per il giorno successivo. In questo esempio, il giorno successivo è il sesto giorno di calendario, denominato Day 6.
Quando vengono applicate le modifiche del calendario nelle istanze dei turni?
Quando viene apportata una modifica a un calendario, gli impatti delle istanze dei turni create per un particolare giorno di calendario vengono visualizzati al successivo tentativo di creazione di istanze dei turni per tale giorno di calendario da parte del sistema. Queste modifiche includono le operazioni di seguito indicate.
Aggiunta o rimozione di giorni di calendario. Il giorno di calendario applicabile a una particolare data è determinato dallo scheduler dei turni in base al numero di giorni corrente nel calendario e alla data di inizio del calendario.
Modifica della programmazione turni assegnata a un giorno di calendario. Quando lo scheduler dei turni viene eseguito, tenta di creare le istanze dei turni per la programmazione turni attualmente assegnata al giorno di calendario.
Modifica della designazione di un giorno di calendario come giorno lavorativo. Le istanze dei turni vengono create solo per i giorni lavorativi.
Se un giorno di calendario viene convertito in giorno non lavorativo e le istanze dei turni sono già state create per una particolare ricorrenza di tale giorno di calendario, le istanze dei turni non vengono eliminate. La designazione del giorno non lavorativo ha effetto alla successiva verifica del giorno di calendario da parte dello scheduler dei turni.
Se un giorno di calendario viene convertito da giorno non lavorativo a giorno lavorativo ed è il giorno corrente o il giorno successivo controllato durante l'esecuzione dello scheduler dei turni, le istanze dei turni vengono create per tale giorno alla successiva esecuzione dello scheduler dei turni.
Creazione o modifica dei turni in una programmazione turni. Quando lo scheduler dei turni viene eseguito, tenta di creare le istanze dei turni per i turni attualmente definiti nella programmazione turni assegnata al giorno di calendario. Se l'insieme di istanze dei turni può essere creato come descritto nel passo 3, vengono create tutte le istanze dei turni per la programmazione turni.
Modifica dell'assegnazione del calendario applicabile al centro di lavorazione o unità di lavorazione. Quando lo scheduler dei turni viene eseguito, determina il calendario attualmente applicato al centro di lavorazione o unità di lavorazione e crea le nuove istanze dei turni quando soddisfano le condizioni descritte al passo 3.
È stato utile?