Связь с сетями LONWORKS

  Необходимое программное и аппаратное обеспечение

  Принцип работы и архитектура

  Работа с драйвером

  Особенности записи полей переменных структурных типов

  Протоколирование работы драйвера

Драйвер LONWORKS предназначен для организации связи TRACE MODE с сетями LonWorks.

Драйвер работает на уровне сетевых переменных, он позволяет читать и записывать сетевые переменные стандартных типов (Standard Network Variables Types или SNVT). Для переменных структурированных типов предусмотрена возможность чтения/записи отдельных полей.

Необходимое программное и аппаратное обеспечение

Для работы драйвера необходимы:

   библиотека NL210, которую можно приобрести в фирме-производителе NEWRON SYSTEM ( http://www.newron-system.com ). Библиотека доступна в нескольких версиях, поддерживающих различное число тегов;

   LNS Server фирмы EchelonTM ( http://www.echelon.com ). Это стандартное программное обеспечение для конфигурирования и настройки сетей LonWorks. Во время работы готового проекта наличие работающего LNS Server не требуется;

   сетевой адаптер для доступа к сети LonWorks. Драйвер тестировался с адаптерами фирмы EchelonTM. Драйвер работает также с адаптерами других производителей, если библиотека NL210 работает с этими адаптерами (подробности можно уточнить в фирме NEWRON SYSTEM).

Принцип работы и архитектура

На следующем рисунке представлена схема работы драйвера.

Синим цветом выделены компоненты Trace Mode и драйвера. Зеленым цветом выделены компоненты библиотеки NL210. Тонкими рамками обозначены файлы данных. Стрелки показывают направление передачи данных.

Работа с драйвером

Перед началом работы необходимо убедиться, что сеть LonWorks установлена и сконфигурирована. Кроме того, необходимо установить библиотеку NL210.

Из подкаталога Distributed Files каталога установки NL210 (по умолчанию C:\Program Files\Newron System\NL210) нужно скопировать все файлы в каталог установки TRACE MODE.

При помощи утилиты LNS2NLC, входящей в состав NL210, надо создать базу данных NLC – например, c:\nl210\proj1.nlc.

Далее надо запустить утилиту LWConfig из комплекта драйвера. Если утилита запускается первый раз, и LNS сервер  (или TRACE MODE) установлен в нестандартный каталог, то появится предупреждение, а после нажатия OK – диалоговое окно, изображенное на рисунке:

В этом окне необходимо ввести пути к файлу описания стандартных типов переменных LonWorks (обычно это c:\lonworks\types\standard.typ), к каталогу, где находится этот файл, и к каталогу TRACE MODE. Это нужно сделать только один раз, после чего эти  пути будут сохранены в реестре, и при дальнейшей работе с утилитой их вводить не придется.

Далее надо выбрать команду Открыть *.NLC меню Файл и выбрать файл базы данных NLC, созданный с помощью утилиты LNS2NLC. В главном окне программы появится дерево сетевых переменных.

Узлы, рядом с которыми нет квадратиков, являются переменными (или полями переменной структурного типа), которые можно связать с каналами Trace Mode. Узлы первого уровня – это сами сетевые переменные. Узлы следующих уровней – поля структурных переменных. Во второй колонке показан тип переменной или поля. В скобках показано смещение поля относительно начала переменной и длина поля в байтах. В третьей колонке – идентификатор, который нужно использовать в Trace Mode для обращения к переменной/полю.

В этом диалоге нужно с помощью мыши поставить галочки рядом с переменными/полями, которые предполагается использовать в Trace Mode.

Далее надо сохранить конфигурацию в файл %TRACE MODE%\lonworks.lwc (команда Сохранить конфигурацию из меню Файл). Следует иметь в виду, что TRACE MODE работает только с этим файлом. Если файл NLC изменяется, то необходимо заново создать файл *.lwc (идентификаторы полей могли измениться). Для просмотра идентификаторов выбранных полей сохраненный файл *.lwc можно открыть командой Файл\Открыть конфигурацию.

Для каждого выбранного поля нужно создать канал связи.

Кроме атрибутов, общих для всех источников/приемников (см. Редакторы источников (приемников) , а также Шаблоны каналов обмена ), в редакторе шаблона канала обмена задаются следующие атрибуты:

   Идентификатор – идентификатор, который назначен соответствующему полю утилитой LWConfig;

   Раздел – принимает значения HI или LO, предназначен для работы с полями типа SIGNED_QUAD. Поля этого типа являются 32-битовыми, поэтому в Trace Mode передаются частями: LO – младшие 16 бит, HI – старшие 16 бит.

Особенности записи полей переменных структурных типов

Если канал типа OUTPUT связан с каким-то полем сетевой переменной структурного типа, то при записи в этот канал значения вся переменная будет считана из сети в память, после чего будет модифицирована та ее часть, которая относится к данному полю. После этого переменная будет записана обратно в сеть. То же самое касается переменных типа SIGNED_QUAD.

Протоколирование работы драйвера

В драйвере предусмотрена возможность протоколирования работы. Для ее включения необходимо в каталоге проекта Trace Mode создать файл с именем _logger (без расширения). В файле должны быть следующие строки:

;====================================

;0-все сообщения

;1-только предупреждения и ошибки

;2-только ошибки

level=0

;====================================

;максимальный размер файла в Мб

max_size=50

;====================================

;вкл/выкл протоколирование

enabled=true

Строки, начинающиеся с точки с запятой (";"), являются комментариями.

Следует отметить, что протоколирование очень замедляет работу системы.

Протоколы работы заносятся в файлы media.log и t12.log. Первый относится к работе функций описания носителя, а второй – к работе функций протокола (см. раздел Разработка драйверов. Интерфейс TCOM), хотя в данном драйвере такое разделение достаточно условно.