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.

Vazão Total
5.400 m³/h
Distribuída nos 3 tramos via FCV
Volume Prover
0,4543 m³
Compact Prover 1923-CPA-01
Corridas
Até 6 / min 5
REQ-CP-001 · 5 válidas necessárias
Repetitividade Fiscal
ΔMF ≤ 0,0005
0,05% · REQ-CP-004
ℹ Sobre o simulador O skid possui três tramos (T-01, T-02, T-03) com turbinas FT-3101/3201/3301 e válvulas de controle FCV-3102/3202/3302. O fluxo é proporcional à abertura das FCVs e sempre soma 5.400 m³/h. O prover se conecta a um tramo de cada vez sem interromper os demais.

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.

Token exibido em destaque — anote ou comunique ao instrutor antes de iniciar.
Digite seu nome no campo "Nome do Operador" e pressione Enter ou clique em ▶ ENTRAR NA SESSÃO.
Confirmação de conexão — o status exibido abaixo do botão muda para ✓ Servidor conectado. Se aparecer ⚠ Sem conexão, o simulador funciona em modo local.
Simulação iniciada — a fase de aquecimento começa automaticamente após o login.
⚠ Atenção A simulação só começa após identificação. O token e o nome ficam visíveis no cabeçalho durante toda a sessão. O instrutor usa esses dados para enviar cenários e falhas direcionadas.

Interface Principal

O cabeçalho superior contém as informações permanentes da sessão:

ElementoDescrição
⬡ FlowCoreLogotipo e identificação do projeto (FLOWCORE FPSO · 1923-ODMS-30)
Token / OperadorExibido no canto direito após login. Ex.: A3KP7Q · João Silva
▲ AQUECIMENTOVisível durante os 2 minutos iniciais de estabilização
✓ ESTÁVELSistema estabilizado e pronto para prova
Relógio HH:MM:SSTempo decorrido desde o início da sessão
⚙ MESTREBotã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:

CampoCor NormalCor de Alarme
T Entrada (°C)CianoVermelho se <55°C ou >72°C
P Entrada (kPa)CianoVermelho se <600 ou >950 kPa
Q Total (m³/h)VerdeAmarelo se desvio >5% de 5.400
T-01 / T-02 / T-03Pill indicando estado do tramo
ProvaFase atual do prover
AlarmesVerdeVermelho — número de alarmes ativos

Pills de estado dos tramos

PillSignificado
ATIVOTramo fluindo normalmente
PROVANDOCorrida de prova em andamento neste tramo
NO PROVERTramo alinhado ao prover, aguardando início
AQUEÇ.Fase de aquecimento
FECHADOFCV em 0% — sem fluxo

Abas de Navegação

AbaConteúdo
▦ Visão GeralDiagrama P&ID com estado em tempo real, controles de FCV e botões de alinhamento ao prover
⊙ ProvaPainel completo de prova: configuração, corridas, resultados e histórico
⚠ AlarmesLista de alarmes com prioridade, hora e status de reconhecimento
≡ RelatórioScore 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ávelValor InicialValor FinalCritério de Liberação
Temperatura35°C65°CT ≥ 58°C
Pressão480 kPa750 kPaP ≥ 680 kPa
Vazão (cada tramo)0 m³/h1.800 m³/hRampa proporcional às FCVs
✓ Boa prática Durante o aquecimento, ajuste as FCVs para a distribuição de vazão desejada. A rampa de aquecimento respeita as aberturas configuradas.

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.

Qi = (FCVi% / ΣFCVs%) × 5.400 m³/h
Válvulas: FCV-3102 (T-01) · FCV-3202 (T-02) · FCV-3302 (T-03)

Exemplos de distribuição

FCV-3102FCV-3202FCV-3302Q T-01Q T-02Q T-03
33%33%33%1.800 m³/h1.800 m³/h1.800 m³/h
50%25%25%2.700 m³/h1.350 m³/h1.350 m³/h
100%0%0%5.400 m³/h0 m³/h0 m³/h
60%40%0%3.240 m³/h2.160 m³/h0 m³/h
⚠ REQ-CP-011 A corrida de prova será invalidada se a vazão média do tramo durante a corrida ficar fora de ±10% da vazão de referência registrada no início da prova. Ajuste a FCV antes de iniciar a sequência.

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

