Quand la même procédure de test s'exécute sur des dizaines de stations dans plusieurs usines, vous avez besoin d'un endroit unique pour voir ce qui se passe partout. TofuPilot vous offre une visibilité inter-usines sans construire de tableaux de bord personnalisés ni agréger des CSV.
Pourquoi la surveillance multi-sites est importante
Un test qui passe à 98 % dans votre usine de Shenzhen et à 94 % dans votre usine de Guadalajara vous indique que quelque chose ne va pas. Le problème peut être la calibration des équipements, la formation des opérateurs, les conditions environnementales ou la variation des lots de composants. Vous ne pouvez pas corriger ce que vous ne voyez pas.
Les données au niveau des stations vous aident aussi à repérer les machines individuelles qui dérivent avant qu'elles ne commencent à produire des faux succès ou des échecs inutiles.
Taguer chaque station avec des métadonnées
OpenHTF vous permet d'attacher des métadonnées à chaque exécution de test. Utilisez station_id pour identifier la station physique et ajoutez les informations d'usine ou de site pour que TofuPilot puisse regrouper les résultats.
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot
@htf.measures(
htf.Measurement("supply_voltage")
.in_range(minimum=4.9, maximum=5.1)
.with_units(units.VOLT)
)
def test_supply_voltage(test):
voltage = 5.03 # Lecture depuis l'instrument
test.measurements.supply_voltage = voltage
def main():
test = htf.Test(
test_supply_voltage,
station_id="SMT-LINE3-ICT-02",
)
with TofuPilot(test):
test.execute(test_start=lambda: "PCB-2026-00451")
if __name__ == "__main__":
main()La valeur station_id doit être unique et descriptive. Une bonne convention est {SITE}-{LIGNE}-{FONCTION}-{NUMERO}, comme SZ-L3-ICT-02 pour Shenzhen, Ligne 3, Test In-Circuit, Station 2.
Standardiser le nommage des stations entre les sites
La cohérence du nommage est essentielle. Si une usine utilise ICT_01 et une autre ict-station-1, vous ne pouvez pas filtrer ou comparer de manière fiable.
Définissez une convention de nommage avant le déploiement :
| Champ | Format | Exemple |
|---|---|---|
| Code site | Abréviation de 2-3 lettres | SZ, GDL, AUS |
| Numéro de ligne | L + numéro | L1, L3 |
| Type de test | Abréviation standard | ICT, FCT, EOL |
| Numéro de station | Numéro avec zéro initial | 01, 02, 12 |
Cela donne des identifiants de station comme SZ-L3-ICT-02 ou GDL-L1-FCT-05, lisibles et triables.
Exécuter la même procédure partout
La surveillance multi-sites ne fonctionne que si chaque usine exécute la même procédure de test. Versionnez vos scripts de test dans Git et déployez-les sur tous les sites depuis un dépôt unique.
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot
@htf.measures(
htf.Measurement("output_current")
.in_range(minimum=0.95, maximum=1.05)
.with_units(units.AMPERE),
htf.Measurement("firmware_checksum")
.equals("a3f8c2d1")
)
def test_output_and_firmware(test):
test.measurements.output_current = 1.01 # Lecture depuis la charge
test.measurements.firmware_checksum = "a3f8c2d1" # Lecture depuis le DUT
def main():
test = htf.Test(
test_output_and_firmware,
station_id="AUS-L2-FCT-01",
)
with TofuPilot(test):
test.execute(test_start=lambda: "UNIT-88210")
if __name__ == "__main__":
main()Quand chaque station téléverse les résultats de la même procédure, TofuPilot les regroupe automatiquement. Vous pouvez ensuite filtrer par station, site ou plage temporelle pour comparer les performances.
Visualiser les données inter-usines dans TofuPilot
Une fois les exécutions téléversées depuis plusieurs sites, le tableau de bord stations de TofuPilot affiche :
- Rendement par station pour repérer instantanément les machines sous-performantes
- Distributions de mesure par station pour détecter la dérive de calibration avant qu'elle ne cause des échecs
- Débit par station pour identifier les goulots d'étranglement et les temps d'arrêt
- Pareto des défaillances par site pour voir si les modes de défaillance diffèrent entre les usines
Filtrez par préfixe d'identifiant de station (comme SZ- ou GDL-) pour comparer des usines entières côte à côte. Approfondissez sur des stations individuelles pour investiguer les anomalies.
Gérer la détection de station hors ligne
Une station qui cesse de transmettre est un problème. Elle peut être arrêtée pour maintenance, ou elle peut exécuter des tests qui ne sont pas téléversés. TofuPilot suit la dernière transmission de chaque station, les lacunes dans les données sont donc visibles immédiatement.
Prenez l'habitude de vérifier la vue d'ensemble des stations au début de chaque poste. Si une station n'a pas transmis dans la fenêtre attendue, investiguez avant que la production ne continue.