Aller au contenu
SuperScheduler

Production industrielle

Planifier la production sur les lignes, les machines et les postes

Un plan de production est une suite d’opérations qui se disputent les mêmes machines, interrompue par la maintenance et bornée par les postes que l’usine fait réellement tourner. SuperScheduler donne aux planificateurs une frise pour voir et ajuster cette séquence ; trouver la meilleure séquence reste le travail de votre logique de planification.

Le plan est une chaîne, pas une liste

Un ordre de fabrication tient rarement sur une seule machine. Les pièces sont découpées, puis usinées, puis finies et contrôlées, et chaque étape attend la précédente. Quand un planificateur déplace une opération, tout ce qui suit est touché, et la question n’est pas seulement « cette machine est-elle libre ? » mais aussi « la gamme et la date d’échéance sont-elles toujours respectées ? »

La capacité est inégale, elle aussi. Une ligne peut tourner en trois postes en semaine et en un seul le samedi, une presse est arrêtée pour une maintenance planifiée jeudi matin, et passer d’une famille de produits à une autre coûte du temps de réglage. Une commande urgente insérée le lundi repousse du travail promis à d’autres clients.

Les planificateurs doivent voir à la fois la chaîne, les creux et la charge, à un niveau de détail qui va des heures du poste en cours aux semaines de l’horizon.

Ce qu’un planificateur décide à chaque poste

  1. 01

    Où caser une commande urgente

    Insérer du travail urgent, c’est choisir quelles commandes prennent du retard. Le planificateur doit voir les opérations en aval et les dates d’échéance de tout ce qui bougerait.

  2. 02

    Respecter les précédences

    Une opération ne doit pas commencer avant la fin de celle qui la précède, augmentée de tout temps de refroidissement, de séchage ou de transport. Avancer une étape n’est valable que si la chaîne le permet.

  3. 03

    Composer avec la maintenance

    La maintenance planifiée, l’étalonnage et les pannes retirent une machine du plan pendant une fenêtre définie. Le travail passe sur une autre machine du même type, ou il attend.

  4. 04

    Regrouper pour limiter les changements de série

    Enchaîner des produits similaires fait gagner du temps de réglage mais peut retarder d’autres commandes. Les planificateurs mettent en balance le coût des changements de série et les retards, et la frise doit rendre les deux visibles.

  5. 05

    Équilibrer la charge entre les postes

    Un poste de nuit surchargé à côté d’un après-midi inoccupé pose problème dans les deux sens. Le repérer des semaines à l’avance est plus simple que de le découvrir le jour même.

Modéliser l’atelier

Planifiez des opérations, pas des ordres de fabrication, et faites du numéro d’ordre le champ qui les relie.

Ressources
Construisez une arborescence usine, ligne, puis machine ou centre de charge, avec treePreventParentUsage pour que les lignes de production servent d’en-têtes et que les opérations n’atterrissent que sur des machines. Les colonnes d’en-tête de ligne peuvent porter le code du centre de charge et sa capacité nominale.
Événements
Chaque opération est un événement sur une machine, avec le numéro d’ordre, le produit et la quantité comme champs personnalisés. Des liens FinishToStart relient les opérations successives d’un même ordre, et durationBarMode « PercentComplete » avec le champ complete affiche l’avancement remonté par l’atelier.
Échelle de temps
Une cellDuration de 480 minutes donne trois postes de huit heures à partir de minuit ; pour des postes qui changent à 6 h, une échelle Manual avec des cellules de frise explicites reprend les vraies limites de l’usine. Ajoutez un niveau de zoom horaire pour le poste en cours et un niveau hebdomadaire pour l’horizon.
Règles
Marquez les fenêtres de maintenance comme cellules désactivées pour qu’on ne puisse pas y déposer d’opération. Vérifiez la précédence dans onEventMoving, puis décalez ou signalez les opérations suivantes une fois le changement validé, en regroupant ces modifications dans un même lot d’historique pour qu’une seule annulation rétablisse la séquence. Alimentez la minimap avec les heures planifiées rapportées à la capacité de chaque intervalle.

