← Voltar ao índice

📋 Comissionamento SCADA

Template Excel macro-free de gestão de comissionamento SCADA (identidade GE Vernova, dashboard automático, laudo) + importador Python de arquivos .dat CEPEL do SAGE. TR-2 SE Sul.

URL: — (ferramenta interna)
Tipo: Excel .xlsx + Python
Projeto: TR-2 SE Sul 345/88 kV
Cliente: GE Vernova (GEV)
Status: ✅ Ativo (importador SAGE completo)
Python 3 (openpyxl) Excel .xlsx SAGE .dat CEPEL VBA (.bas) GE Vernova NV2 / COT

Especificação do Produto

Missão

Ferramenta de campo para gestão completa de comissionamento de sistemas SCADA em subestações — gerada a partir da base real do SAGE via importador .dat CEPEL, com dashboard automático de progresso, checklist funcional, registro por ponto (testado por, data, evidência, pendências) e laudo de aceite. Identidade visual GE Vernova.

Contexto

Comissionamento do TR-2 SE Sul 345/88 kV (PARA-2 88kV) — Bay Paralelo 2. Equipe: Victor Martucci / Henrique / Paula (GEV). Início: 15/06/2026.

Arquivos gerados

build_template.py gera COMISSIONAMENTO_TR-2_GE-Vernova_v4.xlsx macro-free. Macros opcionais em macros_comissionamento.bas.

Abas do workbook
STATUS por ponto — lista validada

Dropdown com validação de dados: TESTADO (verde) · PENDENTE (vermelho) · EXCLUÍDO (cinza) · N.A. (cinza). Formatação condicional automática. Atalho: digitar T/P/E/N + Enter autocompleta.

Checklist Funcional (DASHBOARD)

Módulos / Funcionalidades

Importador SAGE — sage_import.py

build_all(files)
Lê arquivos .dat CEPEL (latin-1) e retorna dict com 6 abas prontas para o gerador do template. Cobre os 3 tipos de ponto × 2 direções (aquisição NV2 + distribuição COT).
Tipo      Aquisição (NV2)    Distribuição (COT)   Entidade    Aba gerada
DIGITAL   PDS + PDF          PDD + PDF (dist.)    PDS/PDD/PDF DIG · DIG-COT
ANALÓGICO PAS + PAF          PAD + PAF (dist.)    PAS/PAD/PAF ANA · ANA-COT
COMANDO   CGS + CGF          CGS + CGF (dist.)    CGS/CGF     CMD · CMD-COT
resolve(dirpath)
Auto-detecta os .dat por prefixo dentro de um diretório. Distingue aquisição × distribuição pelo conteúdo (marca "DISTRIBU" no arquivo). Retorna dict com 12 chaves (pds, pdf_aq, pdd, pdf_dist, pas, paf_aq, pad, paf_dist, cgs_aq, cgf_aq, cgs_dist, cgf_dist).
Preservação de status por ID
O build_template.py lê o status atual da planilha antes de re-importar. IDs com status TESTADO ou EXCLUÍDO são preservados — nunca regridem para PENDENTE numa re-importação. Garante continuidade entre versões do .dat.

Gerador do template — build_template.py

Paleta GE Vernova
Teal primário #005860 (headers), teal escuro #003D42 (banner/títulos), accent #00838F (KPI/caixas). Gráficos: testado #007A87, pendente #E4572E, excluído #B0BEC5.
Dashboard automático
Tabelas de sinais com fórmulas COUNTA / COUNTIF dinâmicas sobre $A$2:$A$5000. Três KPIs consolidados: progresso de sinais SCADA, progresso de testes funcionais e progresso geral (média dos dois). Gráfico doughnut + dois gráficos de barras gerados por openpyxl. Consulta por IED com COUNTIFS wildcard.
add_point_sheet(name, headers, rows)
Cria aba de pontos com: cabeçalho formatado, formatação condicional por STATUS, DataValidation de lista, autofilter, freeze na linha 2, larguras ajustadas, até 5.000 linhas de espaço. Usado para as 6 abas de sinais.

Macros VBA — macros_comissionamento.bas

ImportarDAT
Abre seletor de pasta, lê os .dat via ParseEntity (VBA nativo, sem dependências), preenche as abas DIG/ANA/CMD e -COT e preserva STATUS TESTADO por ID. Ativa pelo botão visual na aba IMPORTAR (.dat) após atribuir macro.
GerarRelatorioPDF
Exporta as abas DASHBOARD, CRONOGRAMA e LAUDO como PDF único na mesma pasta do .xlsm. Alternativa: Arquivo → Exportar → PDF manual selecionando as três abas.

Arquitetura — Fluxo Excel + Importador SAGE

Base SAGE (supervisório)
  └─ exportar/copiar .dat CEPEL (latin-1)
       ├── pds*.dat / pdf*.dat   (digitais aquisição)
       ├── pdd*.dat / pdf*.dat   (digitais distribuição)
       ├── pas*.dat / paf*.dat   (analógicos aquisição)
       ├── pad*.dat / paf*.dat   (analógicos distribuição)
       ├── cgs*.dat / cgf*.dat   (comandos aquisição)
       └── cgs*.dat / cgf*.dat   (comandos distribuição)

sage_import.resolve(dirpath)
  └─ auto-detecta aquisição × distribuição pelo conteúdo ("DISTRIBU")

sage_import.build_all(files)
  └─ lê entidades CEPEL (PDS/PDD/PDF, PAS/PAD/PAF, CGS/CGF)
  └─ retorna 6 listas: DIG, ANA, CMD, DIG-COT, ANA-COT, CMD-COT

build_template.py
  ├─ lê status TESTADO/EXCLUÍDO existentes da planilha anterior (old_status)
  ├─ merge(): preserva status por ID → nunca regride
  └─ gera COMISSIONAMENTO_TR-2_GE-Vernova_v4.xlsx (macro-free)
       ├── DASHBOARD   (fórmulas automáticas + gráficos)
       ├── DIG / ANA / CMD          (NV2 — aquisição de campo)
       ├── DIG-COT / ANA-COT / CMD-COT  (COT — distribuição NV3)
       ├── LAUDO       (puxa DASHBOARD via =DASHBOARD!Ex)
       ├── NÃO CONFORMIDADES
       ├── CRONOGRAMA  (Curva S planejado × realizado)
       ├── IMPORTAR (.dat)
       └── INSTRUÇÕES

Macros opcionais (.bas) → ImportarDAT + GerarRelatorioPDF
  └─ vincular ao .xlsx → salvar como .xlsm

Amostra de ponto SAGE real

# DIG (NV2 — aquisição):
PENDENTE | SSUL_34C.TR2__________UPC.4300 | SUL.345.TR-2.UPC.Chave Local/Remoto | UCD_3T2 | UCD_3T2.GEN-UsrPbIHMI1$ST$Activated

# DIG-COT (distribuição):
PENDENTE | SSUL_34C.TR2__________UPC.4300 | SUL.345.TR-2.UPC.Chave Local/Remoto | ASIM | 15703

Dependências

Python
openpyxl — geração do .xlsx, gráficos, formatação condicional, DataValidation, imagens (logo GE Vernova). Sem outras dependências externas.
Excel
Compatível com Excel 2016+, LibreOffice 7+ (fórmulas), WPS. Macros .bas requerem VBA (Excel Windows). O .xlsx macro-free funciona em qualquer plataforma.

Gerado automaticamente — BlackCat Corp • Voltar ao índice