НТЛ Элин

НТЛ ЭлИн > Технология 1-Wire-сетей > Организация 1-Wire-сетей

Организация 1‑Wire‑сетей

Выпускаемая НТЛ "ЭлИн" продукция, предназначенная для организации 1‑Wire‑сетей, может быть с успехом использована для реализации недорогих решений целого ряда задач автоматизации. При этом на базе предложенной структуры 1‑Wire‑магистрали и способов её исполнения, изложенных в разделе "ЭлИн и 1‑Wire", возможны следующие варианты организации 1‑Wire‑сетей.

1. Компьютер и одно устройство ML##
2. Компьютер и несколько устройств ML##
3. Компьютер и множество территориально рассредоточенных устройств ML##
4. Компьютер и проблемные сети, составленные из устройств ML##
5. Компьютер и несколько 1‑Wire‑ветвей с устройствами ML##
6. Строгая реализация общей шины для проблемных 1‑Wire‑сетей
7. 1‑Wire‑сети, ведомые стационарными микроконтроллерными устройствами
8. Комбинированные решения с использованием распределённых микроконтроллерных устройств
9. Локальные 1‑Wire‑сети в составе унифицированных систем автоматизации
10. 1‑Wire‑сети с глобальным и дистанционным доступом
11. Программирование 1‑Wire‑сетей

1. Компьютер и одно устройство ML##
Наиболее простой вариант построения 1‑Wire‑сети ‑ это сопряжение персонального компьютера, который выступает в роли ведущего, с одним ведомым функциональным устройством ML##. Персональный компьютер в этом случае комплектуется адаптером типа ML97# или типа ML94#. Адаптер ML97# подключается к PC через любой свободный последовательный COM‑порт, а адаптер ML94# через USB порт. Адаптер и устройство ML## связываются между собой с помощью обычного плоского чётырехжильного телефонного кабеля, оформленного с обоих его концов стандартными телефонными вилками (джеками) типа RJ11 (6p4c). Такое соединение выполняется предельно просто, благодаря наличию в конструкциях и каждого из адаптеров, и ведомого устройства ML## любого типа приёмных разъёмов‑гнёзд RJ11 (6p4c). Прокладка подобной 1‑Wire‑магистрали должна выполняться по возможности вдали от силовых проводов, электромагнитных полей. Построение такой системы допустимо при условии, что используемое ведомое устройство ML## может функционировать на паразитном питании или его потребление по шине внешнего питания EXT_POWER не превосходит 4 мА. Протяжённость 1‑Wire‑магистрали при этом может составлять ~50 м…80 м. Пример: контроль температуры в одной точке с помощью любого из цифровых термометров семейства ML20# или одновременный контроль температуры, относительной влажности и уровня освещённости благодаря сопряжению компьютера с микросистемой ML38H.


2. Компьютер и несколько устройств ML##
Более сложным является вариант многоточечной 1‑Wire‑сети, допустимый при организации системы из небольшого числа функциональных устройств ML## (до 20 шт.). В качестве ведущего такой сети здесь также выступает персональный компьютер, укомплектованный одним из 1‑Wire‑адаптеров ML‑OEM типа ML97# или типа ML94#. Однако в этом случае адаптер соединяется тем же телефонным кабелем сразу с несколькими ведомыми 1‑Wire‑компонентами, реализованными на базе функциональных устройств ML## различных типов, которые могут работать или на паразитном питании, или с использованием шины внешнего питания EXT_POWER, если их общее потребление в любом режиме работы системы не превосходит 4 мА. Непосредственно адаптер ML97# (или ML94#) соединяется только с одним приёмным гнездом ближайшего к нему ведомого функционального устройства ML##. Однако наличие в составе конструкции любого функционального устройства ML## двух параллельно включённых приёмных разъёмов‑гнёзд RJ11 (6p4c), размещённых на торце их корпуса, позволяет легко реализовать структуру 1‑Wire‑магистрали с топологией общей шины. Это достижимо при соединении отдельных функциональных устройств ML## между собой отрезками плоского телефонного кабеля необходимой длины, оформленными с обоих концов стандартными телефонными вилками (джеками) типа RJ11 (6p4c). Общая протяжённость 1‑Wire‑магистрали при этом может составлять ~50 м, при общем количестве используемых устройств ML## до 20 шт. Пример: многоточечный контроль температуры с помощью нескольких цифровых термометров семейства ML20#.


