Mein Gebäude – Garagentor
- Tutorial
Tutorial
Dieses Kapitel beschreibt, wie man ein Garagentor in Immersive einrichtet, indem man sich direkt auf Informationen aus dem Feld verlässt. Es zeigt, wie man einen Defekt aus Excel deklariert und die Darstellung anpasst des 3D-Modells entsprechend dem Zustand der Ausrüstung.
Im Gegensatz zum vorherigen Fall des Temperatursensors, bei dem der Fehler von der Anwendung berechnet wurde, Hier haben wir Daten direkt aus dem Feld, die einen Defekt darstellen: Hindernis.
In diesem Zusammenhang ist es nicht notwendig, ein Skript zu erstellen, da die Standardinformationen bereits vom Sensor bereitgestellt wird, werden wir sehen, wie man ihn direkt aus Excel konfiguriert.
Außerdem hat das Garagentor einen Öffnungssensor, sodass wir ihn anpassen können Die Darstellung des Garagentors im digitalen Zwilling zur Darstellung Der Zustand Offen oder Geschlossen.
Funktionale Ziele
- Konfigurieren Sie die blockierte Tür standardmäßig aus Excel
- Ändern Sie das Modell des Garagentors je nach Zustand.
Voraussetzungen
- Erstellung eines familienbezogenen Verhaltensskripts
GarageDoor - Assoziiere das Garagentor mit seinem 3D-Modell im digitalen Zwilling.
- Anwesenheit von mindestens einem Modell
Konfigurieren Sie die blockierte Tür standardmäßig aus Excel
Beim Konfigurieren der Messkanäle eines Geräts aus der Excel-Datei, Es ist möglich, einen automatischen Zustand anzugeben, der jedem Kanal zugeordnet ist.
Standardmäßig werden alle Kanäle als Information betrachtet und angezeigt Im Block "Informationen" Ausrüstung.
Es gibt jedoch drei weitere mögliche Verhaltensweisen:
- Informationen (Standard)
- Wenn kein automatischer Status angegeben ist, wird der Kanal angezeigt
Im Block "Informationen" Ausrüstung.
- Fehler
- Der Kanal wird in der "Defekte" Ausrüstung.
- Wenn ihr Wert gleich ist wie
true,kooder1,
Der Defekt gilt als aktiv und die Ausrüstung befindet sich dann im Ausfallzustand.
- Warnung
- Der Kanal wird auch in der "Defekte" Ausrüstung.
- Wenn ihr Wert gleich ist wie
true,kooder1,
der Fehler ist aktiv und die Ausrüstung gilt als im Zahlungsausfall, mit einem Kritikalitätsniveau von weniger als Fehler.
- Getrennt
- Der Kanal wird in der "Verbindung"
und ermöglicht es Ihnen, den Verbindungsstatus der Geräte zu steuern.
- Wenn der Kanalwert gesetzt ist auf
true,kooder1,
Die Ausrüstung gilt als getrennt.
In unserem Fall setzen wir den automatischen Zustand ein Fehler In der Spalte "Automatischer Zustand" Für den Kanal Hindernis.
Der Kanaltyp muss sein: Boolean.

Das Garagentor erscheint rot, wenn ein Hindernis erkannt wird.

Änderung der Darstellung des Garagentors basierend auf ihrem Zustand
Wenn ein Sensor den Zustand eines Vermögenswerts darstellt, ist es besonders interessant, diesen Zustand direkt auf den digitalen Zwilling zu reflektieren. Das verleiht der Karte Dynamik und macht die Visualisierung lebendiger und intuitiver.
Türen sind ein besonders relevanter Anwendungsfall, da sie zwei unterschiedliche Zustände haben: offen oder geschlossen, von denen jeder visuell dargestellt werden kann.
Um die Darstellung eines mit einem 3D-Modell assoziierten Geräts zu verändern, ist es notwendig, ein Skript zu verwenden. So können Sie Anweisungen zur Aktualisierung der Darstellung senden, sobald sich ein Datenstück zum Zustand der Geräte ändert.
In unserem Fall gilt die DOOR Das Garagentor hat zwei mögliche Werte: Open oder Closed.
Anhand dieses Werts bestimmen wir, ob die Tür offen oder geschlossen ist, und rufen dann die Identifikatorin des mit jedem dieser Zustände verbundenen 3D-Modells ab.
Um das zugehörige Modell modifizieren zu können, ist es notwendig, eine Abfrage auszuführen (Query), um die Referenz des zu aktualisierenden Objekts abzurufen.
In unserem Fall ist nur ein 3D-Modell mit der Ausrüstung verbunden; es ist daher möglich, eine Abfrage basierend auf dem Objekttyp zu verwenden.
function OnEquipmentChanged(equipment)
{
// Récupération de la variable qui porte l'état de la porte.
var doorVar = equipment.GetVariable("DOOR");
// L'état de la porte étant une string pouvant avoir 2 valeurs Open/Close, on calcule si la porte est ouverte en vérifiant la valeur.
var isOpened = doorVar.AsString == "Open";
// En fonction de l'état d'ouverture ou de fermeture on récupère le nom du modèle associé.
// Nous avons le modèle Copro_Descente_Open quand la porte est ouverte
// Nous avons le modèle Copro_Descente quand la porte est fermée.
var modelId = isOpened ? "Copro_Descente_Open"
: "Copro_Descente";
// Par défaut les modèles 3D associés à un équipement sont colorés en vert ou rouge en fonction de leur état.
// On désactive cette coloration automatique pour mieux voir le modèle.
equipment.Coloration = EquipmentColoration.Disabled;
// On execute une requète pour récupérer la référence de l'objet de type model associé à notre équipement.
// On applique le model attendu au résultat de la requète.
equipment.Query(".model").SetModel(modelId);
}
Das Ergebnis beim digitalen Zwilling ist wie folgt.