Miravo

Cycle De vie et défauts

Définissez la progression d'usure et des modes de panne nommés qui modifient la vérité runtime dans le temps.

Modélisez l'usure long terme selon les heures de fonctionnement. Ajoutez des défauts nommés déclenchés par un stage de cycle de vie, des conditions de process ou une injection manuelle.

Détails techniques

Définissez les stages de cycle de vie sur le modèle

lifecycle:
  stages:
    - name: healthy
      duration_hours: [4000, 7000]
      effects: {}
    - name: degraded
      duration_hours: [1000, 2000]
      effects:
        vibration_baseline: { multiplier: 1.4 }
        bearing_temperature: { offset: 8 }
    - name: critical
      duration_hours: [300, 700]
      effects:
        vibration_baseline: { multiplier: 2.0 }
        bearing_temperature: { offset: 18 }

Les stages de cycle de vie forment une liste ordonnée. L'auteur du modèle choisit les noms et le nombre de stages.

Définissez les défauts comme comportement runtime nommé

faults:
  - name: cavitation
    trigger:
      condition: "discharge_pressure < 2.5"
      probability: 0.01
    effects:
      vibration_radial: { spike: 1.8, duration_ticks: 180 }
      flow_rate: { multiplier: 0.75, duration_ticks: 180 }

  - name: bearing_wear
    trigger:
      lifecycle_stage: degraded
      probability: 0.004
    effects:
      bearing_temperature: { offset: 6, duration_ticks: 600 }

Les conditions de défaut sont évaluées sur les valeurs du tick précédent. Le délai d'un tick permet des cascades sans configuration supplémentaire.

Injectez ou effacez un défaut au runtime

Injectez un défaut.

miravo inject pump-001 cavitation

Effacez le même défaut.

miravo inject pump-001 cavitation --clear

Déclenchez un défaut.

curl -s http://127.0.0.1:8080/commands \
  -H 'content-type: application/json' \
  -d '{"type":"triggerFault","instanceId":"pump-001","fault":"cavitation"}'

Effacez le même défaut.

curl -s http://127.0.0.1:8080/commands \
  -H 'content-type: application/json' \
  -d '{"type":"clearFault","instanceId":"pump-001","fault":"cavitation"}'

Référence

Champ ou bindingNotes
duration_hoursTuple [min, max] utilisé pour randomiser la durée du stage par instance
Champs d'effet de lifecyclemultiplier, offset
Champs de trigger de défautlifecycle_stage, condition, probability
Champs d'effet de défautspike, multiplier, offset, duration_ticks, onset_ticks, recovery_ticks
Bindings d'état défautfault-active, fault-count, active-fault-code, health-state
Binding de lifecyclelifecycle-stage

Pages liées

Was this page useful?

Last updated on