第 6 章 スロットイン電源モジュール , バッテリモジュール状態監視 87
6.2 スロットイン電源モジュール監視機能
システムに実装されているスロットイン電源モジュールの識別, スロットイン電源モジュールの状 態を簡単に監視することができます。
本機能を使用したユーティリティがDOS起動メディア(¥IFDOS¥TOOLS)に収録されています。
1. IfPsmGetModuleId
【機能】
システムに実装されているスロットイン電源モジュールのIDを取得します。
【書式】
#include "IFDOS.h"
int IfPsmGetModuleId(
unsigned short *ModuleId );
【パラメータ】
ModuleId スロットイン電源モジュールのIDを格納する変数へのポインタを設定し ます。
配 列 説 明
ModuleID[0] スロット1のスロットイン電源モジュール識別
ModuleID[1] スロット2のスロットイン電源モジュール識別
ModuleID[2] スロット3のスロットイン電源モジュール識別
ModuleID[3] スロット4のスロットイン電源モジュール識別
ModuleID[4] スロット5のスロットイン電源モジュール識別
ModuleID[5] スロット6のスロットイン電源モジュール識別
ID 型 式 説 明
05h JPS-2057 DC+12V入力モジュール(絶縁 80W)
06h JPS-2055 DC+24V入力モジュール(絶縁 80W)
08h JPS-2101 ATX 出力モジュール
09h JPS-2001 AC100V/200V入力モジュール(絶縁 130W)
0Ah JPS-2053 DC+100V入力モジュール(絶縁 130W)
0Bh JPS-2051 DC+48V入力モジュール(絶縁 130W)
0Ch JPS-1059 DC+12V/24V入力モジュール(非絶縁 130W)
0Dh JPS-105701 DC12V電源バス専用DC+12V入力モジュール(非絶縁 50W)
0Eh JPS-105501 DC+24V入力モジュール(非絶縁 150W)
0Fh 未実装 スロットイン電源モジュールが実装されていない
【戻り値】
0: 正常終了
-1: 異常終了(SMBusへのアクセスに失敗)
-9: 本関数は DOS System(日本語環境モデル)以外では使用できません。
【記述例】
unsigned short ModuleID[6];
int r;
r = IfPsmGetModuleId(ModuleID);
if(r){
printf(“IfPsmGetModuleId ERROR¥n”);
}
※ 下記の①~⑥はスロット1~スロット6に対応しています。
製品によって図は異なります。
② ③ ④ ⑤ ⑥
①
【備考】
注意
!
本機能は、スロットイン電源モジュール2スロットでは使用できません。
この関数は、スロットイン電源モジュールのIDを検出するためのものです。検出されたIDよ り型式を確認することができます。
なお、各製品の詳細仕様は、弊社Web site(www.interface.co.jp)を参照してください。
【使用例】
int r;
unsigned short ModuleId[6];
r = IfPsmGetModuleId(ModuleId);
if (r) {
printf("IfPsmGetModuleId ERROR ¥n");
} else {
printf("IfPsmGetModuleId – Slot1 Module ID %x¥n", ModuleId[0]);
printf("IfPsmGetModuleId – Slot2 Module ID %x¥n", ModuleId[1]);
printf("IfPsmGetModuleId – Slot3 Module ID %x¥n", ModuleId[2]);
printf("IfPsmGetModuleId – Slot4 Module ID %x¥n", ModuleId[3]);
printf("IfPsmGetModuleId – Slot5 Module ID %x¥n", ModuleId[4]);
printf("IfPsmGetModuleId – Slot6 Module ID %x¥n", ModuleId[5]);
}
ModuleId[0]は電源バックプレーン上のシルクP1のスロット番号に対応し、ModuleId[5]がシルク
P6となります。
2. IfPsmGetStatus
【機能】
システムに実装されているスロットイン電源モジュールの状態を取得します。
【書式】
#include "IFDOS.h"
int IfPsmGetStatus(
unsigned short *Status );
【パラメータ】
Status ALM信号, FAIL信号の状態を格納する変数へのポインタを設定します。
配 列 説 明
Status [0] スロット1のスロットイン電源モジュール状態
Status [1] スロット2のスロットイン電源モジュール状態
Status [2] スロット3のスロットイン電源モジュール状態
Status [3] スロット4のスロットイン電源モジュール状態
Status [4] スロット5のスロットイン電源モジュール状態
Status [5] スロット6のスロットイン電源モジュール状態
ビット 説 明
0 ALM信号の状態
0:正常, 1:異常 1 FAIL信号の状態
0:正常, 1:異常 2~15 システム予約
【戻り値】
0: 正常終了
-1: 異常終了(SMBusへのアクセスに失敗)
-9: 本関数は DOS System(日本語環境モデル)以外では使用できません。
【記述例】
unsigned short Status[6];
int r;
r = IfPsmGetStatus (Status);
if(r){
printf(“IfPsmGetStatus ERROR¥n”);
}
※ 下記の①~⑥はスロット1~スロット6に対応しています。
製品によって図は異なります。
② ③ ④ ⑤ ⑥
①
【備考】
注意
!
本機能は、スロットイン電源モジュール2スロットでは使用できません。
この関数は、このスロットイン電源モジュールの状態を検出するためのものです。各スロッ トに実装されたスロットイン電源モジュールの状態を取得することができます。
なお、各製品の詳細仕様は、弊社Web site(www.interface.co.jp)を参照してください。
【使用例】
int r;
unsigned short Status[6];
r = IfPsmGetStatus(Status);
if (r) {
printf("IfPsmGetStatus ERROR ¥n");
} else {
printf("IfPsmGetStatus – Slot1 Module Status %x¥n", Status[0]);
printf("IfPsmGetStatus – Slot2 Module Status %x¥n", Status[1]);
printf("IfPsmGetStatus – Slot3 Module Status %x¥n", Status[2]);
printf("IfPsmGetStatus – Slot4 Module Status %x¥n", Status[3]);
printf("IfPsmGetStatus – Slot5 Module Status %x¥n", Status[4]);
printf("IfPsmGetStatus – Slot6 Module Status %x¥n", Status[5]);
}
3. IfPsm2GetModuleId
【機能】
25スロットFAコントローラの下段に実装されているスロットイン電源モジュールのIDを取得 します。
【書式】
#include “IFDOS.h”
int IfPsm2GetModuleId(
unsigned short *ModuleId );
【パラメータ】
ModuleId スロットイン電源モジュールのIDを格納する変数へのポインタを設定し ます。
配列 説明
ModuleId[0] スロット1のスロットイン電源モジュール種別
ModuleId[1] スロット2のスロットイン電源モジュール種別
ModuleId[2] スロット3のスロットイン電源モジュール種別
ModuleId[3] スロット4のスロットイン電源モジュール種別
ModuleId[4] スロット5のスロットイン電源モジュール種別
ModuleId[5] スロット6のスロットイン電源モジュール種別
配列のインデックス番号は、電源バックプレーン上に記載されているシルク番号(P 番号)と 一致しています。
※ 下記の①~⑥はスロット1~スロット6に対応しています。
製品によって図は異なります。
② ③ ④ ⑤ ⑥
①
ID 型式 説明
05h JPS-2057 DC+12V入力モジュール(絶縁 80W)
06h JPS-2055 DC+24V入力モジュール(絶縁 80W)
08h JPS-2101 ATX出力モジュール(100W)
09h JPS-2001 AC100V/200V入力モジュール(絶縁 130W)
0Ah JPS-2053 DC+100V入力モジュール(絶縁 130W)
0Bh JPS-2051 DC+48V入力モジュール(絶縁 130W)
0Ch JPS-1059 DC+12V/24V入力モジュール(非絶縁 130W)
0Dh JPS-105701 DC12V電源バス専用DC+12V入力モジュール(非絶縁 50W)
0Eh JPS-105501 DC+24V入力モジュール(非絶縁 150W)
0Fh 未実装 スロットイン電源モジュールが実装されていない
【戻り値】
0: 正常終了
-1: 異常終了(SMBusへのアクセスに失敗)
-9: 本関数は DOS System(日本語環境モデル)以外では使用できません。
【備考】
この関数は、25スロットFAコントローラの下段に実装されているスロットイン電源モジュー ルの種別を検出するためのものです。検出されたIDより型式を確認することができます。
25スロットFAコントローラの上段および標準タイプの電源については、IfPsmGetModuleId関 数(関数名に2は付きません)をご使用ください。
なお、各製品の詳細仕様は、弊社Web site(www.interface.co.jp)を参照してください。
【使用例】
int r;
unsigned short ModuleId[6];
r = IfPsm2GetModuleId(ModuleId);
if (r) {
printf("IfPsm2GetModuleId ERROR ¥n");
} else {
printf("IfPsm2GetModuleId – Slot1 Module ID %x¥n", ModuleId[0]);
printf("IfPsm2GetModuleId – Slot2 Module ID %x¥n", ModuleId[1]);
printf("IfPsm2GetModuleId – Slot3 Module ID %x¥n", ModuleId[2]);
printf("IfPsm2GetModuleId – Slot4 Module ID %x¥n", ModuleId[3]);
printf("IfPsm2GetModuleId – Slot5 Module ID %x¥n", ModuleId[4]);
printf("IfPsm2GetModuleId – Slot6 Module ID %x¥n", ModuleId[5]);
}
ModuleId[0]は電源バックプレーン上のシルクP1のスロット番号に対応し、ModuleId[5]がシルク
P6となります。
4. IfPsm2GetStatus
【機能】
25スロットFAコントローラの下段に実装されているスロットイン電源モジュールの状態を取 得します。
【書式】
#include “IFDOS.h”
int IfPsm2GetStatus(
unsigned short *Status );
【パラメータ】
Status ALM信号, FAIL信号の状態を格納する変数へのポインタを設定します。
配列 説明
Status[0] スロット1のスロットイン電源モジュール状態
Status[1] スロット2のスロットイン電源モジュール状態
Status[2] スロット3のスロットイン電源モジュール状態
Status[3] スロット4のスロットイン電源モジュール状態
Status[4] スロット5のスロットイン電源モジュール状態
Status[5] スロット6のスロットイン電源モジュール状態
※ 下記の①~⑥はスロット1~スロット6に対応しています。
製品によって図は異なります。
② ③ ④ ⑤ ⑥
①
状態はビットアサインにて格納されています。
ビット 説 明 0 ALM信号の状態
0:正常, 1:異常 1 FAIL信号の状態
0:正常, 1:異常 2~15 システム予約
※ 各信号の説明は、ご使用のスロットイン電源モジュールのマニュアルを参照してください。
【戻り値】
0: 正常終了
-1: 異常終了(SMBusへのアクセスに失敗)
-9: 本関数は DOS System(日本語環境モデル)以外では使用できません。
【備考】
この関数は、25スロットFAコントローラの下段に実装されているスロットイン電源モジュー ルの状態を検出するためのものです。各スロットに実装されたスロットイン電源モジュール の状態を取得することができます。
25スロットFAコントローラの上段および標準タイプの電源については、IfPsmGetStatus関数 (関数名に2は付きません)をご使用ください。
なお、各製品の詳細仕様は、弊社Web site(www.interface.co.jp)を参照してください。
【使用例】
int r;
unsigned short Status[6];
r = IfPsm2GetStatus(Status);
if (r) {
printf("IfPsm2GetStatus ERROR ¥n");
} else {
printf("IfPsm2GetStatus – Slot1 Module Status %x¥n", Status[0]);
printf("IfPsm2GetStatus – Slot2 Module Status %x¥n", Status[1]);
printf("IfPsm2GetStatus – Slot3 Module Status %x¥n", Status[2]);
printf("IfPsm2GetStatus – Slot4 Module Status %x¥n", Status[3]);
printf("IfPsm2GetStatus – Slot5 Module Status %x¥n", Status[4]);
printf("IfPsm2GetStatus – Slot6 Module Status %x¥n", Status[5]);
}