3. Компьютер и множество территориально рассредоточенных устройств ML##
При построении 1‑Wire‑сетей с протяжённой магистралью (60 ... 100 м), содержащих большое число ведомых устройств ML## (30 ... 50 шт.) самого различного класса, на один из проводников 1‑Wire‑магистрали, который выделяется в качестве отдельной шины внешнего питания EXT_POWER, подаётся энергия от сетевого блока питания класса ML00#‑xx‑###. Уровень напряжения внешнего питания, поступающего в подобную сеть, выбирается значительно большим уровня, необходимого для питания любых компонентов, входящих в состав устройств ML##, что допустимо благодаря наличию в схеме этих приборов специальных узлов преобразования внешнего питания. Сопряжение 1‑Wire‑магистрали с блоком питания осуществляется либо посредством разветвителя коммутационной системы RJ11 типа ML02А, либо через телефонный переходник типа ML03B, либо через свободное приёмное гнездо оконечного устройства ML## в составе формируемой 1‑Wire‑сети.

Наличие дополнительной энергии в магистрали 1‑Wire‑сети позволяет значительно улучшить общую помехоустойчивость сети. Этому также способствует применение резистивных терминаторов включённых на конце 1‑Wire‑магистрали. Для реализации функций терминатора может быть использована метка линии, содержащая встроенный узел пассивной подтяжки шины данных. В качестве терминатора с пассивной подтяжкой рекомендуется устройство ML81B. Этот прибор также содержит встроенный электролит большой ёмкости, эффективно устраняющий пульсации на шине EXT_POWER протяженной 1‑Wire‑магистрали.


4. Компьютер и проблемные сети, составленные из устройств ML##
При реальной работе с 1‑Wire‑сетями часто встречаются ситуации, связанные с необходимостью обеспечения функционирования большого количества устройств ML## (до 100 шт.) на протяжённых магистралях (до 300 м), имеющих сложную геометрию, работающих в условиях сильных помех, проходящих рядом с силовым коммутационным оборудованием, проложенных некачественным кабелем, без жёсткого соблюдения топологии общей шины. Подобные сети относят в 1‑Wire‑технологии к проблемным, а для обеспечения их функционирования разрабатываются специальные аппаратно‑программные методы.

Прежде всего, при возникновении проблем с передачей информации в подобных 1‑Wire‑структурах, следует использовать программные методы обслуживания 1‑Wire‑компонентов, которые могут быть реализованы благодаря выбору оптимального в каждой конкретной ситуации рабочего режима микросхем DS2480B для COM‑порта или DS2490 для USB‑порта. Эти аппаратные драйвера предназначены специально для обслуживания протяжённых 1‑Wire‑магистралей и являются неотъемлемой частью большинства адаптеров ML97# или ML94#. С их помощью реализуется механизм управляемой активной подтяжки шины данных, а также обеспечивается возможность изменения временных соотношений и формы фронтов сигналов в магистрали ведомой 1‑Wire‑сети, что позволяет оптимизировать работу используемого 1‑Wire‑адаптера при обслуживании сети с индивидуальными параметрами.

Адаптер типа ML97G, основой которого тоже является микросхема DS2480B, дополнительно обеспечивает надёжное гальваническое разделение между землёй компьютера, обычно гальванически соединённой с нейтралью электросети, и проводом возвратной шины 1‑Wire‑магистрали, что значительно снижает вероятность неустойчивой работы проблемной 1‑Wire‑сети, построенной на базе устройств ML##. Кроме того, применение адаптера с гальваническим разделением ML97G страхует персональный компьютер от случайного попадания в его схему через 1‑Wire‑магистраль сетевого напряжения, что особенно актуально при обслуживании сетей, в состав которых входят устройства коммутации и тестирования высоковольтных электрических цепей (например, устройства типа ML07S, ML13S или ML06IAA, ML13IAA).

Однако наиболее эффективным на сегодняшний день является применение для обслуживания проблемных 1‑Wire‑сетей адаптеров реализованных на базе уникальной технологии Link (это адаптер типа ML97L для COM‑порта персонального компьютера или адаптер типа ML94L для USB‑порта персонального компьютера по классификации НТЛ "ЭлИн"). Такие адаптеры, благодаря собственным встроенным интеллектуальным ресурсам реализуют льготный режим работы ведомых устройств ML## в составе протяжённых перегруженных 1‑Wire‑сетей в условиях сложной помеховой обстановки. Адаптеры Link существенно улучшают работу механизма активной подтяжки, что позволяет получать действительно идеальные сигналы обмена при длинах кабеля магистрали до 300 м, к которому подключено 200 и более ведомых устройств ML##. Использование алгоритмов цифровой фильтрации многократно улучшает устойчивость обслуживаемой адаптером Link проблемной 1‑Wire‑сети к электромагнитным помехам, а также отражениям и возмущениям, возникающим в её магистрали.