Na barra de controles da aba Visão Geral, clique em ⊙ Tramo 01, ⊙ Tramo 02 ou ⊙ Tramo 03.
Um modal de confirmação é exibido mostrando a vazão atual do tramo e informando se já existe outro tramo alinhado.
Clique em Confirmar. O sistema abre MOV-3401 e MOV-3403 (preenchimento lento do prover).
O botão do tramo fica laranja ● Tramo 01 indicando alinhamento. O pill na barra de status muda para NO PROVER.
O botão ▶ Iniciar na barra de controles fica habilitado assim que as condições de processo forem atendidas.
VálvulaFunçãoEstado Normal
MOV-3401Entrada do proverFechada (abre no alinhamento)
MOV-3402Válvula de prova principalFechada (abre na corrida)
MOV-3403Preenchimento lento (bypass)Fechada (abre no alinhamento)
MOV-3101/3201/3301Isolamento 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:

ModoAplicaçãoLimite ΔMFFalha 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%
REQ-CP-001 O modo escolhido define os limites de repetitividade (REQ-CP-002/003), os critérios de aprovação/reprovação (REQ-CP-005/006) e os alertas de falha presumida (REQ-CP-008/009). Selecione antes de clicar em ▶ Iniciar.

Condições para Início

O botão ▶ Iniciar só fica habilitado quando todas as condições são atendidas:

CondiçãoValor MínimoReferência
Tramo alinhado ao proverSim
Aquecimento concluídoSim
Temperatura de processo≥ 55°CREQ-CP-010
Pressão de processo≥ 680 kPaREQ-CP-010
Prover ociosoFase = OCIOSO ou CONCLUÍDO
ℹ Alertas de condição Se T ou P estiverem fora da faixa operacional (T = 65±5°C, P = 750±10%), alarmes são gerados mas a prova não é bloqueada. Corridas individuais poderão ser invalidadas por Q fora de faixa (REQ-CP-011).

Fases da Prova

INICIALIZANDO — MOV-3403 abre (preenchimento lento ~1,6 s). Pistão em movimento inicial.
ESTABILIZANDO — MOV-3403 fecha, MOV-3402 abre. Aguarda ~2 s para estabilizar o fluxo antes de cada corrida. O contador de pulsos é zerado (Nstart registrado).
PROVANDO — O prover acumula pulsos até atingir o volume de referência (0,454323 m³ × CT × CP). A barra de progresso e os campos N, Vref, Vmed, MF atualizam em tempo real.
FIM DE CORRIDA — MF calculado, corrida validada (Q, pulsos, detector). Se não atingiu 5 válidas e não completou 6 corridas → retorna a ESTABILIZANDO para a próxima corrida.
CONCLUÍDO — MOV-3401 e MOV-3402 fecham. Resultado final calculado e exibido.

Tabela de Corridas (REQ-CP-012)

A tabela na aba ⊙ Prova exibe até 6 linhas com as seguintes colunas:

#ColunaDescrição
1N EffNúmero efetivo de pulsos com interpolação fracionária
2V Ref (m³)Volume de referência corrigido: 0,454323 × CT × CP
3V Med (m³)Volume medido pela turbina: Neff / K
4MFFator do medidor: Vref / Vmed
5Δ MFDesvio do MF da corrida em relação à média provisória das corridas válidas
6Q MédiaVazão média do tramo durante a corrida (m³/h) — verificação REQ-CP-011
7Válida Corrida aceita · Invalidada por Q, pulso, chatter ou bolha
8Status✓ OK / ✕ REPET. / ⚠ INVÁLIDA / ⟳ EM CURSO

Abaixo da tabela, três indicadores acumulados atualizam a cada corrida:

Critérios de Aprovação / Reprovação

REQ-CP-004 — Fórmula de Repetitividade
ΔMF = MFmax − MFmin
Calculado sobre as 5 corridas válidas aceitas
CritérioFiscal / CustódiaApropriação
Corridas válidas mínimas5 de até 65 de até 6
Limite ΔMF (absoluto)0,00050,004
Limite ΔMF (%)0,05%0,40%
Falha presumidaDesvio MF ant. > 0,25%Desvio MF ant. > 2,00%

Causas de invalidação de corrida (REQ-CP-006)

