HOME > 고객지원 > Q&A
특정장치의 가동시간 구하는 예제 |
---|
작성자: 관리자 2002-04-25 11:03:01 | 1,979 |
특정장치가 ON 되고 OFF되기 까지의 시간을 구하는 예제 입니다. 아래의 Script를 참조하시고 질문이 있으시면 글이나 연락 주십시요. Event(Discrete) Tag의 값이 ON이 된후 Off가 되기까지의 시간을 계산합니다. 사용되는 Tag Type total_time => INTEGER ja_st_date => MESSAGE ja_st_date_i => INTEGER ja_ed_date => MESSAGE ja_ed_date_i => INTEGER DIM pump_message AS MESSAGE; DIM pump_filename AS MESSAGE; total_time =0; pump_filename = ""; pump_filename = "pump"+ StringRight($DateString, 2 ) + StringLeft( $DateString, 2 ) + StringMid( $DateString, 4, 2 ) + ".csv"; { 현재 날짜 형식이 MMDDYY일 경우 pumpYYMMDD.csv 의 이름으로 생성 } IF Event == 1 THEN ja_st_date = $TimeString; { 펌프가 열린 시간을 저장 } ja_st_date_i = $Time; { 펌프 열린 시간의 Integer값을 저장 } ja_ed_date_i=0; ja_ed_date=""; { 다시 펌프가 열린 경우 펌프의 닫힌 시간에 대해서 초기화 } ENDIF; IF Event == 0 THEN ja_ed_date = $TimeString; { 펌프가 닫힌 경우 닫힌 시간을 저장 } ja_ed_date_i = $Time; { 펌프가 닫힌 시간의 Integer값을 저장 } total_time = ( ja_ed_date_i - ja_st_date_i ) / 60000; { 펌프가 닫힌 시간에서 열린 시간을 뺀후 분단위(1000msec*60sec)로 나누어서 총 가동 시간을 저장 } { 이 경우 계산한 값이 1분(60초) 이상일 경우만 1분으로 표기하고 1분 미만은 0분으로 계산 } pump_message ="펌프 4," + $DateString + "," + ja_st_date + "," + ja_ed_date + "," + StringFromIntg(total_time, 10 ) + "분"; { 엑셀에 저장될 값들 } FileWriteMessage( "D:youngEDUintouch일보 DEMO(EVENT)"+ pump_filename, -1, pump_message , 1 ); { 엑셀 파일에 저장 } ENDIF; 감사합니다. 상큼하고 행복한 하루 보내십시요. |