5. Компьютер и несколько 1‑Wire‑ветвей с устройствами ML##
Достаточно часто при реализации сложных 1‑Wire‑сетей встречаются ситуации, когда топология сети такова, что длина кабеля магистрали, при организации сети в виде общей шины, значительно превосходит суммарную протяжённость отдельных локальных ветвей, при организации сети в виде отдельных лучей. В последнем случае для реализации сети удобно использовать специальные устройства ветвления 1‑Wire‑магистрали или коуплеры типа ML09#. Применяя подобный подход, можно организовать такую перестраиваемую систему, когда в каждый отдельный момент времени к мастеру подключён только один из сегментов обслуживаемой сети. Это значительно снижает в целом нагрузку на сеть (уменьшая: количество подключенных абонентов, погонную ёмкость кабеля, общее сопротивление информационного канала и общую утечку изоляции) и в целом соответственно уменьшает вероятность возникновения неоднозначных ситуаций. При реализации подобной структуры коуплер выполняет прерывание одной или нескольких шин 1‑Wire‑магистрали. Причём, если использовать простейшие коуплеры типа ML09, то все устройства ML##, входящие в состав любой локальной ветви, но отключённые от основного ствола, всегда имеют внешнее питание, и соответственно функциональны. Поэтому наиболее простым вариантом построения сетевой 1‑Wire‑структуры с радиальной топологией является т.н. 1‑Wire‑hab, который легко реализовать, используя несколько ветвителей типа ML09. При этом каждый из ветвителей в отдельный момент времени под управлением программного обеспечения мастера последовательно подключает к 1‑Wire‑адаптеру одну из локальных ветвей сети, а после завершения её обслуживания, отключает эту ветвь и подключает следующую подлежащую обслуживанию 1‑Wire‑ветвь. Таким образом, в каждый отдельный момент времени 1‑Wire‑адаптер обслуживает 1‑Wire‑ветвь, которая имеет линейную структуру (т.е. структуру с топологией общей шины).

Кроме того, при использовании коуплеров типа ML09 возможна реализация вложенных многоуровневых ветвлений, сигнализация мастеру об аварийном состоянии на отключённой от основного ствола ветви, а также организация внешнего питания всех ведомых устройств ML## любой локальной ветви от отдельного источника питания.

Особенно важна возможность применения подобных конфигураций с целью автоматизации обслуживания приёмных устройств ML19S в составе 1‑Wire‑сетей, обеспечивающих взаимодействие мастера 1‑Wire‑магистрали с приборами семейства iButton, которые могут быть предназначены, например, для обеспечения функций аутентификации или съёма информации, накопленной автономной 1‑Wire‑сетью. В случае включения в состав 1‑Wire‑сети такого устройства, оснащённого встроенным приёмным зондом, через промежуточный коуплер ML09, отделяющий его от основного ствола 1‑Wire‑магистрали, разработчик устраняет опасность даже кратковременного замыкания шины данных основного ствола на возвратную шину, а, следовательно, увеличивает живучесть системы в целом.

Кроме того, именно использование коуплеров ML09 позволяет организовать адресную реакцию системы, например, при предъявлении идентификационного устройства iButton. Действительно, если программа компьютера‑мастера 1‑Wire‑сети, составленной из приёмных устройств ML19S, подключённых к основному стволу через индивидуальные ветвители ML09, сканирует сеть на предмет присутствия на ней "таблетки"‑идентификатора, открывая поочерёдно доступ к каждому из приёмников, то возможна чёткая фиксация адреса, а следовательно и территориального положения приёмника, к которому поднесен идентификатор.

Если протяжённость и загруженность разветвлённой 1‑Wire‑сети всё‑таки остается критичной, коммутацию локальных ветвей можно организовать таким образом, чтобы обеспечить полное отключение от основного ствола 1‑Wire‑магистрали всех ведомых устройств ML##, обслуживаемых каждой из них, используя при этом комбинированное включение ветвителей ML09 (коммутация шины данных). Однако более эффективно применение специализированных устройств ML09A или ML09B, которые выполняют функции по отключению от основного ствола 1‑Wire‑магистрали шины данных и возвратной шины, а также дополнительно обеспечивают возможность отключения от основного ствола 1‑Wire‑магистрали шины внешнего питания EXT_POWER обслуживаемой 1‑Wire‑ветви. Последнее обстоятельство особенно важно для 1‑Wire‑сетей, в которых внешние устройства (датчики, механизмы сигнализации, приводы замков и т.д.), обслуживаемые элементами ML##, получают энергию по шине внешнего питания от отдельных блоков питания, индивидуальных для каждой локальной ветви.

К сожалению микросхемы DS2409, которые являлись основой коуплеров семейства ML09#, больше не поставляются Maxim Integrated. Поэтому для их замены НТЛ “Элин” разработала специальное устройство ML06C. Схемотехника этого элемента реализована в соответствии с принципами, рекомендуемыми специалистами Maxim Integrated при замене микросхемы DS2409. Благодаря этому устройство ML06C в зависимости от его внутренней конфигурации является полноценной заменой либо коуплера ML09, либо коуплера ML09A.


