Шаблон на основе программки UPS Assistant
на момент написания версия UPS Assistant 2.4.2.114
«Ассистент» предназначен для работы с источниками бесперебойного питания по протоколу Megatec. Это устройства Belkin, Ippon, Mustek, Powercom и других брендов.
Подключение через USB- или COM-порт и поддерживающего протокол обмена информацией Megatec/Centralion (Ippon, Mustek, Sven, Inelt). Программа предназначена для работы только под управлением ОС Windows 2000, XP, 2003, Vista (x86 и x64), Windows 7/Windows Server 2008 R2 (x86 и x64), Windows 8/Windows Server 8 (x86 и x64).
Список поддерживаемых ИБП
ИБП
Показать
Оригинал Поддерживаемые модели
Поддерживаемые модели:
Протокол Megatec (список неполный)
Ablerex MS-RT, Hope Office 400/600
ActivePower 400VA, 1400VA, 2000VA
Advice TopGuard 2000
Atlantis Land A03-P826
Belkin Universal UPS F6H350deUNV, Universal UPS F6H350ukUNV, Universal UPS F6H500ukUNV, Universal UPS F6H650ukUNV
Chloride Desk Power 650
Cito Power CPG-SR1000
Digitus DN-170020
Dynamix UPS1700D
Eaton NV-1000H
Effekta MI/MT/MH 2502, RM2000MH
Energy Sistem
Fenton Technologies PowerPal L-series, PowerOn, PowerPure
INELT Monolith 1000LT
Inform Guard S 1500AP
Infosec iPEL 350, iPEL 500, iPEL 750, iPEL 1000, 500XP, XP 1000
Ippon различные, Back Power Pro
Kebo 1200D/D Series
Lestar MD-800E
Liebert ITON 600VA
Maxxtro UPS 600 VA
Mecer ME-2000
Mustek Powermust 400VA Plus, Powermust 600VA Plus, Powermust 800VA Pro, Powermust 1000VA Plus, Powermust 1400VA Plus, Powermust 2000VA USB, различные
Neus 400va / 600va
OnLite AQUA 50
Orvaldi Power Protection различные, не 400 или 600
Phasak 400VA / 600VA
Powercom SMK, SXL, ULT, Vanguard 6000
PowerGuard PG-600
PowerKinetics BlackOut Buster
PowerMan RealSmart 800, RealSmart 1000
PowerTech SMK-800
PowerWalker Line-Interactive VI 1000, Line-Interactive VI 400/800
SMS (Brazil) Manager III
SOLA 330
Soyntec Sekury C 500, Sekury C 800
SquareOne Power QP1000
SuperPower HP360, Hope-550
Sweex различные
Sysgration UPGUARDS Pro650
Tecnoware Easy Power 1200
Trust UPS 1000 Management PW-4105, UPS 1200VA Management PW-4120M, UPS 1300VA Management PW-4130M
UNITEK Alpha 1000is, Alpha 500, Alpha 500 ipE, Alpha 2600
UPSonic CXR1000
WinPower CPM-800
Поддерживаемые модели:
Протокол Megatec (список неполный)
Ablerex MS-RT, Hope Office 400/600
ActivePower 400VA, 1400VA, 2000VA
Advice TopGuard 2000
Atlantis Land A03-P826
Belkin Universal UPS F6H350deUNV, Universal UPS F6H350ukUNV, Universal UPS F6H500ukUNV, Universal UPS F6H650ukUNV
Chloride Desk Power 650
Cito Power CPG-SR1000
Digitus DN-170020
Dynamix UPS1700D
Eaton NV-1000H
Effekta MI/MT/MH 2502, RM2000MH
Energy Sistem
Fenton Technologies PowerPal L-series, PowerOn, PowerPure
INELT Monolith 1000LT
Inform Guard S 1500AP
Infosec iPEL 350, iPEL 500, iPEL 750, iPEL 1000, 500XP, XP 1000
Ippon различные, Back Power Pro
Kebo 1200D/D Series
Lestar MD-800E
Liebert ITON 600VA
Maxxtro UPS 600 VA
Mecer ME-2000
Mustek Powermust 400VA Plus, Powermust 600VA Plus, Powermust 800VA Pro, Powermust 1000VA Plus, Powermust 1400VA Plus, Powermust 2000VA USB, различные
Neus 400va / 600va
OnLite AQUA 50
Orvaldi Power Protection различные, не 400 или 600
Phasak 400VA / 600VA
Powercom SMK, SXL, ULT, Vanguard 6000
PowerGuard PG-600
PowerKinetics BlackOut Buster
PowerMan RealSmart 800, RealSmart 1000
PowerTech SMK-800
PowerWalker Line-Interactive VI 1000, Line-Interactive VI 400/800
SMS (Brazil) Manager III
SOLA 330
Soyntec Sekury C 500, Sekury C 800
SquareOne Power QP1000
SuperPower HP360, Hope-550
Sweex различные
Sysgration UPGUARDS Pro650
Tecnoware Easy Power 1200
Trust UPS 1000 Management PW-4105, UPS 1200VA Management PW-4120M, UPS 1300VA Management PW-4130M
UNITEK Alpha 1000is, Alpha 500, Alpha 500 ipE, Alpha 2600
UPSonic CXR1000
WinPower CPM-800
Скачать скрипты Запуска и проверки Скачать Шаблон Какие данные мы получим для заббикс:
I/P Voltage - входное напряжение, В
I/P Fault Voltage -
для off-line ИБП:
величина входного напряжения при кратковременном нарушении сетевого питания, вызвавшем переход ИБП в инверторный режим
для on-line ИБП:
величина входного напряжения при кратковременном нарушении сетевого питания, вызвавшем перевод ИБП в режим питания от батарей
(хранится до следующего запроса состояния ИБП)
O/P Voltage - выходное напряжение, В
O/P Current - уровень выходного тока в % от максимального значения
I/P Frequency - частота входного напряжения, Гц
Battery Voltage - напряжение на зажимах аккумуляторной батареи, В
Temperature - температура ИБП, градусы Цельсия
UPS Status - состояние ИБП -
******** (бит 7 - бит 0):
бит 7 - Power Fail - авария сетевого питания
бит 6 - Battery Low - батарея разряжена
бит 5 - AVR - включен автоматический регулятор напряжения:
TRIM - ИБП понижает входное напряжение
BYPASS - ИБП не изменяет входное напряжение
BOOST - ИБП повышает входное напряжение
бит 4 - UPS Failed - авария ИБП
бит 3 - Standby UPS - off-line ИБП
бит 2 - Test in Progress - выполняется тест ИБП
бит 1 - Shutdown Active - ИБП выключается
бит 0 - Beeper On - звуковая сигнализация ИБП включена
Некоторые данные мы вычислим зная данные выше.
Для получения данных с ИБП с помощью ИБП Ассистент все другие программы должны быть выключены и не использовать порт USB ИБП иначе подключение невозможно и данных не будет!
Настраиваем HTTP и проверяем (логин пароль работают визуально, но в исходном коде страницы есть все данные ИБП)
Порт указал 6547 как у APC В настройках есть параметр Автозапуск, но он работает только при входе в систему (учётку). А так как у нас это сервера нам не нужно чтоб висели открытые сессии.
Делаем автозапуск при включении и периодическая проверка что процесс на месте, если их больше 1-го закрываем лишние, а если нет запускаем.
Делаем скрипт и вносим в Планировщик задания.
Первый скрипт который сам создает задачи в планировщике и копирует скрипт проверки
Install UPS Assistant.bat
Код: Выделить всё
@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Артём Андреевич Мамзиков
chcp 866 >NUL
TITLE UPS Assistant
@cls
echo.
echo.
echo. Данный скрипт автоматически выполнит:
echo. 1. Скопирует скрипт проверки процесса
echo. 2. Добавить задания в планировщик
echo.
echo. P.S.
echo. Скрипт должен выполнятся от имени Администратора
echo. или Пользователя имеющего соответствующие права на изменения!
@echo off
pause
chcp 866 >NUL
:: Определяем разрядность системы
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
:: Куда будем копировать ПО путь
if /i "%xOS%"=="x64" (set way="C:\Program Files (x86)\Alexey V.Voronin\UPS_Assistant"& set prestart="Restart-UPS-Assistant.bat.xml"& set pproc="UPSAssistant.xml") else (set way="C:\Program Files\Alexey V.Voronin\UPS_Assistant"& set prestart="Restart-UPS-Assistant.bat-x86.xml"& set pproc="UPSAssistant-x86.xml")
:: Создать директории если нет
mkdir %way%
:: В зависимости от определенной разрядности копируем скрипт в UPS_Assistant
xcopy "%~dp0Scripts UPS Assistant" %way%\ /s /e /y /v /c
:: Задаем переменные на пути программы и Имя
set address=%way%\UPSAssistant.exe& set name=UPSAssistant& set addressrestart=%way%\Restart-UPS-Assistant.bat
:opros
@cls
echo. От какой учетной записи внести задание в планировщик для UPS Assistant
echo. 1. Система (рекомендуется)
echo. 2. Локального пользователя
echo. 3. Указать свою
echo.
:: Вопрос От какой учетной записи внести задание в планировщик для HM
set /P otvet=Указать Учётная запись для запуска UPS Assistant [1,2,3]?:
@cls
:: Запуск от Выбранной учетной записи
if /i "%otvet%"=="1" (goto :System) else (if /i "%otvet%"=="2" (goto :Local) else if /i "%otvet%"=="3" (goto :User) else (goto :opros))
:System
:: От группа-пользователь Система
set login=S-1-5-18
set "pass="
:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\%name%\Startup" /TR '%address%' /RU "%login%" /RL Highest /F
::SCHTASKS /Create /SC ONSTART /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RU "%login%" /RL Highest /F
SCHTASKS /Create /SC DAILY /ST 00:00 /RI 360 /DU 24:00 /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RU "%login%" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Startup" /XML "%way%\%pproc%" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Restart-UPS-Assistant.bat" /XML "%way%\%prestart%" /F
goto :dalee
:Local
:: От Локального пользователя
set login=NT AUTHORITY\LOCALSERVICE
set "pass="
:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\%name%\Startup" /TR '%address%' /RU "%login%" /RL Highest /F
::SCHTASKS /Create /SC ONSTART /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RU "%login%" /RL Highest /F
SCHTASKS /Create /SC DAILY /ST 00:00 /RI 360 /DU 24:00 /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RU "%login%" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Startup" /XML "%way%\%pproc%" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Restart-UPS-Assistant.bat" /XML "%way%\%prestart%" /F
goto :dalee
:User
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo Логин/Login
set /P login=
set login=%login%
echo.
echo Пароль/Password
set /P pass=
set pass=%pass%
echo.
:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\%name%\Startup" /TR '%address%' /RU "NT AUTHORITY\LOCALSERVICE" /RL Highest /F
SCHTASKS /Create /SC ONSTART /TN "\%name%\Startup" /TR '%address%' /RU "S-1-5-18" /RL Highest /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /SC ONSTART /TN "\%name%\Startup" /TR '%address%' /RL Highest /F
::SCHTASKS /Create /RU "%login%" /RP "%pass%" /SC ONSTART /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RL Highest /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /SC DAILY /ST 00:00 /RI 360 /DU 24:00 /TN "\%name%\Restart-UPS-Assistant.bat" /TR '%addressrestart%' /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Startup" /XML "%way%\%pproc%" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\%name%\Restart-UPS-Assistant.bat" /XML "%way%\%prestart%" /F
goto :dalee
:dalee
:: Выполнить на локальном компьютере задание "Startup" немедленно, игнорируя любые ограничения
SCHTASKS /Run /I /TN "\%name%\Startup"
SCHTASKS /Run /I /TN "\%name%\Restart-UPS-Assistant.bat"
:: Проверка что процесс запустился, если нет запускаем
TaskList /FI "ImageName EQ %name%.exe" 2>nul|Find /I "%name%.exe">nul||(
Start "" /high '%address%'
)
:end
:: Автозапуск через реестр
::reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v StartupOHM /d C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe /f
:: Папка Автозагрузки в неё нужно скопировать .exe или батник на запуск .exe
::C:\Users\Пользователь\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
::C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
::Перезагрузка для применения системной
::shutdown -r -f -t 15 -c "Перезагрузка системы"
color 0f
Скрипт который контролирует Работу процесса
Restart-UPS-Assistant.bat
Код: Выделить всё
@Echo Off
:: Завершить дубли процессов если их несколько и запускаем процесс если его нет совсем
:: Получаем количество процессов
for /f %%b in ('tasklist^|find /c /i "UPSAssistant.exe"') do (
if /i %%b GTR 1 (goto :KILL) else (if /i %%b==0 (goto :START) else (goto :end)))
:KILL
:: Завершить дубли процесса, пропускаем 1 процесс
for /f "skip=1 tokens=2 delims= " %%a in ('tasklist^|find /I "UPSAssistant.exe"') do (
TASKKILL /PID %%a /T /F )
goto :end
:START
:: Планировщик заданий Остановка процесса
SCHTASKS /End /TN "\UPSAssistant\Startup"
:: Для старой версии
SCHTASKS /End /TN "UPSAssistant"
:: Убить процесс если он не завершился
TASKKILL /IM UPSAssistant.exe /T /F
:: Завершить процесс по PID
for /f "tokens=2 delims= " %%a in ('tasklist^|find /I "UPSAssistant.exe"') do (
TASKKILL /PID %%a /T /F )
:: Запуск Процесса
:: Выполнить на локальном компьютере задание "Startup" немедленно, игнорируя любые ограничения
SCHTASKS /Run /I /TN "\UPSAssistant\Startup"
:: Для старой версии
SCHTASKS /Run /TN "UPSAssistant"
:: Проверка что процесс запустился, если нет запускаем
TaskList /FI "ImageName EQ UPSAssistant.exe" 2>nul|Find /I "UPSAssistant.exe">nul||(
Start "" /high "%~dp0UPSAssistant.exe"
)
Remove UPS Assistant.bat
Код: Выделить всё
@Echo Off
chcp 866 >NUL
TITLE Удаление Скриптов Задач UPS Assistant
@cls
echo. Удаление Задач в Планировщике и удаление скрипта
echo. Для UPS Assistant
echo.
@echo off
pause
chcp 866 >NUL
set name=UPSAssistant
:: Планировщик заданий Остановка процесса UPS Assistant & Для старой версии
SCHTASKS /End /TN "\%name%\Startup" & SCHTASKS /End /TN "Startup"
:: Планировщик заданий Остановка процесса Restart-UPS-Assistant.bat & Для старой версии
SCHTASKS /End /TN "\%name%\Restart-UPS-Assistant.bat" & SCHTASKS /End /TN "Restart-UPS-Assistant.bat"
:: Убить процесс если он не завершился
TASKKILL /IM UPSAssistant.exe /T /F
:: Завершить процесс по PID
for /f "tokens=2 delims= " %%a in ('tasklist^|find /I "UPSAssistant.exe"') do (
TASKKILL /PID %%a /T /F )
:: Удаление запланированных задач
SCHTASKS /Delete /TN "\%name%\Startup" /F
SCHTASKS /Delete /TN "\%name%\Restart-UPS-Assistant.bat" /F
SCHTASKS /Delete /TN "\%name%" /F
:: Удалить скрипт
del /Q "C:\Program Files\Alexey V.Voronin\UPS_Assistant\Restart-UPS-Assistant.bat"
del /Q "C:\Program Files (x86)\Alexey V.Voronin\UPS_Assistant\Restart-UPS-Assistant.bat"
:end
Забегая чуть вперед нам для расчета будет необходимы некоторые данные об ИБП пропишем их в макросы В Узле заполнить макросы
Для ВЕБ формы http UPS Assistant
{$LOGINUPS} - Логин
{$PASSUPS} - Пароль
{$PORTUPS} - Порт
Из Характеристик ИБП
{$WATTSUPS} - Указать Ватты (взять из характеристики 1кВт=1000Вт)
{$NUMOFAKBV} - Кол-во АКБ (подключено последовательно увеличение Вольт)
{$NUMOFAKBAH} - Кол-во АКБ (подключено параллельно увеличение Ач)
{$UPSAH} - Ач ампер-час (для 1 АКБ если последовательно)
{$UPSKPD} - КПД ИБП (0.92 обычно есть в документации)
Нам нужно получить данные с http Assistant в zabbix Элемент данных.
Разумно было сделать запрос по http агента в заббикс, так и было сделано но так как нет явного указания кодировки UTF-8 в коде страницы http Assistant данный элемент отказался работать выдав ошибку неверная кодировка. Авторизация работает в таком виде http://Логин:Пароль@192.168.XXX.XXX:6547/
Если есть на узле заббикс агент и Curl можно сделать так.
system.run["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"] И менее требовательный запрос с самого заббикс сервера через Curl
shell.sh["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"]
Через внешнюю проверку и скрипт
shell.sh
Код: Выделить всё
#!/bin/bash
# Выполнение команд на самом заббикс сервере
$1
На основе полученных данных, делаем Вычислительные Элементы данных HTTP агент 2
Состояние ИБП get.ups-assistant 1m 90d HTTP агент ИБП-Состояние Деактивировано
Состояние ИБП 1 get.ups-assistant1 1m 90d HTTP агент ИБП-Состояние Деактивировано
Zabbix агент 2
Процесс UPS Assistant Триггеры 1 proc.num[UPSAssistant.exe] 4m 90d 90d Zabbix агент ИБП-Состояние Активировано
Состояние ИБП 2 system.run["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"] 1m 90d Zabbix агент ИБП-Состояние Деактивировано
Внешняя проверка 1
Состояние ИБП 3 Триггеры 1 shell.sh["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"] 5m 90d Внешняя проверка ИБП-Состояние Активировано
Зависимый элемент данных 21
Состояние ИБП 3: Напряжение/Заряд АКБ Триггеры 3 ups.dattery.voltage 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Входящее Напряжение переходов в режимы ups.ip.fault.voltage 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Частота на Входе Гц Триггеры 1 ups.ip.frequency 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Проверка На пустое значение Триггеры 1 ups.ip.frequency.null 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Входящее Напряжение Триггеры 2 ups.ip.voltage 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Выходной ток Нагрузка % Триггеры 2 ups.op.current 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Выходное Напряжение Триггеры 1 ups.op.voltage 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Продукт ups.Product 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Отчет от ups.report.from 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Дата отчета ups.report.from.data 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Температура ИБП Триггеры 1 ups.temperature 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: USB VID PID ups.vid.pid 90d Зависимый элемент данных ИБП-Состояние Активировано
Состояние ИБП 3: Статусы ИБП в битовом значении ups.status 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Входное Напряжение отсутствует Триггеры 1 0-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Батарея разряжена Триггеры 1 1-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: AVR - включен автоматический регулятор напряжения Триггеры 1 2-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Авария ИБП Триггеры 1 3-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Работа от Сети Триггеры 1 4-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Выполняется тест ИБП Триггеры 1 5-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: ИБП Выключается Триггеры 1 6-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Статусы ИБП в битовом значении: Звуковая световая сигнализация включена Триггеры 1 7-bit 90d 90d Зависимый элемент данных ИБП-Состояние Активировано
Вычисляемое 7
Нагрузка Ампер ups.ampers 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Заряд АКБ % ups.battery.charge.percentage 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Емкость Ач (Ah) обратный подсчет (Примерно более 9-10часв) ups.capacity 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Емкость Ач (Ah) обратный подсчет (Примерно) ups.capacity.ah 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Заряд 4х АКБ % ups.dattery.voltage.p 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Нагрузка Вт ups.watts 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
Примерное время работы от АКБ Триггеры 3 ups.working.time.from.battery 5m 90d 90d Вычисляемое ИБП-Состояние Активировано
РАСЧЕТЫ ДЛЯ ВЫЧИСЛЯЕМЫХ ЭЛЕМЕНТОВ ДАННЫХ
РАСЧЕТЫ
Показать
Характеристики ИБП:
2000 Вт = 2кВт
АКБ 4шт по 7Ah 12Вольт = 48В
КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92)
Высчитаем мощность в Вт зная нагрузку в %
Переведем из процентов в Ватты
2000Вт:100%=20Вт для 1%
20Вт*17%=340Вт Высчитаем Нагрузка в Ампер
Ваты мы уже знаем, напряжение 220
Ваты : Напряжение = Сила тока A
340:220=1.5А
Примерно: 2000:220=9.09А для 100%
Вычислим Заряд АКБ в % по напряжению АКБ
10,5-13,5V - рабочий диапазон
11.82V - 0% заряда
9,5-10V - глубокий разряд
Пример для 4 акб (последовательно)
54.7V:4шт=13.67 (напряжение на контактах при заряде)
11.82V*4=47.28V это 0% заряда
54.7V-47.28V=7.42V (рабочий диапазон от 0% до 100%)
7.42V:100%=0.0742V это 1% Более универсальный способ из общего напряжения АКБ вычитаем данные расчета от количества акб указанных в макросе
(текущее напряжение - (напряжение 0% * кол-во АКБ последовательно)) : ((напряжение 0% * кол-во АКБ последовательно):100)
(54.7-(11.82*4)) : ((54.7-11.82*4) :100)
(54.7-47.28) : (7.42:100)
7,42:0.0742=100%
Вычисление Примерное время работы от АКБ
{$UPSAH} - Ач ампер-час для 1 АКБ
{$NUMOFAKBAH} - Кол-во АКБ (подключено параллельно увеличение Ач)
{$NUMOFAKBV} - Кол-во АКБ (подключено последовательно увеличение Вольт)
{$UPSKPD} - КПД ИБП (0.92)
T[час] = C[А*час] * V[В] * η / P[Вт], где:
C - рассчитанная ранее суммарная емкость аккумуляторной батареи ИБП в ампер-часах;
V - напряжение одного аккумулятора в вольтах;
η - КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92, более подробная информация в замечаниях);
P - рассчитанная ранее средняя мощность подключенного к ИБП оборудования в ваттах.
емкость АКБ 7Ач * 4шт = 28Ач если подключение параллельное но напряжение 12V
(на клеммах при заряде) 13.6V*4шт=54.7V подключение последовательно акб 7Ач
7Ач*1шт*(54.7.В:4шт)*0.92КПД/340Вт=0.266=26минут
7*13.675*0.92/340=0.26 = 26 минут
7*13.675/340=0,28 без кпд
Для 12 вольт эталон
7*12*0.92/340=0.22
Вычисление Емкость акб (Расчет не обходимой емкости АКБ)
Обратная проверка для (емкость Ah/Ач - ампер час)
C[А*час] = P[Вт] * T[час] / η * V[В]
C - емкость аккумуляторной батареи ИБП в ампер-часах;
P - рассчитанная ранее средняя мощность подключенного к ИБП оборудования в ваттах.
T - Время работы от АКБ
η - КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92, более подробная информация в замечаниях);
V - напряжение одного аккумулятора в вольтах;
340*0,227294118/(0.92*12)
77,28000012/11.04=7,000000011
340*0.22/0.92*12
74.8/11.04=6,775362319
С=(P*t)/U*Kр
P – мощность нагрузки, t – необходимое время резерва, U – напряжение АКБ, Kр – коэффициент разряда (глубина разряда) АКБ (0.6 - 0.8).
Для 7Ач
100*время работы Ч*кВт
формула пригодна для длительного времени работы от аккумулятора, а именно порядка 9-10 часов. Это обусловлено тем, что зависимость ёмкости аккумулятора от времени заряда не имеет линейный характер на всём протяжении.
Если время работы меньше, то необходимо вводить поправки. Это связано с тем, что при маленьком времени ток разряда большой и аккумулятор отдаёт нагрузке только некоторую часть своей ёмкости. Так, если необходимо время работы в 30 минут, то результат надо поделить на два, для 2 часов уменьшить на 40%, для 4 часов – 30%, для 6 часов – 40%. Чтобы определить точно значение необходимо использовать точное значение КПД инвертора, который установлен на ИБП и сопоставить данные с кривого разряда определённого типа аккумуляторов.
100*0.26*0.340=8.84 Ач в% 8.84:100%=0,0884
Для 22 минут
100*0.22*0.340=7.48 Ач (+20% запаса) зависти от температуры АКБ скорость разряда.
7.00:100%=0.07
0.0884-0.07=0.0184
8.84-7.48=1.36 разница
8.84-7.00=1.84 от эталона в% 1.84:100%=0.0184
На вскидку
Для 70Ач
70*13.675*0.92/340=2.59
70*12*0.92/340=2.27
100*2.59*0.340=88.06 в% 88.06:100%=0,8806
100*2.27*0.340=77.18 в% 70:100%=0.7
Получаем: 0.8806-0.7=0.1806
если убавить время до 2.06 то 100*2.06*0.340=70.04Ач
88.06-77.18=10.88Ач разница что то многовато
88.06-70.00=18.06 от эталона
18.06:100%=0.1806
Вычисление Состояние Износ АКБ
Для данного параметра не хватает данных
Нужно знать Силу тока Ампер заряда
(Зная емкость акб : Ампер заряда) * Коэффициент = Время заряда
Если пря зарядке с 0% до 100% потребило меньше Ач значит емкость акб уменьшилась
даже можно прикинуть от процента% например заряд 50% ёмкость 7Ач это 3.5Ач должен потребить с зарядки до 100%
Если сила заряда всегда одинакова можно рассчитать за какое время должен зарядится акб от 0% до 100% , если зарядится быстрее значит есть износ акб. Можно высчитать в процентах.
На новой полностью заряженной акб разрядить , после засечь время зарядки до 100% время будет эталонным, далее если акб начинает заряжаться быстрее емкость акб убывает.
Много различных факторов если ибп работает под нагрузкой и есть провалы входящего напряжения будет переключаться на акб и время заряда увеличиться, температура акб.
Хорошо если есть встроенная функция которая может сообщить об замене АКБ.
Например
Чисто теория взято с других форумов.
ippon back power pro 600 Номинальный ток зарядки - около 700мА = 0.7A (где то 350мА) для 12В 7Ач
Максимальная величина зарядного тока составляет от 0.2 до 0.3 емкости аккумулятора.
Например, если емкость аккумулятора равна 100 А*час, то ток заряда такого свинцового аккумулятора не может превышать 0.2*100=20 А или 0.3*100=30 А (это решает производитель). Самая старая и самая распространенная рекомендация относительно зарядного тока свинцового аккумулятора: "10 процентов от емкости", верна и сегодня. Любой свинцовый кислотный аккумулятор можно заряжать, начиная зарядку с таким током, без боязни как-то повредить аккумулятор.
Начало заряда и завершение заряда разная сила тока, различные факторы например температура акб и тд.
2000 Вт = 2кВт
АКБ 4шт по 7Ah 12Вольт = 48В
КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92)
Высчитаем мощность в Вт зная нагрузку в %
Переведем из процентов в Ватты
2000Вт:100%=20Вт для 1%
20Вт*17%=340Вт Высчитаем Нагрузка в Ампер
Ваты мы уже знаем, напряжение 220
Ваты : Напряжение = Сила тока A
340:220=1.5А
Примерно: 2000:220=9.09А для 100%
Вычислим Заряд АКБ в % по напряжению АКБ
10,5-13,5V - рабочий диапазон
11.82V - 0% заряда
9,5-10V - глубокий разряд
Пример для 4 акб (последовательно)
54.7V:4шт=13.67 (напряжение на контактах при заряде)
11.82V*4=47.28V это 0% заряда
54.7V-47.28V=7.42V (рабочий диапазон от 0% до 100%)
7.42V:100%=0.0742V это 1% Более универсальный способ из общего напряжения АКБ вычитаем данные расчета от количества акб указанных в макросе
(текущее напряжение - (напряжение 0% * кол-во АКБ последовательно)) : ((напряжение 0% * кол-во АКБ последовательно):100)
(54.7-(11.82*4)) : ((54.7-11.82*4) :100)
(54.7-47.28) : (7.42:100)
7,42:0.0742=100%
Вычисление Примерное время работы от АКБ
{$UPSAH} - Ач ампер-час для 1 АКБ
{$NUMOFAKBAH} - Кол-во АКБ (подключено параллельно увеличение Ач)
{$NUMOFAKBV} - Кол-во АКБ (подключено последовательно увеличение Вольт)
{$UPSKPD} - КПД ИБП (0.92)
T[час] = C[А*час] * V[В] * η / P[Вт], где:
C - рассчитанная ранее суммарная емкость аккумуляторной батареи ИБП в ампер-часах;
V - напряжение одного аккумулятора в вольтах;
η - КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92, более подробная информация в замечаниях);
P - рассчитанная ранее средняя мощность подключенного к ИБП оборудования в ваттах.
емкость АКБ 7Ач * 4шт = 28Ач если подключение параллельное но напряжение 12V
(на клеммах при заряде) 13.6V*4шт=54.7V подключение последовательно акб 7Ач
7Ач*1шт*(54.7.В:4шт)*0.92КПД/340Вт=0.266=26минут
7*13.675*0.92/340=0.26 = 26 минут
7*13.675/340=0,28 без кпд
Для 12 вольт эталон
7*12*0.92/340=0.22
Вычисление Емкость акб (Расчет не обходимой емкости АКБ)
Обратная проверка для (емкость Ah/Ач - ампер час)
C[А*час] = P[Вт] * T[час] / η * V[В]
C - емкость аккумуляторной батареи ИБП в ампер-часах;
P - рассчитанная ранее средняя мощность подключенного к ИБП оборудования в ваттах.
T - Время работы от АКБ
η - КПД инвертора ИБП (в расчёте примеров используем КПД = 0,92, более подробная информация в замечаниях);
V - напряжение одного аккумулятора в вольтах;
340*0,227294118/(0.92*12)
77,28000012/11.04=7,000000011
340*0.22/0.92*12
74.8/11.04=6,775362319
С=(P*t)/U*Kр
P – мощность нагрузки, t – необходимое время резерва, U – напряжение АКБ, Kр – коэффициент разряда (глубина разряда) АКБ (0.6 - 0.8).
Для 7Ач
100*время работы Ч*кВт
формула пригодна для длительного времени работы от аккумулятора, а именно порядка 9-10 часов. Это обусловлено тем, что зависимость ёмкости аккумулятора от времени заряда не имеет линейный характер на всём протяжении.
Если время работы меньше, то необходимо вводить поправки. Это связано с тем, что при маленьком времени ток разряда большой и аккумулятор отдаёт нагрузке только некоторую часть своей ёмкости. Так, если необходимо время работы в 30 минут, то результат надо поделить на два, для 2 часов уменьшить на 40%, для 4 часов – 30%, для 6 часов – 40%. Чтобы определить точно значение необходимо использовать точное значение КПД инвертора, который установлен на ИБП и сопоставить данные с кривого разряда определённого типа аккумуляторов.
100*0.26*0.340=8.84 Ач в% 8.84:100%=0,0884
Для 22 минут
100*0.22*0.340=7.48 Ач (+20% запаса) зависти от температуры АКБ скорость разряда.
7.00:100%=0.07
0.0884-0.07=0.0184
8.84-7.48=1.36 разница
8.84-7.00=1.84 от эталона в% 1.84:100%=0.0184
На вскидку
Для 70Ач
70*13.675*0.92/340=2.59
70*12*0.92/340=2.27
100*2.59*0.340=88.06 в% 88.06:100%=0,8806
100*2.27*0.340=77.18 в% 70:100%=0.7
Получаем: 0.8806-0.7=0.1806
если убавить время до 2.06 то 100*2.06*0.340=70.04Ач
88.06-77.18=10.88Ач разница что то многовато
88.06-70.00=18.06 от эталона
18.06:100%=0.1806
Вычисление Состояние Износ АКБ
Для данного параметра не хватает данных
Нужно знать Силу тока Ампер заряда
(Зная емкость акб : Ампер заряда) * Коэффициент = Время заряда
Если пря зарядке с 0% до 100% потребило меньше Ач значит емкость акб уменьшилась
даже можно прикинуть от процента% например заряд 50% ёмкость 7Ач это 3.5Ач должен потребить с зарядки до 100%
Если сила заряда всегда одинакова можно рассчитать за какое время должен зарядится акб от 0% до 100% , если зарядится быстрее значит есть износ акб. Можно высчитать в процентах.
На новой полностью заряженной акб разрядить , после засечь время зарядки до 100% время будет эталонным, далее если акб начинает заряжаться быстрее емкость акб убывает.
Много различных факторов если ибп работает под нагрузкой и есть провалы входящего напряжения будет переключаться на акб и время заряда увеличиться, температура акб.
Хорошо если есть встроенная функция которая может сообщить об замене АКБ.
Например
Чисто теория взято с других форумов.
ippon back power pro 600 Номинальный ток зарядки - около 700мА = 0.7A (где то 350мА) для 12В 7Ач
Максимальная величина зарядного тока составляет от 0.2 до 0.3 емкости аккумулятора.
Например, если емкость аккумулятора равна 100 А*час, то ток заряда такого свинцового аккумулятора не может превышать 0.2*100=20 А или 0.3*100=30 А (это решает производитель). Самая старая и самая распространенная рекомендация относительно зарядного тока свинцового аккумулятора: "10 процентов от емкости", верна и сегодня. Любой свинцовый кислотный аккумулятор можно заряжать, начиная зарядку с таким током, без боязни как-то повредить аккумулятор.
Начало заряда и завершение заряда разная сила тока, различные факторы например температура акб и тд.
Информационная AVR - включен автоматический регулятор напряжения {HOST.NAME} {UPSAssistant:2-bit.last()}=1 Активировано
Высокая BatteryCharge<25%: {ITEM.LASTVALUE1}{HOST.NAME} {UPSAssistant:ups.dattery.voltage.last()}<48.1 Активировано
Информационная BatteryCharge<50%: {ITEM.LASTVALUE1}{HOST.NAME} {UPSAssistant:ups.dattery.voltage.last()}<48.9 and {UPSAssistant:ups.dattery.voltage.last()}>=48.1 Активировано
Информационная BatteryCharge<75%: {ITEM.LASTVALUE1}{HOST.NAME} {UPSAssistant:ups.dattery.voltage.last()}<49.7 and {UPSAssistant:ups.dattery.voltage.last()}>=48.9 Активировано
Высокая UPS Недоступно {HOST.NAME}
Зависит от:
ИБП Ассистент: Процесс UPS Assistant не запущен
{UPSAssistant:shell.sh["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"].iregexp(no-data-ups)}=1 or {UPSAssistant:shell.sh["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"].iregexp(401 Unauthorized)}=1 or {UPSAssistant:shell.sh["curl -s -X GET http://{$LOGINUPS}:{$PASSUPS}@{HOST.CONN}:{$PORTUPS}"].nodata(25m)}=1 or {UPSAssistant:web.test.error[Проверка Web UPS Assistant].strlen()}>0 and {UPSAssistant:web.test.fail[Проверка Web UPS Assistant].min(11m)}>0 Активировано UPSAssistant
Высокая UPS Нет Значений {HOST.NAME}
Зависит от:
ИБП Ассистент: UPS Недоступно {HOST.NAME}
{UPSAssistant:ups.ip.frequency.null.last()}=0001 Активировано UPSAssistant
Информационная Батарея разряжена {HOST.NAME}
Зависит от:
ИБП Ассистент: ИБП Выключается {HOST.NAME}
{UPSAssistant:1-bit.last()}=1 Активировано
Информационная Время работы АКБ менее 5 мин на {HOST.NAME}
Зависит от:
ИБП Ассистент: UPS Недоступно {HOST.NAME}
ИБП Ассистент: UPS Нет Значений {HOST.NAME}
ИБП Ассистент: ИБП Выключается {HOST.NAME}
ИБП Ассистент: Процесс UPS Assistant не запущен
{UPSAssistant:ups.working.time.from.battery.last()}<=0.05 Активировано
Информационная Время работы АКБ менее 11 мин на {HOST.NAME}
Зависит от:
ИБП Ассистент: Время работы АКБ менее 5 мин на {HOST.NAME}
{UPSAssistant:ups.working.time.from.battery.last()}<=0.10 and {UPSAssistant:ups.working.time.from.battery.last()}>0.05 Активировано
Информационная Время работы АКБ менее 15 мин на {HOST.NAME}
Зависит от:
ИБП Ассистент: Время работы АКБ менее 11 мин на {HOST.NAME}
{UPSAssistant:ups.working.time.from.battery.last()}<0.15 and {UPSAssistant:ups.working.time.from.battery.last()}>0.10 Активировано
Информационная Входная частота не 50Гц {UPSAssistant:ups.ip.frequency.last()}<49 or {UPSAssistant:ups.ip.frequency.last()}>51 Активировано
Информационная Входящее напряжение более 250В {HOST.NAME} {UPSAssistant:ups.ip.voltage.last()}>250 Активировано
Информационная Входящее напряжение менее 196В {HOST.NAME} {UPSAssistant:ups.ip.voltage.last()}<196 Активировано
Информационная Выполняется тест ИБП {HOST.NAME} {UPSAssistant:5-bit.last()}=1 Активировано
Информационная Выходное напряжение более 247В {HOST.NAME} {UPSAssistant:ups.op.voltage.last(#3)}>247 Активировано
Информационная ИБП Авария {HOST.NAME} {UPSAssistant:3-bit.last()}=1 Активировано
Информационная ИБП Входное Напряжение отсутствует {HOST.NAME} {UPSAssistant:0-bit.last()}=1 Активировано
Информационная ИБП Выключается {HOST.NAME} {UPSAssistant:6-bit.last()}=1 Активировано
Информационная ИБП Звуковая световая сигнализация выключена {UPSAssistant:7-bit.last()}=0 Активировано
Информационная Нагрузка выхода>90% {HOST.NAME}
Зависит от:
ИБП Ассистент: Нагрузка выхода>95% {HOST.NAME}
{UPSAssistant:ups.op.current.last()}>90 Активировано
Информационная Нагрузка выхода>95% {HOST.NAME} {UPSAssistant:ups.op.current.last()}>95 Активировано
Внимание/Предупреждение Процесс UPS Assistant не запущен {UPSAssistant:proc.num[UPSAssistant.exe].last()}<>1 or {UPSAssistant:proc.num[UPSAssistant.exe].nodata(11m)}=1 Активировано UPSAssistant
Информационная Работа от АКБ {HOST.NAME} {UPSAssistant:4-bit.last()}=0 Активировано
Чрезвычайная Аварийная Температура батареи={ITEM.VALUE} на {HOST.NAME} {UPSAssistant:ups.temperature.last(0)}>40 Активировано
Графики 7 Температура ИБП 900 200 Нормальный
Текущая Нагрузка Вт 900 200 Нормальный
Текущая Нагрузка Ампер 900 200 Нормальный
Напряжение Вход Выход 900 200 Нормальный
Напряжение/Заряд АКБ 900 200 Нормальный
Нагрузка ИБП 900 200 Нормальный
Выходная частота ИБП 900 200 Нормальный
Веб-сценарии 1
Проверка Web UPS Assistant 1 5m 3 Нет Нет ИБП-Состояние Активировано