주메뉴 바로가기 | 쇼핑카테고리 바로가기 | 하위메뉴 바로가기 | 본문 바로가기

고객지원

  • 공지사항
  • 새소식
  • 자료실
  • 영업문의
  • A/S 문의
  • Q&A
  • 교육
  • 사업자등록증 출력
  • 자료실

Q&A

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;


감사합니다.

상큼하고 행복한 하루 보내십시요.
이전글
다음글
목록
답변 삭제 수정