Benutzerdefinierte zusammengesetzte Modelle (Komponenten) - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzerdefinierte zusammengesetzte Modelle (Komponenten)

Wenn Sie eine besonders komplexe Industrieanlage modellieren, z. B. eine komplizierte Maschine mit vielen Teilen, kann es zu einer Herausforderung werden, Ihre Anlagenmodelle zu organisieren und zu warten.

In solchen Fällen können Sie Ihren vorhandenen Anlagen- und Komponentenmodellen benutzerdefinierte Verbundmodelle oder Komponenten hinzufügen, wenn Sie die Konsole verwenden. Diese helfen Ihnen, organisiert zu bleiben, indem sie verwandte Eigenschaften gruppieren und Unterkomponentendefinitionen wiederverwenden.

Es gibt zwei Arten von benutzerdefinierten Verbundmodellen:

  • Benutzerdefinierte Verbundmodelle definieren eine Reihe von gruppierten Eigenschaften, die für das Asset- oder Komponentenmodell gelten, zu dem das benutzerdefinierte Verbundmodell gehört. Sie verwenden sie, um verwandte Eigenschaften zu gruppieren. Sie bestehen aus einem Namen, einer Beschreibung und einer Reihe von Asset-Modelleigenschaften. Sie sind nicht wiederverwendbar.

  • omponent-model-basedBenutzerdefinierte C-Verbundmodelle verweisen auf ein Komponentenmodell, das Sie in Ihr Asset- oder Komponentenmodell aufnehmen möchten. Sie verwenden sie, um Standard-Unterbaugruppen in Ihr Modell aufzunehmen. Sie bestehen aus einem Namen, einer Beschreibung und der ID des Komponentenmodells, auf das sie verweisen. Sie haben keine eigenen Eigenschaften; das referenzierte Komponentenmodell stellt die zugehörigen Eigenschaften allen erstellten Objekten zur Verfügung.

In den folgenden Abschnitten wird veranschaulicht, wie Sie benutzerdefinierte Verbundmodelle in Ihren Entwürfen verwenden können.

Integrierte benutzerdefinierte Verbundmodelle

Benutzerdefinierte zusammengesetzte Inline-Modelle bieten eine Möglichkeit, Ihr Asset-Modell zu organisieren, indem verwandte Eigenschaften gruppiert werden.

Nehmen wir zum Beispiel an, Sie möchten ein Roboter-Asset modellieren. Der Roboter umfasst einen Servomotor, eine Stromversorgung und eine Batterie. Jeder dieser Bestandteile hat seine eigenen Eigenschaften, die Sie in das Modell aufnehmen möchten. Sie könnten ein Objektmodell mit dem Namen definierenrobot_model, das Eigenschaften wie die folgenden hat.

  • robot_model

    • servo_status(Ganzzahl)

    • servo_position(doppelt)

    • powersupply_status(Ganzzahl)

    • powersupply_temperature(doppelt)

    • battery_status(Ganzzahl)

    • battery_charge(doppelt)

In einigen Fällen kann es jedoch viele Unterbaugruppen geben, oder die Unterbaugruppen selbst können viele Eigenschaften haben. In diesen Fällen sind möglicherweise so viele Eigenschaften vorhanden, dass es schwierig wird, sie zu referenzieren und sie in einer einzigen flachen Liste im Modellstamm zu verwalten, wie im vorherigen Beispiel.

Um mit solchen Situationen umzugehen, können Sie ein benutzerdefiniertes Verbundmodell verwenden, um Eigenschaften zu gruppieren. Ein benutzerdefiniertes Verbundmodell ist ein benutzerdefiniertes Verbundmodell, das seine eigenen Eigenschaften definiert. Sie könnten Ihren Roboter beispielsweise wie folgt modellieren.

  • robot_model

    • servo

      • status(Ganzzahl)

      • position(doppelt)

    • powersupply

      • status(Ganzzahl)

      • temperature(doppelt)

    • battery

      • status(Ganzzahl)

      • charge(doppelt)