CausaFlagConsequência
Vazão média fora de ±10% do ref.Q_FORA_FAIXACorrida inválida
Perda de pulsos (fault ativo)PULSO_PERDIDOCorrida inválida
Chatter severo do detector (>0,12%)CHATTER_SEVCorrida inválida
Bolha de gás detectadaBOLHA_GASCorrida inválida
Atraso no detectorATRASO_DETCorrida válida (MF afetado)
Chatter leve (<0,12%)CHATTERCorrida válida (MF afetado)

Resultado Final

MFfinal = (MF₁ + MF₂ + MF₃ + MF₄ + MF₅) / 5
REQ-CP-007 — Média das 5 primeiras corridas válidas

Após a prova, o painel de resultado exibe:

⊙ Prova — Resultado
ΔMF (Range)0,00032
Limite Repet.0,00050 (Fiscal)
MF Final (média 5)1,000412
Corridas válidas5 / 5 corridas
⚠ REQ-CP-008/009 — Falha Presumida Se o MF final diferir do MF da prova anterior em mais de 0,25% (Fiscal) ou 2% (Apropriação), o banner ⚠ FALHA PRESUMIDA — Manutenção Necessária é exibido em vermelho e um alarme de alta prioridade é gerado. A prova pode estar aprovada em repetitividade, mas o desvio histórico indica degradação do medidor.

Alarmes

A aba ⚠ Alarmes lista todos os eventos gerados durante a sessão com prioridade codificada por cor:

CorPrioridadeExemplos
ALTAFalhas críticasTemperatura alta, prova reprovada, falha presumida, PRV-XXX crítico
MÉDIADesvios operacionaisPressão fora de faixa, corrida invalidada, falha do Mestre ativa
BAIXAInformativoSistema estabilizado, prova aprovada, alinhamento confirmado

Botões de gestão

BotãoAção
✓ ACK TodosReconhece todos os alarmes — muda o estado para "reconhecido"
✕ Limpar AtivosRemove alarmes já reconhecidos da lista
ACK (por item)Reconhece um alarme individualmente
ℹ Contador no cabeçalho A aba "⚠ Alarmes" exibe um badge vermelho com o número de alarmes não reconhecidos. A barra de status também mostra o total de alarmes ativos.

Relatório de Sessão

A aba ≡ Relatório é gerada automaticamente ao final de uma prova concluída. Contém quatro seções:

SeçãoConteúdo
Resumo da SessãoTempo total, tramos provados, provas aprovadas, alarmes gerados
Resultado da ProvaModo 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 CorridasTabela com Neff, Vref, Vmed, MF, Δ da média, Q Média e flag de validade por corrida
Análise de PerformanceScore de 0–100 com breakdown: base 60pts, prova aprovada +20, alarmes -3/cada (máx -20), sistema estabilizado +5
✓ Dica Use 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 restrito Esta página é destinada exclusivamente ao instrutor. Não compartilhe a URL ou senha com os operadores.

Acesso e Autenticação

Abra ihm-mestre.html no navegador. Um modal de autenticação é exibido imediatamente.
Digite a senha: fcmaster e pressione Enter ou clique em ▶ ENTRAR.
O sistema se conecta ao Supabase Realtime. O badge no canto superior direito muda para ● Online.
O grid de sessões ativas começa a ser preenchido à medida que operadores fazem login no simulador.
ℹ Canal Supabase O painel e o simulador compartilham o canal 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