6. Строгая реализация общей шины для проблемных 1‑Wire‑систем на базе множества устройств ML##
Еще одним вариантом увеличения надёжности и помехоустойчивости работы для перегруженных 1‑Wire‑сетей, построенных на базе множества устройств ML## (100 шт. и более), имеющих большую протяжённость (200 м и более) и сложную топологию, а также проходящих через зоны сильных помех, является использование специальных методов реализации 1‑Wire‑магистрали, построенной со строгим соблюдением топологии общей шины. При этом выделяется общий непрерывный основной ствол сети, который прокладывается качественным кабелем типа UPT витая пара высокой категории (не ниже пятой), а лучше применять кабель IEEE1394 (Firewire). В случае высокой интенсивности электромагнитных помех рекомендуется использовать кабель в заземленном экране. Всякое ведомое устройство ML## подключается к основному стволу через отдельную розетку класса RJ45 (например, розетка KRONE (одиночная или двойная)), не прерывающую монотонную прокладку кабеля основного ствола для организации любого ответвления. При этом каждый из проводников кабеля‑ствола прокалывается (заделывается) внутри такой розетки с помощью специального ножёвого разъёма без разрыва жилы, отводя сигнал к выводам встроенного стандартного разъёма‑гнезда RJ45 (8p8c), к которому затем, уже с помощью отдельного патч‑кабеля, длиной не более 0,5 м, подключается ведомое устройство ML##. Такой патч‑кабель может быть оформлен с обеих сторон вилками системы RJ11 (они достаточно надёжно фиксируются также в гнездах RJ45) или же заделан несимметрично ‑ на одном конце вилка RJ45, на другом вилка RJ11. В качестве материала патч‑кабеля может быть использован как плоский телефонный кабель, так и кабель UPT витая пара пятой категории.

Если при организации основного ствола использован экранированный кабель, то корд, удерживающий экранирующую фольгу, соединяется с экраном каждой розетки класса RJ45 под винт, а также подключается к доступному выводу надёжной физической земли, но только в одной‑единственной точке для всей 1‑Wire‑сети.

Особенно важно при организации магистрали со строгим соблюдением принципов общей шины правильно выполнить подвод энергии внешнего питания к шине EXT‑POWER с учётом того, что по основному стволу 1‑Wire‑магистрали может протекать значительный по величине суммарный ток, обеспечивающий питание внутренних узлов множества ведомых устройств ML##, а также обслуживаемых ими внешних устройств. Для этой цели обычно используют отдельную клеммную или распаечную коробку, которую размещают в начале магистрали, рядом с розеткой подключения ведущего. В такой коробке надёжно, под винт или методом пайки, соединяют полюса выходного кабеля блока питания с возвратной шиной и шиной внешнего питания формируемой 1‑Wire‑магистрали. При построении сети с использованием технологии проколки или запрессовки кабеля основного ствола без разрыва каждой из его жил по шине внешнего питания и возвратной шине могут циркулировать значительные по уровню суммарные токи, в то время как к каждому из абонентов ответвляется лишь не значительная по уровню составляющая общего тока, которая, как правило, не требует сверхнизкого импеданса в районе сопряжения с основным стволом. С подобным способом реализации 1‑Wire‑магистрали 1‑Wire‑сети органично сочетаются все приёмы, перечисленные в п.2, п.3, п.4, п.5.


7. 1‑Wire‑сети, ведомые микроконтроллерными устройствами

При реализации на базе устройств ML## любого из вариантов 1‑Wire‑сетей, перечисленных в п.1…п.6, в качестве ведущего может быть использован не только персональный компьютер, но и недорогой микроконтроллерный блок, что в целом значительно снижает общие затраты на подобную разработку. Если система построена на базе одного из микроконтроллерных блоков типа ML98#, то он может работать, получая энергию для собственного питания, а также для питания ведомых им функциональных устройств ML##, от внешнего трансформаторного источника ML00#‑xx‑###. При этом под управлением специально подготовленной программы, "прошитой" во внутренней памяти микроконтроллера, являющегося ядром блока ML98# любой модификации и выполняющего роль мастера 1‑Wire‑сети, может отрабатываться, специализированная задача по обслуживанию конкретного объекта автоматизации. К примеру, поддержание температурных уставок, предварительно введённых пользователем с клавиатуры блока ML98#, сразу по нескольким петлям регулирования. Эффективный узел активной подтяжки, встраиваемый в любой из блоков ML98#, и специальные методы программирования позволяют поддерживать надёжную работу загруженных (до 50 устройств ML##) 1‑Wire‑сетей с достаточно протяженной магистралью (до 50 м).

