Deux lignes de production fabriquant le même produit devraient produire le même rendement. Quand ce n'est pas le cas, l'écart pointe vers des problèmes d'équipement, de variation de processus ou de formation des opérateurs. TofuPilot vous permet de comparer les lignes côte à côte sans exporter de données ni construire de rapports manuellement.
Pourquoi la comparaison de rendement est importante
Un écart de rendement de 2 % entre les lignes peut sembler faible. Sur 10 000 unités par mois, cela représente 200 échecs supplémentaires, chacun coûtant du temps de reprise, des composants de remplacement et des retards d'expédition. Détecter l'écart tôt et corriger la cause racine est rapidement rentable.
Causes courantes de variation de rendement entre lignes :
| Cause | Ce qu'il faut rechercher |
|---|---|
| Calibration des équipements | Les mesures d'une ligne sont systématiquement décalées par rapport à l'autre |
| Usure des montages | Augmentation de la résistance de contact sur les montages de test plus anciens |
| Technique de l'opérateur | Les étapes manuelles sont réalisées différemment entre les postes ou les lignes |
| Lots de composants | Des bobines ou lots différents alimentent chaque ligne |
| Environnement | Différences de température ou d'humidité entre les zones |
Taguer les exécutions avec les informations de ligne
Utilisez station_id pour encoder quelle ligne a produit chaque unité. TofuPilot utilise ce champ pour regrouper et filtrer les résultats.
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot
@htf.measures(
htf.Measurement("rail_3v3_voltage")
.in_range(minimum=3.25, maximum=3.40)
.with_units(units.VOLT),
htf.Measurement("rail_5v0_voltage")
.in_range(minimum=4.90, maximum=5.10)
.with_units(units.VOLT),
htf.Measurement("standby_current")
.in_range(maximum=0.015)
.with_units(units.AMPERE),
)
def test_power_rails(test):
test.measurements.rail_3v3_voltage = 3.31
test.measurements.rail_5v0_voltage = 5.02
test.measurements.standby_current = 0.0114
def main():
test = htf.Test(test_power_rails)
with TofuPilot(test):
test.execute(test_start=lambda: "PWR-2026-07823")
if __name__ == "__main__":
main()Chaque station de la ligne A reçoit un identifiant comme LINE-A-FCT-01, LINE-A-FCT-02. La ligne B utilise LINE-B-FCT-01, LINE-B-FCT-02. Cela permet de filtrer à la fois au niveau de la ligne et au niveau de la station individuelle.
Exécuter des tests identiques sur chaque ligne
La comparaison de rendement n'est valide que si chaque ligne exécute exactement la même procédure de test avec les mêmes limites. Versionnez vos scripts de test et déployez le même commit sur toutes les lignes.
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot
@htf.measures(
htf.Measurement("wifi_rssi")
.in_range(minimum=-55.0),
htf.Measurement("ble_rssi")
.in_range(minimum=-65.0),
htf.Measurement("antenna_impedance")
.in_range(minimum=45.0, maximum=55.0)
.with_units(units.OHM),
)
def test_wireless(test):
test.measurements.wifi_rssi = -42.3
test.measurements.ble_rssi = -51.7
test.measurements.antenna_impedance = 49.8
def main():
test = htf.Test(test_wireless)
with TofuPilot(test):
test.execute(test_start=lambda: "COMMS-2026-11045")
if __name__ == "__main__":
main()Si une ligne utilise un firmware différent ou un montage modifié, documentez cette différence. Sinon, votre comparaison de rendement mesure deux choses différentes.
Comparer les lignes dans TofuPilot
Avec les exécutions téléversées depuis les deux lignes, le filtrage et les analyses de TofuPilot vous donnent une comparaison directe :
- FPY par station montre le rendement de chaque station regroupé par préfixe de ligne. Si la ligne B est systématiquement en retrait par rapport à la ligne A, le problème est systémique à cette ligne.
- Histogrammes de mesure révèlent si les valeurs d'une ligne sont décalées ou ont une dispersion plus large. Une moyenne décalée suggère un offset de calibration. Une dispersion plus large suggère une incohérence de montage ou de processus.
- Pareto des défaillances par ligne montre quels tests spécifiques échouent plus souvent sur chaque ligne. Si la ligne B échoue sur
antenna_impedancetrois fois plus que la ligne A, commencez à investiguer ce montage. - Graphiques de tendance montrent si l'écart est constant, croissant, ou est apparu soudainement après un changement.
Investiguer et agir sur les différences
Quand vous trouvez un écart de rendement, ciblez la cause de manière systématique :
- Vérifiez les distributions de mesure. Si les valeurs d'une ligne sont décalées, c'est probablement la calibration ou l'équipement. Si elles sont plus dispersées, c'est la variation de processus.
- Vérifiez par heure de la journée. Les baisses de rendement sur les postes de nuit pointent vers la formation des opérateurs ou des changements environnementaux.
- Vérifiez par lot de composants. Si vous suivez les numéros de lot, filtrez par lot pour voir si des lots spécifiques sont à l'origine de la différence.
- Vérifiez les stations individuelles. Parfois le problème de « ligne » est en fait une seule station défectueuse qui tire la moyenne vers le bas.
Corrigez la cause racine, puis surveillez les données de tendance de TofuPilot pour confirmer que l'écart se comble. Le détail au niveau des mesures dans chaque exécution vous donne la preuve que la correction a fonctionné.