Componentes
Esta página apresenta a estrutura básica de um projeto no Flessor Studio.
O que você encontra aqui:
O objetivo é explicar como o projeto é organizado dentro da árvore lateral, qual é a função de cada grupo principal e como o integrador deve navegar entre menus, telas, máquinas, mapas de variáveis e subprojetos.
- o papel da árvore lateral;
- a diferença entre projeto, menu, tela, máquina e mapa de variáveis;
- onde cadastrar equipamentos;
- onde configurar telas;
- onde importar ou editar variáveis;
- onde acessar alarmes, persistentes, relatórios e CEPs;
- como organizar o projeto para facilitar manutenção futura.
Visão geral da árvore lateral
| A árvore Projeto reúne menus, máquinas, mapas, hidrotelemetria e bibliotecas. |
|---|
A estrutura geral pode ser entendida da seguinte forma:
A árvore lateral é o principal mapa do projeto dentro do Flessor Studio.
Ela organiza os elementos do supervisório de forma hierárquica, permitindo que o integrador acesse rapidamente as configurações globais, menus, máquinas, telas, mapas de variáveis, subprojetos e demais recursos.
Projeto
├── Menus (Configurações)
│ ├── Menu Principal
│ │ ├── Tela 1
│ │ ├── Tela 2
│ │ ├── Alarmes e Trips
│ │ ├── Persistentes
│ │ ├── Relatórios
│ │ └── CEPs
├── Máquinas (CLP's / Dispositivos)
│ ├── CLP Principal
│ ├── Medidor
│ ├── Remota
│ └── NVR / Câmera / Dispositivo
├── Mapas Variáveis (Objetos)
│ ├── Mapa Modbus 1
│ └── Mapa Modbus 2
├── Hidrotelemetria (ANA)
└── Bibliotecas (Subprojetos)
A estrutura real pode variar conforme o tipo de planta, quantidade de equipamentos, protocolos utilizados e recursos contratados.
Raiz do projeto
A partir da raiz, o integrador pode acessar configurações como:
A raiz do projeto é o primeiro item da árvore lateral. Normalmente aparece com o nome do projeto configurado pelo integrador.
É na raiz que ficam as configurações globais do supervisório.
dados gerais do projeto, banco de dados, portas, servidores, usuários, níveis de alarme, imagens globais, relatórios, traduções, links úteis, subprojetos, sincronismos e validações.
A raiz deve ser configurada antes da criação detalhada das máquinas e telas, pois muitos elementos do projeto dependem das definições gerais.
Pasta Menus
Exemplos de menus:
Cada menu pode conter:
A pasta Menus organiza a navegação visual do supervisório.
Um menu representa uma área funcional, equipamento, sistema, subsistema ou conjunto de telas que será apresentado ao operador.
- Geral
- UG01
- UG02
- Subestação
- Vertedouro
- Captação
- Serviços Auxiliares
- Relatórios
- Câmeras
telas, submenus, alarmes e trips, variáveis persistentes, variáveis de relatório, CEPs, horímetros e contadores, análises ou indicadores e configurações específicas daquele conjunto operacional.
Menu principal e submenus
Exemplo:
Boas práticas:
- use nomes claros e curtos;
- evite duplicidade de nomes;
- agrupe telas por função operacional;
- evite menus muito profundos;
- mantenha padrão semelhante entre máquinas iguais;
- use a mesma lógica de navegação para equipamentos repetidos.
O menu principal é o ponto de entrada de uma área funcional.
Submenus podem ser usados para organizar melhor projetos maiores.
UG01
├── Visão Geral
├── Mancais
├── Gerador
├── Turbina
├── Proteções
└── Tendências
Telas
Elas podem representar:
Cada tela possui propriedades próprias, como:
Exemplo:
As telas são as interfaces visuais acessadas pelo operador.
visão geral da planta, unifilar elétrico, tela de máquina, tela de alarmes, tela de tendência, comandos de equipamento, painel de relatórios, sinóptico hidráulico, tela de câmera e painel de manutenção.
nome, descrição, resolução, fundo, regras de fundo, ícone, permissão mínima, scripts ou regras específicas, quando aplicável, tags de entrada e componentes visuais.
As telas devem ser criadas dentro do menu correspondente.
- Menu: UG01
- Tela: Visão Geral UG01
- Tela: Mancal Guia UG01
- Tela: Gerador UG01
- Tela: Comandos UG01
Design da tela
Nessa etapa, o integrador pode inserir e organizar componentes como:
O design é a área onde o integrador monta visualmente a tela.
textos fixos, rótulos dinâmicos, valores de leitura, botões de comando, indicadores tipo LED, imagens, gráficos, caixas de status, componentes de navegação e fundos e elementos visuais.
A tela deve ser pensada para uso operacional. O objetivo não é apenas ficar visualmente agradável, mas permitir leitura rápida, comando seguro e interpretação clara do estado da planta.
Pasta Máquinas
Exemplos:
A máquina normalmente possui dados como:
A pasta Máquinas organiza os equipamentos, CLPs, dispositivos e sistemas externos configurados no projeto.
Uma máquina representa um elemento de comunicação ou agrupamento operacional.
- CLP_UG01
- CLP_UG02
- Remota_Vertedouro
- Medidor_Energia
- NVR_Cameras
- Servidor_OPCUA
- Switch_Principal
nome, protocolo, endereço IP ou hostname, porta, menu associado, tipo de equipamento, intervalo de varredura, parâmetros específicos do protocolo e indicação se aparece ou não na lista de máquinas.
Relação entre máquina e menu
Exemplo:
| Máquina | Menu vinculado |
|---|
| CLP_UG01 | UG01 |
| CLP_UG02 | UG02 |
| Remota_Vertedouro | Vertedouro |
| Medidor_Energia | Medição |
No Flessor Studio, máquina e menu trabalham em conjunto.
A máquina representa o equipamento ou origem de dados.O menu representa a organização visual e funcional desses dados.
Em muitos casos, equipamentos iguais podem usar menus com estrutura semelhante. Isso facilita padronização, cópia de telas e manutenção.
Protocolos de comunicação
Exemplos de protocolos possíveis:
Antes de cadastrar a máquina, confirme:
Ao cadastrar uma máquina, o integrador deve selecionar o protocolo de comunicação correspondente ao equipamento.
Modbus TCP, TwinCAT ADS, OPC UA, SNMP, DNP3, MQTT, JSON, IEC 61850, Siemens S7 e câmeras ou NVRs, quando aplicável.
A escolha do protocolo define quais campos adicionais serão necessários, como IP, porta, identificadores, mapas de variáveis ou parâmetros específicos.
manual do equipamento, endereço IP, porta, protocolo, credenciais, quando aplicável, mapa de memória, arquivo de variáveis, quando existir e tempo de varredura desejado.
Mapas Variáveis (Objetos)
Exemplo conceitual:
| Nome da variável | Endereço | Tipo | Unidade |
|---|
| NivelMontante | 40001 | Numérico | m |
| TemperaturaMancal | 40003 | Numérico | °C |
| BombaLigada | 00001 | Booleano | - |
| FalhaInversor | 00002 | Booleano | - |
A pasta Mapas Variáveis (Objetos) reúne mapas de endereçamento usados por protocolos que exigem associação manual entre variáveis e endereços.
O exemplo mais comum é o mapa Modbus, mas a lógica também pode ser aplicada a outros protocolos que utilizam endereçamento explícito.
Um mapa de variáveis informa ao supervisório como interpretar os dados do equipamento.
Sem um mapa correto, o supervisório pode ler valores incorretos, não ler nada ou interpretar dados de forma errada.
Diferença entre variável, mapa e componente visual
É importante diferenciar três conceitos:
| Elemento | O que representa |
|---|
| Variável | Um dado operacional, como temperatura, nível, status ou comando |
| Mapa de variáveis | A origem/endereço da variável no equipamento |
| Componente visual | O elemento da tela que exibe ou comanda a variável |
Exemplo:
- Variável: TemperaturaMancalGuia
- Mapa: endereço 40010 no CLP
- Componente visual: valor numérico na tela do mancal
O integrador deve garantir que o componente visual esteja ligado à variável correta e que a variável esteja corretamente configurada no mapa ou origem de dados.
Bibliotecas (Subprojetos)
Esse recurso pode ser útil quando há:
Exemplo:
A área de Bibliotecas ou Subprojetos permite organizar projetos relacionados, bibliotecas ou outras unidades supervisionadas.
mais de uma usina, mais de uma planta, bibliotecas padronizadas, unidades remotas, projetos separados por cliente e integração entre ambientes.
Complexo Rio Azul
├── PCH São João
├── PCH Santa Clara
└── CGH Rio Bonito
O uso de subprojetos deve ser planejado com cuidado, pois envolve organização de arquivos, permissões, caminhos e, em alguns casos, comunicação entre ambientes.
Hidrotelemetria
Essa área pode ser aplicada em projetos como:
Quando o projeto utiliza estações hidrometeorológicas, telemetria de nível, chuva, vazão ou dados ambientais, a área de Hidrotelemetria pode ser usada para organizar esses cadastros.
PCHs, CGHs, usinas hidrelétricas, captações, barragens, sistemas de monitoramento hidrológico e estações de medição remota.
Antes de configurar, confirme quais estações existem, quais dados são recebidos, qual a origem da comunicação e qual a finalidade operacional desses dados.
Alarmes e Trips
A diferença geral é:
| Tipo | Significado |
|---|
| Alarme | Indica condição anormal, risco ou atenção operacional |
| Trip | Indica condição crítica, normalmente associada à parada ou proteção da máquina |
Um alarme ou trip pode conter:
Alarmes e trips são normalmente configurados a partir do menu ou da máquina correspondente.
expressão ou variável de disparo, mensagem exibida ao operador, valor complementar, tipo de gatilho, atraso para ligar ou desligar, causa provável, solução recomendada e ação associada, quando aplicável.
A configuração de alarmes será detalhada em capítulo próprio.
Persistentes
Exemplos:
Variáveis persistentes são valores de configuração que devem ser preservados mesmo após reinicialização ou troca de estado do sistema.
setpoints operacionais, limites configuráveis, modo de operação, último valor validado, preferências de operação e ajustes de manutenção.
Use persistentes apenas quando o valor realmente precisar ser mantido.
Evite marcar variáveis desnecessárias como persistentes, pois isso pode aumentar a complexidade do projeto e dificultar auditoria.
Variáveis de relatório
Exemplos:
Antes de configurar relatórios, confirme:
As variáveis de relatório definem quais dados serão usados em relatórios operacionais.
potência ativa, energia gerada, nível montante, nível jusante, vazão, temperatura, estado de máquina e horas de operação.
quais dados o cliente precisa, periodicidade do relatório, unidade de medida, formato esperado e se o dado é instantâneo, médio, mínimo, máximo ou acumulado.
CEPs
Podem ser utilizados para acompanhar:
- mudanças de estado;
- alternância de variáveis discretas;
- eventos de borda;
- indicadores de qualidade;
- comportamento operacional ao longo do tempo.
CEPs são usados para controle estatístico de processo ou registro estruturado de eventos e variações, conforme a configuração do projeto.
O uso de CEP deve ser planejado para variáveis relevantes. Evite registrar eventos sem utilidade operacional.
Barra de ferramentas
Funções comuns:
A barra de ferramentas oferece acesso rápido a ações frequentes.
novo projeto, abrir projeto, salvar, cortar, copiar, colar, desfazer, refazer, alinhar objetos, centralizar objetos, trazer para frente, enviar para trás, igualar tamanho, copiar estilo e organizar componentes.
Durante a edição de telas, a barra de ferramentas ajuda a manter alinhamento, padronização visual e produtividade.
Janela de propriedades
Exemplos de propriedades:
A janela de propriedades exibe as configurações do item selecionado.
Quando o integrador seleciona uma tela, componente, máquina ou outro objeto, as propriedades disponíveis são exibidas para edição.
nome, texto, fonte, cor, posição, tamanho, variável associada, máquina, visibilidade, dica, regra de ativação, permissão e imagem de fundo.
A janela de propriedades deve ser usada com atenção. Alterações pequenas podem afetar a forma como o operador visualiza, interpreta ou comanda um equipamento.
Menus de contexto
| Menu de contexto real do mapa ME96. |
|---|
Exemplos:
| Onde clicar | Ações comuns |
|---|
| Raiz do projeto | Editar projeto, usuários, imagens, relatórios, validações |
| Pasta Menus | Novo menu, colar menu |
| Menu | Editar menu, nova tela, alarmes, persistentes, relatórios |
| Tela | Design, editar tela, fundos, copiar, clonar, excluir |
| Pasta Máquinas | Nova máquina, colar máquina |
| Máquina | Editar máquina, importar variáveis, visualizar variáveis |
| Mapa Variáveis | Configurar Mapa Variáveis; Transferência; consulta de protocolo, endereço e autoria |
| Subprojetos | Editar ou abrir subprojeto |
Os menus de contexto aparecem ao clicar com o botão direito sobre um item da árvore lateral.
Cada tipo de item possui opções específicas.
O integrador deve sempre clicar no item correto da árvore antes de executar uma ação.
Ordem recomendada para montar um projeto
Para evitar retrabalho, recomenda-se a seguinte ordem:
- Configurar dados gerais do projeto.
- Validar banco de dados.
- Configurar imagens e padrões visuais.
- Criar menus principais.
- Cadastrar máquinas.
- Vincular máquinas aos menus corretos.
- Importar ou configurar variáveis.
- Criar mapas de variáveis, quando necessário.
- Configurar alarmes e trips.
- Configurar persistentes.
- Configurar variáveis de relatório.
- Criar telas.
- Vincular componentes visuais às variáveis.
- Revisar permissões.
- Testar navegação.
- Salvar e gerar backup.
Essa ordem não é obrigatória, mas reduz erros comuns.
Exemplo de estrutura para uma PCH
Exemplo simplificado:
Projeto: PCH São João
Menus
├── Geral
│ ├── Tela Inicial
│ ├── Unifilar
│ └── Hidrologia
├── UG01
│ ├── Visão Geral
│ ├── Turbina
│ ├── Gerador
│ ├── Mancais
│ └── Comandos
├── UG02
│ ├── Visão Geral
│ ├── Turbina
│ ├── Gerador
│ ├── Mancais
│ └── Comandos
├── Vertedouro
├── Subestação
├── Relatórios
└── Câmeras
Máquinas
├── CLP_UG01
├── CLP_UG02
├── CLP_ServicosAuxiliares
├── Medidor_Energia
├── NVR_Cameras
└── Estacao_Hidrologica
Mapa Variáveis
├── Mapa_CLP_UG01
├── Mapa_CLP_UG02
├── Mapa_Medidor
└── Mapa_SNMP_Switch
Exemplo de estrutura para indústria
Exemplo simplificado:
Projeto: Linha de Produção
Menus
├── Geral
├── Linha 01
│ ├── Visão Geral
│ ├── Esteiras
│ ├── Dosagem
│ └── Alarmes
├── Utilidades
│ ├── Compressor
│ ├── Caldeira
│ └── Água Gelada
├── Energia
├── Relatórios
└── Manutenção
Máquinas
├── CLP_Linha01
├── Inversores_Esteiras
├── Medidor_Energia
├── Compressor_01
└── Servidor_OPCUA
Boas práticas de organização
Adote as seguintes práticas:
- padronize nomes de menus e máquinas;
- use prefixos claros quando houver equipamentos repetidos;
- mantenha telas dentro do menu correspondente;
- evite nomes genéricos como Tela1, MenuNovo ou CLP;
- documente IPs e portas;
- mantenha mapas de variáveis revisados;
- não misture telas de equipamentos diferentes no mesmo menu sem necessidade;
- crie backup antes de reestruturar a árvore;
- teste após renomear máquinas ou menus;
- mantenha a estrutura compreensível para outro integrador.
Nomenclatura recomendada
Exemplos de bons nomes:
Evite nomes como:
- UG01_VisaoGeral
- UG01_Mancais
- CLP_UG01
- Mapa_UG01
- Medidor_Energia_Principal
- NVR_Cameras_Patio
- novo
- teste
- clp1
- final2
- tela_copia
- menu_antigo_novo
A nomenclatura correta facilita manutenção, suporte e reaproveitamento de telas.
Cuidados ao renomear itens
Antes de renomear:
Renomear menus, máquinas ou variáveis pode afetar outras partes do projeto.
- Salve o projeto.
- Faça backup.
- Verifique onde o item é usado.
- Renomeie.
- Aguarde a atualização.
- Teste telas, alarmes e relatórios relacionados.
- Salve novamente.
Em projetos grandes, a atualização pode levar alguns segundos.
Checklist
Antes de avançar, confirme:
| Item | Verificado |
|---|
| Estrutura geral do projeto entendida | ☐ |
| Raiz do projeto configurada | ☐ |
| Menus principais definidos | ☐ |
| Critério de organização de telas definido | ☐ |
| Máquinas previstas listadas | ☐ |
| Protocolos previstos identificados | ☐ |
| Mapas de variáveis previstos | ☐ |
| Subprojetos necessários identificados | ☐ |
| Padrão de nomenclatura definido | ☐ |
| Backup criado antes de grandes alterações | ☐ |
Navegar pela estrutura do projeto
Figura 9.3 — Mapa ME96 selecionado e menu de contexto aberto.Use a árvore Projeto à direita para acessar Menus (Configurações), Máquinas (CLPs/Dispositivos), Mapas Variáveis (Objetos), Hidrotelemetria (ANA) e Bibliotecas (Subprojetos).
Clique com o botão direito em um mapa para acessar Configurar Mapa Variáveis e o submenu Transferência. Confira o protocolo e o endereço associados antes de alterar ou transferir o mapa.
Referência: Estrutura do projeto no Flessor Studio, do manual do integrador.
API de integração (api v1)
Objetivo desta página
O Flessor expõe uma API HTTP somente leitura para que sistemas externos — BI, planilhas, integrações de terceiros — consultem ocorrências, operações e valores de variáveis sem precisar acessar o banco de dados diretamente. Esta página documenta os endpoints disponíveis, como autenticar e como consultar dados agregados do historiador.
A referência interativa (com exemplos prontos em cURL, jQuery, fetch e Python) fica disponível em /admin/api/v1/, dentro do próprio supervisório, para quem tiver nível Total e o módulo API licenciado.
Pré-requisito: licença e token
- O módulo API precisa estar licenciado no projeto (Módulos → API).
- Cada projeto tem um token único, exibido apenas para usuários de nível Total, na própria tela /admin/api/v1/ — o token não pode ser obtido pela própria API, exatamente para não vazar em log de requisição.
- O token é enviado em um cabeçalho HTTP, nunca na URL: token: <seu_token>, apikey: <seu_token>, ou Authorization: Bearer <seu_token>.
Requisição sem token válido retorna HTTP 403. A API aceita apenas o verbo GET — qualquer outro método retorna HTTP 400.
Endpoints disponíveis
| Endpoint | Fonte dos dados |
|---|
| GET /api/v1/ocorrencias | Alarmes e trips (tabela ocorrencias) — histórico, ativos, reconhecimento. |
| GET /api/v1/operacoes | Registros de operação/comando realizados no supervisório. |
| GET /api/v1/valores | Valores de variáveis. Sem agg: dado bruto (tabela valores). Com agg=hora ou agg=dia: rollup agregado do historiador consolidado — ver F.5. |
Parâmetros de consulta
| Parâmetro | Descrição |
|---|
| type | Formato do retorno: json, xml, csv ou toon (default json). |
| columns | Lista de colunas desejadas, separadas por vírgula (default: todas as colunas). |
| q | Identificador ou nome da variável, ou filtro por texto (depende do endpoint). |
| m | Filtra pela máquina informada (default: todas). Combine com q para restringir a uma variável específica. |
| di / df | Data inicial / data final do período. Aceita data absoluta (yyyy-MM-dd ou yyyy-MM-dd HH:mm:ss) ou relativa (-1d, -7d, -1D — detalhe abaixo). |
| order | Campo de ordenação. Prefixo "-" para ordem decrescente (ex.: -Data). |
| page | Número da página da consulta (default 1). |
| size | Limite máximo de registros retornados (default 10). Aceita limit como sinônimo. |
| format | Formato de data/hora no retorno (default ISO 8601). |
| agg | Somente em valores: agg=hora ou agg=dia retorna dados agregados do historiador consolidado em vez do dado bruto — ver F.5. |
Todos os parâmetros abaixo são opcionais e se aplicam aos três endpoints, exceto quando indicado.
Datas relativas (di / df): além de datas absolutas, é possível usar valores como -1d ou -7d. O d minúsculo considera a data e hora atuais (ex.: -1d = agora menos 1 dia); o D maiúsculo considera o início do dia (00:00:00) — ex.: -1D = início do dia de ontem.
Consulta agregada de valores (agg=hora / agg=dia)
- agg=hora — uma linha por hora, com média, mínimo, máximo e segundos de dado válido no período.
- agg=dia — uma linha por dia, agregando as horas do dia (mínimo e máximo continuam sendo os valores reais observados; a média é recalculada a partir das médias horárias, não é uma média simples de 24 números).
- Exige filtro por máquina (m) ou por variável (q) — não é permitido varrer o historiador inteiro sem escopo.
Colunas retornadas com agg:
| Coluna | Significado |
|---|
| VariavelId | Identificador interno da variável. |
| Variavel | Nome no formato Maquina:Variavel. |
| Data | Início da hora (agg=hora) ou do dia (agg=dia) agregado. |
| Media | Média ponderada pelo tempo de vigência de cada valor (não é uma média simples dos valores — ver F.5.2). |
| Minimo / Maximo | Menor e maior valor observados no período. |
| Duracao | Segundos de dado válido que sustentam a agregação (soma das durações do período). |
Por padrão, /api/v1/valores devolve o dado bruto, ponto a ponto — adequado para janelas curtas, mas pesado para consultas de semanas ou meses. Quando a integração externa precisa de tendência (um BI, por exemplo), use o parâmetro agg para ler direto do historiador consolidado (rollup horário), muito mais rápido e já sumarizado.
Por que a média é ponderada pelo tempo
Uma hora do rollup pode ter menos de 3600 segundos de dado válido (comunicação instável, variável que ficou em "sem dado" parte do período). Se a API calculasse uma média simples do valor da hora, horas com pouco dado pesariam igual a horas com dado completo, distorcendo a tendência. Por isso a média é ponderada pela duração real de cada leitura (SomaValor dividido pela Duração) — a mesma lógica usada pelo motor de análise preditiva (outras páginas desta seção) para calcular médias e desvios de referência.
Exemplo de uso
curl -X GET "https://<seu_dominio>/api/v1/valores?m=M1&agg=dia&di=-30d&size=100" \
-H "token: <seu_token>"
Retorna, para a máquina M1, uma linha por dia dos últimos 30 dias, com média ponderada, mínimo, máximo e duração de dado válido — pronto para alimentar um gráfico de tendência sem precisar agregar no lado do cliente.
O que fazer se a consulta não retornar dados
- Confirme o cabeçalho do token — a API não aceita token na querystring, só em header.
- Em agg=hora ou agg=dia, confirme que m ou q foi informado — sem escopo a consulta agregada não roda.
- Para valores fora do rollup (variável muito nova, ou período anterior à criação da consolidação), use o endpoint sem agg para ler o dado bruto.
- Erros de licença (módulo API não habilitado) ou de nível de usuário do token retornam HTTP 403 — confira o módulo em Módulos → API.
Relação com o restante da documentação
Esta página cobre apenas a API HTTP de leitura de dados. Para automação de comandos e IA conversacional sobre o projeto, ver outras páginas desta seção — Integrações (Telegram, agentes de IA/MCP e Sparkplug B). Para o historiador consolidado que alimenta agg=hora/dia, ver outras páginas desta seção — Diagnóstico, insights e historian na web.
Referência: API de integração (api v1), do manual do integrador.