Miravo

Modèles Twin

Définissez un type d'actif en `.twin.yaml` avec paramètres, membres, méthodes, cycle de vie et défauts.

Définissez un nouveau type d'actif quand le catalogue intégré ne correspond pas au système à modéliser.

Détails techniques

Commencez par le plus petit modèle valide

schema_version: "2"
model:
  name: my-sensor
  description: "Temperature sensor"

parameters:
  temp_center:
    type: float
    default: 22
    unit: degC

members:
  temperature:
    kind: variable
    data_type: Double
    access: read
    unit: degC
    generator:
      type: noise
      center: "$param.temp_center"
      stddev: 0.5

Enregistrez ce fichier sous my-sensor.twin.yaml.

Inspectez-le avec miravo models inspect.

miravo models inspect ./my-sensor.twin.yaml

Écrivez dans l'ordre des dépendances

  1. Définissez model.name et les paramètres qui varient par instance.
  2. Déclarez les membres dans l'ordre d'évaluation voulu.
  3. Ajoutez les méthodes quand un contrôle externe doit écrire des membres ou des paramètres.
  4. Ajoutez les stages de cycle de vie et les défauts une fois le chemin de process correct.

Les membres sont évalués dans l'ordre de déclaration. Un membre peut référencer un membre précédent dans le même tick. Il ne peut pas référencer un membre déclaré plus tard.

Choisissez la bonne source de valeur

BesoinUtilisez
Vérité de process qui change à chaque tickgenerator
État runtime comme cycle de vie ou santé des défautsbinding
Surface de commande accessible en écrituremembre readwrite ou write plus methods
Métadonnées statiquesmembre property

Exposez l'état runtime avec intention

fault_active:
  kind: variable
  data_type: Boolean
  access: read
  binding:
    type: fault-active

availability_state:
  kind: variable
  data_type: String
  access: read
  binding:
    type: availability-state
    member: speed_feedback
    operator: ">"
    threshold: 50

Gardez les effets d'observation après la vérité de process

discharge_pressure:
  kind: variable
  data_type: Double
  access: read
  unit: bar
  eu_range: [0, 12]
  generator:
    type: correlated
    source: speed_feedback
    factor: 0.004
    offset: 1.5
  observation_effects:
    - type: white_noise
      strength: 0.01
    - type: drift
      tau: 1800
      sigma: 0.02

Utilisez observation_effects uniquement sur des variables numériques en read. Le schéma rejette les cibles readwrite, write et non numériques.

Référence

Champ ou blocNotes
schema_versionLa valeur actuelle est "2"
model.nameIdentifiant utilisé par les templates et l'inspection CLI
parametersSupporte float, int, string, bool
membersAu moins un membre. L'ordre de déclaration compte.
methodsLes actions runtime utilisent set-members, set-parameters ou clear-faults
binding.typethreshold, lifecycle-stage, health-state, fault-active, fault-count, active-fault-code, availability-state
observation_effects.typewhite_noise, drift, outlier, gap, noise_burst

Pages liées

Was this page useful?

Last updated on