JSL 自動化過程能力中使用的列你好,
所以我想編寫一個 JSL 腳本,它可以通過單擊工具欄上的按鈕來運行 Process Capability。除了過程變量,我對所有東西都進行了編碼。請參閱下面的代碼。我將如何能夠動態添加“過程變量()”中的列
func_Process_Cap = Function({summ_table,spec_table},
// local vars
{},
Process Capability(
Process Variables( // hard coded - not ideal
:Name( "column1" ), //some columns are preseeded by :name()
:column2 // some are not
),
Spec Limits(
Import Spec Limits(spec_table) // dynamic
),
Individual Detail Reports( 1 ),
Capability Box Plots( 0 ),
Overall Sigma Summary Report( 1 ),
Goal Plot( 0 ),
Capability Index Plot( 0 ),
Order By( "Overall Sigma Ppk Ascending" ),
);
);回复:JSL 自動化過程能力中使用的列效果很好!我將 pcVar = Eval(.... 添加到腳本中,我能夠將命令發送到窗口,因此 pcVar << Goal Plot(0); 用於進一步定制。對於將來看到這個的人!
pcVar =Eval(Parse("dt << 過程能力(
過程變量(“|| TheVars||”)),
));));
pcVar <回复:JSL 自動化過程能力中使用的列嘗試這個
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Create a complex name for a column to make sure it will be
// processed correctly
dt:NPN1 << set name( "NPN1-7/Best" );
// Get a list of columns to be used
colList = dt << get column names( continuous, string );
ProcessFunc = Function( {TheList},
// Move them into a single literal string of the format required
// for the Process Variables element in the Process Capability
// platform
TheVars = ":Name(\!"" || TheList[1] || "\!")";
For( i = 2, i <= 10, i++,
TheVars = TheVars || "," || ":Name(\!"" || TheList[i] || "\!")"
);
// Run the Process Capability platform, using the literal
// string "TheVars"
Eval(Parse("dt << Process Capability(
Process Variables( "|| TheVars|| ") ) ,
Goal Plot( 1 ), Capability Index Plot( 1 )
);"));
);
Return = ProcessFunc( colList );回复:JSL 自動化過程能力中使用的列這是一個好的開始,但它只接受第一列。我製作了一個虛擬數據表(第 1 列、第 2 列、第 3 列),並修改了字符串的外觀以匹配我保存的虛擬數據分析腳本,它仍然只接受第一列。會嘗試不同的方法,如果我發現任何東西會報告回來!
回复:JSL 自動化過程能力中使用的列我不太確定我寫的腳本(見下文)是否會給你一個可能的方向,讓你知道你想去哪裡。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Create a complex name for a column to make sure it will be
// processed correctly
dt:NPN1 << set name( "NPN1-7/Best" );
// Get a list of columns to be used
colList = dt << get column names( continuous, string );
ProcessFunc = Function( {TheList},
// Move them into a single literal string of the format required
// for the Process Variables element in the Process Capability
// platform
TheVars = ":Name(\!"" || TheList[1] || "\!")";
For( i = 2, i <= N Items( TheList ), i++,
TheVars = TheVars || "," || ":Name(\!"" || TheList[i] || "\!")"
);
// Run the Process Capability platform, using the literal
// string "TheVars"
dt << Process Capability(
Process Variables( Eval( Parse( TheVars ) ) ),
Goal Plot( 1 ), Capability Index Plot( 1 )
);
);
Return = ProcessFunc( colList );