UPSサービスを使ってPICNICからWindowsを安全にシャットダウンする
 私の自宅ではB62まとめサイトで紹介したPCをftpサーバとして動かしているのですが、ずっと電源を入れっぱなしにするほど多用するわけでもないので、必要な時に電源をON/OFFできるようにする必要があります。
 電源の切断にUPSサービスを使う方法を考えてみたいと思います。UPSの設定の前に、PCとの接続するためのインターフェースを製作します。

回路図

ポケコンが壊れたため、余っていたRS232Cのインターフェースの部品を流用しました。
PICNICからPCへはシャットダウン信号を、PCからPICNICへはUSB端子からとった電源信号とUPSが立ち上がったことを示す信号を中継します。
使用するICの都合上、2台のPCを操作することが可能です。

右下のコネクタは他の接続する機器をつなぐためにここから信号を出すもので、今のところ製作の予定はありません。

シリアルコネクタの様子

USBとシリアルのコネクタ部分です。USBの電源ラインには一応抵抗を入れてあり、何かの原因でショート状態になっても電流が流れすぎないようにしています。

PICNICとの接続

15ピンコネクタを接続する場合、ディスプレイのケーブルを使ってもいいのですが、手持ちのものが全結線されていなかった事とそんなに長い距離は必要ないので、中継ケーブルを作りました。
UPSサービスの設定
次はUPSサービスの設定です。電源オプションのコントロールパネルで設定できますが、ノートPCでは使えないので注意してください。

「選択ボタン」をクリックするとUPSの選択画面が開くので、「製造元」を一般、「モデル」をカスタム、「ポート」に接続中のポートを設定します。

「次へ」をクリックして扱う信号の種類を設定します。右の画面のように設定してください。変な設定にするといきなりOSがシャットダウンをはじめたり、次回起動した直後にシャットダウンがかかってどうしようもなくなったりします。
ちなみに、シリアルポートの信号は以下のようになっています。
PC側のピン信号内容
1 DCD (入力)バッテリ残量の低下
4 DTR (出力)UPSをシャットダウンさせる
5 GNDGND
7 RTS (出力)UPSサービス起動中
8 CTS (入力)電源障害/バッテリ駆動中
9 RI (入力)Wake On Ring

完了をクリックすると…

しばらくするとUPSサービスが有効になり、同時にPICNICのUPS ServiceがHighレベルに変わります。
PICNICからShutdownをHighレベルにするとシャットダウンがかかります。
SignalStatus
Host APower Line High
UPS Service High
Shutdown Low 
Host BPower Line Low 
UPS Service Low 
Shutdown Low 

「構成」ボタンの中では、UPSのシャットダウン信号が来てもすぐにシャットダウンしないように設定することができます。「バッテリ駆動開始から警告を発するまでの時間」がそれで、2分以上の数字が設定できます。
実際の画面の移り変わり
SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line Low 
UPS Service Low 
Shutdown Low 
1.電源が切れています。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line High
UPS Service Low 
Shutdown Low 
2.電源を入れました。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line High
UPS Service High
Shutdown Low 
3.UPSのサービスが起動しました。起動完了です。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line High
UPS Service High
Shutdown High
4.シャットダウン信号をHレベルにしました。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line High
UPS Service Low 
Shutdown High
5.UPSサービスが先に終了します。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line Low 
UPS Service Low 
Shutdown High
6.電源が切れました。

SignalStatus
Host APower Line Low 
UPS Service Low 
Shutdown Low 
Host BPower Line Low 
UPS Service Low 
Shutdown Low 
7.シャットダウン信号を元に戻します。

Update 2011/06/22