Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

Отслеживание питания 


Semen   (2001-11-21 10:42) [0]

Как отследить выключение питания компа



Андрей Сенченко   (2001-11-21 12:14) [1]

Поставить на стол лампочку, подкюченную к питалке



MJH   (2001-11-21 15:05) [2]

1) поставить видеокамеру которая будет этофиксировать
2) собрать девайс, основанный на релюшке, подключенной к питанию компа, и подсоединить сий девайс к ком-порту второго компа, ии отслеживать на нём
3) как уже сказали - лампочка
4) электрозвонок
и т.д. :)
зы: по другому никак



Jurgen   (2001-11-21 15:30) [3]

Спроси у мамы...



SergVlad   (2001-11-22 02:47) [4]

Ну зачем так.
Лобовое решение все же есть.
Использовать звуковую карту или карту АЦП.
В первом случае контролировать шум по цепи питания - при отключении,
в переходном процессе, он значительно измениться.
Во втором случае контрольровать снижение питания.
Вот только что успеет компьютер сделать после момента Х ?

Кстати, PS/1 - была такая персоналка у IBM, даже успевала на диск
сбросить образ памяти 640k и при включении можно было оказаться
в том приложении, на котором произошло отключение.



Чубайс   (2001-11-22 04:02) [5]

Захочу и Отключу! И хрен ты меня проконтролируешь!



Андрей Сенченко   (2001-11-22 10:48) [6]

МОДЕРАТОООООР !!!!!!!!!!!!
Рыжие наступают !



SergVlad   (2001-11-22 11:18) [7]

Питание, внутреннее, не снимется мгновенно.
Хотя, конечно, речь идет о 5-10 ms.
Но и за это время можно кое-что успеть.
Вопрос, только что.



Владислав   (2001-11-22 11:51) [8]

Все равно они веревку отвязывают ...
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1006314733&n=5



SergVlad   (2001-11-22 14:24) [9]

To Semen
Вопрос не до конца задан, поэтому и ответы не завершенные, а то и
глумливые.
Ну узнали Вы как-то, что "до встречи с землей" 15 ms - дальше то, что
Вы хотите делать ?
Винт-то тоже имеет соизмеримое время доступа.
Ну а против reset прием один - удалить физически.



33   (2001-11-22 16:06) [10]

Лучше на корпус емкостный датчик и разрядник.
Тока рукой потянулся и шарах !!!



Владислав   (2001-11-23 07:55) [11]

> 33 (22.11.01 16:06)

Это пример светового и звукового индикатора. Даже круче, чем просто лампочка. А еще, можно, даже не находясь на рабочем месте, узнать пользовались ли юзеры этой кнопочкой пока не было программиста (администратора etc.). На мой взгляд, очень полезный совет. Я к рубильнику такую же конструкцию приделаю ;).



Delphimun   (2001-11-23 17:23) [12]

Делеешь форму невидимой, тоесть:
procedure TForm1.FormCreate(Sender: TObject);
begin
application.ShowMainForm := false;
end;
Запускаешь её вместе с компом (в авторан в реестре),
пишешь в обработчике события:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Нужный код и всё!
При выключении компа windows пытается закрыть форму и возникает это событие, если поместить кол в FormClose то не поможет.



MJH   (2001-11-23 17:49) [13]

2Delphimun
можно проще: обрабатывать следующие события
OnPowerButtonPush(sender: TObject)
или
OnEnergyInRozetkaNone(sender: TObject)



Dmitry-corp   (2001-11-29 16:22) [14]

Semen, отследить нажатие на резет или повер нельзя (если ты хочешь из программы после нажатия решать отрубать питание или нет), но за то можно эмулировать нажатие на эти кнопки. Классно да?



MJH   (2001-11-29 16:31) [15]

нет....
неверно я написал
не OnEnergyInRozetkaNone(sender: TObject)
а
function CheckPowerInRozetka(U: volt):boolean;
begin
if u<>220 then result:=false else result:=true;
end;





Donal   (2001-11-30 10:27) [16]

2MJH:
а как же допустимые отклонения? надо так :

const Delta = 10;
...
if abs(u -220) > Delta then result := false else result := true;



MJH   (2001-11-30 11:54) [17]

2Donal это стандартная борландовская функция, на наши сети не рассчитана. в связи с этим я предпочитаю её не использовать.

const Delta = 10;
if abs(u -220) > Delta then result := false else result := true;

диапазон отклонений ты выбрал слишком маленький



Donal   (2001-11-30 16:27) [18]

Да я от балды константу выбрал. Конечно надо было так (хотя в части с УПС я не уверен):

var BP : TPowerSource;

If not IsUPSPresent then
begin
BP := GetCurrentPowerSource;
If abs (U -BP.OptimalVoltage) > BP.MaxPowerDeviation then Result := False else Result := True;
end
else Result := True;



MJH   (2001-12-01 04:34) [19]

ага..ага...пиши...потом разетку запрограмируешь...



Anatoly Podgoretsky   (2001-12-02 23:34) [20]

Dmitry-corp (29.11.01 16:22)
В моем компьютере прекрасно отрабатывается нажатие на клавишу Power, компьютер делает нормальный Shutdown, не грубое выключение питания, а именно Shutdown.
Могу предположить, что в недалеком будущем будет и обрабатываться и нажатие на Reset как Restart. По крайней мере в некоторых компьютерах уже сейчас клавиша Reset обрабатывается программно.



Desdechado   (2001-12-03 17:23) [21]

А еще в ближайшие N лет, вероятно, будет переход на 220 В ПОСТОЯНКИ в сети.
она не так опасна, меньше потерь при передаче, не требует трансформаторов в аппаратуре и при передаче и т.п.




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.75 MB
Время: 0.024 c
1-90287           NY152                 2002-01-08 14:19  2002.01.28  
Вопрос о привязке проги к компу


4-90440           Alex870               2001-11-26 21:37  2002.01.28  
Подскажите,


1-90307           dmitry_s              2002-01-11 11:52  2002.01.28  
Delphi5 & MSSQL uniqueidentifier


3-90216           OlegD                 2001-12-24 18:45  2002.01.28  
ADO table


1-90325           Ghost!                2002-01-11 18:40  2002.01.28  
Деление String