DPM 管理 > オペレーション > シフトとカレンダー > シフトインスタンスについて
シフトインスタンスについて
「シフト & カレンダー」で定義されているカレンダーでは、生産中に使用される個々のシフトインスタンスを作成するために、システムが使用するテンプレートが用意されています。
シフトは、開始時間と終了時間によって定義された期間です。シフトインスタンスは、作業拠点または作業ユニットの特定の日付における、そのシフトの実際のインスタンスです。たとえば、シフト 3 は 08:00 から 16:00 です。BOS-StackingRobot-01 作業ユニットの場合、シフト 3 のインスタンスは、2021年 1 月 19 日の 08:00 から 16:00 までです。
システムは、生産中に存在するように、シフトインスタンスを事前に作成します。シフトインスタンスは、作業拠点または作業ユニットに適用できるカレンダーと、カレンダー日に割り当てられたシフトスケジュールに基づいて作成されます。
シフトスケジューラは、30 分ごとに実行され、すべての作業拠点と作業ユニットを対象に、当日と翌日のシフトインスタンスが存在するかどうかをチェックし、必要に応じて、その日の一連のシフトインスタンスを作成します。30 分ごとに実行されるシフトスケジューラにより、サイトのタイムゾーンに基づいて、サイト内の作業拠点と作業ユニットを対象に、当日と翌日のシフトインスタンスが作成されます。
以下の手順では、作業拠点と作業ユニットごとに、スケジューラの実行時にシステムが従うフローを説明します。
1. システムは、作業拠点または作業ユニットのカレンダーを読み込み、カレンダーの開始日に基づいて、現在の日付に適用するカレンダー日を決定します。たとえば、カレンダーの開始日が 2021 年 1 月 1 日であり、カレンダーには 7 日間の繰り返しサイクルがあり、現在の日付が 2021 年 1 月 12 日である場合、現在の日付のカレンダー日は 5 番目のカレンダー日になります。この例では、5 番目のカレンダー日は Day 5 という名前になります。
2. システムは、当日 (Day 5) のシフトスケジュールを読み込み、それが稼働日として指定されているかどうかをチェックします。シフトインスタンスは、シフトスケジュールが割り当てられている稼働日に対してのみ作成されます。
3. 当日 (Day 5) がシフトスケジュールが割り当てられた稼働日であるとすると、システムは、シフトスケジュールに対して作成されるシフトインスタンスをチェックし、それらすべてが作成できるかどうかを検証します。
新しいシフトインスタンスの開始時間が、どの既存のシフトインスタンスの開始時間とも同じかそれ以降でない限り、シフトインスタンスを作成できます。この条件が満たされる場合、当日のすべてのシフトインスタンスが、シフトスケジュール内の「順序」値の順序で作成されます。満たされない場合、当日のシフトインスタンスは作成されません。
たとえば、当日の 06:00 から始まる既存のシフトインスタンスがあり、すべての新しいシフトインスタンスの開始時間が当日の 06:00 より後である場合、新しいシフトインスタンスが作成されます。いずれかの新しいシフトインスタンスの開始時間が当日の 06:00 またはそれ以前である場合、新しいシフトインスタンスは作成されません。
* 
最初の新しいシフトインスタンスと最後の既存のシフトインスタンスの間に重複がある場合、既存のシフトインスタンスは新しいシフトインスタンスが始まるときに終了するように切り捨てられます。たとえば、最後の既存のシフトインスタンスが 02:00 から 08:00 であり、最初の新しいシフトインスタンスが 07:00 から 13:00 である場合、新しいシフトインスタンスが作成されると、既存のシフトインスタンスは 02:00 から 07:00 に切り捨てられます。このような重複は、シフトインスタンスがすでに作成された後に、カレンダーに変更が行われた場合にのみ発生する可能性があります。これは、既存のシフトインスタンスがシステムによって変更される状況に限られます。
4. 次に、翌日に対して、システムは手順 1 から 3 を繰り返します。この例では、翌日は 6 番目のカレンダー日であり、Day 6 という名前になります。
シフトインスタンスでカレンダーの変更が反映される場合
カレンダーに変更が行われると、特定のカレンダー日に対して作成されたシフトインスタンスへの影響は、次回にシステムがそのカレンダー日に対してシフトインスタンスを作成しようとするときに反映されます。これらの変更には次が含まれます。
カレンダー日の追加または除去。特定の日付に適用できるカレンダー日は、カレンダーでの現在の日数とカレンダーの開始日に基づいて、シフトスケジューラによって決定されます。
カレンダー日に割り当てられているシフトスケジュールの変更。シフトスケジューラは、実行時に、カレンダー日に現在割り当てられているシフトスケジュールに対して、シフトインスタンスを作成しようとします。
カレンダー日を稼働日として指定するかどうかの変更。シフトインスタンスは、稼働日に対してのみ作成されます。
カレンダー日が非稼働日に変更され、そのカレンダー日の特定のオカレンスに対してシフトインスタンスがすでに作成されている場合、それらのシフトインスタンスは削除されません。非稼働日の指定は、次回にシフトスケジューラがそのカレンダー日をチェックするときに有効になります。
カレンダー日が非稼働日から稼働日に変更され、カレンダー日がシフトスケジューラの実行時にチェックされる当日または翌日である場合、次回のシフトスケジューラの実行時に、その日に対してシフトインスタンスが作成されます。
シフトスケジュール内でのシフトの作成または編集。シフトスケジューラは、実行時に、カレンダー日に割り当てられている、シフトスケジュールで現在定義されているシフトに対して、シフトインスタンスを作成しようとします。手順 3で説明されているように、その一連のシフトインスタンスを作成できる場合は、そのシフトスケジュールに対してすべてのシフトインスタンスが作成されます。
作業拠点または作業ユニットに適用できるカレンダー割当の変更。シフトスケジューラは、実行時に、作業拠点または作業ユニットに現在適用されているカレンダーを決定し、手順 3 で説明した条件を満たす場合に、新しいシフトインスタンスを作成します。
これは役に立ちましたか?