Pular para o conteúdo principal

I/O e Automação

O ACCELERO permite realizar ações de automação através do uso de dispositivos de I/O. É possível, por exemplo, monitorar inputs de um dispositivo e comandar saídas de outros dispositivos dependendo do status daquilo que foi lido.

É possível criar diversas regras para as mais diferentes situações, garantindo ampla flexibilidade para a configuração.

Controladores

Os dispositivos de I/O do sistema são configurados como controladores normais através do menu Configurações > Controladores. O sistema identifica, pelo tipo de dispositivo cadastrado, que se trata de um módulo de I/O, e habilita as funções específicas para aquele controlador.

Além de dispositivos dedicados de I/O, é possível utilizar e monitorar as entradas/saídas (I/O) de controladores comuns de acesso. O controlador Cobalt funciona em modo misto (I/O + acesso), unificando ambas as funções em um único dispositivo.

Inputs/Outputs

Cada dispositivo de I/O possui uma quantidade diferente de entradas e saídas. Todos os inputs/outputs do controlador são listados na aba Inputs/outputs.

Para cada item, é possível:

  • Definir um nome amigável (ex: "Sensor Porta Principal", "Sirene Externa")
  • Habilitar/desabilitar aquele input/output específico
Desabilitar I/O

Desabilitar um input/output significa apenas que ele não estará disponível nas telas de seleção. Não altera o funcionamento físico do hardware.

TODO: Adicionar Screenshot

Incluir print da aba Inputs/outputs de um controlador de I/O.

Uma vez configurado o controlador, seus inputs/outputs estarão disponíveis para a realização de ações de automação.

Ver Controladores para configuração geral.

Tratadores de I/O

Quando se deseja cadastrar no sistema uma nova automação de I/Os, basta navegar até o menu I/O > Configurar I/O e criar um novo Tratador de I/O.

Cada tratador é um conjunto de regras e ações que devem ser tomadas. Vários tratadores podem ser criados para atuar sobre os mesmos inputs/outputs se necessário.

Loops

Cabe ao usuário garantir que não haverá loops internos entre tratadores (ações de um tratador acionando regras de outro em ciclo).

Após definir um nome para o tratador e clicar em Salvar, a tela de configuração será apresentada com as abas descritas a seguir.

Conceitos

Um tratador de I/O é um serviço que:

  1. Monitora determinadas variáveis (triggers)
  2. Realiza uma série de checagens (regras)
  3. Executa ações configuradas

O que são Variáveis

Variáveis são entidades abstratas que podem (ou não) ter relação com entidades físicas:

Exemplo de VariávelTipo
Input de um dispositivoFísica
Estado do relé de um dispositivo de I/OFísica
Quantidade de pessoas em uma área do sistemaVirtual (sistema)
Um texto qualquer como "abc"Virtual (usuário)

Características importantes:

  • Variáveis podem ser criadas e utilizadas a qualquer momento, sem necessidade de criação prévia
  • Algumas variáveis são disponibilizadas automaticamente pelo sistema e apresentadas em picklists (os inputs de um controlador, por exemplo)
  • Outras podem/devem ser digitadas manualmente pelo usuário de acordo com a necessidade

Dados Gerais

A aba Dados gerais apresenta informações básicas sobre o tratador:

ConfiguraçãoDescrição
DescriçãoNome do tratador
Aplicação de regrasDefine se as regras são do tipo E ou do tipo OU. No tipo E, as ações serão executadas caso todas as regras sejam verdadeiras. No tipo OU, as ações serão executadas caso qualquer uma das regras seja verdadeira.
Ações/regras simétricasSe configurado como NÃO, o tratador aplica as ações apenas quando as regras têm estado "verdadeiro". Se configurado como SIM, o tratador aplica as ações quando as regras são verdadeiras e também aplica as ações "ao contrário" quando as regras são falsas.
Ações Simétricas

A opção "Ações/regras simétricas = SIM" é útil quando se deseja, por exemplo, ligar um output quando a regra é verdadeira e automaticamente desligá-lo quando a regra passa a ser falsa, sem precisar criar um segundo tratador.