ElementoDescrição
Token6 caracteres únicos da sessão. Ex.: A3KP7Q
Nome do operadorNome 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 / QTemperatura, pressão e vazão total do processo em tempo real
T-01/02/03Vazão e abertura da FCV de cada tramo
Falhas ativasBadges vermelhos listando as falhas atualmente injetadas
ProvaTramo alinhado ao prover e fase atual
✓ Painel de falhas por card Clique em ⚗ Falhas dentro de um card para expandir o painel inline de controle daquela sessão específica.

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ãoFault IDEfeito no SimuladorImpacto 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
DLYdelay Atraso de 80ms no detector de pulsos Neff aumentado → MF afetado (corrida válida)
GASair Ruído aleatório ±4% na vazão 30% de chance de bolha → corrida inválida
PLSpulseLoss Perde 2–5 pulsos por corrida (75% de chance) Corrida inválida — REQ-CP-006
CHTchatter Ruído ±0,15% no Neff por corrida Severo (>0,12%) → corrida inválida
unstableQ Oscilação senoidal ±25% na vazão do tramo Qavg pode sair de ±10% → corrida inválida
⚠ Timing de injeção Falhas que afetam a validade de corridas (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árioFalhas AtivadasObjetivo Pedagógico
NormalTodas desativadas (reset)Retornar à operação normal
Vazão AltahighQOperador identifica Q fora de faixa → corrida inválida
Vazão BaixalowQOperador ajusta FCV para manter Q dentro de ±10%
Pressão AltahighPOperador observa MF desviado pela correção CP
Pressão BaixalowPIdem — desvio negativo de CP
Desvio K+kPosOperador percebe MF sistematicamente alto (deriva do medidor)
Desvio K−kNegOperador percebe MF sistematicamente baixo
Atraso DetectordelayMF afetado por atraso — impacto calculável
CombinadohighP + kPosMú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.

ℹ Uso pedagógico Use o controle remoto de FCV para forçar o operador a rebalancear os tramos ou para simular um problema de instrumento que modifica a abertura da válvula.

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:

Broadcast Global

O painel lateral esquerdo contém ações que afetam todas as sessões simultaneamente:

SeçãoAçãoComando
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: *
✓ Log de atividade O rodapé do painel exibe um log em tempo real de todos os comandos enviados, com timestamp e identificação do alvo (token ou *). Verde = enviado com sucesso · Vermelho = erro de comunicação.

Apêndice A — Tabela REQ-CP Completa

REQDescriçãoFiscalApropriaçãoImplementaçã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ódigoNomeAtivaçãoEfeitoCorrida
highQVazão AltaMestreFCV prover +40%Pode invalidar
lowQVazão BaixaMestreFCV prover ×0,45Pode invalidar
highPPressão AltaMestre+0,5 kPa/tickMF afetado (válida)
lowPPressão BaixaMestre−0,5 kPa/tickMF afetado (válida)
highTTemperatura AltaMestre+0,02°C/tickMF afetado (válida)
lowTTemperatura BaixaMestre−0,02°C/tickMF afetado (válida)
kPosDeriva K PositivoMestreKeff ×1,005MF desviado (válida)
kNegDeriva K NegativoMestreKeff ×0,995MF desviado (válida)
delayAtraso DetectorMestreNeff +80msMF afetado (válida)
airArrastamento GásMestreQeff ±4% rand.30% → inválida
pulseLossPulso PerdidoMestreNeff −2 a 5 pulsos75% → inválida
chatterChatter DetectorMestreNeff ±0,15% rand.>0,12% → inválida
unstableQVazão InstávelMestreQeff ±25% senoidalPode invalidar

Apêndice C — Glossário Técnico

TermoDefinição
MF (Meter Factor)Fator de correção do medidor. MF = Vref / Vmed. Valor ideal = 1,000000.
ΔMFDiferença absoluta entre o maior e o menor MF das corridas válidas. Critério central de repetitividade.
K-FactorConstante de calibração da turbina em pulsos/m³. Específica por medidor (5018–5031 p/m³).
VrefVolume de referência do prover corrigido: BASE_VOL × CT × CP.
VmedVolume medido pela turbina: Neff / K.
NeffNúmero efetivo de pulsos com interpolação fracionária de início e fim de corrida.
CTFator de correção de temperatura: 1 + (T − 20) × 0,00065
CPFator de correção de pressão: 1 + (P − 800) × 1,2×10⁻⁷
Compact ProverInstrumento de referência volumétrica portátil com pistão de precisão para calibração de medidores de vazão.
Falha PresumidaDesvio do MF atual em relação ao MF da última calibração que excede o limite normativo, indicando degradação do medidor.
RepetitividadeCapacidade do medidor de fornecer resultados consistentes em condições iguais. Expressa como ΔMF ou %.
FCVFlow Control Valve — válvula de controle de vazão com atuador modulante 0–100%.
MOVMotor-Operated Valve — válvula de isolamento (todo aberta / todo fechada).
Token de SessãoCódigo de 6 caracteres alfanuméricos gerado aleatoriamente para identificar unicamente cada sessão aberta.
PresenceMecanismo do Supabase Realtime que rastreia quem está conectado a um canal e seu estado atual.
BroadcastMecanismo do Supabase Realtime para envio de mensagens a todos os assinantes de um canal.
⬡ FlowCore Solutions · Manual do Simulador de Medição Fiscal FPSO
IHM 1923-ODMS-30 · Compact Prover 1923-CPA-01 · API MPMS 4.x / 13.2
Rev. 01 · 2026