Домашняя страничка Стефурак П.Б. Консольное приложение для управления ИБП Ippon.
 
 
  
  
 
Промзона \ Консольное приложение для управления ИБП Ippon.
Поиск, управление ИБП по протоколу Centralion (Megatec) Communications Protocol for UPS.
 
В одном проекте (система под управлением PC), мне понадобилось иметь ИБП и управлять
его включением/отключением с PC.
 
Проблема
Первая мысль была применить ИБП APC младшей серии, и
решение уже сделанное для этого,
но как выяснилось в процессе общения со
службой техподдержки APC, в младших APC нет поддержки нужной мне функциональности!
 
Решение было найдено в виде ИБП Ippon Back Power Pro 500, имеющего необходимый функционал.
ИБП Ippon физически управляется через USB или RS232, причем, насколько я понял, USB
интерфейс реализован в виде бриджа USB <-> RS232.
В документации
при этом упоминается только RS232. Но подключив ноутбук к UPS через
USB в магазине я не смог до него "достучаться" без драйверов и не мудрствуя лукаво, купил
внешний бридж USB <-> RS232, что позволило с одной стороны использовать со стороны PC USB
(у того PC наружу просто нет ничего кроме USB), а с другой подключиться к ИБП через родной
для него RS232.
 
Проблема такого решения по сути только одна - ОС семейства Windows, при прочих равных,
при подключении бриджа USB <-> RS232 может назначать разные номера виртуальных COM портов,
что не позволит в общем случае жестко прописать в настройках программы конкретный порт.
Ну да и ладно.
 
Программное обеспечение, идущее в комплекте с ИБП Ippon по понятным причинам мне не подходило -
сложное, громоздкое, да еще и на Java. "Нет, такой хоккей нам не нужен".
 
Протокол "Centralion" похоже скопипастен с урезанием с Megatec Communications Protocol,
который датируется аж 1995 годом. Если поискать, найдется еще несколько подобных протоколов у разных производителей.
 
Задача на самом деле была очень простая:
Работать с ИБП через указанный COM порт, если его там нет, то...
Находить ИБП, работающий по протоколу семейств Centralion (Megatec) на всех имеющихся в системе
COM портах (используется 2 способа поиска портов: 1. информация из реестра системы, 2. перебор от COM1 до COM256);
Получать от ИБП отчет о состоянии ИБП, энергоснабжения и т.д.
Отключать beeper ИБП, если он включен;
Отсылать ИБП произвольную команду;
Выводить отчеты о работе и статусе в файлы.
   
Примеры использования
Действие
Команда
Комментарий
Справка по работе с программой, ключах и опциях
ups_control.exe help или ups_control.exe без параметров
 
Найти ИБП, получить отчет о состоянии и отключить beeper
ups_control.exe beeper_off=true
Опция beeper_off=true обрабатывается перед командой,
указанной в ups_command
Найти ИБП, получить отчет о состоянии и включить beeper