# 토글

> 공장을 따라가는 부울 포인트 위의 스위치입니다. 클릭이 쓰고, 공장이 확인해 줍니다.

**토글**은 쓸 수 있는 부울 포인트 하나 위의 스위치입니다. 상태의 주인이 누구인지에 대한 SCADA의 규칙을 따릅니다. 보이는 모습은 *포인트를 따라가며* 실시간 주소 공간에서 새로 읽히고, 클릭은 포인트가 지금 말하는 값의 반대만 씁니다. 스위치는 공장이 확인해 줄 때 넘어갑니다. 화면은 포인트가 알리지 않은 상태를 결코 보여 주지 않습니다. *조작* 구성 요소이며, 새로 만들면 4 × 1 칸을 차지합니다.

## 내용 {#content}

| 항목 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 라벨 | 스위치 옆에 그리는 설명이며 없어도 됩니다. | 자유 입력 | 비어 있음 |

## 데이터 {#data}

| 항목 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 주소 | 넘기는 포인트의 뿌리 있는 Logic 주소입니다. 내부 값 변수이거나 쓸 수 있는 태그입니다. 제안 목록은 부울 포인트를 앞에 세웁니다. | 자유 입력, 제안은 살아 있는 포인트 목록에서 | 비어 있음 |

입력란 아래에서 편집기는 고른 포인트가 지금 무엇을 읽는지 보여 줍니다.

## 스위치를 조작할 수 있는 때 {#when-the-switch-can-be-operated}

스위치는 다음이 모두 참일 때에만 눌립니다.

- 포인트가 **쓸 수 있는 대상**으로 풀립니다. 내부 값 변수(값이 계산되는 수식 변수는 아닙니다)이거나 읽기 전용이 아닌 태그입니다.
- 포인트가 **정상 품질**로 읽히고 있습니다. 클릭은 지금 상태의 *반대*를 쓰므로, 믿을 만한 읽은 값이 없으면 뒤집을 것도 없습니다.
- 이 스위치에서 나간 쓰기가 아직 오가는 중이 아닙니다.
- 로그인한 역할이 **대시보드를 조작할 수 있습니다**([대시보드 페이지](home)의 권한 모형 참조). 그럴 수 없는 역할에게는 대신 조용한 잠금 표시가 나오고, 이유는 구성 요소의 도구 설명에 있습니다.

## 쓰기의 뜻 {#write-semantics}

한 번의 클릭이 `true`나 `false`를 씁니다. 언제나 포인트가 마지막으로 정상 품질로 읽은 값의 반대이며, 스테이션의 단일 로직 쓰기 통로를 지나고 다른 모든 쓰기와 똑같이 진단 로그에 남습니다. 스위치 아래에서 잠깐 나오는 응답 줄이 결과를 알리고("켜기를 썼습니다", "끄기를 썼습니다", 또는 오류) 몇 초 뒤에 스스로 사라집니다. 응답 줄이 들어갈 자리가 없고 스위치 위에 모서리 제목도 서 있지 않은 칸에서는, 응답이 보이는 동안 응답이 스위치 옆 라벨 자리에 쓰이고 거부는 오류 색으로 쓰이며, 응답 전체는 도구 설명에 담깁니다. 스위치는 움직이지 않고, 응답이 사라지면 라벨이 돌아오며, 라벨이 없는 스위치도 응답을 위해 같은 자리를 비워 둡니다. 권한은 클릭하는 순간에 다시 확인하므로, 화면을 열어 둔 채 역할이 바뀌거나 로그아웃해도 지난 누름이 실행되지 않습니다.

설비를 기다리는 쪽은 로직이 아니라 이 스위치이므로, "켜기를 썼습니다"는 설비가 그 값을 받아들였다는 뜻입니다. 그 밖의 경우에는 거부한 쪽이 쓴 말 그대로 거부가 그 줄에 놓입니다. 보내기 전에 스테이션이 스스로 정한 것은 스테이션의 말로("'Cmd'에 쓰지 않았습니다. 장치가 연결되어 있지 않습니다."), 전선 위에서 벌어진 일은 설비나 그 드라이버의 말로 놓입니다. 같은 포인트에 더 새로운 쓰기가 들어와 보내기 전에 앞질러 간 상태는 거부가 아니라 썼다고 알립니다. 설비에 주어지는 것은 더 새로운 상태이기 때문입니다.

바인딩된 포인트를 읽지 못하면(주소가 풀리지 않거나 품질이 나쁠 때) 구성 요소는 공통 읽기 실패 표시를 달고, 읽은 값이 돌아올 때까지 스위치를 쓸 수 없습니다.

공통 모양, 식별, 위치와 레이어, 액션 구역은 [구성 요소 페이지](components#the-shared-property-sections)에서 설명합니다.
