콘텐츠로 이동

날짜/시간 예제

예제: 생산 배치 타임스탬프 기록

날짜/시간 기능을 이해하기 위해 아래 예제를 따라 하십시오.

이 예제를 설정하기 위해 다음 구성을 사용합니다.

  1. 다음 태그를 생성합니다.:
    1. BatchStartTime
      • 데이터 타입: 문자열
      • 초기값: (공백)
    2. BatchStarted
      • 데이터 타입: BOOL
      • 초기값: 0

  1. 다음 스크립트를 생성하십시오:
    1. RecordBatchStart
      • 실행 유형: 정주기 (e.g., 1000 ms)

// 배치가 막 시작되었는지 확인
if (tag.read("BatchStarted") == 1) {
// 현재 타임스탬프를 밀리초로 읽기
var current = Date.now();
// 타임스탬프를 읽기 편한 문자열로 변환
var dateObj = new Date(current);
var formatted =
dateObj.getFullYear() + "/" +
("0" + (dateObj.getMonth() + 1)).slice(-2) + "/" +
("0" + dateObj.getDate()).slice(-2) + " " +
("0" + dateObj.getHours()).slice(-2) + ":" +
("0" + dateObj.getMinutes()).slice(-2) + ":" +
("0" + dateObj.getSeconds()).slice(-2);
// 변환된 날짜/시간 값을 BatchStartTime 태그에 쓰기
tag.write("BatchStartTime", formatted);
// 무한 반복을 방지하기 위한 트리거 리셋
tag.write("BatchStarted", 0);
}

이 스크립트는 배치가 시작될 때 시스템 시간을 캡처하는 데 사용됩니다. 이 스크립트는 사용 가능한 내장 날짜 명령어를 사용합니다.

  1. 이미지에 표시된 레이아웃과 일치하도록 프로젝트를 구성하십시오. 여기에는 날짜/시간 오브젝트, 3개의 문자 디스플레이 오브젝트, 그리고 순간값 버튼이 포함되어야 합니다.

  1. 문자 디스플레이에 "현재 시간:" 및 "배치 시작 시각:" 레이블을 지정하고, 순간값 버튼의 이름을 **"배치 시작"**으로 변경합니다.

  1. 두 번째 행에 있는 새 문자 디스플레이 위로 BatchStartTime 태그를 드래그합니다.

  1. 순간값 버튼에 대해, **눌렀을 때(On Press) > 태그(Tag) > 태그 값 설정(Set Tag Value)**으로 이동하여 BatchStarted 태그에 1 값을 할당합니다. 이렇게 하면 현재 시간을 캡처하도록 스크립트가 트리거됩니다.

  1. **도구(Tools) > 캔버스 시뮬레이터 실행(Launch Simulator)**을 클릭하여 캔버스 시뮬레이터를 시작합니다.

  2. 배치 시작 버튼을 누릅니다.

  3. BatchStartTime s문자열은 정확한 타임스탬프로 업데이트되며, 날짜/시간 객체는 실시간 시스템 시간을 계속 표시합니다.

  1. 작업자가 새 배치를 시작할 때마다 타임스탬프가 그에 따라 업데이트됩니다.