Свойства вещи
Свойства вещи используются для описания точек данных, которые связаны с вещью. Например, клиент может иметь свойство "Наименование" и свойство "Адрес". Грузовик может иметь следующие свойства: "Водитель", "Вместимость" и "Местоположение".
Свойства являются простым и удобным способом отслеживать текущее состояние вещи. Свойства могут быть статическими (например, "Изготовитель" и "Номер модели") или динамическими (например, "Температура"). Свойства задаются основе структуры актива, бизнес-процессов и решений, которые требуется предоставить.
При создании свойства можно выбрать один из следующих типов привязок:
Нет
Свойство для локальной вещи. Это настройка по умолчанию.
Локально связанный
Она связывает свойство со свойством, определенным для другой вещи на сервере ThingWorx. Можно задать это свойство как доступное только для чтения, и оно по-прежнему сможет получать значение от другого свойства на сервере. Этот подход не используется для удаленных устройств, исключая случаи, когда создается локальная привязка к удаленному свойству.
Удаленно связанный
Когда удаленное устройство впервые соединяется с сервером ThingWorx, сервер привязывает удаленное устройство к соответствующей вещи. После того как удаленное устройство будет привязано, необходимо создать удаленную привязку между каждым свойством, определенным для этого удаленного устройства, и удаленной вещью, которая представляет устройство в ThingWorx. ThingWorx использует эту привязку для отправки и получения обновлений для каждого значения свойства с удаленного устройства через активное соединение WebSocket.
* 
Если локальная и удаленная вещи имеют свойство с одинаковым наименованием и другое свойство привязывается к настройке удаленного свойства, то удаленное свойство также задает значение локального свойства.
* 
Дополнительные сведения о настройке привязок свойств, будь то локальные или удаленные, см. в разделе Управление привязкой свойств.
Каждое свойство имеет имя, описание и тип данных ThingWorx, известный как базовый тип в ThingWorx. В зависимости от базового типа могут быть включены дополнительные поля. Для простого скалярного типа, такого как NUMBER или STRING, добавляются базовые поля, такие как значение по умолчанию. Более сложные базовые типы имеют больше опций. Например, базовый тип INFOTABLE включает возможность определить структуру данных для описания структуры таблицы данных. Дополнительные сведения см. в разделе Базовые типы свойств.
Значение свойства вещи состоит из трех характеристик: значение, метка времени и качество (VTQ). Значения VTQ могут быть предоставлены или автоматически заданы, а допустимые статусы качества находятся в классе QualityStatus. При каждом задании или обновлении свойства все его характеристики VTQ обновляются.
В общем случае свойство можно обновить в Composer, задав me.PropertyName = value, и метка времени будет отражать текущую метку времени сервера. Для пакетного обновления исторических данных можно использовать сервис UpdatePropertyValues, который позволяет передавать конкретное значение, метку времени и качество. Значения свойств не могут быть заданы как null.
* 
При написании пользовательских сервисов не создавайте код, который может параллельно изменять одно и то же свойство данной сущности. Например, нельзя параллельно увеличивать или уменьшать значение свойства, поскольку это может привести к непредсказуемым значениям свойства. Аналогично приращение значений свойств для использования как счетчики в подписках является частым примером неправильного использования, что приводит к неточностям.
Событие HistoricalDataLogged будет срабатывать, если задано значение исторического свойства. Предположим, например, что для свойства VTQ сущности задана текущая метка времени 2020-02-04 20:16:20. При импорте новой версии этой сущности задается старое свойство VTQ, например 2019-12-24 19:00:45. Такое значение приведет к тому, что для этого свойства будет инициироваться событие HistoricalDataLogged и будут использоваться все подписки на это событие для этого свойства.
Предупреждения
Дополнительные сведения о предупреждениях см. в разделе Предупреждения.
Аспекты свойств
Свойства могут иметь следующие настройки аспектов:
Базовый тип - см. раздел Базовые типы свойств.
Имеет значение по умолчанию - задает значение по умолчанию для свойства при инициализации вещи.
Индекс - если выбрано, свойство сохраняется и индексируется в поставщике хранилища данных для свойства базы данных, чтобы оптимизировать поиск с использованием сервиса QueryImplementingThingsOptimized. Дополнительные сведения см. в разделе Индексированные свойства.
Следует индексировать только те свойства, которые редко изменяются. Свойства данных телеметрии индексировать не следует.
Если выбрана настройка Индекс, настройка Сохранять выбирается автоматически, а возможность правки настройки Сохранять отключается.
Если настройка Индекс впоследствии отключается, настройка Сохранять остается выбранной, но возможность правки снова включается, позволяя задать или отменить выбор.
Настройку Индекс поддерживают только следующие базовые типы: STRING, NUMBER, INTEGER, LONG, BOOLEAN, DATETIME, THINGNAME, USERNAME, GROUPNAME, HYPERLINK, IMAGELINK, MASHUPNAME, MENUNAME, DASHBOARDNAME, TEXT, GUID, NOTIFICATIONCONTENTNAME, NOTIFICATIONDEFINITIONNAME, STYLETHEMENAME и THINGGROUPNAME.
* 
Настройка Индекс доступна в ThingWorx 9.3 и более поздних версий.
Сохранять - если эта настройка выбрана, то есть имеет значение ИСТИНА, каждое изменение значения отправляется в базу данных на постоянное хранение. Записи постоянных свойств в базу данных выполняются асинхронно во избежание взаимоблокировок. В то время как свойство задается немедленно, запись в базу данных выполняется асинхронно, в более поздний момент времени. Перед записью значения постоянного свойства в базу данных выполняются следующие проверки:
Вещь должна по-прежнему существовать.
Вещь должна иметь идентификатор.
Идентификатор вещи и идентификатор отложенной записи должны совпадать.
Вещь должна по-прежнему определять свойство с тем же именем, что и в отложенной записи.
Определенное свойство должно по-прежнему быть постоянным.
Обновления и перезапуски не влияют на обработку очереди.
Только для чтения - если эта настройка выбрана, то есть имеет значение ИСТИНА, данные являются статическими и не могут записываться во время выполнения. Единственный способ изменить значение - изменение значения по умолчанию. Это полезно для статических данных конфигурации.
Журнал - если эта настройка выбрана, то есть имеет значение ИСТИНА, значение свойства автоматически регистрируется в потоке значений, когда изменяются данные (на основе типа изменения данных).
* 
Если событие изменения данных не возникает при определенных обстоятельствах, запись потока значений может не регистрироваться, но набор значений свойств сохраняется. Возможно, что эти свойства могут быть заданы для сущности, но соответствующая запись потока значений может быть потеряна из-за того, что очередь, содержащая эти записи, переполняется и не может быть опустошена для базы данных. Такое может произойти, если объем входящих операций записи превышает сконфигурированную скорость опустошения очереди. Эту настройку можно изменить в файле platform-settings.json для поставщика хранилища данных. Потеря соединения ThingWorx с базой данных может также привести к тому, что выполняется резервное копирование очереди и она не является пустой в выполняемом режиме.
Информация об изменении данных
Тип изменения данных
Эта настройка определяет, когда запускается событие изменения данных, инициированное изменением значения свойства. Ее используют, когда другие процессы должны инициироваться на основе значения свойства. Каждому подписчику отправляется извещение об изменении вместе с таблицей данных, которая содержит старое и новое значения свойства. Например, можно задать подписку на изменения свойства DeliverySchedule. Если расписание изменяется, вы можете уведомить водителей с помощью SMS.
Тип изменения данных имеет следующие опции:
Всегда - инициировать событие для подписчиков при любом изменении значения свойства.
Никогда - событие изменения не инициируется.
Вкл. - любое изменение большинства значений инициирует событие. Для более сложных базовых типов, таких как таблицы данных, правила для события могут отличаться.
Выкл. - событие инициируется, если вычисление нового значение дает логическое значение ЛОЖЬ.
Значение - событие изменения инициируется, если отличие нового значения числового типа от старого превышает пороговое значение. Для нечисловых типов событие изменения будет инициироваться при любом изменении значения по сравнению с исходным значением. Регистрация значения в потоке значений происходит только в том случае, если значение было определено как измененное.
Информация об удаленной привязке
В следующей таблице перечислены опции, доступные, если для опции Привязывание задано Удаленно связанный.
Опция
Описание
Наименование удаленного свойства
Наименование свойства, существующее в Edge.
* 
Наименование свойства и наименование свойства привязанной вещи Edge могут не совпадать.
Метод кэширования
Метод кэширования предоставляет следующие способы читать значения привязанных свойств Edge.
Читать из кэша сервера - запрещает серверные запросы к значению свойств Edge. Значение будет загружаться только с сервера. Любые обновления значения кэшированного на сервере свойства Edge зависят от свойства Edge Тип изменения данных и частоты сканирования (т. е. определения принудительной отправки значения свойства Edge). Возможно, что без подходящих настроек в свойстве Edge сервер никогда не будет получать значение свойства Edge и будет возвращать только значение серверного свойства по умолчанию. Если свойство Edge, к которому выполняется привязка, имеет Тип изменения данных "Всегда" или "Значение", то тип кэша по умолчанию получает эту настройку.
Извлекать из удаленного при каждом чтении - загружает значение свойства Edge из устройства Edge для каждого запроса. С этой опцией никакого кэширования нет. Если свойство Edge, к которому выполняется привязка, имеет Тип изменения данных "Никогда", то тип кэша по умолчанию получает эту настройку.
Опция Кэширован на указанное время управляет частотой запросов к свойству Edge. После первого запроса сервер обращается к свойству Edge, чтобы получить его значение, и не выполняет другой запрос к свойству Edge в течение заданного числа секунд. Обратите внимание, что свойство Edge может обновлять значение сервера (через принудительную отправку) в течение этого времени.
Интервал кэширования
Период времени (в секундах), в течение которого сервер кэширует значение свойства Edge, прежде чем запрос значения свойства будет загружать его из Edge. Значение всегда загружается с устройства Edge при первом запросе.
Тип запуска
Указывает значение, используемое для инициализации свойства с удаленной привязкой при запуске или перезапуске вещи. Это инициализированное значение не запускает событие изменения свойства.
Использовать значение по умолчанию - задает как начальное значение свойства указанное значение по умолчанию, несмотря на значение на стороне Edge. Если свойство является сохраняемым, то как начальное значение будет задано последнее значение, сохраненное в базе данных.
Читать значение Edge - запрашивает в Edge текущее значение, чтобы значение на сервере всегда было синхронизировано со значением в Edge, даже когда вещь перезапускается на сервере.
Тип принудительной отправки
Тип принудительной отправки применяется только к расширенным свойствам вещи Edge. Эти компоненты могут отправлять на сервер изменения значений. Эту возможность можно настроить с помощью привязки свойств сервера.
Отправлять принудительно с учетом изменения значения: можно также настроить порог изменение значения. При использовании этой настройки можно также задать значение Порог принудительной отправки, определяющее зону нечувствительности, при выходе из которой новое значение будет принудительно отправлено на сервер от Edge.
Не отправлять принудительно
Всегда отправлять принудительно
Порог принудительной отправки
Эта опция доступна, если Тип принудительной отправки задан как Отправлять принудительно с учетом изменения значения. Определяет диапазон (сверху или снизу) вокруг значения свойства Edge для выполнения принудительной отправки значения свойства. Значение свойства должно измениться больше, чем указанное значение.
Когда отключено
Определяет, как должна обрабатываться привязка значения удаленного свойства, если временно потеряно соединение с удаленной вещью.
Игнорировать значения, которые изменяются во время отсоединения.
Собрать все изменения в одно последнее измененное значение - отправляет последнее измененное значение, когда соединение восстановлено.
* 
Если опция Когда отключено конфигурируется с помощью сервиса для настройки Собрать все изменения в одно последнее измененное значение, задайте foldType: FOLD.
Если опция Когда отключено конфигурируется с помощью сервиса для настройки Игнорировать значения, которые изменяются, задайте foldType: NONE.
Тайм-аут
Время ожидания, используемое для вызовов удаленных вещей при чтении или записи свойства.
Использовать системные значения по умолчанию - значение по умолчанию: 30 секунд.
Пользовательский тайм-аут: Добавить в Интервал тайм-аута (с).
См. также
Было ли это полезно?