Modelos compuestos personalizados (componentes) - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Modelos compuestos personalizados (componentes)

Al modelar un activo industrial especialmente complejo, como una pieza de maquinaria complicada que consta de muchas piezas, mantener los modelos de activos organizados y fáciles de mantener puede convertirse en un desafío.

En esos casos, puede añadir modelos compuestos personalizados, o componentes si utiliza la consola, a sus modelos de activos y componentes existentes. Esto le ayuda a mantenerse organizado al agrupar las propiedades relacionadas y reutilizar las definiciones de los subcomponentes.

Hay dos tipos de modelos compuestos personalizados:

  • Los modelos compuestos personalizados en línea definen un conjunto de propiedades agrupadas que se aplican al modelo de activos o al modelo de componentes al que pertenece el modelo compuesto personalizado. Se utilizan para agrupar propiedades relacionadas. Constan de un nombre, una descripción y un conjunto de propiedades del modelo de activos. No son reutilizables.

  • Los modelos compuestos omponent-model-based personalizados en C hacen referencia a un modelo de componentes que desee incluir en su modelo de activos o modelo de componentes. Se utilizan para incluir subconjuntos estándar en el modelo. Constan de un nombre, una descripción y el identificador del modelo de componente al que hace referencia. No tienen propiedades propias; el modelo de componentes al que se hace referencia proporciona las propiedades asociadas a todos los activos creados.

Las siguientes secciones ilustran cómo utilizar modelos compuestos personalizados en sus diseños.

Modelos compuestos personalizados en línea

Los modelos compuestos personalizados en línea proporcionan una forma de organizar el modelo de activos agrupando las propiedades relacionadas.

Por ejemplo, supongamos que quiere modelar un activo robótico. El robot incluye un servomotor, una fuente de alimentación y una batería. Cada una de esas partes constitutivas tiene sus propias propiedades que desea incluir en el modelo. Puede definir un modelo de activos denominado robot_model que tenga propiedades como las siguientes.

  • robot_model

    • servo_status(entero)

    • servo_position(doble)

    • powersupply_status(entero)

    • powersupply_temperature(doble)

    • battery_status(entero)

    • battery_charge(doble)

Sin embargo, en algunos casos, es posible que haya muchos subensamblajes o que los propios subensamblajes tengan muchas propiedades. En estos casos, es posible que haya tantas propiedades que resulte engorroso consultarlas y mantenerlas en una sola lista plana en la raíz del modelo, como en el ejemplo anterior.

Para hacer frente a estas situaciones, puede utilizar un modelo compuesto personalizado en línea para agrupar las propiedades. Un modelo compuesto personalizado en línea es un modelo compuesto personalizado que define sus propias propiedades. Por ejemplo, puede modelar su robot de la siguiente manera.

  • robot_model

    • servo

      • status(entero)

      • position(doble)

    • powersupply

      • status(entero)

      • temperature(doble)

    • battery

      • status(entero)

      • charge(doble)

En el ejemplo anterior servopowersupply, y battery son los nombres de los modelos compuestos personalizados en línea definidos en el modelo de robot_model activos. A continuación, cada uno de estos modelos compuestos define sus propias propiedades.

nota

En este caso, cada modelo compuesto personalizado define sus propias propiedades, de modo que todas las propiedades forman parte del propio modelo de activos (robot_modelen este caso). Estas propiedades no se comparten con ningún otro modelo de activos o de componentes. Por ejemplo, si creó algún otro modelo de activos que también tuviera un modelo compuesto personalizado en línea denominadoservo, realizar un cambio interno no robot_model afectaría a la servo servo definición del otro modelo de activos.

Si desea implementar este tipo de compartición (por ejemplo, tener solo una definición para un servo, que puedan compartir todos sus modelos de activos), debería crear un modelo de componentes para ese servo y, a continuación, crear modelos component-model-basedcompuestos que hagan referencia a él. Consulte la siguiente sección para obtener más información.

Para obtener información sobre cómo crear modelos compuestos personalizados en línea, consulteCreación de modelos compuestos personalizados (componentes).

C: omponent-model-based modelos compuestos personalizados

