
TIMESWITCH_ADD 함수 블록은 타이머 스위치에서 이벤트를 생성하거나 수정합니다.
참고: 타이머 스위치는 동일한 요소에 저장되어 있어야 합니다.
팁: 이벤트를 수정하려면 TIMESWITCH_GET 함수 블록을 사용하여 모든 값을 읽을 수 있습니다.
입력은 양의 에지에서 캘린더에 이벤트를 생성하거나 수정합니다. 입력이 항상 참이면, 이벤트가 삭제되면 다시 생성됩니다. 이벤트의 변경 사항은 인식되지 않습니다.
중요: 생성과 동시에 삭제는 SSD를 과도하게 사용하기 때문에 피해야 합니다.
여기서 타이머 스위치 데이터베이스가 문자열로 저장됩니다. 이는 TIMESWITCH 함수 블록으로 이미 존재해야 합니다. 프로그램의 순서를 고려하여 이 함수 블록이 올바르게 초기화되도록 하세요.
이벤트의 ID를 문자열로 정의합니다. 이를 통해 고유한 식별이 가능하며, 다른 이벤트가 충돌을 일으키는 것을 방지할 수 있습니다. ID는 문자와 숫자로만 구성되어야 합니다. 대소문자는 구분됩니다.
참고: ID는 모든 캘린더에서 고유하게 정의되어야 합니다. 사용자는 시각화에서 이벤트를 다른 캘린더로 복사할 수 있습니다.
이벤트의 제목은 문자열입니다. 이는 줄바꿈을 포함하지 않아야 합니다. ADD 입력이 참이면, 모든 변경 사항이 즉시 캘린더에 기록됩니다.
이벤트의 시작 시간은 DT# 형식으로 반환됩니다. ADD 입력이 참이면, 모든 변경 사항이 즉시 캘린더에 기록됩니다.
팁: 스위치 시간은 MKTIME, STR2DT 및 EASTER_DATE 함수 블록을 사용하여 계산할 수 있습니다.
이벤트의 종료 시간은 DT# 형식으로 반환됩니다. ADD 입력이 참이면, 모든 변경 사항이 즉시 캘린더에 기록됩니다. 종료 시간이 DT_START보다 작으면 DT_END가 시작 시간으로 정의됩니다.
입력이 정의되지 않으면 DT_START와 동일한 값이 가정되며 이벤트에서 펄스가 생성됩니다.
입력은 캘린더의 이벤트를 비활성화합니다. ADD 입력이 참이면, 모든 변경 사항이 즉시 캘린더에 기록됩니다.
입력에서 반복을 문자열로 정의할 수 있습니다. 이는 REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY 및 REPEAT_HOURLY 보조 함수로 생성하거나 설명된 대로 선언될 수 있습니다.
문자열은 다음과 같이 콜론으로 구분하여 구성할 수 있습니다:
w:2:4:135
첫 번째 숫자(소문자)는 반복의 시간 간격을 정의합니다:
| 약어 | 시간 간격 |
|---|---|
| h | 매시간 |
| d | 매일 |
| w | 매주 |
| m | 매월 |
| y | 매년 |
두 번째 숫자는 반복의 간격을 정수로 정의합니다. 가장 작은 값은 1입니다.
세 번째 숫자는 반복의 끝을 정의합니다. 여기에는 세 가지 다른 형식이 정의될 수 있습니다:
네 번째 숫자는 반복이 발생하는 요일을 정의합니다. 이 숫자는 주간 또는 월간 반복을 정의할 때만 사용됩니다.
현재 요일이 숫자에 포함되어 있는지 확인합니다. 여러 날짜는 단순히 연속적으로 지정할 수 있습니다. 예를 들어, 135는 월요일, 수요일 및 금요일을 의미합니다. 값이 지정되지 않으면 (0 또는 빈 문자열) 어떤 날에도 반복되지 않습니다.
| 숫자 | 요일 |
|---|---|
| 1 | 월요일 |
| 2 | 화요일 |
| 3 | 수요일 |
| 4 | 목요일 |
| 5 | 금요일 |
| 6 | 토요일 |
| 7 | 일요일 |
이벤트가 반복되어야 하는 요일을 정의합니다. -1부터 4까지의 숫자가 지원됩니다. 0 또는 선언되지 않으면 매월 동일한 날짜에 반복되며, 요일과 무관합니다. 요일은 첫 번째 날짜에서 가져옵니다.
| 값 | 설명 |
|---|---|
| -1 | 마지막 요일에 반복됩니다. |
| 0 | 동일한 날짜에 반복됩니다. (기본값) |
| 1 | 첫 번째 요일에 반복됩니다. |
| 2 | 두 번째 요일에 반복됩니다. |
| 3 | 세 번째 요일에 반복됩니다. |
| 4 | 네 번째 요일에 반복됩니다. |
오류가 발생하면 출력이 참으로 설정됩니다. 이는 캘린더가 존재하지 않거나 ID가 정의되지 않았거나 유효하지 않을 수 있습니다.