Если микроконтроллерный блок, обслуживающий мини‑сеть состоящую, например, из нескольких цифровых термометров ML20# накапливает в собственной энергонезависимой памяти температурные значения, полученные в результате периодического опроса ведомых им абонентов, возникает вопрос о переносе собранных таким образом данных к сторонним средствам обработки (например, к компьютеру). Процесс выборки информации, накопленной подобной системой, может быть реализован под управлением самого микроконтроллерного блока и производиться периодически с помощью "транспортной таблетки" той или иной модификации, которая имеет встроенную энергонезависимую память большой ёмкости. К классу подобных устройств относятся, например, “таблетки” iButton типа DS1996L‑F5 или типа DS1977‑F5. Данные, считанные таким образом из энергонезависимой памяти микроконтроллерного блока, перемещаются затем из памяти "транспортной таблетки" в память персонального компьютера, например, с помощью компьютерного комплекса поддержки приборов iButton. Таким же образом могут быть изменены внутренние установки функционирования и даже алгоритм работы микроконтроллерного блока, исполняющего роль мастера 1‑Wire‑сети.

Для обеспечения информационного контакта между "транспортной таблеткой" и 1‑Wire‑сетью, ведомой микроконтроллерным блоком, в состав сети должно быть включено специальное приёмное устройство ML19S, обеспечивающее информационный контакт между 1‑Wire‑магистралью и носимыми устройствами iButton.

Внимание! В настоящее время НТЛ "ЭлИн" больше не производит микроконтроллерные блоки типа ML98#. Здесь они упомянуты только в качестве примера организации мастера на базе локального микроконтроллерного устройства. До 2006 года микроконтроллерные устройства ML98C и ML98D активно использовались нами при реализации конкретных проектов (например, см. здесь или здесь).

Микроконтроллерные блоки обслуживания 1‑Wire‑сетей могут быть не только стационарными, но и носимыми, т.е. периодически подключаемыми к 1‑Wire‑сети для ёё обслуживания. Именно для сопряжения приборов‑мастеров, оснащённых приёмными зондами обслуживания "таблеток" iButton, с 1‑Wire‑магистралью в состав 1‑Wire‑сетей включают универсальный узел системного ввода типа ML19R. Используя приспособление ML19R, интегрированное в состав 1‑Wire‑сети, можно решать задачи по записи в систему или чтению из неё информации больших объёмов, когда ёмкости "транспортных таблеток" семейства iButton недостаточно. Кроме того, таким образом можно обеспечить эффективное обслуживание 1‑Wire‑сети мониторинга температуры, составленной из нескольких логгеров, оснащённых 1‑Wire‑интерфейсом (например, устройств ТЕРМОХРОН (DS1921)), включая программирование их установок, их перезапуск и извлечение из их памяти накопленных результатов. Причём, поскольку каждый логгер DS1921 накапливает в собственной памяти результаты мониторинга температуры самостоятельно, подобная сеть не нуждается в каком‑либо отдельном постоянно функционирующем мастере, его роль может быть с успехом исполнена автономным прибором, укомплектованным специальным приемным зондом, непосредственно в момент его контакта с магистралью 1‑Wire‑сети через устройство ML19R. Для сопряжения приборов DS1921, упакованных в корпуса MicroCAN, с магистралью 1‑Wire‑сети удобно использовать устройства ML19F. Внутри таких приспособлений могут быть расположены не только логгеры iButton, но и любые иные "таблетки" iButton.


8. Комбинированные решения с использованием распределённых микроконтроллерных устройств

Ещё одним рациональным подходом при организации 1‑Wire‑сетей автоматизации, реализованных на базе множества функциональных устройств ML##, представляется использование сетей с комбинированной структурой. Примером подобной реализации может являться система, организованная на базе микроконтроллерных блоков ML92. При таком подходе каждое из устройств ML92 является с одной стороны мастером локальной 1‑Wire‑ветви, составленной из нескольких функциональных устройств ML## и реализованной по любой из схем, описанных в п.1…п.6. С другой стороны каждый из модулей ML92 может являться абонентом информационной сети более высокого уровня, организованной на принципах стандарта CAN.

Таким образом, программа управления микроконтроллером для каждого блока ML92 должна обеспечивать информационный обмен между "медленными" ведомыми локальными 1‑Wire‑ветвями, и более "быстрой" и надёжной сетевой CAN‑структурой верхнего уровня, которая в свою очередь сопрягается с персональным компьютером, выполняющим функции:

  • обеспечения человеко‑машинного интерфейса,
  • формирования уставок управления,
  • архивирования собранной информации.

Компьютер в этом случае комплектуется интеллектуальным адаптером системной CAN‑шины типа CCA# и является равноправным участником подобной комбинированной сетевой структуры.

