Вопросы сетевого управления традиционно входят в число основных не только для производителей программ и оборудования, но и для организаций, занимающихся разработкой стандартов. Невероятно высокий темп развития сетей на базе протокола TCP/IP (Интернета в частности), а также движение в направлении единой информационной магистрали обусловили потребность в стандартном протоколе управления устройствами по сети и разработке множества высокоуровневых продуктов, которые его используют.
Протокол управления сетями определяет стандартный метод контроля некоторого устройства со станции управления, позволяющий определить его состояние, настройки и иную информацию, а также изменить ее. Основной протокол управления, используемый в семействе TCP/IP, - это SNMP (Simple Network Management Protocol - простой протокол управления сетью). Сам протокол действительно очень прост: он определяет только иерархическое пространство имен объектов управления и способ чтения/записи данных этих объектов на каждом узле. Основное его преимущество состоит в том, что он позволяет единообразно управлять всеми типами аппаратных средств, независимо от их назначения и особенностей. Все они «говорят на одном языке», и все их можно опрашивать и конфигурировать с центральной станции.
Однако SNMP - не более чем протокол, поддерживающий диалог двух сторон. Ему необходимы две составляющие: программа-агент, работающая на сетевом устройстве, и программа-менеджер, позволяющая дистанционно отслеживать и управлять сетевыми устройствами.
Протокол SNMP традиционно используется для управления телекоммуникационным оборудованием. В качестве менеджера обычно применяются так называемые платформы сетевого управления, позволяющие обнаруживать устройства в сети, объединять модули управления оборудованием разных производителей, выполнять общие функции управления и оповещения. К числу наиболее известных платформ сетевого управления относятся HP OpenView (Hewlett-Packard), Solstice Domain Manager (Sun Microsystems), Tivoli NetView (Tivoli Systems), SNMPc (Castle Rock). Вместе с тем управление при помощи SNMP может применяться и для решения других задач, в том числе в системах промышленного управления. Проиллюстрируем это на реальном примере.
В ходе выполнения проекта автоматизации теплоэлектростанции (ТЭС «Фалай», Вьетнам) мы разработали и установили систему управления электрофильтром. Логически система была разделена на два уровня: нижний - монтируемый в непосредственной близости от электрофильтра, и верхний, осуществляющий сбор статистической информации и отражающий графически состояние всего объекта. От использования существующих SCADA-систем было решено отказаться из-за высокой стоимости пакета разработки и модулей времени выполнения, а также из-за того, что на обучение разработчиков потребовалось бы много времени. Было решено пойти по пути собственной разработки. Связь между подсистемами верхнего и нижнего уровней была организована традиционными для задач АСУТП методами. Из огромного количества используемых полевых протоколов был выбран один, наиболее подходящий по быстродействию и простоте реализации. С учетом особенностей этого протокола был создан программный комплекс, собирающий данные, анализирующий статистику и графически представляющий состояние управляемого устройства.
Приступив к аналогичным работам по следующему проекту, разработчики постарались учесть уроки предыдущего проекта и при создании системы управления технологическими процессами воспользоваться накопленным опытом проектирования больших сетевых комплексов. В новом варианте системы связь между уровнями осуществлялась по протоколу SNMP. В качестве программы верхнего уровня использовался описанный ниже универсальный SNMP-менеджер.
Использование принципов сетевого управления при создании систем управления технологическими процессами позволило избежать проблем, связанных с интеграцией различных уровней системы. Появился единый универсальный способ управления любым оборудованием, начиная от сетевого маршрутизатора и заканчивая электрофильтром. Для того, чтобы иметь возможность управлять устройствами, которые в принципе ранее не подключались к сети, был разработан универсальный программно-аппаратный SNMP-агент eSCape на базе однокристального RISC-контроллера, использующий для подключения к сети (локальной или территориально-распределенной) Ethernet или PPP.
При разработке системы промышленного управления, реализованной в виде SNMP-менеджера, изначально были сформулированы требования к ней. Новый программный продукт должен был:
- обеспечивать сбор и хранение статистических данных, которые легко импортируются в другие программы;
- работать под управлением как Microsoft Windows 9x/NT/2000, так и Linux;
- обеспечивать достаточное быстродействие на машинах бюджетного класса.
Кроме того, для разработки программ рекомендовалось использовать свободно распространяемые продукты с открытым исходным кодом. В результате был создан программный комплекс EscView.
В этом комплексе каждому управляемому устройству соответствует SNMP-агент -- встроенный либо внешний. Подобные SNMP-агенты, подключенные к сети протокола TCP/IP, периодически опрашиваются программой-монитором, написанной на языке Perl. Периодичность и частота опроса, а также перечень сведений, интересующих SNMP-агентов, записаны в базе данных, построенной на основе пакета MySQL. Все переменные, считанные в процессе опроса, тоже сохраняются в базе данных. Кроме того, SNMP-агент может сам проинформировать систему управления об изменении своего состояния. Для подачи команд устройствам следует изменить соответствующие поля базы данных. Все изменения, произошедшие в базе данных, передаются конкретным SNMP-агентам.
Графический интерфейс пользователя реализуется при помощи HTTP-сервера Apache. Программа на языке Perl поддерживает диалоги с пользователем и, используя базу данных, динамически формирует ответ в формате HTML- или WML-страницы.
HTML-страницы можно просматривать любым Интернет-браузером. WML-страницы предназначены для мобильных пользователей, работающих с устройствами, которые поддерживают WAP-протокол (это может быть, например, сотовый телефон). Для поддержки WAP-клиентов никаких специальных аппаратных доработок не требуется: в качестве шлюза выступают ресурсы, штатно предоставляемые сотовыми операторами. Соединение между сотовым шлюзом и SNMP-менеджером осуществляется через Интернет.
Это решение может функционировать под управлением как Microsoft Windows 9x/NT/2000, так и UNIX/Linux. При разработке использованы только свободно распространяемые программные продукты.
Описанное выше решение уже используется для обслуживания мощных источников бесперебойного питания (http://escview.stinscoman.com). В настоящее время на базе этого же решения разрабатывается комплекс программ, предназначенных для управления электрофильтром.
В целом предложенный подход помогает решить широкий класс задач, связанных с реализацией промышленного управления через типовые объединенные сети. Он, в частности, может использоваться при создании интеллектуальных зданий, для распределенного сбора информации с датчиков и т.д.
Владимир Катаев - директор по развитию корпорации "Стинс Коман". С ним можно связаться по e-mail: Vkataev@stinscoman.com. |