Необходимое программное и аппаратное обеспечение
Особенности записи полей переменных структурных типов
Протоколирование работы драйвера
Драйвер 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), хотя в данном драйвере такое разделение достаточно условно.