Форум: "Прочее";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизКоллеги, подскажите, как работают UPS-ы (не APC)? Найти похожие ветки
← →
Ega23 © (2007-03-09 11:19) [0]Речь вот о чём: из программы надо отслеживать состояние UPS"а. В норме, на резервном питании, сдохла батарея и т.п.
Как с APC работать - более-менее ясно.
Как другие работают? Как к компу для управления цепляются (COM, USB)?
← →
Vlad Oshin © (2007-03-09 11:25) [1]не хочешь поверить windows?
lpSystemPowerStatus=^tPowerSt;
tPowerSt=record
ACLineStatus:byte;
BatteryFlag:byte;
BatteryLifePercent:byte;
Reserved1:byte;
BatteryLifeTime:Dword;
BatteryFullLifeTime:dword;
end;
TNtQSI = function(Ptr: Pointer): DWORD; stdcall;
var
Form1: TForm1;
NtQSI : TNtQSI;
Buf : array [1..20480] of char;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
hLib : DWORD;
// Buf : array [1..20480] of char;
PS:lpSystemPowerStatus;
// ptr:pointer;
begin
memo1.Lines.Clear;
hLib := LoadLibrary("kernel32.DLL");
if hLib>0 then begin
@NtQSI := GetProcAddress(hLib,"GetSystemPowerStatus");
NtQSI(@Buf);
PS:=addr(buf);
memo1.Lines.Add(inttostr(PS.ACLineStatus));
memo1.Lines.Add(inttostr(PS.BatteryFlag));
memo1.Lines.Add(inttostr(PS.BatteryLifePercent));
memo1.Lines.Add(inttostr(PS.Reserved1));
memo1.Lines.Add(inttostr(PS.BatteryLifeTime));
memo1.Lines.Add(inttostr(PS.BatteryFullLifeTime));
end;
end;
← →
Ega23 © (2007-03-09 11:31) [2]
> Vlad Oshin © (09.03.07 11:25) [1]
А это для любого упса сработает? Не только для ноутов?
← →
Сергей М. © (2007-03-09 11:38) [3]
> Ega23 © (09.03.07 11:31) [2]
afaik, UPS - общеупотребительная аббревиатура для источников бесперебойного питания (по-русски, ИБП=UPS), в то время как APC = American Power Conversion (по-русски, известная торг.марка производителя оборудования защиты, в т.ч. ИБП)
← →
Ega23 © (2007-03-09 11:42) [4]
> afaik, UPS - общеупотребительная аббревиатура для источников
> бесперебойного питания (по-русски, ИБП=UPS), в то время
> как APC = American Power Conversion (по-русски, известная
> торг.марка производителя оборудования защиты, в т.ч. ИБП)
Да я знаю. UPS = ИБП, APC - фирма, а не вид ИБП (хотя - фактически вид, протокол у них свой).
Просто с APC работать умеем. В принципе, собираемя на объекты только их продукцию ставить. Но, как говорится, чем чёрт не шутит? Вот и хочу понять, как будут упсы других производителей себя вести.
← →
Сергей М. © (2007-03-09 11:50) [5]
> Ega23 © (09.03.07 11:42) [4]
Большинство производителей (ИБП и софта к нему), "уважающих" MS, придерживаются соглашений того самого унифицированного протокола инф.обмена, работа по которому реализована в мелкомягких службах в виде сервиса "Источник бесперебойного питания". Так что за это волноваться не стоит. А вот по поводу надежности и расширенных (нестандартных) фич того или иного ИБП-оборудования того или иного производителя - это, наверно, отдельный разговор.
← →
Ega23 © (2007-03-09 11:57) [6]
> Сергей М. © (09.03.07 11:50) [5]
ОК, всем спасибо!
Владу - отдельное и персонально!
Похоже GetSystemPowerStatus - это именно то, чего не хватало для полного щщастья!
← →
Сергей М. © (2007-03-09 12:02) [7]
> Ega23 © (09.03.07 11:57) [6]
> Похоже GetSystemPowerStatus - это именно то, чего не хватало
> для полного щщастья
Это же не асинхронная ф-ция)
imho, не так уж и велико это "щщастье"
← →
Сергей М. © (2007-03-09 12:07) [8]
> Ega23
WM_POWERBROADCAST добавит к "щщастью" изрядный ломоть удовольствия)
← →
Rouse_ © (2007-03-09 12:18) [9]
> WM_POWERBROADCAST добавит к "щщастью" изрядный ломоть удовольствия)
Ну тогда и SERVICE_ACCEPT_POWEREVENT до кучи ;)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.049 c