Пример модели
Рассмотрим гипотетическую компанию с наименованием Acme Mowers, которая продает и обслуживает бытовые газонокосилки. Acme Mowers представляет новую линию интеллектуальных и подключаемых газонокосилок и использует ThingWorx, чтобы создавать решения для своих клиентов и дилеров. Для выполнения этого они должны сначала создать модель своих новых газонокосилок в ThingWorx.
Используя Вещи, Профили вещей и Шаблоны вещей, они могут построить сложную модель. Например, модель Acme Tractors может иметь серийный номер SN100M123 (вещь), означающий, что это газонокосилка EconomySeriesTractor (шаблон вещи) и MSeriesTractor (шаблон вещи), которая имеет топливный насос (FuelPumpAssembly), платформу косилки (MowerDeck) и двигатель привода (TractorEngine) (профили вещей).
Эти сущности имеют свойства (например, для сущности TractorEngine существуют свойства EngineHours, EngineTemperature и MAXRPM), и изменения их состояний могут инициировать события (например, сервис ChangeOilDate и предупреждение EngineOverheating), которые обрабатываются с помощью подписок.
Модель может стать более сложной, если подсистемы, сборки и компоненты имеют отдельные жизненные циклы, которые должны независимо отслеживаться и анализироваться, или имеют взаимозаменяемые опции. Например, можно улучшить приведенную выше модель, добавив новое свойство с наименованием "Батарея" (Battery) в TractorEngine. Определив тип свойства Battery как ThingName, можно задать в качестве значения этого свойства конкретное наименование вещи.
Например, можно добавить профиль вещи BatteryShape, шаблон вещи TopTerminalBattery или SideTerminalBattery и, наконец, вещи Size65TopTerminal или Size75TopTerminal. В зависимости от батареи, установленной для данного тягового двигателя, значение свойства Battery будет задано как наименование соответствующей вещи батареи. Для батареи Size75TopTerminal применяется шаблон вещи TopTerminalBattery, который составлен на основе профиля вещи BatteryShape.
BatteryShape становится взаимосвязью между двигателем и батареей.
Конкретные батареи можно отслеживать отдельно от косилки, поэтому при изменении батарей должна быть изменена только их взаимосвязь с двигателем.
Было ли это полезно?