Im vorherigen Beispiel battery sind servopowersupply, und die Namen von benutzerdefinierten Verbundwerkstoffmodellen, die innerhalb des robot_model Asset-Modells definiert sind. Jedes dieser zusammengesetzten Modelle definiert dann seine eigenen Eigenschaften.

Anmerkung

In diesem Fall definiert jedes benutzerdefinierte Verbundmodell seine eigenen Eigenschaften, sodass alle Eigenschaften Teil des Asset-Modells selbst sind (robot_modelin diesem Fall). Diese Eigenschaften werden nicht mit anderen Asset- oder Komponentenmodellen gemeinsam genutzt. Wenn Sie beispielsweise ein anderes Asset-Modell erstellt haben, für das auch ein benutzerdefiniertes Inline-Verbundmodell aufgerufen wurdeservo, robot_model hätte eine Änderung an der servo Innenseite keinen Einfluss auf die servo Definition des anderen Asset-Modells.

Wenn Sie eine solche gemeinsame Nutzung implementieren möchten (z. B. um nur eine Definition für ein Servo zu haben, die alle Ihre Asset-Modelle gemeinsam nutzen können), würden Sie stattdessen ein Komponentenmodell dafür erstellen und dann component-model-basedzusammengesetzte Modelle erstellen, die darauf verweisen. Einzelheiten finden Sie im folgenden Abschnitt.

Informationen zum Erstellen benutzerdefinierter Inline-Verbundmodelle finden Sie unterErstellen Sie benutzerdefinierte Verbundmodelle (Komponenten).

Component-model-based benutzerdefinierte Verbundmodelle

Sie können ein Komponentenmodell erstellen, AWS IoT SiteWise um eine wiederverwendbare Standardunterbaugruppe zu definieren. Sobald Sie ein Komponentenmodell erstellt haben, können Sie Referenzen darauf in Ihren anderen Objektmodellen und Komponentenmodellen hinzufügen. Dazu fügen Sie jedem Modell, in dem Sie die Komponente referenzieren möchten, ein component-model-based benutzerdefiniertes Verbundmodell hinzu. Sie können Referenzen aus vielen Modellen oder mehrfach innerhalb desselben Modells zu Ihrer Komponente hinzufügen.

Auf diese Weise können Sie vermeiden, dass dieselben Definitionen modellübergreifend dupliziert werden. Es vereinfacht auch die Verwaltung Ihrer Modelle, da alle Änderungen, die Sie an einem Komponentenmodell vornehmen, in allen Asset-Modellen, die es verwenden, übernommen werden.

Nehmen wir beispielsweise an, dass Ihre Industrieanlage über viele Arten von Geräten verfügt, die alle dieselbe Art von Servomotor verwenden. Einige von ihnen haben viele Servomotoren in einem einzigen Gerät. Sie erstellen für jeden Gerätetyp ein Anlagenmodell, möchten aber nicht servo jedes Mal die Definition duplizieren. Sie möchten es nur einmal modellieren und es in Ihren verschiedenen Anlagenmodellen verwenden. Wenn Sie später eine Änderung an der Definition von vornehmenservo, wird sie für alle Ihre Modelle und Anlagen aktualisiert.

Um den Roboter aus dem vorherigen Beispiel auf diese Weise zu modellieren, könnten Sie Servomotoren, Stromversorgungen und Batterien wie folgt als Komponentenmodelle definieren.

  • servo_component_model

    • status(Ganzzahl)

    • position(doppelt)

  • powersupply_component_model

    • status(Ganzzahl)

    • temperature(doppelt)

  • battery__component_model

    • status(Ganzzahl)

    • charge(doppelt)