При такой сетевой организации обеспечивается наиболее оптимальное сочетание между территориально сосредоточенными объектами обслуживания, каждый из которых характеризуется индивидуальным многообразием функциональных требований, реализуемых благодаря сопряжению с разнообразными "медленными" устройствами ML##, ведомыми локальными 1‑Wire‑ветвями, и широко территориально рассредоточенными абонентами более помехоустойчивой и "быстрой" сети, что обеспечивает наибольшую надёжность обмена информацией при практических реализациях. Системная магистраль CAN может быть проложена при этом в соответствии с положениями, подробно изложенными в документе "Применение технологии CAN в изделиях НТЛ "ЭлИн".

Внимание! В настоящее время НТЛ "ЭлИн" больше не производит микроконтроллерные блоки типа ML92 и адаптеры типа CCA#. Здесь эти устройства упомянуты только в качестве примера мастера для локальной 1‑Wire‑ветви и адаптера сопряжения компьютера с шиной CAN, соответственно. До 2006 года блоки ML92 и адаптеры CCA# активно использовались нами при реализации конкретных проектов (например, см. здесь или здесь).


9. Локальные 1‑Wire‑сети в составе унифицированных систем автоматизации

При построении унифицированных систем автоматизации, имеющих сосредоточенную структуру, связанную с особенностями размещения оборудования в стойках (шкафах) и крейтах (блоках) УСО, для решения отдельных локальных подзадач могут быть использованы 1‑Wire‑структуры, организованные на базе одного или нескольких функциональных устройств ML##. При этом в состав унифицированной по конструкции системы интегрируются одна или несколько интеллектуальных плат контроллеров‑ведущих 1‑Wire‑сетей, которые обеспечивают информационный интерфейс между ресурсами основной системы (обычно с использованием стандартных периферийных интерфейсов типа SPI или I2C) и локальной 1‑Wire‑сетью, решающей какие‑либо частные подзадачи. Пример: подсистема контроля расхода воды в системе водоохлаждения, реализованная с помощью двухканальных счетчиков ML23, которые выполняют функции расходомеров благодаря автоматическому подсчету числа срабатываний герконов водосчетчиков вихревого типа, или подсистема измерения температуры холодного спая термоэлектрических преобразователей, на базе цифровых термометров ML20#, размещаемых непосредственно в термопарных компенсационных коробках (подробнее см. здесь или здесь).


10. 1‑Wire‑сети с глобальным и дистанционным доступом

Наиболее современным на сегодня вариантом организации и обслуживания территориально удалённых 1‑Wire‑сетей представляется их сопряжение с сетями Интернет или с сетями стандарта GSM, которые на настоящий момент являются наиболее распространёнными и надёжными опорными беспроводными сетями связи в России. Именно в этом случае можно действительно в полной мере реализовать все преимущества 1‑Wire‑сетей, связанные с эффективным обслуживанием территориально распределённых объектов автоматизации в полевых условиях.

Задачу дистанционного управления 1‑Wire‑сетями обслуживания удалённых объектов автоматизации можно эффективно решить благодаря применению в качестве мастеров таких сетей специализированных шлюзов, которые обеспечивают трансляцию поступающих по внешнему интерфейсу запросов в команды 1‑Wire‑протокола, а также осуществляют обратную трансляцию получаемых от ведомых функциональных устройств ML-## порций данных в пакеты внешнего интерфейса дистанционного доступа. Наиболее распространённым сегодня проводным информационным каналом, обеспечивающим эффективное дистанционное обслуживание 1‑Wire‑сетей, является глобальная сеть Интернет. Действительно, если 1‑Wire‑сеть подключена к специальному Ethernet-шлюзу, то доступ к ресурсам любого из составляющих её устройств ML-## может быть осуществлён посредством простого веб-интерфейса. Такой вариант взаимодействия позволяет пользователю со всякого подключённого к Интернету компьютера, используя обычный Интернет-браузер, дистанционно выполнить весь набор действий, необходимый для обслуживания 1‑Wire‑сети. Например, задать новые установочные значения для контуров регулирования, просмотреть и сохранить результаты мониторинга, разрешить или запретить работу конкретного оборудования и т.д. При этом подразумевается, что программное обеспечение интеллектуального Ethernet-шлюза, в промежутках между исполнениями команд пользователя, задаваемых посредством веб-интерфейса, самостоятельно реализует в автоматическом режиме специализированный алгоритм управления ведомой 1‑Wire‑сетью, исполняя в режиме реального времени все необходимые функции, обеспечивающие решение задачи автоматизации конкретного объекта.

