Retour sommaire : Direct Planning - Formules - Voir aussi : Syntaxe Visual Basic

Un temps de base par opération ; un temps additionnel quand on bascule entre impression tradi et UV ; un temps additionnel selon le nombre de couleurs. Des réductions de temps si des outillages sont communs avec la tâches précédente. Un temps additionnel par lavage de groupe (issus du nombre de teintes différentes avec la tâche précédente).

'------------------------------------------------------------------------------------------
' * Le temps de réglage se base sur le nombre de couleurs
' * On diminue le temps de réglage en fonction du nombre de teintes communes avec la tache précédente (moins de lavages de groupes à réaliser)
' * On augmente le temps de réglage pour chaque changement de plaque vernis
'------------------------------------------------------------------------------------------
Dim NbCouleurs as integer = Tache.Information_Process(2).Zone_Configurable_2
Dim TempsParCouleur as integer = 10
Dim TempsChangementPlaqueVernis as integer = 10

' On ajoute 10 minutes par couleur au temps de réglage de base
TempsReglage = TempsReglage +  NbCouleurs * TempsParCouleur  

' Teintes de la tache courante
Dim Teinte1 as string = Tache.Information_Process(3).Zone_Configurable_1
Dim Teinte2 as string = Tache.Information_Process(3).Zone_Configurable_2
Dim Teinte3 as string = Tache.Information_Process(3).Zone_Configurable_3
Dim Teinte4 as string = Tache.Information_Process(3).Zone_Configurable_4
Dim Teinte5 as string = Tache.Information_Process(3).Zone_Configurable_5
Dim Teinte6 as string = Tache.Information_Process(3).Zone_Configurable_6

' Teintes de la tache précédente
Dim ListeTeintes_Prec as new System.Collections.Generic.List(of String)()
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_1)
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_2)
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_3)
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_4)
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_5)
ListeTeintes_Prec.add(TachePrecedente.Information_Process(3).Zone_Configurable_6)

' Si une des teintes était déjà présente sur la tâche précédente, on retire 10 min 
if Teinte1 <> "" andalso ListeTeintes_Prec.contains(Teinte1) then
    TempsReglage = TempsReglage - TempsParCouleur
end if
if Teinte2 <> "" andalso ListeTeintes_Prec.contains(Teinte2) then
    TempsReglage = TempsReglage - TempsParCouleur
end if
if Teinte3 <> "" andalso ListeTeintes_Prec.contains(Teinte3) then
    TempsReglage = TempsReglage - TempsParCouleur
end if
if Teinte4 <> "" andalso ListeTeintes_Prec.contains(Teinte4) then
    TempsReglage = TempsReglage - TempsParCouleur
end if
if Teinte5 <> "" andalso ListeTeintes_Prec.contains(Teinte5) then
    TempsReglage = TempsReglage - TempsParCouleur
end if
if Teinte6 <> "" andalso ListeTeintes_Prec.contains(Teinte6) then
    TempsReglage = TempsReglage - TempsParCouleur
end if

' Si modification de la Plaque Vernis 1, on ajoute 10 min 
if TachePrecChangement(Tache.Information_Process(3).Zone_Configurable_9, True, False) then
    TempsReglage = TempsReglage + TempsChangementPlaqueVernis
end If

' Si opérateur en formation, on ajoute 50% du temps
Dim OperateurEnFormation as Boolean = Tache.Zone_Configurable_10
if OperateurEnFormation then
    TempsReglage = TempsReglage * 1.5
end if

' Au minium 5 minutes de réglage
TempsReglage = math.max(TempsReglage, 5)