JSL은 프로세스 기능에 사용되는 열을 자동화합니다.안녕하세요,
그래서 도구 모음의 버튼 클릭으로 Process Capability를 실행할 수 있는 JSL 스크립트를 작성하고 싶습니다. 프로세스 변수를 제외한 모든 것을 코딩했습니다. 아래 코드를 참조하십시오. "프로세스 변수()"에 열을 동적으로 추가하려면 어떻게 해야 합니까?
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" ),
);
);Re: JSL은 Process Capability에서 사용되는 열을 자동화합니다.훌륭하게 작동합니다! 나는 스크립트에 pcVar = Eval(....을 추가했고 pcVar << Goal Plot(0); 추가 사용자 정의를 위해 창에 명령을 보낼 수 있습니다. 나중에 이것을 보는 사람들을 위해!
pcVar =Eval(Parse("dt << 프로세스 기능(
프로세스 변수( "|| TheVars|| ") ) ,
);"));
pcVar <Re: JSL은 Process Capability에서 사용되는 열을 자동화합니다.이 시도
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 );Re: JSL은 Process Capability에서 사용되는 열을 자동화합니다.좋은 시작이지만 첫 번째 열만 허용합니다. 더미 데이터 테이블(column1,column2,column3)을 만들고 문자열이 더미 데이터에 대한 분석을 저장한 스크립트와 일치하는 방식을 수정했으며 여전히 첫 번째 열만 허용합니다. 다른 방법을 시도하고 무엇이든 찾으면 다시 보고할 것입니다!
Re: JSL은 Process Capability에서 사용되는 열을 자동화합니다.제가 작성한 스크립트(아래 참조)가 여러분이 가고자 하는 방향을 제시해 줄지 확신이 서지 않습니다.
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 );