TODO: Adicionar Screenshot

Incluir print da aba Dados gerais de um tratador de I/O.

Variáveis que Acionam a Regra (Triggers)

O tratador precisa saber em que momento deve aplicar/re-aplicar as regras. Esta aba determina quais variáveis serão os triggers da verificação.

Funcionamento:

  • Quando qualquer uma das variáveis definidas nesta aba tiver qualquer alteração de status, o tratador irá executar as checagens e realizar as ações necessárias
  • O mais comum é que as variáveis das regras sejam as próprias variáveis de acionamento, mas isso não é obrigatório
Triggers Externos

Em algumas situações, o tratador deve ser executado a partir de triggers externos. Por exemplo: o acionamento de um botão conectado ao input de uma placa pode ser o trigger, enquanto as regras verificam variáveis completamente diferentes.

Regras

Nesta aba são definidas todas as regras de checagem que determinam se o estado do tratador é VERDADEIRO ou FALSO.

Para cada regra, é necessário definir:

CampoDescrição
VariávelQual variável será analisada (pode ser física, como input de um dispositivo, ou virtual)
ComparaçãoOperador de comparação (igual, maior que, menor que, etc.)
Valor de referênciaO valor contra o qual a variável será comparada
Tempo de persistênciaPor quanto tempo aquele valor deve permanecer válido antes de considerar a regra como verdadeira

Exemplos:

Regra 1: O INPUT01 DO DISPOSITIVO X deve ser IGUAL a 1 (LIGADO) por mais de 5 SEGUNDOS
Regra 2: A VARIÁVEL ABC deve ser MAIOR QUE 1000 por 0 SEGUNDOS

Várias regras podem ser configuradas ao mesmo tempo. A lógica de aplicação (tipo E ou OU) é definida na aba Dados gerais do tratador.

TODO: Adicionar Screenshot

Incluir print da aba Regras mostrando configuração de regras com variável, comparação, valor e tempo.

Ações

Esta aba define quais ações devem ser executadas dependendo do resultado das regras. Mais de uma ação pode ser configurada. As seguintes ações estão disponíveis:

1. Agir Sobre Outputs de Controladores

O sistema pode atuar sobre outputs de controladores, ligando-os ou desligando-os.

Basta selecionar qual controlador/output deve ser atuado e qual o status que ele deve ter caso as regras do tratador tenham resultado VERDADEIRO.

Exemplo:

Ação: Agir sobre output
Controlador: MÓDULO I/O PORTARIA
Output: Output 3 (Sirene)
Status se verdadeiro: LIGADO

2. Alterar Variável

Permite alterar o valor de uma variável qualquer, em geral uma variável virtual administrada pelo próprio usuário. Basta definir qual a variável (qualquer texto alfanumérico é aceito) e o valor desejado.

Encadeamento de Tratadores

Este recurso é especialmente útil quando se deseja fazer encadeamento de tratadores para aplicação de regras complexas. Um tratador altera uma variável, e outro tratador usa essa variável como trigger ou em suas regras.

Exemplo:

Ação: Alterar variável
Variável: STATUS_ZONA_A
Valor: ALERTA

3. Monitorar

Similar a "Alterar variável", mas faz com que a variável configurada apareça na tela de Monitoramento de I/O.

Todas as variáveis que se deseja visualizar na tela de monitoramento devem ter uma ação Monitorar configurada. Do contrário, serão apenas variáveis gerenciadas internamente pelo sistema, invisíveis ao operador.

Para cada variável monitorada é necessário definir:

CampoDescrição
Nome da variávelIdentificação da variável
ApresentaçãoDigital (ligado/desligado) ou Texto (valores analógicos)
Visibilidade

Sem uma ação "Monitorar", a variável existe internamente mas não aparece na tela de monitoramento.

4. Reproduzir Som em Corneta Axis

Permite reproduzir arquivos de áudio em cornetas Axis, possibilitando a emissão de alertas sonoros integrados com automações de I/O.

6. Reproduzir Som Barium

Permite reproduzir arquivos de áudio em devices Barium.

