# Interruptor

> Uma chave sobre um ponto booleano que acompanha a planta: o clique escreve, a planta confirma.

**Interruptor** é uma chave sobre um ponto booleano escrevível. Ele segue a regra SCADA da posse
do estado: o visual *acompanha o ponto*, atualizado a partir do espaço de endereços ao vivo,
e o clique só escreve a negação do que o ponto diz naquele momento; a chave vira quando a
planta confirma. A tela nunca mostra um estado que o ponto não relatou. É um componente de
*Controle*; um novo ocupa 4 × 1 células.

## Conteúdo {#content}

| Campo | O que ele faz | Valores | Padrão |
|---|---|---|---|
| Rótulo | Legenda opcional desenhada ao lado da chave. | Texto livre | vazio |

## Dados {#data}

| Campo | O que ele faz | Valores | Padrão |
|---|---|---|---|
| Endereço | O endereço com raiz, na Logic, do ponto comutado: uma variável de memória ou uma tag escrevível. A lista de sugestões é encabeçada por pontos booleanos. | Texto livre; sugestões da lista de pontos ao vivo | vazio |

Sob o campo, o editor mostra o que o ponto escolhido lê neste momento.

## Quando a chave pode ser operada {#when-the-switch-can-be-operated}

A chave só fica habilitada enquanto tudo isto vale:

- o ponto resolve para um **destino de escrita legítimo**, uma variável de memória (não uma
  variável de expressão, cujo valor é calculado) ou uma tag que não é somente leitura;
- o ponto está lendo com **qualidade boa**: o clique escreve a *negação* do estado atual,
  então, sem uma leitura confiável, não há o que negar;
- nenhuma escrita desta chave ainda está em curso;
- o papel autenticado **pode operar dashboards** (veja o modelo de permissões na
  [página de dashboards](home)). Um papel que não pode vê no lugar disso a marca de trava
  discreta, com a razão na dica do componente.

## Semântica da escrita {#write-semantics}

Um clique escreve `true` ou `false`, sempre o oposto da última leitura boa do ponto, pelo
funil único de escrita da lógica da estação, com registro no diário como em toda outra
escrita. A linha de resposta passageira sob a chave relata o desfecho ("Escreveu ligado",
"Escreveu desligado", ou o erro) e se limpa depois de alguns segundos. Numa célula sem linha
para ela e sem título de canto sobre a chave, a resposta é escrita no lugar do rótulo, ao lado
da chave, enquanto aparece, uma recusa na tinta de erro, com a resposta inteira na dica; a
chave não se move, o rótulo volta quando a resposta se limpa, e uma chave sem rótulo guarda o
mesmo lugar para ela. A autorização é
reconferida no instante do clique, então uma troca de papel ou uma saída com a tela aberta
não consegue despachar um toque velho.

Quem espera o equipamento é a chave, não a Lógica, então "Escreveu ligado" quer dizer que o
equipamento aceitou. Qualquer outra coisa põe a recusa naquela linha, nas palavras de quem
recusou: as da própria estação para o que ela resolveu antes de enviar ("'Cmd' não foi escrito:
o equipamento não está conectado.") e as do equipamento, ou do driver dele, para o que aconteceu
no fio. Um estado que uma escrita mais nova no mesmo ponto ultrapassou antes de ser enviado não é
uma recusa e é relatado como escrito, porque o estado mais novo é o que a planta recebe.

Se o ponto vinculado não conseguir ler (endereço não resolvido, ou qualidade ruim), o
componente ganha a marca compartilhada de leitura ruim e a chave fica desabilitada até a
leitura voltar.

As seções compartilhadas Aparência, Identificação, Posição e camada e Ações estão descritas
na [página de componentes](components#the-shared-property-sections).