La frise et le système de planification, côte à côte

  • Des lignes hiérarchisées pour les usines, les lignes de production et les machines
  • Des liens de dépendance tracés entre les opérations, qui restent attachés quand les événements bougent
  • Des fenêtres de maintenance hachurées qui refusent les dépôts, et des barres d’avancement pilotées par un pourcentage d’achèvement
  • Une bande de minimap qui dessine la série de charge que vous calculez, avec des tons d’avertissement et de danger
  • Annuler et rétablir, avec plusieurs changements regroupés en une seule entrée
  • Gammes, ordres de fabrication, calendriers de postes et données de changement de série issus de votre ERP ou de votre MES
  • Ordonnancement automatique, logique à capacité finie ou optimisation : la bibliothèque n’ordonnance pas le travail
  • La politique de précédence : refuser, avertir ou propager
  • Les retours de l’atelier qui mettent à jour l’avancement et les temps réels
  • Persistance, permissions et gestion des conflits entre planificateurs

Exemples fonctionnels

Là où les frises d’atelier déraillent

Croire que les liens poussent les opérations suivantes

Les liens sont tracés à partir de vos données et suivent les événements qu’ils relient, mais ils ne replanifient rien. Si une opération amont est repoussée, c’est votre code qui décide si les suivantes bougent aussi, et de combien.

Une barre par ordre

Dessiner tout un ordre comme un seul événement masque quelle machine est occupée, et quand. Conflits, fenêtres de maintenance et charge n’ont de sens qu’opération par opération.

Des cellules de poste qui ne collent pas à l’usine

Des cellules alignées sur minuit ont l’air nettes, mais placent mal un changement de poste à 6 h. Utilisez des cellules de frise explicites quand les postes ne commencent pas à minuit.

Mesurer la charge au nombre d’événements

Dix opérations courtes et une longue ne représentent pas la même charge. Calculez les heures planifiées par rapport à la capacité des postes pour chaque intervalle, et transmettez cette série à la minimap.

Questions

SuperScheduler peut-il ordonnancer automatiquement les ordres de fabrication ?

Non. Il n’ordonnance, n’optimise ni ne lisse le travail. Il affiche le plan produit par votre application ou votre solveur, permet aux planificateurs de l’ajuster à la main et signale chaque changement par des handlers, pour que votre système puisse le valider et recalculer.

Comment afficher les dépendances entre opérations de fabrication ?

Transmettez des liens dont les champs from et to sont des identifiants d’événements. FinishToStart est le type par défaut ; StartToStart, FinishToFinish et StartToFinish sont aussi disponibles. Les liens se définissent dans les données ou s’ajoutent via l’API links du contrôle ; les tracer à la souris n’est pas pris en charge.

Comment bloquer une machine pendant une maintenance planifiée ?

Dans onBeforeCellRender, réglez args.cell.properties.disabled sur true pour les cellules de cette machine et de cette fenêtre. Les cellules désactivées sont hachurées et refusent les dépôts et les sélections de plage. Réglez cellsDisabled sur la ressource pour retirer entièrement une machine du plan.

La frise peut-elle afficher des postes plutôt que des heures ?

Oui. Utilisez l’échelle « CellDuration » avec des cellules de 480 minutes pour trois postes à partir de minuit, ou l’échelle « Manual » avec un tableau timeline pour des limites comme 6 h, 14 h et 22 h. Un niveau de zoom avec des cellules d’une heure garde le détail à portée de main.

Essayez la démo Forge

Forge, une usine fictive, déplace un ordre autour d’une fenêtre de maintenance pour que vous puissiez suivre sa séquence d’opérations liées et la charge calculée. Toutes les données sont fictives.

Exemples fonctionnels