В роле шлюза, обеспечивающего эффективное взаимодействие между 1‑Wire‑сетями и сетью Интернет, удобно использовать универсальный контроллер типа ML400A, построенный на базе технологии MxTNI. Кроме того, в рамках базового на сегодня для НТЛ “ЭлИн” проекта по поддержке сетей iB-регистраторов, каждый из которых является полноценным ведомым 1‑Wire‑логгером, уже реализованы и эксплуатируются Ethernet-шлюзы для решения iB-Server и для комплекса iBRCE.

Благодаря использованию Ethernet-шлюзов появляется возможность полномасштабного сопровождения 1‑Wire‑cетей, составленных из устройств ML-OEM, удалённых практически на любые расстояния без использования каких-либо промежуточных ретрансляторов или компьютеров. Тем не менее, нередки ситуации, когда кабельная инфраструктура проводных сетей Интернет в предполагаемом месте расположения нуждающегося в автоматизации объекта отсутствует. В этом случае оптимально применение беспроводных GSM-шлюзов. 1‑Wire‑cети, ведомые GSM-шлюзами, могут располагаться в любой точке покрытия сотовой связи, реализуя дистанционный доступ к средствам автоматизации территориально удалённых объектов, в том числе расположенных в полевых условиях. При этом интеллектуальный GSM-шлюз также как Ethernet-шлюз, в автоматическом режиме управляет ведомой 1‑Wire‑сетью, транслируя по каналам сотовой связи экстренные сообщения и статусные сообщения (по предварительному запросу) о состоянии автоматизируемого объекта или о состоянии системы автоматизации. Эти сообщения могут поступать к любым абонентам сотовой связи, включая специализированные станции или сотовые телефоны. Аналогично абоненты сотовой связи пересылают к GSM-шлюзам, ведущим 1‑Wire‑сети, команды управления и запросы на получения оперативной информации. А используя канал GPRS подобные GSM-шлюзы могут выполнять автоматическую передачу больших массивов информации от любого из абонентов 1‑Wire‑сети, либо в виде файлов данных, прикреплённых к email-сообщениям, рассылаемым на заранее назначенные адреса электронной почты через определённый SMTP-сервер, либо в виде файлов данных, сохраняемых на заранее назначенном FTP-сервере. Или же наоборот GSM-шлюзы в автоматическом режиме могут считывать с назначенного FTP-сервера специально подготовленные для них индивидуальные файлы, содержащие уставки управления 1‑Wire‑сетью или объектом автоматизации.

Примером подобного GSM-шлюза, обслуживающего 1‑Wire‑сеть, составленную из нескольких элементов сетевого обрамления устройств iButton типа ML19F, в держателях каждого из которых размещён 1‑Wire‑логгер температуры типа DS1922L-F5, может служить устройство MLGW06, являющееся основой удалённой станции мониторинга комплекса iBRCG. Шлюз MLGW06 позволяет не только передавать по сотовой связи (в том числе на любой мобильный телефон) оперативные уведомления о зафиксированных логгерами нарушениях контролируемой ими температурой заранее заданных границ, но также обеспечивает трансляцию на удалённую компьютерную станцию результатов мониторинга, зафиксированных каждым из абонентов ведомой 1‑Wire‑сети (также возможно автоматическое сохранения этих результатов на назначенном FTP-сервере).


11. Программирование 1‑Wire‑сетей

Важным вопросом при организации 1‑Wire‑сети любой конфигурации, в том числе построенной на базе устройств ML##, является решение задачи подготовки и отладки управляющей ею программы. Производитель 1‑Wire‑компонентов ‑ компания Maxim Integrated старается исповедовать в своей деятельности подход, при котором потребитель оплачивает только стоимость микросхем и готовых аппаратных решений, получая при этом доступ к бесплатным, свободно распространяемым средствам программной поддержки. Однако следует учитывать, что подготовить инструменты разработки программ поддержки 1‑Wire‑компонентов для всего спектра эксплуатируемых сегодня в мире операционных сред и широчайшего ряда типов и моделей, выпускаемых в настоящее время микроконтроллеров, нереально. Поэтому Maxim Integrated поставляет инструменты программной поддержки для наиболее распространённых решений, архитектур, операционных сред и платформ, которые используют в своей деятельности большинство пользователей 1‑Wire‑компонентов.