Anschließend könnten Sie Asset-Modelle definieren, die z. robot_model B. auf diese Komponenten verweisen. Mehrere Anlagenmodelle können auf dasselbe Komponentenmodell verweisen. Sie können dasselbe Komponentenmodell auch mehrfach in einem Anlagenmodell referenzieren, z. B. wenn Ihr Roboter mehrere Servomotoren enthält.

  • robot_model

    • servo1(Referenz:) servo_component_model

    • servo2(Referenz:servo_component_model)

    • servo3(Referenz:servo_component_model)

    • powersupply(Referenz:powersupply_component_model)

    • battery(Referenz:battery_component_model)

Informationen zum Erstellen von Komponentenmodellen finden Sie unterKomponentenmodelle erstellen.

Informationen darüber, wie Sie Ihre Komponentenmodelle in anderen Modellen referenzieren können, finden Sie unterErstellen Sie benutzerdefinierte Verbundmodelle (Komponenten).

Verwenden Sie Pfade, um auf benutzerdefinierte Eigenschaften von Verbundmodellen zu verweisen

Wenn Sie eine Eigenschaft in einem Objektmodell, Komponentenmodell oder benutzerdefinierten Verbundmodell erstellen, können Sie sie von anderen Eigenschaften aus referenzieren, die ihren Wert verwenden, z. B. Transformationen und Metriken.

AWS IoT SiteWise bietet Ihnen verschiedene Möglichkeiten, auf Ihre Immobilie zu verweisen. Am einfachsten ist es oft, die zugehörige Eigenschafts-ID zu verwenden. Wenn sich die Eigenschaft, auf die Sie verweisen möchten, jedoch in einem benutzerdefinierten Verbundmodell befindet, ist es möglicherweise sinnvoller, sie stattdessen über einen Pfad zu referenzieren.

Ein Pfad ist eine geordnete Abfolge von Pfadsegmenten, die eine Eigenschaft in Bezug auf ihre Position innerhalb der verschachtelten Verbundmodelle innerhalb eines Objektmodells und eines Verbundmodells spezifiziert.

Ermitteln Sie Eigenschaftspfade

Den Pfad einer Eigenschaft können Sie ihrem path Feld entnehmen AssetModelProperty.

Nehmen wir beispielsweise an, Sie haben ein Anlagenmodellrobot_model, das ein benutzerdefiniertes zusammengesetztes Modell enthältservo, das über eine Eigenschaft verfügtposition. Wenn Sie diese DescribeAssetModelCompositeModelOption aufrufenservo, würde die position Eigenschaft ein path Feld auflisten, das wie folgt aussieht:

"path": [ { "id": "asset model ID", "name": "robot_model" }, { "id": "composite model ID", "name": "servo" }, { "id": "property ID", "name": "position" } ]

Eigenschaftspfade verwenden

Sie können einen Eigenschaftenpfad verwenden, wenn Sie eine Eigenschaft definieren, die auf andere Eigenschaften verweist, z. B. eine Transformation oder eine Metrik.

Eine Eigenschaft verwendet eine Variable, um auf eine andere Eigenschaft zu verweisen. Weitere Hinweise zum Arbeiten mit Variablen finden Sie unterVerwenden Sie Variablen in Formelausdrücken.

Wenn Sie eine Variable definieren, die auf eine Eigenschaft verweist, können Sie entweder die ID der Eigenschaft oder ihren Pfad verwenden.

Um eine Variable zu definieren, die den Pfad der referenzierten Eigenschaft verwendet, geben Sie das propertyPath Feld ihres Werts an.

Um beispielsweise ein Asset-Modell mit einer Metrik zu definieren, die mithilfe eines Pfads auf eine Eigenschaft verweist, könnten Sie eine Payload wie die folgende übergeben an CreateAssetModel:

{ ... "assetModelProperties": [ { ... "type": { "metric": { ... "variables": [ { "name": "variable name", "value": { "propertyPath": [ path segments ] } } ], ... } }, ... }, ... ], ... }