Componentes de dashboard
O que é um componente de dashboard: o catálogo de tipos, os endereços que eles vinculam, como uma leitura é desenhada, e as seções de propriedade que todo tipo compartilha.
Um componente é um item num dashboard: um retângulo de células da grade que desenha alguma coisa. A maioria dos componentes lê o espaço de endereços ao vivo e o apresenta, alguns escrevem nele, e alguns só desenham. Você coloca um pela área Adicionar do trilho de ferramentas do editor de dashboard, arrastando-o para uma célula exata ou clicando nele para tomar a primeira livre, e ele abre em Propriedades para você configurar.
Todo tipo tem uma página de referência própria, listada em O catálogo e na lista deste grupo. Esta página guarda o que todos eles têm em comum: os endereços que vinculam, como uma leitura é desenhada, e as seções de propriedade que se repetem em todo tipo. Qual papel pode pressionar um controle, e a marca de trava que um componente ganha quando o papel autenticado não pode, estão em View e dashboards.
O catálogo
A paleta Adicionar agrupa o catálogo por categoria, e as categorias dizem o que cada família faz. Exibição é tudo o que relata: os mostradores simples e as tabelas, as lâmpadas, e os gráficos que acompanham pontos ao longo do tempo ou os comparam lado a lado. Controle é a família dedicada a escrever: cada componente dela existe para pôr um valor num ponto. Ela não é a única superfície que um operador pressiona, no entanto. Alarme traz o registro de pendências para uma tela, e o aviso dele é reconhecido dali, por linha e em lote; os cartões de procedimento listados abaixo também são pressionados. Mídia coloca figuras, marcas da biblioteca e arte industrial. Estrutura agrupa uma região atrás do resto da tela.
| Categoria | Componentes |
|---|---|
| Exibição | Rótulo · Valor · Tabela de pontos · LED de estado · Gráfico de linhas · Gráfico de barras · Gráfico de pizza · Medidor · Cartão de KPI · Progresso |
| Controle | Interruptor · Entrada · Botão · Seletor · Controle deslizante de setpoint · Teclas de passo |
| Alarme | Aviso de alarme |
| Mídia | Imagem · Ícone · Símbolo |
| Estrutura | Moldura |
Além da paleta, os painéis de unidade gerados carregam os cartões de procedimento, colocados pelo ambiente do Process e não oferecidos no Adicionar: Intertravamento, Seletor de procedimento, Lista de ocorrências e Linha do tempo de comentários.
As figuras, as marcas e a arte que os tipos de Mídia desenham vêm da biblioteca da própria estação, na página da Logic: A biblioteca de ativos guarda as imagens, os ícones e as cores, e os Símbolos guardam o catálogo de que um Símbolo é escolhido, com os terminais entre os quais as ligações dele são desenhadas.
Endereços e leituras ao vivo
Os componentes ao vivo se vinculam a endereços: nomes com raiz dentro do espaço de endereços ao vivo da estação, o mesmo espaço que a Logic lê (veja a página da Logic). Um endereço nomeia um ponto, onde quer que ele more:
| Formato do endereço | O que ele nomeia |
|---|---|
Connector.<Driver>.<Device>.<Tag> |
O valor de engenharia de uma tag do Connector, com as pastas do dispositivo entre o driver e o dispositivo quando ele está arquivado em alguma (veja a página do Connector) |
Variables.<name> |
Uma variável da Logic (de memória ou calculada) |
Alarms.<name> |
O estado ativo de um alarme |
Assets.Icons.<name> |
Uma marca da biblioteca de ícones |
Process.<Model>.<Unit>.… |
Os pontos de execução de uma unidade: leituras, Commands.*, Next.<field>, Commands.Comment |
Os campos de endereço são texto livre com sugestões: a lista é tirada da lista de pontos ao vivo, limitada a 50 linhas, estreitada para a categoria de valor que o campo consome (um medidor sugere números, um interruptor é encabeçado por pontos Bool, um controle de escrita lista só o que pode ser escrito), e toda linha é marcada com o tipo dela. Você sempre pode digitar um endereço que a lista não oferece, inclusive um que ainda não existe. Assim que um campo nomeia um ponto, o editor mostra o que aquele ponto lê neste momento sob o campo: a confirmação que um componente sem número próprio a desenhar não consegue dar. Numa tela definida num modelo do Process, os canais abstratos do modelo encabeçam toda lista; escolher um deles vincula o canal e deixa a unidade para ser respondida quando uma unidade abrir a tela.
O canvas atualiza os componentes dele a partir do espaço de endereços a cada 150 ms na janela da própria estação e a cada 400 ms num navegador remoto, sobre os valores que a varredura da lógica publica. Duas regras valem para todo componente ao vivo:
- Nunca um valor velho. Um ponto que para de ler cai para o texto de espera do próprio componente (o traço de lacuna, uma lâmpada vazada, uma lacuna no gráfico), nunca para o último número.
- Uma marca de leitura ruim só. Um componente cujo ponto vinculado não consegue ler (o
endereço não resolve para nada, ou o ponto responde com qualidade ruim) ganha uma marca
compartilhada: um contorno tracejado de atenção em volta da célula e um pequeno
!dentro de um círculo no canto superior direito. Todo tipo ganha a mesma marca, então ela é aprendida uma vez só. Um ponto resolvido que responde com qualidade boa e sem valor não é uma falha (uma bancada entre execuções, um contador fora de um ciclo), então o componente mantém o texto de espera discreto dele e a marca continua apagada. Um endereço sem vínculo não é culpa de ninguém: uma tela ainda em montagem nunca se lê como uma tela de avisos.
Exibição de valores
Quão grande uma leitura é desenhada é governado por um contrato só, compartilhado por toda superfície de texto do canvas (mostradores, legendas, faces de tecla, palavras de estado):
- Toda superfície é automática (a célula decide o tamanho, limitada pela largura que as declarações da superfície reservam: dígitos, casas decimais, unidade, ou as palavras escritas) ou declarada, um tamanho em pontos que você dá (de 9 a 144). Um tamanho declarado é literal: ele desenha naquele tamanho em qualquer célula e nunca é reduzido para o conteúdo caber. Nada no tamanho jamais segue o valor que por acaso chegou, então um número que oscila entre quatro e seis caracteres nunca mexe no texto.
- Um número nunca é desenhado cortado. Onde ele não pode ser mostrado inteiro (mais
dígitos do que o campo declara, ou um tamanho declarado mais largo que a célula) a
superfície desenha
####, a marca da planilha e do DCS para um campo estreito demais para o valor dele, com a leitura inteira na dica. - O texto livre é cortado com reticências, com o texto inteiro na dica. As palavras nunca ganham a marca do número.
- Um ponto que não está lendo é um fato diferente ainda: o traço de lacuna, mais a marca compartilhada de leitura ruim onde o silêncio é falha de verdade. A ausência de uma leitura e a ausência de espaço nunca tomam emprestada a marca uma da outra.
- Os números se apoiam à direita do campo deles, em algarismos tabulares, para que colunas de leituras se alinhem consigo mesmas.
O piso de legibilidade de 11 px vale em todo lugar, e o botão compartilhado de Escala do conteúdo multiplica o tamanho resolvido: para baixo sempre mostra (ainda com o piso), para cima cresce só até onde a linha ainda cabe sem corte.
As seções de propriedade compartilhadas
Selecionar um componente abre as propriedades dele. As seções nomeadas para o próprio tipo do componente vêm primeiro (o conteúdo dele, os dados dele, o formato dele) e estão documentadas na página daquele componente. Em volta delas, todo componente compartilha as mesmas seções. O painel que as desenha, a leitura ao vivo sob todo campo de endereço e os controles que se repetem entre os tipos (tamanho do mostrador, Lê-se como, as faixas da Escala, a caixa de ferramentas do gráfico) estão descritos em O editor de dashboard.
Identificação nomeia o componente para quem edita a tela: o nome encabeça o painel de propriedades, rotula a linha na lista Componentes e responde à busca dela. Nada o desenha na tela do operador; isso é o título da Aparência.
Aparência é a caixa do componente:
| Campo | O que ele faz | Valores | Padrão |
|---|---|---|---|
| Mostrar moldura | Desenha o contorno do próprio componente. | ligado / desligado | desligado |
| Espessura da moldura (px) | Quão pesado é esse contorno. Um px é a borda de um cartão; um traço mais pesado distingue um grupo do que está em volta sem uma segunda cor. | de 1 a 4 | 1 |
| Mostrar fundo | Preenche o retângulo do componente com o par de cores, tornando-o um cartão. Desligado, a grade aparece através dele. | ligado / desligado | desligado |
| Cor do fundo | O preenchimento como um par, uma metade por tema, as duas metades editadas de uma vez, porque o tema em vigor decide qual metade está na tela. | #RRGGBB cada |
#FFFFFF claro · #2B2B2B escuro |
| Título (canto) | O rótulo de canto do próprio componente, o que o cartão é, acima do que o tipo desenha. Em branco significa nenhuma linha de legenda. | Texto livre | vazio |
| Tamanho do título (px) | Em branco deixa cada cartão dimensionar o título dele a partir da célula; um tamanho declarado é literal e é o que faz os títulos de uma tela inteira concordarem. O que deixa de caber é cortado com reticências, com o título inteiro na dica. | de 11 a 96, ou em branco | em branco (automático) |
| Cor do título | O par de tinta do título. Sem toque nenhum, o título segue o tom discreto do próprio tema. | #RRGGBB cada |
#6B6B6B claro · #A0A0A0 escuro |
| Escala do conteúdo | Quanto da caixa o conteúdo toma: a célula que você desenhou já dimensiona o conteúdo, e este botão o regula dentro da célula sem redesenhar a grade. A arte responde geometricamente, um mostrador tipograficamente. | de 0,25 a 3 | 1 |
Posição e camada guarda os numéricos X / Y / W / H, a camada (Z) e o par Trazer para a frente / Enviar para trás. Avançado aparece só nos tipos que têm extras pouco usados. Ações duplica ou remove o componente.
Segure Ctrl para selecionar vários componentes e editar o que eles compartilham: os campos de Aparência se espalham pela seleção inteira (um campo em que os membros discordam diz "Misto"), os comandos de camada mantêm a ordem relativa do lote, e Duplicar/Remover agem sobre todos eles. Os campos por tipo exigem um componente só.