Так, практически для любой 1‑Wire‑сети, реализованной на базе персонального компьютера класса PС, оснащённого операционной системой Windows, и любого адаптера ML##, в качестве тестового отладочного средства можно применить свободно распространяемую Maxim Integrated программу‑оболочку OneWireViewer, которая обеспечивает взаимодействие и поддерживает визуальный интерфейс тестирования для абсолютного большинства 1‑Wire‑компонентов и устройств ML##. Даже, если предполагается, что проектируемая 1‑Wire‑сеть, должна обслуживаться не персональным компьютером, использование программы OneWireViewer всегда позволит убедиться, что 1‑Wire‑сеть, организованная посредством ML‑OEM‑технологии, в целом и все составляющие её ведомые абоненты по отдельности функционируют в полном соответствии с описаниями на них. Поскольку программа OneWireViewer не позволяет изменять значения параметров управления активной подтяжкой микросхем‑драйверов для построения мастера 1‑Wire‑сети, на базе которых работает большинство адаптеров ML‑OEM, совместно с ними удобно использовать отдельные утилиты lin32v2s или tmline, специально разработанные специалистами Maxim Integrated для этих целей.

Однако всё‑таки наиболее оптимальным средством поддержки 1‑Wire‑сетей, организованных на базе устройств ML##, является специализированный отладочный пакет MLex. Этот программный продукт реализует поддержку и диагностику, а также визуальное сопровождение любых элементов семейства ML‑OEM и приборов автоматизации, подключённых через один из последовательных портов к стандартному персональному компьютеру типа PC, на котором установлена операционная система Windows. Пакет MLex имеет множество преимуществ по сравнению с программой OneWireViewer от компании Maxim Integrated, которая перегружена функциями сопровождения устройств iButton в ущерб поддержке 1‑Wire‑компонентов, ориентированных на реализацию сетевых решений. Кроме того, пакет MLex позволяет осуществить все специфические функции конкретных функциональных устройств ML‑OEM, которые вообще не поддерживаются программой OneWireViewer. Кроме того, программа MLex имеет встроенную опцию задания значений параметров активной подтяжки микросхем‑драйверов DS2480B и DS2490 в составе схем ML‑адаптеров.

При создании собственной программы для 1‑Wire‑систем на базе PC удобно использовать специализированный программный комплект разработчика 1‑Wire SDK for Windows, который разработан специалистами Maxim Integrated и является набором программных приложений поддержки 1‑Wire‑компонентов под Windows. Вызов любого из этих приложений может быть выполнен через стандартный API‑интерфейс непосредственно из программы пользователя, написанной на любом современном языке программирования. Детальное описание функций пакета 1‑Wire SDK for Windows можно получить из подробной инструкции.

Кроме того, компания Maxim Integrated предлагает в рамках проекта 1‑Wire Net Public Domain Kit набор библиотек компактного исходного кода поддержки 1‑Wire‑протокола. Код предназначен для работы на языках "С" и обеспечивает поддержку платформ, не охватываемых комплектом 1‑Wire SDK for Windows, а именно: Linux, DOS, Win16, Win32,Win64, Visor, Palm, Windows CE, Mac OS X, микроконтроллеры клона MCS‑51 (DS550). Если же программа по обслуживанию 1‑Wire‑сети должна быть разработана для мастера, не связанного ни с одной из перечисленных выше платформ и архитектур, следует, используя все возможности вычислительного средства, самостоятельно реализовать основные положения 1‑Wire‑протокола. В том числе необходимо обязательно использовать ресурсы библиотек примеров программных кодов, поставляемых разработчиком для конкретного микроконтроллера или вычислительного средства, которые, как правило, в абсолютном большинстве случаев уже содержат примеры поддержки 1‑Wire‑протокола. Подобная самостоятельная работа по реализации программного обеспечения для конкретной 1‑Wire‑сети имеет и ряд неоспоримых преимуществ. Например, в случае проблемной 1‑Wire‑сети благодаря программному затягиванию фронтов и отдельных фаз 1‑Wire‑протокола, а также используя мажоритарные выборки, можно значительно увеличить надёжность и устойчивость работы 1‑Wire‑сети без использования дополнительных аппаратных средств, а только за счёт особенностей и приёмов программного обслуживания. Ещё одно достоинство самостоятельной реализации 1‑Wire‑протокола, проявляется при разработке программы для мобильного или портативного оборудования, когда наряду с реализацией 1‑Wire‑протокола также необходимо использовать специальные алгоритмические приёмы, обеспечивающие сохранение энергии, потребляемой 1‑Wire‑адаптером от элементов питания автономного устройства, к которому он подключён.

Ещё один программный инструмент, который позволяет значительно сэкономить время разработки 1‑Wire‑приложений, ‑ 1‑Wire API for Java Software Development Kit. Он включает полные исходные коды поддержки большинства 1‑Wire‑компонентов на языке Java, доступные пользователю через специализированный API‑интерфейс для Java, который является универсальным для платформ, использующих виртуальную Java‑машину. В настоящее время разработчикам доступны подобные продукты в рамках платформ: Win, Linux, Maxim's MxTNI.

Все перечисленные выше программные продукты от Maxim Integrated свободно доступны со страницы «Tools for 1‑Wire® Software Developers» корпоративного сайта компании.

Наверх