Puede crear un modelo de componente AWS IoT SiteWise para definir un subensamblaje estándar y reutilizable. Una vez creado un modelo de componente, puede añadir referencias al mismo en sus otros modelos de activos y modelos de componentes. Para ello, añada un modelo compuesto component-model-based personalizado a cualquier modelo en el que desee hacer referencia al componente. Puede añadir referencias a su componente desde varios modelos o varias veces dentro del mismo modelo.

De esta forma, puede evitar duplicar las mismas definiciones en todos los modelos. También simplifica el mantenimiento de los modelos, ya que cualquier cambio que realice en un modelo de componentes se reflejará en todos los modelos de activos que lo utilicen.

Por ejemplo, supongamos que su instalación industrial tiene muchos tipos de equipos y todos utilizan el mismo tipo de servomotor. Algunos de ellos tienen muchos servomotores en un solo equipo. Creas un modelo de activos para cada tipo de equipo, pero no querrás duplicar la definición servo cada vez. Quieres modelarlo solo una vez y usarlo en tus distintos modelos de activos. Si más adelante cambias la definición deservo, se actualizará en todos tus modelos y activos.

Para modelar el robot del ejemplo anterior de esta manera, podría definir los servomotores, las fuentes de alimentación y las baterías como modelos de componentes, como este.

  • servo_component_model

    • status(entero)

    • position(doble)

  • powersupply_component_model

    • status(entero)

    • temperature(doble)

  • battery__component_model

    • status(entero)

    • charge(doble)

A continuación, podría definir modelos de activos, por ejemplorobot_model, que hagan referencia a estos componentes. Varios modelos de activos pueden hacer referencia al mismo modelo de componentes. También puede hacer referencia al mismo modelo de componentes varias veces en un modelo de activo, por ejemplo, si su robot tiene varios servomotores.

  • robot_model

    • servo1(referencia:) servo_component_model

    • servo2(referencia:servo_component_model)

    • servo3(referencia:servo_component_model)

    • powersupply(referencia:powersupply_component_model)

    • battery(referencia:battery_component_model)

Para obtener información sobre cómo crear modelos de componentes, consulteCreación de modelos de componentes.

Para obtener información sobre cómo hacer referencia a sus modelos de componentes en otros modelos, consulteCreación de modelos compuestos personalizados (componentes).

Uso de rutas para hacer referencia a las propiedades de los modelos compuestos personalizados

Al crear una propiedad en un modelo de activos, un modelo de componentes o un modelo compuesto personalizado, puede hacer referencia a ella desde otras propiedades que utilizan su valor, como las transformaciones y las métricas.

AWS IoT SiteWise proporciona diferentes formas de hacer referencia a su propiedad. La forma más sencilla suele ser utilizar su identificador de propiedad. Sin embargo, si la propiedad a la que desea hacer referencia está en un modelo compuesto personalizado, puede que le resulte más útil hacer referencia a ella mediante una ruta.

Una ruta es una secuencia ordenada de segmentos de ruta que especifica una propiedad en términos de su posición entre los modelos compuestos anidados dentro de un modelo de activos y un modelo compuesto.

Obtención de rutas de propiedades

Puede obtener la ruta de una propiedad desde el path campo de su propiedad AssetModelProperty.

Por ejemplo, supongamos que tiene un modelo de activos robot_model que contiene un modelo compuesto personalizadoservo, que tiene una propiedadposition. Si llamaservo, DescribeAssetModelCompositeModella position propiedad mostrará un path campo similar al siguiente:

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

Uso de rutas de propiedades

Puede usar una ruta de propiedad al definir una propiedad que haga referencia a otras propiedades, como una transformación o una métrica.

Una propiedad usa una variable para hacer referencia a otra propiedad. Para obtener más información sobre cómo trabajar con variables, consulteUso de variables en expresiones de fórmula.

Al definir una variable para hacer referencia a una propiedad, puede utilizar el identificador de la propiedad o su ruta.

Para definir una variable que utilice la ruta de la propiedad a la que se hace referencia, especifique el propertyPath campo de su valor.

Por ejemplo, para definir un modelo de activos que tenga una métrica que haga referencia a una propiedad mediante una ruta, puede pasar una carga útil como esta a CreateAssetModel:

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