Структура объекта LONMARK
Для приложения LonWorks- существуют определенные типы объектов, которыми оперирует сеть Lon и инженеры настраивающие систему и оборудование. Рассмотрим основные типы объектов, а также их основные свойства. Все объекты сети LonWorks определяются уникальным номером типа объекта (назначается Ассоциацией LonMark), набором сетевых переменных конфигурационных параметров, а также связанным с ними соответствующим поведением. Все вместе является стандартом по форме и по семантическому значению.
Объект «Узел» (Node Object)
В LonWorks-узле объект «Узел» поддерживает управление узлом в целом. В объект входят две обязательные сетевые переменные и несколько необязательных (опциональных) сетевых переменных. Любой LonMark -совместимый модуль, содержащий более чем один LonMark -объект, должен включать также и объект «Узел». Тем самым дается возможность контролировать все объекты узла.
Состояние запрашиваемого объекта посылается в сеть через выходную сетевую переменную типа SNVT_obj_status. Состояние объекта при ЭТОМ остается неизменным. Запрос RQ_Normal к объекту «Узел» предполагает, что все объекты в узле переходят в нормальный режим. Объект может быть в следующих состояниях «запрещен» (disabled), «за пределами границ» (out_of_limits), «механическая неисправность» (mechanical_fault), «электрическая неисправность» (electrical_fault), «измерение невозможно1 (unable_to_measure), «неисправность» (comm_failure), «тревога» (in alarm) и других.
Объект «Датчик»
Объект «Датчик» - это базовый объект, который может быть использован с любыми типами как аналоговых датчиков, таких как датчики температуры, давления, влажности, так и с дискретными датчиками, типа выключателей и кнопок. Данные через выходную сетевую переменную nvoValue могут быть отправлены напрямую к объекту-исполнителю и на управляющий контур, расположенный в объекте-контроллере.
LONMARK Interoperability Association - определяет две версии объекта «датчик». Тип объект #1 - «Датчик с открытым циклом». «Датчике закрытым циклом» (тип #2). Обязательная сетевая переменная nvoValue передает в сеть величину, полученную от физического датчика. Узел должен масштабировать и линеаризовать, а также перевести в корректные инженерные единицы (в соответствии с выбранным типом SNVT) измеренную физическим датчиком величину.
Объект «датчик с закрытым циклом» (тип #2) предназначен для приложений, в которые множество датчиков сочетаются с множеством исполнительных механизмов. В таких случаях для корректной работы системы в целом достаточно часто требуется механизм обратной связи. Например, в системе освещения несколько разнесенных выключателей управляющие одной и той же лампой. Для распознавания сигналов с других датчиков предназначена переменная nviValueFb
Существует два различных способа соединения между датчиком с закрытым циклом и исполнителем с закрытым циклом. Первый метод заключается в синхронизации между исполнительным механизмом и датчиком через соединение выхода nvoValueFb объекта назначения со входом nviValueFb объекта источника. В этом случае выход исполнителя всегда представляет запрашиваемую величину, полученную со входа пnviValue, а не действительное состояние исполнительного механизма. Это влечет за собой дополнительный сетевой трафик и задержки.
Объект «исполнительный механизм» («исполнитель»)
Объект «исполнитель» - базовый объект, который может быть использован с любым типом исполнительного механизма, таким, как клапан, диммер или привод. Исполнительный механизм может управляться объектом-«контроллером» или напрямую объектом-«датчиком». Существуют два различных объекта «исполнитель» - один без обратной связи («исполнитель с открытым циклом», тип #3), второй с обратной связью («исполнитель с закрытым циклом», тип #4). Выходная переменная обратной связи nvoValueFb передает текущее значение входной сетевой переменной nviValue. Этот Механизм используется для синхронизации объектов-источников при множественных связях.
Объект «контроллер»
Обычно, для реализации какого-либо приложения недостаточно использовать только объекты «датчики» и «исполнители». Сравнение текущего значения температуры с заданным значением и выдача управляющего воздействия на задвижку требует реализации сложного алгоритма. Это типичный пример управляющего приложения. Объект «контроллер» (тип #5 позволяет «вставлять» управляющие алгоритмы между «поставщиками» данных (объекты «датчики») и «потребителями» данных (объекты «исполнители»). Объект «контроллер'' содержит столько, сколько необходимо, интерфейсов для датчиков и исполнителей. Сетевые переменные должны быть объявлены в секции «получателей» и «отправителей». Это помогает описать поведение объекта «контролер»
Объект «температурный датчик HVAC»
Примером функционального профиля LONMARK является объект «температурный датчик» (тип #1040). . Объект может: использоваться в датчиках, которые измеряют температуру для приложений вентиляции и кондиционирования. Выходная сетевая переменная nvoHVACTemp сообщает текущее значение температуры, используя тип SNVT_temp_p). Тип SNVT_temp_p называют также стандартным типом температуры для приложений HVAC, поскольку позволяет передавав температуру в маленьком диапазоне, который хорошо подходит именно для таких приложений. В LONMARK - объект #1040 входят три обязательных конфигурационные параметра. Конфигурационный параметр Max Send Time задает максимальный период времени, который пройдет до момента, когда объект автоматически обновит все свои выходные переменные. Значение по умолчанию - 300 секунд. Следует помнить, что это свойство называется «heartbeat»-функцией. Конфигурационный параметр Min Send Time задает минимальный период времени между передачей значений сетевых переменных. Значение по умолчанию - 5 секунд. Send on Delta задает минимальное изменение температуры, требуемое для обновления сетевых переменных. Значение по умолчанию – 0.3. В объекте также определенны дополнительные переменные и конфигурационные параметры.