CampoDescrição
Device IDIdentificador do dispositivo Barium
FaixaNúmero da faixa de áudio a ser executada

7. Gerar Popup

Permite gerar popups/notificações para operadores com mensagens pré-configuradas.

Os popups podem ser gerados para operadores específicos ou para todos os operadores.

8. Executar Macro

Permite a criação/atualização de variáveis virtuais através da execução de macros que atuam sobre o valor de outras variáveis.

Sintaxe:

FUNCAO(variavel1,variavel2,...variavelN)

Funções disponíveis:

FunçãoDescriçãoParâmetros
SUMSoma os valores das variáveisQualquer quantidade
SUBTRACTSubtrai o valor da segunda variável da primeiraExatamente 2
AVERAGECalcula a média aritmética das variáveisQualquer quantidade
MAXRetorna o maior valor entre as variáveisQualquer quantidade
MINRetorna o menor valor entre as variáveisQualquer quantidade

Exemplo:

Variável destino: MEDIA_TEMPERATURA
Macro: AVERAGE(TEMP_SENSOR_1,TEMP_SENSOR_2,TEMP_SENSOR_3)

→ A variável MEDIA_TEMPERATURA receberá a média dos 3 sensores.
→ Um novo tratador pode monitorar MEDIA_TEMPERATURA e agir quando ultrapassar um limiar.
Uso Típico

Macros são funções matemáticas sobre variáveis, úteis para consolidar valores de múltiplos sensores ou calcular indicadores compostos que serão usados em outros tratadores.

9. Gerar Ocorrência

Gera uma nova ocorrência na tela de Painel de Ocorrências, permitindo tratar eventos de I/O como alarmes gerenciáveis.

Ver Painel de Ocorrências para detalhes sobre gerenciamento.

TODO: Adicionar Screenshot

Incluir print da aba Ações mostrando os 7 tipos de ação disponíveis.

Monitoramento de I/Os

A tela de monitoramento de I/O permite a visualização, em tempo real, do status de variáveis configuradas.

Caminho de acesso: I/O > Monitorar I/O

Funcionamento

  1. Acesse a tela de monitoramento
  2. Clique no botão Monitorar para iniciar o monitoramento em tempo real
  3. Todas as variáveis que possuem ação configurada do tipo Monitorar serão apresentadas com seus respectivos valores
  4. Os valores são atualizados automaticamente sempre que houver alteração
Apenas Variáveis Monitoradas

Somente variáveis que possuem uma ação "Monitorar" configurada em algum tratador aparecerão nesta tela. Para adicionar uma variável ao monitoramento, configure uma ação "Monitorar" no tratador correspondente.

TODO: Adicionar Screenshot

Incluir print da tela de Monitorar I/O mostrando variáveis com apresentação digital e texto.

Condicionamento de Valores de Variáveis

Em algumas situações, é necessário realizar um pré-tratamento dos valores de uma variável assim que seus valores forem atualizados.

Caminho de acesso: I/O > Cond. sinal I/O

Conceito

O condicionamento permite fazer o "parse" de valores brutos para valores mais significativos antes que os valores sejam entregues para os tratadores, simplificando a configuração e operação.

Configuração

Para criar um condicionador de sinal:

  1. Navegue até I/O > Cond. sinal I/O
  2. Clique em Novo condicionador
  3. Selecione a variável a ser condicionada (inputs de controladores, variáveis virtuais, etc.)
  4. Defina as regras de condicionamento

Regras de Condicionamento

As regras são tratadas de forma sequencial, ordenadas de forma crescente pelo campo Ordem:

  • A primeira regra que for considerada VERDADEIRA será aplicada, condicionando o sinal para o valor configurado
  • Se nenhuma regra for verdadeira, nenhum condicionamento será aplicado e o valor original da variável será usado nos tratadores

Exemplo Prático

Cenário: Um equipamento emite um sinal analógico de 0 a 100. Desejamos classificar os valores em níveis LOW/MID/HIGH.

Configuração do condicionador:

OrdemSe valor forRegraCondicionar para
120LOW
280MID
3>81HIGH

