Ciao a tutti.
Sono programmatore e lavoro per l'industria OSAT.
sto cercando di creare uno script JSL.
riesco a ottenere la proprietà della colonna "Limiti delle specifiche" ma viene come List.
quando ottengo l'elemento List"Spec Limits" per ottenere il valore di LSL e USL, il tipo di elementi è Name.(Non mi sono abituato a questo tipo e al linguaggio JSL)
quando provo a convertire questo tipo di nome in stringa, non sono riuscito a trovare la funzione (come stringa).
Q1. c'è qualche funzione in grado di convertire il tipo Name in String?
D2. Se non esiste alcuna funzione, come posso analizzare LSL, valore USL dalla proprietà della colonna "Limiti specifica"?
dt = Tabella dati( "ABC.stdparametric" );
dt << Aggiungi righe(2, 0);
numero_di_colonne = NCOL(dt);
//------------------------------------------------ ------------
punto_inizio =1; // Inizializza la variabile del punto iniziale. e cercando dove inizia testItem.
For(j = 1, j <= N Col(dt), j++,
colName = Column(dt, j) << Ottieni nome;
If(colName == "ATR_Presente",
punto_inizio = j; // Assegna l'indice della colonna se il nome corrisponde
Rottura(); // Esce dal ciclo dopo aver trovato la prima occorrenza
);
);
punto_inizio = punto_inizio+1;
------------------------------------------------
For( i = start_point , i <= number_of_columns ,i++, // from 28-boone;
indicecolonna = 50;
columnName = Column(dt, columnIndex) << Ottieni nome;
// Ottieni i limiti delle specifiche dalla colonna
specLimits = Column(dt, columnIndex) << Get Property("Spec Limits");
lsl=specLimits[1];
usl=specLimits[2];
usl_value = Eval(Parse(usl)); // non funziona
lsl_value = Eval(Parse(lsl)); // non funziona
dt:nomecolonna[1] = lsl;
dt:nomecolonna[2] = usl;
);
Ecco un semplice esempio che mostra come recuperare il valore numerico di LSL e USL dall'elenco dei limiti delle specifiche recuperato
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
specLimits = column( dt, "NPN1" ) << get property( "Spec Limits" );
usl_value = specLimits["USL"];
usl_value = specLimits["LSL"];Grazie Jim.
la soluzione mi ha aiutato molto.
studierò di più su come trattare list & element.
Ecco alcune opzioni
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
specs = Column(dt, "NPN1") << Get Property("Spec Limits");
// lsl_val = Arg(specs[1], 1);
// usl_val = Arg(specs[2], 1);
lsl_val = specs["LSL"];
usl_val = specs["USL"];Le altre risposte sono quelle che realmente desideri, ma la risposta alla conversione dei nomi in stringhe è la funzione char() che creerà una sorta di stringa da qualsiasi tipo JSL.
e = Expr( xyzzy );
Show( Type( Name Expr( e ) ) ); // Type(Name Expr(e)) = "Name";
Show( Char( Name Expr( e ) ) ); // Char(Name Expr(e)) = "xyzzy";