알람 스크립트가 파일에 쓸 수 없습니다.안녕하세요,
아래와 같은 알람 스크립트로 어려움을 겪고 있습니다. 이 CuSum 차트는 7개의 알람을 생성하고 있으므로 로그 파일을 생성해야 하지만 그렇지 않거나 스크립트를 실행할 때마다 그렇지 않아서 이상합니다. 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까? 저는 17.2 pro 버전을 사용하고 있습니다.
이름은 여기(1)에 기본으로 지정됩니다.
dt = Open( "$SAMPLE_DATA/품질관리/오일1 Cusum.jmp" );
obj = dt << CUSUM 관리도(
Y( :가중치),
H(2),
하부 측면( 1 ),
타겟(8.1),
(0.025)의 확률
시그마(0.02),
헤드 스타트(0.05),
알람 스크립트(
내용 = Substitute( "^QCTEST in column ^QCCOL in sample ^QCSAMPLE.",
"^QCTEST", qc_test를 선택하세요.
"관리 한계를 벗어난 한 지점" ),
"^QCCOL", qc_col,
"^QCSAMPLE", char(qc_sample));
파일 이름 = 파일 경로 변환("$TEMP/test log.txt", absolute);
if (파일이 존재합니다(파일명), 텍스트 파일 저장(파일명, 내용, Mode("추가")), 텍스트 파일 저장(파일명, 내용));
),
);
// 테스트 1 켜기
obj << 테스트 1(1);
자동화 및 스크립팅Re: 알람 스크립트가 파일에 쓸 수 없습니다.나는 통제 차트 전문가는 아니지만 다음을 추가하여 파일 쓰기를 트리거할 수 있었습니다.
Test beyond limits( 1 )
CUSUM 관리도 사양에 대한
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp" );
obj = dt << CUSUM Control Chart(
Y( :weight ),
H( 2 ),
Lower Side( 1 ),
Target( 8.1 ),
K( 0.025 ),
Sigma( 0.02 ),
Head Start( 0.05 ),
Test beyond limits( 1 ),
Alarm Script(
contents = Substitute( "^QCTEST in column ^QCCOL in sample ^QCSAMPLE.",
"^QCTEST", Choose( qc_test, "One point beyond the control limits" ),
"^QCCOL", qc_col,
"^QCSAMPLE", Char( qc_sample )
);
filename = Convert File Path( "$TEMP/test log.txt", absolute );
If( File Exists( filename ),
Save Text File( filename, contents, Mode( "Append" ) ),
Save Text File( filename, contents )
);
),
);
// Turn on Test 1
obj << Test 1( 1 );

PS JMP 코드를 추가할 때 미리보기 페이지 상단에 있는 JSL 아이콘을 사용하세요. JSL을 훨씬 더 쉽게 읽고 이해할 수 있도록 표시합니다.
Re: 알람 스크립트가 파일에 쓸 수 없습니다.안녕하세요 짐,
감사합니다. 하지만 제가 찾던 것은 아닙니다. 아래와 같은 관리 차트에서 아래 수직선으로 표시된 것처럼 변화가 감지되는 지점이 7개 있습니다. 
그런 다음 아래 코드가 각 교대 근무가 감지될 때마다 알람 스크립트를 한 번씩 실행하여 ReportOut 데이터 테이블을 7개 행으로 채우는 것을 기대했습니다.
Names Default To Here( 1 );
ReportOutDataTable = New Table( "ReportOut",
//Add Rows(1),
New Column( "Name",
Character,
"Nominal",
)
);
dt = Open( "$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp" );
ReportOUtDataTable = Data Table("ReportOut");
obj = dt << CUSUM Control Chart(
Y( :weight ),
H( 2 ),
Lower Side( 1 ),
Target( 8.1 ),
K( 0.025 ),
Sigma( 0.02 ),
Head Start( 0.05 ),
//Test beyond limits( 1 ),
Alarm Script(
ReportOutDataTable<<ADD rows=""></ADD>However looks like the alarm script wont run at all, unless Test beyond limits (1) is used. This then results in all points out of control in the chart being circled (71 in my example) , and therefore 71 rows of data being added to my ReportOut Data table.
Ultimately, I want the alarm script to run only when a shift is detected, and then output information on the shift to a ReportOut Data table, with information like the Sample Number on which the shift was detected. Maybe I'm misunderstanding how the Alarm script is indented to function?
Re: 알람 스크립트가 파일에 쓸 수 없습니다.아마도 "테스트" 교대가 경보로 간주되지 않아 경보 스크립트가 실행되지 않을 수도 있습니다.
Re: 알람 스크립트가 파일에 쓸 수 없습니다.가능하지만 이상하게 보일 수 있습니다. CuSum 그래프의 목적은 데이터의 변화를 감지하는 것이고, 이는 위에서와 같이 Jmp에서 수직 보라색 선으로 표시됩니다. 이는 사용자가 알람 스크립트를 실행하기를 원하는 데이터의 변화입니다.
Re: 알람 스크립트가 파일에 쓸 수 없습니다.그럴 수도 있지만 현재는 교대 근무가 아닌 알람에서만 트리거되는 것 같습니다. "교대 근무 스크립트" 또는 이와 유사한 것에 대한 지원을 받기 위해 위시리스트 항목을 만드는 것이 어떨까요? 현재는 별도의 표에 이러한 항목을 넣고 표에 따라 고유한 동작을 트리거할 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp");
obj = dt << CUSUM Control Chart(
Y(:weight),
H(2),
Lower Side(1),
Target(8.1),
K(0.025),
Sigma(0.05),
Head Start(0.05)
);
dt_summary = obj << Save Summaries;
r = dt_summary << Get Rows Where(Is Missing(:Shift Start));
dt_summary << Delete Rows(r)