IHM — Simulador de Medição Fiscal 1923-ODMS-30
O simulador reproduz fielmente a operação de um Skid de Medição Fiscal FPSO com três tramos de turbina em operação paralela e um Compact Prover conforme os requisitos da API MPMS 4.x / 13.2. Destina-se ao treinamento de operadores e inspetores de medição fiscal.
Identificação de Sessão
Ao abrir o simulador, surge o modal de identificação. Cada aba do navegador gera um token de 6 caracteres único que identifica sua sessão para o instrutor.
Enter ou clique em ▶ ENTRAR NA SESSÃO.Interface Principal
Cabeçalho
O cabeçalho superior contém as informações permanentes da sessão:
| Elemento | Descrição |
|---|---|
| ⬡ FlowCore | Logotipo e identificação do projeto (FLOWCORE FPSO · 1923-ODMS-30) |
| Token / Operador | Exibido no canto direito após login. Ex.: A3KP7Q · João Silva |
| ▲ AQUECIMENTO | Visível durante os 2 minutos iniciais de estabilização |
| ✓ ESTÁVEL | Sistema estabilizado e pronto para prova |
| Relógio HH:MM:SS | Tempo decorrido desde o início da sessão |
| ⚙ MESTRE | Botão de acesso ao painel local de injeção de falhas (senha: fcmaster) |
Barra de Status
Linha abaixo do cabeçalho com as principais variáveis do processo em tempo real:
| Campo | Cor Normal | Cor de Alarme |
|---|---|---|
| T Entrada (°C) | Ciano | Vermelho se <55°C ou >72°C |
| P Entrada (kPa) | Ciano | Vermelho se <600 ou >950 kPa |
| Q Total (m³/h) | Verde | Amarelo se desvio >5% de 5.400 |
| T-01 / T-02 / T-03 | Pill indicando estado do tramo | — |
| Prova | Fase atual do prover | — |
| Alarmes | Verde | Vermelho — número de alarmes ativos |
Pills de estado dos tramos
| Pill | Significado |
|---|---|
| ATIVO | Tramo fluindo normalmente |
| PROVANDO | Corrida de prova em andamento neste tramo |
| NO PROVER | Tramo alinhado ao prover, aguardando início |
| AQUEÇ. | Fase de aquecimento |
| FECHADO | FCV em 0% — sem fluxo |
Abas de Navegação
| Aba | Conteúdo |
|---|---|
| ▦ Visão Geral | Diagrama P&ID com estado em tempo real, controles de FCV e botões de alinhamento ao prover |
| ⊙ Prova | Painel completo de prova: configuração, corridas, resultados e histórico |
| ⚠ Alarmes | Lista de alarmes com prioridade, hora e status de reconhecimento |
| ≡ Relatório | Score de desempenho, resultado detalhado da prova e log de ações |
Fase de Aquecimento
Ao iniciar a sessão, o skid passa por 2 minutos de aquecimento que simula a estabilização do sistema antes da medição fiscal. Nenhuma prova pode ser iniciada durante este período.
| Variável | Valor Inicial | Valor Final | Critério de Liberação |
|---|---|---|---|
| Temperatura | 35°C | 65°C | T ≥ 58°C |
| Pressão | 480 kPa | 750 kPa | P ≥ 680 kPa |
| Vazão (cada tramo) | 0 m³/h | 1.800 m³/h | Rampa proporcional às FCVs |
Controle de Fluxo — FCVs
Três válvulas de controle modulam a distribuição de vazão entre os tramos. O fluxo de cada tramo é proporcional à abertura da FCV correspondente, e a soma sempre é mantida em 5.400 m³/h.
Exemplos de distribuição
| FCV-3102 | FCV-3202 | FCV-3302 | Q T-01 | Q T-02 | Q T-03 |
|---|---|---|---|---|---|
| 33% | 33% | 33% | 1.800 m³/h | 1.800 m³/h | 1.800 m³/h |
| 50% | 25% | 25% | 2.700 m³/h | 1.350 m³/h | 1.350 m³/h |
| 100% | 0% | 0% | 5.400 m³/h | 0 m³/h | 0 m³/h |
| 60% | 40% | 0% | 3.240 m³/h | 2.160 m³/h | 0 m³/h |
Controles de FCV na tela
Na aba ▦ Visão Geral, na barra inferior, há um slider por FCV (0–100%). O valor numérico ao lado mostra a abertura atual. As válvulas no diagrama P&ID mudam de cor: Verde quando abertura > 1%, Vermelho quando fechada.
Alinhamento ao Prover
O Compact Prover 1923-CPA-01 se conecta a um tramo por vez através do loop de prova, sem interromper os demais tramos.
Sequência de alinhamento
MOV-3401 e MOV-3403 (preenchimento lento do prover).| Válvula | Função | Estado Normal |
|---|---|---|
MOV-3401 | Entrada do prover | Fechada (abre no alinhamento) |
MOV-3402 | Válvula de prova principal | Fechada (abre na corrida) |
MOV-3403 | Preenchimento lento (bypass) | Fechada (abre no alinhamento) |
MOV-3101/3201/3301 | Isolamento de tramo (inlet) | Abertas (manutenção apenas) |
Sequência de Prova
A sequência de prova segue os requisitos da API MPMS 4.x com Compact Prover, conforme os critérios REQ-CP-001 a REQ-CP-013.
Modo de Aplicação
Antes de iniciar a prova, selecione o modo na aba ⊙ Prova:
| Modo | Aplicação | Limite ΔMF | Falha Presumida |
|---|---|---|---|
| ⚖ Fiscal / Custódia | Transferência de custódia, medição fiscal | ≤ 0,0005 (0,05%) | Desvio MF anterior > 0,25% |
| 📊 Apropriação | Controle interno, balanço de massa | ≤ 0,004 (0,40%) | Desvio MF anterior > 2,00% |
Condições para Início
O botão ▶ Iniciar só fica habilitado quando todas as condições são atendidas:
| Condição | Valor Mínimo | Referência |
|---|---|---|
| Tramo alinhado ao prover | Sim | — |
| Aquecimento concluído | Sim | — |
| Temperatura de processo | ≥ 55°C | REQ-CP-010 |
| Pressão de processo | ≥ 680 kPa | REQ-CP-010 |
| Prover ocioso | Fase = OCIOSO ou CONCLUÍDO | — |
Fases da Prova
Tabela de Corridas (REQ-CP-012)
A tabela na aba ⊙ Prova exibe até 6 linhas com as seguintes colunas:
| # | Coluna | Descrição |
|---|---|---|
| 1 | N Eff | Número efetivo de pulsos com interpolação fracionária |
| 2 | V Ref (m³) | Volume de referência corrigido: 0,454323 × CT × CP |
| 3 | V Med (m³) | Volume medido pela turbina: Neff / K |
| 4 | MF | Fator do medidor: Vref / Vmed |
| 5 | Δ MF | Desvio do MF da corrida em relação à média provisória das corridas válidas |
| 6 | Q Média | Vazão média do tramo durante a corrida (m³/h) — verificação REQ-CP-011 |
| 7 | Válida | ✓ Corrida aceita · ✕ Invalidada por Q, pulso, chatter ou bolha |
| 8 | Status | ✓ OK / ✕ REPET. / ⚠ INVÁLIDA / ⟳ EM CURSO |
Abaixo da tabela, três indicadores acumulados atualizam a cada corrida:
- ΔMF acumulado — Range atual entre MFmax e MFmin das corridas válidas
- Válidas / 5 necessárias — Contador de corridas aceitas
- Faltam X corridas válidas — Quantas ainda precisam ser concluídas
Critérios de Aprovação / Reprovação
| Critério | Fiscal / Custódia | Apropriação |
|---|---|---|
| Corridas válidas mínimas | 5 de até 6 | 5 de até 6 |
| Limite ΔMF (absoluto) | 0,0005 | 0,004 |
| Limite ΔMF (%) | 0,05% | 0,40% |
| Falha presumida | Desvio MF ant. > 0,25% | Desvio MF ant. > 2,00% |
Causas de invalidação de corrida (REQ-CP-006)
| Causa | Flag | Consequência |
|---|---|---|
| Vazão média fora de ±10% do ref. | Q_FORA_FAIXA | Corrida inválida |
| Perda de pulsos (fault ativo) | PULSO_PERDIDO | Corrida inválida |
| Chatter severo do detector (>0,12%) | CHATTER_SEV | Corrida inválida |
| Bolha de gás detectada | BOLHA_GAS | Corrida inválida |
| Atraso no detector | ATRASO_DET | Corrida válida (MF afetado) |
| Chatter leve (<0,12%) | CHATTER | Corrida válida (MF afetado) |
Resultado Final
Após a prova, o painel de resultado exibe:
Alarmes
A aba ⚠ Alarmes lista todos os eventos gerados durante a sessão com prioridade codificada por cor:
| Cor | Prioridade | Exemplos |
|---|---|---|
| ALTA | Falhas críticas | Temperatura alta, prova reprovada, falha presumida, PRV-XXX crítico |
| MÉDIA | Desvios operacionais | Pressão fora de faixa, corrida invalidada, falha do Mestre ativa |
| BAIXA | Informativo | Sistema estabilizado, prova aprovada, alinhamento confirmado |
Botões de gestão
| Botão | Ação |
|---|---|
| ✓ ACK Todos | Reconhece todos os alarmes — muda o estado para "reconhecido" |
| ✕ Limpar Ativos | Remove alarmes já reconhecidos da lista |
| ACK (por item) | Reconhece um alarme individualmente |
Relatório de Sessão
A aba ≡ Relatório é gerada automaticamente ao final de uma prova concluída. Contém quatro seções:
| Seção | Conteúdo |
|---|---|
| Resumo da Sessão | Tempo total, tramos provados, provas aprovadas, alarmes gerados |
| Resultado da Prova | Modo de aplicação, corridas válidas/inválidas, MFmin, MFmax, ΔMF, MF Final, critério REQ-CP-005, flag de falha presumida, T e P da prova |
| Detalhe das Corridas | Tabela com Neff, Vref, Vmed, MF, Δ da média, Q Média e flag de validade por corrida |
| Análise de Performance | Score de 0–100 com breakdown: base 60pts, prova aprovada +20, alarmes -3/cada (máx -20), sistema estabilizado +5 |
Ctrl+P para imprimir o relatório. O menu lateral é ocultado automaticamente na impressão.
Painel Mestre — Controle de Sessões INSTRUTOR
O Painel Mestre (ihm-mestre.html) é exclusivo para o instrutor e permite
monitorar todas as sessões ativas em tempo real, injetar falhas individualmente ou
em broadcast, aplicar cenários e enviar mensagens aos operadores.
Acesso e Autenticação
ihm-mestre.html no navegador. Um modal de autenticação é exibido imediatamente.fcmaster e pressione Enter ou clique em ▶ ENTRAR.ihm-training-v1. A comunicação é
em tempo real via Supabase Realtime Presence e Broadcast. Sem conexão à internet, as falhas
locais do simulador funcionam mas o Painel Mestre não recebe atualizações.
Monitoramento de Sessões
Cada operador conectado aparece como um card de sessão no grid central. Os cards atualizam automaticamente a cada ~5 segundos via Presence.
Anatomia de um card de sessão
| Elemento | Descrição |
|---|---|
| Token | 6 caracteres únicos da sessão. Ex.: A3KP7Q |
| Nome do operador | Nome informado no modal de login do simulador |
| Dot de status | ● Normal · ● Aquecimento · ● Alarmes ativos |
| Tempo | "Xs atrás" ou "Xm atrás" — tempo desde a última atualização de presença |
| T / P / Q | Temperatura, pressão e vazão total do processo em tempo real |
| T-01/02/03 | Vazão e abertura da FCV de cada tramo |
| Falhas ativas | Badges vermelhos listando as falhas atualmente injetadas |
| Prova | Tramo alinhado ao prover e fase atual |
Injeção de Falhas (REQ-CP-013)
Cada sessão pode receber falhas individuais. Clique em ⚗ Falhas no card para abrir o painel inline e clique nos botões para alternar ON/OFF:
| Botão | Fault ID | Efeito no Simulador | Impacto na Prova |
|---|---|---|---|
| Q↑ | highQ |
FCV do tramo em prova aumenta +40% | Q pode sair de ±10% → corrida inválida |
| Q↓ | lowQ |
FCV do tramo em prova reduz para 45% | Q pode sair de ±10% → corrida inválida |
| P↑ | highP |
Pressão aumenta +0,5 kPa/tick (até 1.400 kPa) | Afeta correção CP → MF desviado |
| P↓ | lowP |
Pressão diminui -0,5 kPa/tick (até 490 kPa) | Afeta correção CP → MF desviado |
| T↑ | highT |
Temperatura aumenta +0,02°C/tick (até 82°C) | Afeta correção CT → MF desviado |
| T↓ | lowT |
Temperatura diminui -0,02°C/tick (até 42°C) | Afeta correção CT → MF desviado |
| K+ | kPos |
K-factor efetivo aumenta +0,5% | MF desviado positivamente |
| K− | kNeg |
K-factor efetivo reduz -0,5% | MF desviado negativamente |
| DLY | delay |
Atraso de 80ms no detector de pulsos | Neff aumentado → MF afetado (corrida válida) |
| GAS | air |
Ruído aleatório ±4% na vazão | 30% de chance de bolha → corrida inválida |
| PLS | pulseLoss |
Perde 2–5 pulsos por corrida (75% de chance) | Corrida inválida — REQ-CP-006 |
| CHT | chatter |
Ruído ±0,15% no Neff por corrida | Severo (>0,12%) → corrida inválida |
| QΩ | unstableQ |
Oscilação senoidal ±25% na vazão do tramo | Qavg pode sair de ±10% → corrida inválida |
pulseLoss, chatter,
unstableQ) têm efeito máximo quando ativadas antes da corrida iniciar.
Se ativadas durante uma corrida, podem afetar somente a corrida seguinte.
Cenários Pré-configurados
Cenários combinam múltiplas falhas em um único clique. Disponíveis tanto por sessão (botão ▦ Cenário no card) quanto em broadcast.
| Cenário | Falhas Ativadas | Objetivo Pedagógico |
|---|---|---|
| Normal | Todas desativadas (reset) | Retornar à operação normal |
| Vazão Alta | highQ | Operador identifica Q fora de faixa → corrida inválida |
| Vazão Baixa | lowQ | Operador ajusta FCV para manter Q dentro de ±10% |
| Pressão Alta | highP | Operador observa MF desviado pela correção CP |
| Pressão Baixa | lowP | Idem — desvio negativo de CP |
| Desvio K+ | kPos | Operador percebe MF sistematicamente alto (deriva do medidor) |
| Desvio K− | kNeg | Operador percebe MF sistematicamente baixo |
| Atraso Detector | delay | MF afetado por atraso — impacto calculável |
| Combinado | highP + kPos | Múltiplas causas simultâneas — diagnóstico complexo |
Controle Remoto de FCV
No painel expandido de cada card (botão ⚗ Falhas), há três sliders de FCV —
um para cada tramo. Ao ajustar o slider, o comando FCVSET é enviado
via Broadcast e o simulador do operador atualiza a válvula imediatamente.
Mensagens para Operadores
Use o campo de texto no painel expandido de um card para enviar uma mensagem individual ao operador. No simulador, a mensagem aparece como um toast roxo no topo da tela com duração de 6 segundos.
Exemplos de uso:
- "Verifique a pressão antes de iniciar a próxima corrida"
- "Compare o MF com a última calibração registrada"
- "O que acontece se você reduzir a FCV-3102 para 10%?"
Broadcast Global
O painel lateral esquerdo contém ações que afetam todas as sessões simultaneamente:
| Seção | Ação | Comando |
|---|---|---|
| Cenário → Todos | Seleciona cenário no dropdown e clica ⬆ APLICAR A TODOS | SCENARIO target: * |
| Falha Individual → Todos | Seleciona a falha e clica ⬆ ON → TODOS ou ⬇ OFF → TODOS | FAULT target: * |
| Reset Geral | Clica ⚠ RESET FALHAS — TODOS (pede confirmação) | RESET target: * |
| Mensagem → Todos | Digita texto e clica 📣 ENVIAR MENSAGEM | MESSAGE target: * |
Apêndice A — Tabela REQ-CP Completa
| REQ | Descrição | Fiscal | Apropriação | Implementação |
|---|---|---|---|---|
CP-001 |
Máximo de corridas / mínimo válidas | 6 máx / 5 mín | 6 máx / 5 mín | RUNS_MAX=6, RUNS_VALID_REQ=5 |
CP-002 |
Repetitividade Fiscal | ΔMF ≤ 0,05% | — | REPEAT_FISCAL=0.0005 |
CP-003 |
Repetitividade Apropriação | — | ΔMF ≤ 0,40% | REPEAT_APROP=0.004 |
CP-004 |
Fórmula ΔMF = MFmax − MFmin | Ambos os modos | finishProving() |
|
CP-005 |
Critério de aprovação | 5 válidas + ΔMF ≤ limite | Early-stop + MF final | |
CP-006 |
Reprovação automática | <5 válidas / ΔMF / falha crítica | Flags por corrida | |
CP-007 |
MFfinal = média das 5 aceitas | Ambos os modos | runsUsed.slice(0,5) |
|
CP-008 |
Falha presumida — Fiscal | > 0,25% do MF ant. | — | PRESUME_FISCAL=0.0025 |
CP-009 |
Falha presumida — Apropriação | — | > 2,00% do MF ant. | PRESUME_APROP=0.020 |
CP-010 |
Condições de calibração | T ±5°C · P ±10% · Alertas | startProving() |
|
CP-011 |
Critério de vazão por corrida | Q ±10% do Qref | Qavg por run |
|
CP-012 |
Interface — informações por run | MF, ΔMF, Q, válida, range acc. | Tabela + rodapé acumulado | |
CP-013 |
Falhas randômicas opcionais | 13 falhas + 9 cenários | Mestre + painel local | |
Apêndice B — Catálogo de Falhas
| Código | Nome | Ativação | Efeito | Corrida |
|---|---|---|---|---|
highQ | Vazão Alta | Mestre | FCV prover +40% | Pode invalidar |
lowQ | Vazão Baixa | Mestre | FCV prover ×0,45 | Pode invalidar |
highP | Pressão Alta | Mestre | +0,5 kPa/tick | MF afetado (válida) |
lowP | Pressão Baixa | Mestre | −0,5 kPa/tick | MF afetado (válida) |
highT | Temperatura Alta | Mestre | +0,02°C/tick | MF afetado (válida) |
lowT | Temperatura Baixa | Mestre | −0,02°C/tick | MF afetado (válida) |
kPos | Deriva K Positivo | Mestre | Keff ×1,005 | MF desviado (válida) |
kNeg | Deriva K Negativo | Mestre | Keff ×0,995 | MF desviado (válida) |
delay | Atraso Detector | Mestre | Neff +80ms | MF afetado (válida) |
air | Arrastamento Gás | Mestre | Qeff ±4% rand. | 30% → inválida |
pulseLoss | Pulso Perdido | Mestre | Neff −2 a 5 pulsos | 75% → inválida |
chatter | Chatter Detector | Mestre | Neff ±0,15% rand. | >0,12% → inválida |
unstableQ | Vazão Instável | Mestre | Qeff ±25% senoidal | Pode invalidar |
Apêndice C — Glossário Técnico
| Termo | Definição |
|---|---|
| MF (Meter Factor) | Fator de correção do medidor. MF = Vref / Vmed. Valor ideal = 1,000000. |
| ΔMF | Diferença absoluta entre o maior e o menor MF das corridas válidas. Critério central de repetitividade. |
| K-Factor | Constante de calibração da turbina em pulsos/m³. Específica por medidor (5018–5031 p/m³). |
| Vref | Volume de referência do prover corrigido: BASE_VOL × CT × CP. |
| Vmed | Volume medido pela turbina: Neff / K. |
| Neff | Número efetivo de pulsos com interpolação fracionária de início e fim de corrida. |
| CT | Fator de correção de temperatura: 1 + (T − 20) × 0,00065 |
| CP | Fator de correção de pressão: 1 + (P − 800) × 1,2×10⁻⁷ |
| Compact Prover | Instrumento de referência volumétrica portátil com pistão de precisão para calibração de medidores de vazão. |
| Falha Presumida | Desvio do MF atual em relação ao MF da última calibração que excede o limite normativo, indicando degradação do medidor. |
| Repetitividade | Capacidade do medidor de fornecer resultados consistentes em condições iguais. Expressa como ΔMF ou %. |
| FCV | Flow Control Valve — válvula de controle de vazão com atuador modulante 0–100%. |
| MOV | Motor-Operated Valve — válvula de isolamento (todo aberta / todo fechada). |
| Token de Sessão | Código de 6 caracteres alfanuméricos gerado aleatoriamente para identificar unicamente cada sessão aberta. |
| Presence | Mecanismo do Supabase Realtime que rastreia quem está conectado a um canal e seu estado atual. |
| Broadcast | Mecanismo do Supabase Realtime para envio de mensagens a todos os assinantes de um canal. |
IHM 1923-ODMS-30 · Compact Prover 1923-CPA-01 · API MPMS 4.x / 13.2
Rev. 01 · 2026