Compensazione delle coordinate X e Y del waferCIAO,
Ho due tabelle jmp che hanno le coordinate X e Y del wafer. Vorrei sapere se c'è un modo per allineare le coordinate di Wafer 1 con Wafer 2?
Ad esempio: voglio allineare le seguenti X e Y evidenziate con la X e la Y del wafer 2.
Wafer 1 : X, Y = 129, 372
Wafer 2: X, Y = -17, -15
Non sono sicuro che esista un modo per riconoscere i modelli nel generatore di grafici e ottenere le informazioni sull'etichetta al passaggio del mouse con JSL. Qualsiasi suggerimento sarebbe molto apprezzato
Cialda 1 =

Cialda 2 =

ScriptingOggetto: offset delle coordinate X e Y del waferNon importa davvero.Tuttavia, nei tuoi esempi, hai trasposto Wafer 1, quindi ti suggerisco di continuare a utilizzare quel wafer.
Sono preoccupato per la tua domanda.Devi capire perché la sottrazione dal Max +1 funziona, non solo inserire ciecamente il codice.Assicurati di esaminare dove si sposta il dado quando la trasformazione è terminata.
Oggetto: offset delle coordinate X e Y del wafer" La trasposizione consiste nel sottrarre ogni valore dal valore massimo più 1. "
Intendi dire sottrarre ogni riga di X e Y con il valore massimo di Wafer 2 o Wafer 1?
Oggetto: offset delle coordinate X e Y del waferLa trasposizione è semplice matematica.Il problema è la determinazione dell'orientamento. Sembra che gli attuali 2 wafer debbano essere capovolti dall'alto verso il basso, tuttavia potrebbe essere necessario capovolgerli anche da sinistra a destra.Guardando lo schema delle aree vuote sul wafer, sembra proprio così. In entrambi i casi, la trasposizione consiste nel sottrarre ogni valore dal valore massimo più 1.
Oggetto: offset delle coordinate X e Y del waferNo, non contiene informazioni sull'orientamento. Possiamo attuare il recepimento?
Oggetto: offset delle coordinate X e Y del waferHo pensato che i tuoi wafer fossero misurati con lo stesso orientamento, solo con origini xy diverse. Apparentemente l'orientamento totale può essere diverso.Ciò rende la trasposizione più complessa, ma non impossibile.I file da cui leggi i wafer contengono le informazioni sull'orientamento?
Oggetto: offset delle coordinate X e Y del waferNon corrispondono all'orientamento. Per esempio L'area superiore della mappa 1 ha coordinate Y comprese tra 0 e negativo. Tuttavia, nella mappa wafer 2 la stessa area è a 300 e oltre

Oggetto: offset delle coordinate X e Y del waferI tuoi assi sono stati invertiti su uno dei grafici
Oggetto: offset delle coordinate X e Y del waferNon funziona neanche Jim. Vedere i risultati di seguito

Oggetto: offset delle coordinate X e Y del waferNon l'avevo notato prima ... il problema è che devi sottrarre o aggiungere l'offset dalla coordinata, non la coordinata dall'offset.

Names Default To Here( 1 );
Clear Globals();
Clear Log();
dt1 = Data Table( "Wafer 1" );
dt2 = Data Table( "Wafer 2" );
dt1 << New Column( "New_X", Numeric, "Ordinal", Format( "Best", 12 ) );
dt1 << New Column( "New_Y", Numeric, "Ordinal", Format( "Best", 12 ) );
Max_X1 = Col Maximum( dt1:X Coord );
Max_Y1 = Col Maximum( dt1:Y Coord );
Max_X2 = Col Maximum( dt2:X Coord );
Max_Y2 = Col Maximum( dt2:Y Coord );
Offset_x = Abs( Max_X2 - Max_X1 );
Offset_y = Abs( Max_Y2 - Max_Y1 );
For( i = 1, i <= N Rows( dt1 ), i++,
If( Max_X1 > Max_X2,
dt1:New_X[i] = dt1:XCoord[i] - Offset_x,
dt1:New_X[i] = dt1:XCoord[i] + Offset_x
)
);
For( i = 1, i <= N Rows( dt1 ), i++,
If( Max_Y1 > Max_Y2,
dt1:New_Y[i] = dt1:YCoord[i] - Offset_y,
dt1:New_Y[i] = dt1:YCoord[i] + Offset_y
)
);
</CODE></PRE>
<P>Ecco la versione originale del codice che mi è venuta in modo inaffidabile.Funziona più velocemente, ma dà gli stessi risultati.Dai un'occhiata al codice e controlla il diverso approccio.</P>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
dt1 = data table("Wafer 1");
dt2 = data table("Wafer 2");
xOffset = abs(col max(dt1:X Coord) - col max(dt2:X Coord));
yOffset = abs(col max(dt1:Y Coord) - col max(dt2:Y Coord));
If( Col Max( dt1:X Coord ) > Col Max( dt2:X Coord ),
dt1 << New Column( "New X Coord", set each value( :X Coord - xOffset ) ),
dt1 << New Column( "New X Coord", set each value( :X Coord + xOffset ) )
);
If( Col Max( dt1:Y Coord ) > Col Max( dt2:Y Coord ),
dt1 << New Column( "New Y Coord", set each value( :Y Coord - yOffset ) ),
dt1 << New Column( "New Y Coord", set each value( :Y Coord + yOffset ) )
);
Oggetto: offset delle coordinate X e Y del wafer@txnelson ,
Grazie Jim. Il codice funziona ma i risultati non sono quelli che mi aspettavo. Vedi che gli assi X e Y non sono allineati con la mappa del wafer 2

