| содержание | статические команды | динамические команды | команды управления | управление питанием UPS+ATX |
Большинство фирм - производителей стараются уберечь нас - простых юзеров от лишней информации и не дать лишнего повода нашим шаловливым ручкам покопаться в нутрях устройства. Это естественно - зачем фирме нелестные отзывы о ее продукте или даже судебные иски (это там, у "них"). Поэтому (применительно к UPS) фирмы не публикуют информацию о протоколах обмена с UPS и на все ответы к саппортам вежливо говорят "извините, это закрытая информация". Особенно славится этим фирма APC. Трипп лайт же более открыта - хоть ее протоколы официально не опубликованы, но на ее сайте можно найти исподники ее PowerAlert под "пингвина" и драйвера (по сути ini- файлы с системой команд) от той же программы но под Windows. Поэтому, все то, что написано далее, не претендует на полноту изложения и официальность. Весь этот материал собран мной на основе моих личных изысканий в Сети, анализе ; "сырцов" PowerAlert`а под "пингвина" и его *.drv файлов и "общения" с юпсом через терминалку.
Применяя эту информацию, Вы должны понимать, что этим вы можете привести своё устройство (UPS) в неработоспособное состояние и даже лишится на него гарантии. Я не несу ответственность за прямой и косвенный ущерб, причиненный этой информацией. К стати, при копании протокола мне "удалось" какой-то последовательностью команд привести упс в такое состояние, что он отказался отвечать на любые команды с компьютера. Не помогло даже отключение кнопкой - пришлось на время отключить от сети и отсоединить аккумулятор. Хотя, все приведенные ниже команды не изменяют содержимого EPROM UPS`а и не несут деструктивных действий, все же, примите это к сведению и не пеняйте на меня. Так же, я надеюсь на Ваше благоразумие, и думаю что ни кому не придет в голову написать вирус, отрубающий питание серверу с базой данных целого предприятия (это ещё одна отмазка саппортов).
Я случайно купил UPS. Tripp lite smart intelligent line interactive ups. Без батареи и естественно без доков, но в полностью рабочем состоянии и без внешних повреждений. После покупки батареи и запуска в работу, мне захотелось выжать из устройства все, что оно может - то есть, научится управлять им и контролировать его параметры (Кстати, после установки упса число зависаний и сбоев Windows на моем компьютере сократилось в двое. Такая уж у нас электросеть.). Поиски документации в инете на сайте компании www.tripplite.com ни чего не дали - модель старовата. Но после формальной регистрации удалось скачать свободную версию PowerAlert for Windows и ее же исподники под Linux. Программу после плясок с бубном удалось запустить, но ее монстроидальность и занимаемое дисковое пространство меня не устроили. К тому же, мне нужна была несколько другая функциональность. Поэтому, я как уже довольно давно программирующий на Delphi, решил написать свой монитор. Все уперлось в протокол общения. В инете нашел протоколы для моделей многих фирм, но только не для Tripp lite. Осталось надеется только на себя. И я начал свои "раскопки".
Для управления/мониторинга необходимо соединить разъем UPS с COM-портом компьютера. В моем случае подошла вот эта схемка.
PS.
1. Корпуса разъемов то же желательно соединить ОТДЕЛЬНЫМ проводом. И уж не
подключайте все это при включенной технике.
2. Соединять выводы 7&8 и 4&6&1 не обязательно, работает и без
них. Но в стандартном кабеле #73 - 0743 это соединение наличествует.
Если для "копания" - то в HiperTerminal - свойства - подключение - ставим "прямое соединение COM 1" (2..4 - куда UPS подключен). Потом жмем "настройка" и выставляем следующее:
Скорость - 2400
Четность - нет
Стоповые биты - 1
Управление потоком - XON/XOF (а как еще по 3 проводкам...)
Набираем ":W" (без кавычек!) и жмем ввод. Если UPS нам ответил - значит он живой, кабель и настройки тоже в порядке.
Далее мною будут приведены все команды, раскопанные и проверенные мной с описанием назначения и параметров. Формат всех команд следующий:
Command =:Char[Param]#13
где " : " - просто двоеточие
Char- идентификатор команды - буква латинского алфавита в верхнем (обязательно!) регистре.
[Param] -необязательный цифровой параметр в шеснадцетиричном виде, используется только в управляющих командах. Далее я буду обозначать необходимое число символов в виде "X", например, :N[XX]#13 .
#13 - он самый, ENTER, символ с кодом 13.
Ответ ups`а
Ответ обычно идет в формате
Response =:Char #13#10[X]#13#10
где: Char - та буква, что мы посылали упсу,
#13#10 - CR&LF - возврат каретки + перевод строки.
[X]- возвращаемый стринг, собственно то, что нас интересует. В дальнейшем в приведенных формулах все позиции будут приводится относительно начала именно этой строки, а не всей строки ответа.
Hекоторые команды возвращают то, что мы передали Ups`у. Тогда я буду для краткости писать[X].
Я условно разделил все команды на 3 основные группы по их функциональности:
Статично информационные. Эта группа команд дает статичную информацию о устройстве (например, тип, ревизию фирмваре, и др);
Динамическо - информационные. Эта группа команд дает информацию о текущем состоянии устройства (например, напряжение сети, %загрузки, напряжение батареи, режим работы - сеть/батарея, и др) И управляющие:
Kомманды управления работой UPS Эта группа команд позволяет управлять работой и текущем состоянием UPS (включать самотестирование, выключить инвертор, выключить выходные розетки, выставить задержки и.т.д.)
Если у вас корпус с форм - фактором AT - то все просто - для включения компутера жмем одну кнопку на UPS`е (на системном блоке выключатель включен) и радуемся жизни. Ею же и выключаем всю систему. При наличии ATX приходится проделывать целый ряд скучных телодвижений - включить UPS, затем нажать "Power" на корпусе. При выключении - каждый раз повторить все в обратном порядке. Я же, как человек ленивый и любящий, что бы все было "в одном флаконе" и к тому же, умеющий паять, решил предложить вам Удобное управление питанием в связке UPS+ATX. К стати, эти советы подойдут и для любого другого типа UPS`а. Так что, дерзайте.
|
3.06.2001 от рождества Христова
BOA aka Yuri Safonow E-mail boa@kursknet.ru Fido 2:5035\13.37 |
| содержание | статические команды | динамические команды | команды управления | управление питанием UPS+ATX |