Gestion des données de test multi-sites avec TofuPilot
Quand vous testez du matériel sur plusieurs sites, les silos de données sont inévitables. L'usine A a son propre système de test. Le sous-traitant en a un autre. Votre laboratoire utilise encore autre chose. TofuPilot centralise les données de test de chaque site dans une seule plateforme, pour que vous puissiez comparer la qualité entre les sites.
Le problème multi-sites
Les entreprises font évoluer leur production en ajoutant des sites : un laboratoire de prototypage interne, un sous-traitant pour la production en volume, un second sous-traitant pour la diversification géographique, des stations de test sur le terrain chez les clients.
Chaque site a généralement :
- Des équipements et montages de test différents
- Un stockage de données différent (bases locales, fichiers CSV, systèmes propriétaires)
- Des formats de rapport différents
- Des niveaux de granularité des données différents
Le résultat : vous ne pouvez pas répondre à des questions basiques comme « Le rendement du sous-traitant est-il le même que celui de notre ligne interne ? » sans des semaines de collecte et de normalisation manuelles des données.
Centraliser les données de test
Étape 1 : Standardiser les identifiants de procédure
Utilisez le même identifiant de procédure sur chaque site pour le même test. C'est la clé de la comparaison inter-sites.
from tofupilot import TofuPilotClient
client = TofuPilotClient()
# Même identifiant de procédure utilisé sur chaque site
client.create_run(
procedure_id="FINAL-FUNCTIONAL-V3",
unit_under_test={
"serial_number": "UNIT-A-0042",
"part_number": "PROD-100-R4",
},
run_passed=True,
steps=[{
"name": "Power Rail Check",
"step_type": "measurement",
"status": True,
"measurements": [{
"name": "vcc_3v3",
"value": 3.31,
"unit": "V",
"limit_low": 3.25,
"limit_high": 3.35,
}],
}],
)Étape 2 : Taguer les exécutions avec les informations du site
Utilisez les métadonnées de station ou le suivi de sous-unités pour identifier quel site a produit chaque exécution.
from tofupilot import TofuPilotClient
client = TofuPilotClient()
client.create_run(
procedure_id="FINAL-FUNCTIONAL-V3",
unit_under_test={
"serial_number": "UNIT-B-1087",
"part_number": "PROD-100-R4",
},
run_passed=True,
steps=[{
"name": "Power Rail Check",
"step_type": "measurement",
"status": True,
"measurements": [{
"name": "vcc_3v3",
"value": 3.29,
"unit": "V",
"limit_low": 3.25,
"limit_high": 3.35,
}],
}],
)Étape 3 : Comparer les sites dans le tableau de bord
Avec des identifiants de procédure standardisés, la vue de comparaison de stations de TofuPilot fonctionne entre les sites. Filtrez par station pour voir :
| Métrique | Site A (Interne) | Site B (Sous-traitant) |
|---|---|---|
| FPY | 98,2 % | 95,1 % |
| Moy. vcc_3v3 | 3,31 V | 3,29 V |
| Écart type vcc_3v3 | 0,012 V | 0,028 V |
| Temps de cycle | 42 s | 55 s |
Ce tableau raconte une histoire : le site B a un rendement plus faible, une tension moyenne plus basse, une variance plus élevée et un temps de cycle plus long. La variance plus élevée suggère un problème de montage ou de contrôle de processus chez le sous-traitant.
Gouvernance qualité inter-sites
Définir des limites cohérentes
Utilisez les mêmes limites de mesure sur chaque site. TofuPilot applique les limites au niveau de la procédure, de sorte qu'une unité qui passe sur le site A passera aussi sur le site B (en supposant que les mesures sont exactes).
Surveiller les différences entre sites
Vérifiez régulièrement ces métriques entre les sites :
- Écart de FPY : Si le rendement d'un site est systématiquement plus bas, investiguez
- Chevauchement des distributions de mesure : Les histogrammes de mesure de différents sites devraient se chevaucher. Si ce n'est pas le cas, les sites produisent ou testent différemment
- Différences de modes de défaillance : Des modes de défaillance principaux différents sur différents sites suggèrent des problèmes de processus différents
- Variation du temps de cycle : Des temps de cycle significativement différents peuvent indiquer une couverture de test ou des problèmes d'équipement différents
Gérer l'intégration des données du sous-traitant
Les sous-traitants utilisent souvent leurs propres systèmes de test. Options pour intégrer leurs données dans TofuPilot :
- Intégration directe : Le sous-traitant installe le client TofuPilot sur ses stations de test. Solution la plus propre, données en temps réel.
- Import par lots : Le sous-traitant exporte des fichiers CSV/JSON, vous les importez via l'API. Fonctionne quand le sous-traitant ne peut pas installer de logiciel sur ses stations.
- Relais API : Le sous-traitant pousse les données vers un intermédiaire qui les transmet à TofuPilot. Adapté aux sous-traitants avec des systèmes de données existants.
import csv
from tofupilot import TofuPilotClient
client = TofuPilotClient()
# Importer les données du sous-traitant depuis leur fichier d'export
with open("cm_test_results.csv") as f:
reader = csv.DictReader(f)
for row in reader:
client.create_run(
procedure_id="FINAL-FUNCTIONAL-V3",
unit_under_test={"serial_number": row["serial"]},
run_passed=row["result"] == "PASS",
steps=[{
"name": "Power Rail Check",
"step_type": "measurement",
"status": float(row["vcc_3v3"]) >= 3.25,
"measurements": [{
"name": "vcc_3v3",
"value": float(row["vcc_3v3"]),
"unit": "V",
"limit_low": 3.25,
"limit_high": 3.35,
}],
}],
)Télémétrie de flotte inter-sites
Pour les entreprises déployant des produits à l'échelle mondiale (flottes de robots, équipements industriels, dispositifs médicaux), TofuPilot fournit une vue unique des données de test, quel que soit l'endroit où l'unité a été testée.
Recherchez par numéro de série pour voir l'historique complet d'une unité : fabriquée et testée sur le site A, testée sur le terrain chez le client, retournée et retestée sur le site B. Chaque mesure, chaque résultat, chaque horodatage au même endroit.
C'est particulièrement précieux pour l'analyse de garantie. Quand une unité revient en réparation, vous pouvez comparer ses données de test de production d'origine avec son état actuel pour comprendre ce qui s'est dégradé.