Oggetto: offset delle coordinate X e Y del waferOttimo lavoro per arrivare fin dove sei arrivato.Ti suggerisco caldamente di dedicare del tempo alla lettura della Guida allo scripting.
Di seguito è riportata una modifica al codice che popola le nuove colonne
Names Default To Here( 1 );
Clear Globals();
Clear Log();
dt1 = Data Table( "Wafer 1" );
dt2 = Data Table( "Wafer 2" );
dt1 << New Column( "New_X", Numeric, "Ordinal", Format( "Best", 12 ) );
dt1 << New Column( "New_Y", Numeric, "Ordinal", Format( "Best", 12 ) );
Max_X1 = Col Maximum( dt1:X Coord );
Max_Y1 = Col Maximum( dt1:Y Coord );
Max_X2 = Col Maximum( dt2:X Coord );
Max_Y2 = Col Maximum( dt2:Y Coord );
Offset_x = Abs( Max_X2 - Max_X1 );
Offset_y = Abs( Max_Y2 - Max_Y1 );
For( i = 1, i <= N Rows( dt1 ), i++,
If( Max_X1 > Max_X2,
//dt1:New_X[i] = Offset_x - dt1:XCoord[i],
//dt1:New_X[i] = Offset_x + dt1:XCoord[i]<BR />dt1:New_X[i] = dt1:XCoord[i] - Offset_x,<BR />dt1:New_X[i] = dt1:XCoord[i] + Offset_x
)
);
For( i = 1, i <= N Rows( dt1 ), i++,
If( Max_Y1 > Max_Y2,
//dt1:New_Y[i] = Offset_y - dt1:YCoord[i],
//dt1:New_Y[i] = Offset_y + dt1:YCoord[i]<BR />dt1:New_Y[i] = dt1:YCoord[i] - Offset_y,<BR />dt1:New_Y[i] = dt1:YCoord[i] + Offset_y
)
);
<BR />
Oggetto: offset delle coordinate X e Y del waferNames Default To Here( 1 );
Clear Globals();
Clear Log();
dt1 = data table("Wafer 1");
dt2 = data table("Wafer 2");
dt1 << New Column( "New_X", Numeric, "Continuous", Format( "Best", 12 ) );
dt1 << New Column( "New_Y", Numeric, "Continuous", Format( "Best", 12 ) );
Max_X1= Col Maximum(dt1:X Coord);
Max_Y1= Col Maximum(dt1:Y Coord);
Max_X2= Col Maximum(dt2:X Coord);
Max_Y2= Col Maximum(dt2:Y Coord);
Offset_x = abs( Max_X2 - Max_X1);
Offset_y = abs(Max_Y2 - Max_Y1);
For( i = 1, i <= N rows(dt1), i++,
if( Max_X1 > Max_X2,
Column(dt1, 4)[i] = Offset_x - Column(dt1, 1)[i] ;,
Column(dt1, 4)[i] = Offset_x + Column(dt1, 1)[i];
)
);
For( i = 1, i <= N rows(dt1), i++,
if( Max_Y1 > Max_Y2,
Column(dt1, 5)[i] = Offset_y - Column(dt1, 2)[i] ;,
Column(dt1, 5)[i] = Offset_y + Column(dt1, 2)[i];
)
);"È necessario creare una nuova colonna che se il valore massimo della colonna X Coord per il wafer 1 è maggiore del valore massimo della colonna X Coord per il wafer 2, l'offset deve essere sottratto dai valori X Coord del wafer 1.Se ciò non è vero, l'offset viene aggiunto ai valori X Coord.
Questo passaggio deve essere ripetuto per la Y Coord."
Jim, ti dispiacerebbe condividere un codice di esempio per la frase sopra? Sono stato in grado di trovare i valori massimi per X e Y e la differenza abs
Oggetto: offset delle coordinate X e Y del waferSÌ!
Questa è una cosa semplice da fare per JMP.In effetti, questo piccolo problema è un perfetto piccolo grande progetto come il tuo primo progetto JSL.La soluzione è aggiungere o sottrarre la differenza tra il valore massimo di X Coord dalla tabella dati Wafer 1 e la tabella dati Wafer 2.E poi fare lo stesso per le coordinate Y.
Lo script esegue i seguenti passaggi
Apri la tabella dei dati.Ecco il codice effettivo per questo
Names Default To Here( 1 );
dt1 = data table("Wafer 1");
dt2 = data table("Wafer 2");
Successivamente, per determinare la differenza di offset tra i 2 wafer, è necessario trovare la differenza assoluta tra il valore massimo nella colonna wafer 1 X Coord e il valore massimo nella colonna wafer 2 X Coord.
Ora ripeti lo stesso per le colonne Y Coord.
Il passaggio successivo richiede la determinazione condizionale se aggiungere o sottrarre il valore di offset. È necessario creare una nuova colonna che se il valore massimo della colonna X Coord per il wafer 1 è maggiore del valore massimo della colonna X Coord per il wafer 2, l'offset deve essere sottratto dai valori X Coord del wafer 1.Se ciò non è vero, l'offset viene aggiunto ai valori X Coord.
Questo passaggio deve essere ripetuto per Y Coord.
La lettura della Scripting Guide ti darà le informazioni sulle strutture dati e sulle funzionalità di programmazione disponibili in JSL.
Oggetto: offset delle coordinate X e Y del waferHo dovuto confrontare manualmente entrambe le mappe per trovare la posizione di entrambi gli stampi nella mappa e il valore di offset. C'è un modo per implementare usando jsl?
Oggetto: offset delle coordinate X e Y del waferSembra che se aggiungi 89 alla X Coord e 58 alla Y Coord nella tabella dati Wafer 2, le wafermaps si allineeranno