Resultado: Nos tratadores de I/O, as regras podem verificar os valores usando LOW, MID e HIGH (textualmente) ao invés dos valores analógicos brutos, simplificando a configuração.

Sem condicionamento:
Regra: SENSOR_TEMP >= 81 → Acionar ventilação

Com condicionamento:
Condicionador: SENSOR_TEMP → LOW/MID/HIGH
Regra: SENSOR_TEMP = HIGH → Acionar ventilação
Quando Usar

O condicionamento é especialmente útil quando se trabalha com sensores analógicos que emitem valores numéricos contínuos e se deseja simplificar as regras dos tratadores usando categorias textuais.

Exemplos Práticos

Exemplo 1: Alarme de Porta Aberta

Objetivo: Acionar sirene se sensor de porta ficar ativado por mais de 30 segundos.

Tratador: ALARME PORTA PRINCIPAL
Dados gerais:
Aplicação de regras: E
Ações simétricas: SIM

Triggers:
- INPUT01 do MÓDULO I/O PORTARIA

Regra:
INPUT01 do MÓDULO I/O PORTARIA = 1 (LIGADO) por 30 SEGUNDOS

Ações:
1. Agir sobre output: OUTPUT03 (Sirene) = LIGADO
2. Gerar popup: "Porta principal aberta há mais de 30s" para todos operadores
3. Gerar ocorrência

Como ações simétricas = SIM:
→ Quando regra for verdadeira: liga sirene, gera popup e ocorrência
→ Quando regra voltar a ser falsa: desliga sirene automaticamente

Exemplo 2: Consolidação de Sensores com Macro

Objetivo: Calcular média de 3 sensores de temperatura e alertar se ultrapassar limite.

Tratador 1: CALCULAR MÉDIA
Triggers:
- TEMP_SENSOR_1, TEMP_SENSOR_2, TEMP_SENSOR_3

Regra:
TEMP_SENSOR_1 > 0 por 0 SEGUNDOS (sempre verdadeira quando há leitura)

Ações:
1. Executar macro: MEDIA_TEMP = AVERAGE(TEMP_SENSOR_1,TEMP_SENSOR_2,TEMP_SENSOR_3)
2. Monitorar: MEDIA_TEMP (apresentação: Texto)

---

Tratador 2: ALERTA TEMPERATURA
Triggers:
- MEDIA_TEMP

Regra:
MEDIA_TEMP > 40 por 60 SEGUNDOS

Ações:
1. Agir sobre output: OUTPUT01 (Ventilação) = LIGADO
2. Gerar popup: "Temperatura média acima de 40°C" para operadores

Exemplo 3: Botão de Pânico

Objetivo: Resposta automática a acionamento de botão de pânico.

Tratador: BOTÃO DE PÂNICO
Triggers:
- INPUT02 do MÓDULO I/O RECEPÇÃO (botão de pânico)

Regra:
INPUT02 do MÓDULO I/O RECEPÇÃO = 1 por 0 SEGUNDOS

Ações:
1. Agir sobre output: OUTPUT01 (Sirene) = LIGADO
2. Reproduzir som Barium: Device 1, Faixa 3
3. Gerar popup: "PÂNICO: Botão acionado na recepção" para todos operadores
4. Gerar ocorrência

Boas Práticas

  1. Nomeie claramente: Use nomes descritivos para tratadores, variáveis e ações

  2. Evite loops: Cuidado com ações que disparam tratadores em ciclo (tratador A altera variável que é trigger do tratador B, que altera variável trigger de A)

  3. Use ações simétricas: Quando possível, configure ações simétricas para evitar criar tratadores duplicados para ligar/desligar

  4. Aproveite o condicionamento: Para sensores analógicos, use condicionamento de sinais para simplificar regras

  5. Use encadeamento: Divida lógicas complexas em múltiplos tratadores usando variáveis intermediárias

  6. Monitore variáveis-chave: Configure ação "Monitorar" para variáveis importantes para acompanhamento visual

  7. Teste com o simulador: Use o Simulador para validar comportamento antes de ativar em produção

  8. Configure tempo de persistência: Use tempos adequados nas regras para evitar acionamentos por variações momentâneas

Próximos Passos