Comments
Description
Transcript
システム監視ソフトウェア
IFCPMGR.WIN システム監視ソフトウェア 産業用コンピュータ用 Windows ソフトウェア Ver.1.11 Help for Windows www.interface.co.jp Help for Windows 目 第1章 1.1 1.2 導入方法 8 リファレンス 28 サンプルプログラム 152 実行方法 .....................................................................152 コンパイル方法 ...............................................................152 サンプルプログラム一覧 .......................................................153 第6章 6.1 4 設定値一覧 ....................................................................28 関数一覧 ......................................................................30 関数対応一覧 ..................................................................32 関数個別説明 ..................................................................34 コールバック関数 .............................................................148 構造体説明 ...................................................................149 戻り値一覧 ...................................................................151 第5章 5.1 5.2 5.3 製品仕様 インストール手順 ...............................................................8 実行手順 .......................................................................8 第4章 4.1 4.2 4.3 4.4 4.5 4.6 4.7 3 基本仕様 .......................................................................4 製品構成 .......................................................................7 第3章 3.1 3.2 はじめに 概要 ...........................................................................3 特長 ...........................................................................3 第2章 2.1 2.2 次 ユーティリティ 154 Interface Utility ............................................................154 第7章 重要な情報 184 © 2016 Interface Corporation. 2 Help for Windows 第1章 はじめに 1.1 概要 システム監視ソフトウェアは、Windows 上のアプリケーションから、弊社産業用コンピュータを 監視する為のソフトウェアです。 Windows 上のアプリケーションから DLL をダイナミックリンクし、API をコールして使用します。 本ドキュメントは、Windows 上でシステム監視ソフトウェアを使用するための情報を掲載してい ます。 1.2 特長 ●ウォッチドッグタイマ(WDT)の開始、停止、周期の設定をソフトウェア上で自由に設定可能です。 ●WDT が設定した周期時間中にクリアされない場合、CPU リセット、または割り込みイベント通知 のいずれかを選択可能です。 ●CPU コア温度、CPU 基板温度を取得可能です。 ●あらかじめ設定しておいた CPU コア温度上限値、CPU コア温度下限値、CPU 基板温度上限値、CPU 基板温度下限値を超えた場合に割り込みイベントの通知が可能です。 ●電源電圧を取得可能です。 ●あらかじめ設定しておいた電源電圧上限値、電源電圧下限値を超えた場合に割り込みイベント の通知が可能です。 ●温度、電源電圧に対して上限、下限異常の発生から復帰までの範囲(ヒステリシス)が設定可 能です。 ●デジタル入出力機能をサポートします。 ●デジタル入力割り込みイベントが使用できます。 ●ブザーの制御が行えます。 ●エラーLED(※)、アラーム LED の制御が行えます。 ●ひもスイッチを引いた場合の挙動を割り込み通知または電源スイッチに設定できます。 ●XYZ3 軸の加速度センサの値を取得可能です。 ●あらかじめ設定しておいた閾値を超える衝撃が加わった場合に割り込みイベントの通知が可能 です。 ●FAN の回転数を取得可能です。 ●FAN の回転数が低下した場合に割り込みイベントの通知が可能です。 ●マルチプロセスに対応しています。複数のアプリケーションからシステム監視が行えます。 ●WDT、温度監視、電源電圧監視、割り込みイベント通知、デジタル入出力、ひもスイッチ、ブザ ー、LED のサンプルプログラムが付属しています。 ●あらかじめ条件を設定しておくことで、異常時に自動的にデジタル出力、ブザー鳴動、LED 点 灯が可能です。アプリケーションで自由に制御することも可能です。 ●すぐに使えるユーティリティが付属しています。WDT 制御、温度監視、電源電圧監視、FAN 監視、 振動・衝撃監視、ストレージ監視、RAS 通知設定、LED 制御、ブザー制御、デジタル入出力制御、 ひもスイッチ機能設定が簡単に行え、ログの保存も行えます。 ※SuperCD では、エラーLED は警報ランプを指します。 © 2016 Interface Corporation. 3 Help for Windows 第2章 製品仕様 2.1 基本仕様 対応製品 機能 ○ ○ ○ ス リ ム タ 備考 ワーCD ○ ○ ○ ○ ○ − ○ − ○ ○ − ○ − ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ − − − ○ − − − − − − − ○ − ○ ○ ○ ○ ○ − − − − ○ − − ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ SuperCD ウ ォ ッ チ 設定可能周期 1 秒∼255 秒(1 秒単位) ド ッ グ タ 周期満了時のアクシ CPU リセット イマ ョン 割り込みイベント通知 (WDT) 温度監視 CPU コア 状態監視 温度取得 温度 閾値設定 異常上限・下限値 警告上限・下限値 ヒステリシ 異常上限・下限ヒステリシス ス設定 警告上限・下限ヒステリシス CPU 基板 状態監視 温度取得 温度 閾値設定 異常上限・下限値 警告上限・下限値 ヒステリシ 異常上限・下限ヒステリシス ス設定 警告上限・下限ヒステリシス 電 源 電 圧 外部電源 状態監視 電圧値取得 監視 閾値設定 異常上限・下限値 ヒステリシ 異常上限・下限ヒステリシス ス設定 デジタルフ フィルタ値設定 ィルタ設定 振 動 ・ 衝 加速度値取得 3 軸(XYZ) 撃監視 振動衝撃閾値設定 3 軸(XYZ) ヒステリシス設定 3 軸(XYZ) FAN 監視 制御方法 自動 自動制御設定 温度境界設定 速度設定 ス ト レ ー デバイス情報 S.M.A.R.T 情報 ジ監視 ハードウェア RAID RAID ステータス 割 り 込 み 割り込み要因 WDT 周期満了検出 イベント CPU 温度異常上限超え検出 CPU 温度異常下限超え検出 CPU 基板異常温度上限超え検出 CPU 基板異常温度下限超え検出 CPU 温度警告上限超え検出 CPU 温度警告下限超え検出 CPU 基板警告上限超え検出 CPU 基板警告下限超え検出 電源電圧異常検出 FAN1 異常検出 X 軸振動・衝撃異常検出 © 2016 Interface Corporation. 4 Help for Windows 対応製品 機能 SuperCD Y 軸振動・衝撃異常検出 − Z 軸振動・衝撃異常検出 − デジタル入力検出 ○ RAID 異常検出 − ひもスイッチ ○ RAS 通 知 異常 通知条件 WDT 周期満了検出 ○ (※1) 通知 CPU コア温度異常上限超え検出 ○ CPU 温コア度異常下限超え検出 ○ CPU 基板異常温度上限超え検出 ○ CPU 基板異常温度下限超え検出 ○ 電源電圧異常検出 ○ FAN 異常検出 − 振動・衝撃異常検出 − RAID 異常検出 − 通知方法 デジタル出力 ○ ブザー ○ エラーLED(※2) ○ 警告 通知条件 CPU コア温度警告上限超え検出 − 通知 CPU コア温度警告下限超え検出 − CPU 基板温度警告上限超え検出 − CPU 基板温度警告下限超え検出 − 通知方法 アラーム LED − ス テ ー タ 制御ステータスの取 WDT 稼動状態 ○ ス取得 得 ブザー制御状態 ○ エラーLED 制御状態 ○ アラーム LED 制御状態 − デジタル出力接点制御状態 ○ エラーステータスの CPU コア温度上限超え異常 ○ 取得 CPU コア温度下限超え異常 ○ CPU 基板温度上限超え異常 ○ CPU 基板温度下限超え異常 ○ 電源電圧異常 ○ FAN 異常 − 振動・衝撃異常 − RAID 異常 − アラームステータス CPU コア温度上限超え警告 − の取得 CPU コア温度下限超え警告 − CPU 基板温度上限超え警告 − CPU 基板温度下限超え警告 − デ ジ タ ル デジタル出力 デジタル出力 4 点制御 ○ 入出力 デジタル入力 デジタル入力 4 点読込 ○ 機能設定 ○ スイッチ ひもスイッチ 状態取得 ○ 機能設定 ○ ブザー ブザー 制御 ON/OFF ○ © 2016 Interface Corporation. 5 ス リ ム タ 備考 ワーCD ○ ○ ○ ○ − ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ − − ○ Help for Windows 対応製品 機能 SuperCD LED エラー 制御 ON/OFF LED(※2) 設定 点灯パターン アラーム 制御 ON/OFF LED 設定 点灯パターン ※1 異常発生時の自動通知機能。 ※2 SuperCD では、エラーLED は警報ランプを指します。 ○ ○ − − © 2016 Interface Corporation. 6 ス リ ム タ 備考 ワーCD ○ ○ ○ ○ Help for Windows 2.2 製品構成 製品構成 最新情報ドキュメント インストールプログラム サンプルプログラム ファイル名 README.HTM SETUP.EXE wdt temperature power fanrotate gsense event dio diconfig rasnotify errorled alarmled buzzer himoswitch selftest ユーティリティプログラ IFUtil.exe ム IF*.DLL IF*.ini DLL IFCPMGR.DLL IFCPMGR.LIB デバイスドライバ IFCPMGR.SYS ヘッダファイル IFCPMGR.H ヘルプ HELP.PDF 説明 最新ドキュメント掲載ファイル インストール用ファイル WDT サンプルプログラム 温度監視サンプルプログラム 電源電圧監視サンプルプログラム FAN 回転数監視サンプルプログラム 振動・衝撃監視サンプルプログラム WDT 割り込みイベント通知サンプルプログラム 汎用デジタル入出力サンプルプログラム デジタル入力接点機能設定サンプルプログラム RAS 通知設定サンプルプログラム エラーLED 制御サンプルプログラム アラーム LED 制御サンプルプログラム ブザー制御サンプルプログラム ひもスイッチ監視サンプルプログラム 自己診断サンプルプログラム Interface Utility Interface Utility のライブラリ Interface Utility の設定情報ファイル ダイナミックリンクライブラリファイル インポートライブラリファイル Windows 2000 以降の OS 用ドライバ Visual C++用ヘッダファイル ヘルプ(PDF 形式) © 2016 Interface Corporation. 7 Help for Windows 第3章 導入方法 3.1 インストール手順 README.HTM のインストール方法を参照してください。 3.2 実行手順 基本的な制御の手順は以下の通りです(記述例は C 言語です)。 ※ご利用の製品により対応していない機能が含まれます。『2.1基本仕様』をご参照ください。 ※各機能の初期値(出荷時設定値)はご使用の製品の USER’S MANUAL をご参照ください。 3.2.1 WDT 下記の流れで WDT を使用します。 1.WDT の周期、周期満了アクション(CPU リセット、または割り込みイベント通知)を設定。 2.WDT 開始。 3.指定した周期に達する前に WDT クリア。 WDTの周期、周期満了アクションの設定は、CmSetWDTConfig関数で行います。 UINT Ret; // 50 秒間クリアされなければ CPU リセットを行う Ret = CmSetWDTConfig(50, CM_WDT_ACT_RESET); WDTの開始は、CmStartWDT関数で行います。 Ret = CmStartWDT(); WDTのクリアは、CmClearWDT関数で行います。 Ret = CmClearWDT(); WDTの使用を停止する場合は、CmStopWDT関数を実行してください。 Ret = CmStopWDT(); WDT周期満了時、CPUリセットの他に、割り込みイベントを通知することができます。詳細は『3.2.7 割り込みイベント』をご参照ください。 WDT の割り込みイベントと CPU リセットの用途は下記を参考にしてください。 WDT 処理 用途 割り込み アプリケーションの動作異常によるプロセス停止検出を目的としています。 アプリケーションとは別に監視プロセスを作成し、アプリケーションで WDT イベント の周期的クリアを実行します。監視プロセスには WDT 割り込みイベントを登 録しておきます。 もしアプリケーションに異常が生じて WDT クリアが途絶えた場合、監視プロ セスに割り込みイベントが発生し、アプリケーションの異常を検知できます。 CPU リセット システム(OS)のフリーズ等からの自動復旧を目的としています。 © 2016 Interface Corporation. 8 Help for Windows 3.2.2 温度監視 CPU コア温度と、CPU 基板温度を取得することができます。 いずれもCmGetTemp関数を使用します。 UINT Ret; INT CpuTemp; INT BrdTemp; // CPU コア温度の取得 Ret = CmGetTemp(CM_TEMP_TARGET_CPU, &CpuTemp); // CPU 基板温度の取得 Ret = CmGetTemp(CM_TEMP_TARGET_BRD, &BrdTemp); 取得値は負数になることもあります。単位は℃になります。 温度の上限と下限を設定することで、その範囲を超えた場合に、割り込みイベントを通知するこ とができます。詳細は『3.2.7 割り込みイベント』をご参照ください。 温度上限、下限異常の発生から復帰までの範囲(ヒステリシス)を設定することができます。 設定した値は次回起動時も保持されます。 ※ヒステリシスの変更は API から変更を行います。 温度上限異常の場合は以下の図のようになります。 ℃ UpperLimit UHysteresis 温度異常期間 t 温度下限異常の場合は以下の図のようになります。 ℃ LHysteresis LowerLimit 温度異常期間 t © 2016 Interface Corporation. 9 Help for Windows 閾値の設定をするにはCmSetTempLimit関数を使用します。 UINT ret; // CPU コア温度の温度上限、下限異常検出の閾値とヒステリシスを設定 ret = CmSetTempLimit(CM_TEMP_TARGET_CPU, 60, 80, 5, 5); if (ret != IFCM_ERROR_SUCCESS) { printf(”CmSetTempLimit error (ret:%x)”, ret); } 温度警告検知をサポートしている製品では温度警告上限値、下限値、ヒステリシスを設定できま す。 設定は、CmSetTempUpperLimit関数、CmSetTempLowerLimit関数を使用します。 UINT ret; // CPU コア温度の温度上限警告、上限異常の閾値とヒステリシスを設定 ret = CmSetTempUpperLimit(CM_TEMP_TARGET_CPU, 60, 80, 5, 5); if (ret != IFCM_ERROR_SUCCESS) { printf(”CmSetTempUpperLimit error (ret:%x)”, ret); } // CPU コア温度の温度下限警告、下限異常の閾値とヒステリシスを設定 ret = CmSetTempLowerLimit(CM_TEMP_TARGET_CPU, 10, 0, 5, 5); if (ret != IFCM_ERROR_SUCCESS) { printf(”CmSetTempLowerLimit error (ret:%x)”, ret); } © 2016 Interface Corporation. 10 Help for Windows 3.2.3 電源電圧監視 電源電圧を取得することができます。 CmGetPower関数を使用します。 UINT Ret; float Power; // 電源電圧の取得 Ret = CmGetPower(CM_POWER_TARGET_EXT, &Power); 電源の電圧が異常を示した際に割り込みイベントを通知することができます。詳細は『3.2.7 割 り込みイベント』をご参照ください。 電源電圧上限、下限異常の発生から復帰までの範囲(ヒステリシス)を設定することができます。 設定した値は次回起動時も保持されます。 ※ ヒステリシスの変更は API から変更を行います。 電源電圧上限異常の場合は以下の図のようになります。 V UpperLimit UHysteresis 電源電圧異常期間 t 電源電圧下限異常の場合は以下の図のようになります。 V LHysteresis LowerLimit 電源電圧異常期間 t 閾値の設定をするにはCmSetPowerLimit関数を使用します。 UINT ret; // 電源電圧上限、下限異常検出の閾値とヒステリシスを設定 ret = CmSetPowerLimit(CM_POWER_TARGET_EXT, 30, 170, 0, 0); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmSetPowerLimit error (ret:%x)”, ret); } © 2016 Interface Corporation. 11 Help for Windows デジタルフィルタ値を設定できます。 設定した期間異常が継続した場合に異常を検知します。 設定はCmSetDigitalFilter関数で行います。 UINT ret; // デジタルフィルタ値を 5 ミリ秒に設定 ret = CmSetDigitalFilter(CM_POWER_TARGET_EXT, 5); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmSetDigitalFilter error (ret:%x)”, ret); } 3.2.4 FAN 監視 FAN の回転数を取得することができます。 CmGetFanRotate関数を使用します。 UINT ret; UINT Rotate; // FAN1 の回転数を取得 ret = CmGetFanRotate(CM_FAN_TARGET_FAN1, &Rotate); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetFanRotate error (ret:%x)”, ret); } 回転数は毎分の回転数(rpm)で取得できます。 回転数が閾値を下回った場合に割り込みイベントを通知することができます。詳細は『3.2.7 割 り込みイベント』をご参照ください。 FAN の回転数は CPU コア温度に応じて自動で制御されます。 以下の図のように変化します。 ℃ MaxThreshold HighThreshold LowThreshold LowSpeed MidSpeed HighSpeed MaxSpeed t 自 動 制 御 の 温 度 閾 値 (LowThreshold, HighThreshold) と 回 転 速 度 (LowSpeed, MidSpeed, HighSpeed)を設定できます。 ※MaxThreshold と MaxSpeed は固定値となります。 © 2016 Interface Corporation. 12 Help for Windows 設定はCmSetFanAutoThreshold関数とCmSetFanAutoSpeed関数で行います。 UINT ret; // FAN 自動制御の閾値を設定 ret = CmSetFanAutoThreshold(CM_FAN_TARGET_FAN1, 20, 70); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmSetFanAutoThreshold error (ret:%x)”, ret); } // FAN 自動制御の速度を設定 ret = CmSetFanAutoDuty(CM_FAN_TARGET_FAN1, 30, 50, 80); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmSetFanAutoDuty error (ret:%x)”, ret); } ※MaxThreshold、HighThreshold、LowThreshold には、-3℃のヒステリシス(固定値)が設定され ています。 CPU コア温度が HighThreshold を超えて FAN の回転数が HighSpeed となった場合、HighThreshold よりも 3℃下回れば十分冷却されたとみなして FAN の回転数は MidSpeed となります。 3.2.5 振動・衝撃監視 製品に搭載されている加速度センサから値を取得できます。 CmGetGSense関数を使用します。 UINT ret; UINT Data; // X 軸方向の加速度センサ値を取得します。 ret = CmGetGSense(CM_GSENSE_TARGET_SENSOR1, CM_GSENSE_AXIS_X, &Data); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetGSense error (ret:%x)”, ret); } ここで得られる値は加速度センサの生の値となります。下記の式で重力加速度値へ変換できます。 G= (x × 0.01289) − 1.5 0.42 ここで、 G: 重力加速度値 x: 取得値 1 秒間の加速度の最大値と最小値の差が閾値を超えた場合に割り込みイベントを通知することが できます。詳細は『3.2.7 割り込みイベント』をご参照ください。 © 2016 Interface Corporation. 13 Help for Windows 閾値及びヒステリシスは 1(0.03G)刻みで各方向ごとに指定することができます。 設定には、CmSetGSenseLimit関数を使用します。 UINT ret; // X 軸方向の閾値とヒステリシスの設定 ret = CmSetGSenseLimit(CM_GSENSE_TARGET_SENSOR1, CM_GSENSE_AXIS_X, 10, 5); if (ret != IFCM_ERROR_SUCCESS) { printf(”CmSetGSenseLimit error (ret:%x)”, ret); } 3.2.6 ストレージ監視 RAID 状態の取得ができます。 CmGetRaidStatus関数を使用します。 UINT ret; UINT Data; // RAID 状態を取得します。 ret = CmGetRaidStatus(CM_RAID_TARGET_TYPE1, &Data); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetRaidStatus error (ret:%x)”, ret); } CM_RAID_TARGET_TYPE1 を指定した場合、SVRC-C600SA(RAID ボード)のステータスの取得が行えま す。取得できるステータスは以下の通りです。 値 内容 0 通常動作 1 ドライブ 1 異常 2 ドライブ 2 異常 3 データ再構築(コピー)中 4 システム・ホルト 5 HDD2→HDD1 へのデータ再構築(コピー)中にスキップ・リコン(※1)発生 6 HDD1→HDD2 へのデータ再構築(コピー)中にスキップ・リコン(※1)発生 ※1 データ再構築(コピー)中に、コピー元のドライブに読み込み異常が発生すると、RAID ボード はその異常が発生した部分をスキップして処理を継続します。この操作をスキップ・リコンを呼 びます。 RAID異常(上記表の値 1、2、4、5、6 いずれか)の発生時に割り込み通知を行うことができます。 詳細は『3.2.7 割り込みイベント』をご参照ください。 © 2016 Interface Corporation. 14 Help for Windows ストレージのデバイス情報、S.M.A.R.T 情報、S.M.A.R.T 情報の閾値を取得できます。 CmGetDeviceIdentify関数、CmGetSmartAttribute関数、CmGetSmartThreshold関数を使用します。 UINT ret; UCHAR Identify[512]; UCHAR Attribute[512]; UCHAR Threshold[512]; // デバイス情報を取得します。 ret = CmGetDeviceIdentify(0, CM_TARGET_DEVICE_NORMAL, Identify); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetDeviceIdentify error (ret:%x)”, ret); } // S.M.A.R.T 情報を取得します。 ret = CmGetSmartAttribute(0, CM_TARGET_DEVICE_NORMAL, Attribute); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetSmartAttribute error (ret:%x)”, ret); } // S.M.A.R.T 情報の閾値を取得します。 ret = CmGetSmartThreshold(0, CM_TARGET_DEVICE_NORMAL, Threshold); if (ret != IFCM_ERROR_SUCCESS) { printf(” CmGetSmartThreshold error (ret:%x)”, ret); } CmGetDeviceIdentify関数により取得できる 512byteのデバイス情報(Identify)はATAコマンドの Identify Deviceコマンドにより取得できる情報になります。この情報の中にはシリアルナンバー やモデル名、対応機能等の情報が含まれており、解析を行うことで使用しているデバイスの詳細 な情報が得られます。 CmGetSmartAttribute関数により取得する 512byteの属性情報(Attribute)は、デバイスの自己診 断に関する情報が含まれており、解析を行うことで使用しているデバイスの健康状態の確認がで きます。 CmGetSmartThreshold関数により取得する 512byteの閾値 (Threshold)は、属性情報(Attribute) に対する閾値が記録されています。 ※デバイスのメーカーにより、取得できる S.M.A.R.T 情報や診断の項目、基準は異なります。 S.M.A.R.T 情報の各項目の意味については、ご使用のデバイスのデータシートや、メーカーへ お問い合わせください。 © 2016 Interface Corporation. 15 Help for Windows 取得した情報は以下の様に解析を行うことで各種情報を抽出できます。 UINT ret; UINT i; UCHAR Identify[512]; UCHAR Attribute[512]; UCHAR Threshold[512]; UCHAR SerialNumber[21]; UCHAR ModelName[41]; // 各データの取得 CmGetDeviceIdentify(1, CM_TARGET_DEVICE_NORMAL, Identify); CmGetSmartAttribute(1, CM_TARGET_DEVICE_NORMAL, Attribute); CmGetSmartThreshold(1, CM_TARGET_DEVICE_NORMAL, Threshold); // シリアルナンバーを抽出 for(i=0; i<20;i+=2){ SerialNumber[i] = Identify[20+i+1]; SerialNumber[i+1] = Identify[20+i]; } SerialNumber[20] = '¥0'; // モデル名を抽出 for(i=0; i<40;i+=2){ ModelName[i] = Identify[54+i+1]; ModelName[i+1] = Identify[54+i]; } ModelName[40] = '¥0'; // シリアルナンバー、モデル名を表示 printf("SerialNumber : %s¥n", SerialNumber); printf("ModelName : %s¥n", ModelName); // S.M.A.R.T 情報の属性値と閾値を表示 printf(" ID¥tFlag¥tValue¥tWorst¥tThreshold¥tRaw¥n"); printf("-------------------------------------------------¥n"); for(i=2;i<(2+12*30);i+=12){ printf("%02x¥t", Attribute[i+0]); // ID printf("%02x%02x¥t", Attribute[i+2],Attribute[i+1]); // Flag printf("%02x¥t", Attribute[i+3]); // Value printf("%02x¥t", Attribute[i+4]); // Worst printf("%02x¥t", Threshold[i+1]); // Threshold printf("%02x%02x%02x%02x%02x%02x", // Raw Attribute[i+10], Attribute[i+9], Attribute[i+8], Attribute[i+7], Attribute[i+6], Attribute[i+5] ); printf("¥n"); } © 2016 Interface Corporation. 16 Help for Windows 3.2.7 割り込みイベント 割り込みイベントは下記の流れで使用します。 1.各割り込みイベントの条件(WDT 周期、温度上限、下限等)を設定します。 2.割り込みイベント(シグナルイベント、メッセージ、コールバック関数等)を登録します。 3.割り込みイベントマスクを設定し、イベントを有効化します。 上記を行った後、割り込みイベント要因が満たされれば、割り込みイベントが通知されます。 割 り 込 み イ ベ ン ト の 登 録 は CmSetEvent 関 数 で 行 い 、 割 り 込 み イ ベ ン ト マ ス ク の 設 定 は CmSetEventMask関数で行います。 イベント発生時にコールバック関数が呼び出される設定例を下記に示します。 (WDT、CPU コア温度上限、CPU コア温度下限、電源電圧異常を有効にします。) // コールバック関数 void CALLBACK UserCallback(PVOID User) { UINT Ret; UINT Factor; // イベント要因取得 Ret = CmGetEventFactor(&Factor); // イベントごとの処理 … } int main(void) { UINT Ret; CM_EVENT_REQ EventReq; // CPU コア温度下限(0℃)、上限(50℃)設定 Ret = CmSetTempLimit(CM_TEMP_TARGET_CPU, 0, 50, 0, 0); // イベント登録 ZeroMemory(&EventReq, sizeof(CM_EVENT_REQ)); EventReq.CallBackProc = (LPCMCALLBACK)UserCallback; Ret = CmSetEvent(&EventReq); // イベントマスク設定(WDT、CPU コア温度上限・下限、電源電圧設定) Ret = CmSetEventMask(CM_EVENT_WDS │ CM_EVENT_CPTHS │ CM_EVENT_CPTLS │ CM_EVENT_VEXTA); … } © 2016 Interface Corporation. 17 Help for Windows 割り込みイベントの使用終了時は、割り込みマスク設定でイベントを無効化し、CmSetEventMask関 数でイベント要因をクリアし、CmKillEvent関数で割り込みイベントを解除してください。 UINT Ret; UINT Factor; // 全割り込みを無効化 Ret = CmSetEventMask(0); // イベント要因クリア Ret = CmGetEventFactor(&Factor); // 割り込みの解除 Ret = CmKillEvent(); 3.2.8 RAS 通知 異常検知時に、RAS 出力(デジタル出力)、ブザー、LED により通知を行うことができます。 あらかじめ RAS 通知を行う異常検知の種類と通知方法を設定しておくことで、異常検知時に自動 的に通知を行います。 設定は、CmSetRasNotify関数で行います。 UINT Ret; // デジタル出力接点 1∼4 を OFF 状態で初期化 Ret = CmOutputUP(0); // WDT タイマ異常時にデジタル出力接点 1 を ON にするように設定 Ret = CmSetRasNotify(CM_RAS_ENABLE_DOUT1, CM_RAS_COND_WDS, CM_RAS_DO_ON); // CPU 基板温度異常時にデジタル出力接点 2 を ON にするように設定 Ret = CmSetRasNotify(CM_RAS_ENABLE_DOUT2, CM_RAS_COND_LCTHS │ CM_RAS_COND_LCTLS, CM_RAS_DO_ON); // 電源電圧異常時にブザーを ON にするように設定 Ret = CmSetRasNotify(CM_RAS_ENABLE_BUZZER, CM_RAS_COND_VEXTA, 0); CmOutputUP関数により、アプリケーションで自由にデジタル出力を制御することも可能です。詳 細は『3.2.12デジタル入出力』をご参照ください。 Interface UtilityやCmSetRasNotify関数でRAS通知方法及び条件を設定した場合、次回起動時も その設定を保持します。 © 2016 Interface Corporation. 18 Help for Windows 3.2.9 LED LED の点灯パターンを設定することができます。 設定は、CmSetPatternNoticeLed関数で行います。 UINT Ret; // エラーLED の点灯パターンを設定 Ret = CmSetPatternNoticeLed(CM_LED_TARGET_ERRLED, CM_LED_PATTERN1); 点灯パターンは以下を設定可能です。 パターン LED の動作 1 常時点灯します。 2 1 秒周期で点滅します。 点灯 消灯 1.0秒 3 1.0秒 1.0秒 0.5 秒周期で点滅します。 点灯 消灯 0.5秒 4 0.5秒 0.5秒 0.5秒 0.5秒 0.5秒 0.5秒 0.2 秒周期で点滅します。 点灯 消灯 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 © 2016 Interface Corporation. 19 Help for Windows あらかじめLEDを点灯制御させる条件を設定しておくことで、異常検知時に自動的にLEDを制御さ せることができます。設定は、CmSetRasNotify関数で行います。 UINT Ret; // あらかじめ LED を消灯 Ret = CmControlNoticeLed(0); // WDT タイマ異常時に LED を点灯させるように設定 Ret = CmSetRasNotify(CM_RAS_ENABLE_ERRLED, CM_RAS_COND_WDS, 0); CmControlNoticeLed関数により、アプリケーションで自由にLEDを制御することも可能です。 異常検知時に自動でLEDが制御開始した場合、CmControlNoticeLed関数でLEDを停止しても、異常 状態が続いていれば再度制御します。 異常が続いている状態でLEDを停止させたい場合は、CmSetRasNotify関数で一旦自動LED制御を無 効化してからCmControlNoticeLed関数でLEDを停止してください。 ま た 、 異 常 復 旧 後 も LED は 自 動 で 停 止 し ま せ ん 。 停 止 さ せ た い 場 合 、 Inteface Utility や CmControlNoticeLed関数で停止させてください。 © 2016 Interface Corporation. 20 Help for Windows 3.2.10 ブザー あらかじめブザーをONさせる条件を設定しておくことで、異常検知時に自動的にブザーをONさせ ることができます。設定は、CmSetRasNotify関数で行います。 UINT Ret; // あらかじめブザーを OFF Ret = CmControlBuzzer(0); // WDT タイマ異常時にブザーが ON するように設定 Ret = CmSetRasNotify(CM_RAS_ENABLE_BUZZER, CM_RAS_COND_WDS, 0); CmControlBuzzer関数により、アプリケーションで自由にブザーを制御することも可能です。 異常検知時に自動でブザーがONした場合、CmControlBuzzer関数でブザーをOFFしても、異常状態 が続いていれば再度ブザーがONします。 異常が続いている状態でブザーをOFFしたい場合は、CmSetRasNotify関数で一旦ブザーを無効化し てからCmControlBuzzer関数でブザーをOFFしてください。 また、異常復旧後もブザーは自動でOFFしません。停止させたい場合、Inteface Utilityや CmControlBuzzer関数で停止させてください。 © 2016 Interface Corporation. 21 Help for Windows 3.2.11 ひもスイッチ ひもスイッチを引いた際に割り込み通知が行えます。詳細は『3.2.7 割り込みイベント』をご参 照ください。 ひもスイッチによる割り込み通知はひもを引いた瞬間に行われます。 ひもスイッチは現在スイッチを引かれているか放されているかのステータスを取得することがで きます。ステータスはCmGetHimoSwitchStatus関数で確認でき、引かれている場合は 1、放されて いる場合は 0 のステータスが取得できます。 割り込み通知は以下のタイミングで発生します。 ひもスイッチのステータス 割り込み通知 割り込み通知 1 0 ひもを放した状態 ひもを引いた状態 ひもを引いた ひもを放した状態 ひもを放した ステータスのポーリングによる使用例を下記に示します。 //ひもスイッチが引かれている場合ブザーを鳴らす例 int main(void) { UINT Ret; UINT Status; // あらかじめブザーをオフ CmControlBuzzer(0); // ひもスイッチの状態をポーリング while(1){ // ひもスイッチの状態を取得 Ret = CmGetHimoSwitchStatus(&Status); if(Status){ // ひもスイッチが引かれているならブザーオン CmControlBuzzer(1); }else{ // ひもスイッチが放されているならブザーオフ CmControlBuzzer(0); } ... } © 2016 Interface Corporation. 22 ひもを引いた状態 ひもを引いた Help for Windows 割り込み通知を使用した例を下記に示します。 // ひもスイッチを一度引くとブザーをオンにし、もう一度引くとオフにする例 // コールバック関数 void CALLBACK UserCallback(PVOID User) { UINT Ret; UINT Factor; UINT Status; // イベント要因取得 Ret = CmGetEventFactor(&Factor); // イベント要因がひもスイッチかチェック if(Factor & CM_EVENT_HIMO_SWITCH){ // 制御ステータスを取得 Ret = CmGetControlStatus(&Status); // 現在ブザーがオンならオフに、オフならオンにする if(Status & CM_STATUS_BUZZER){ CmControlBuzzer(0); }else{ CmControlBuzzer(1); } } } int main(void) { UINT Ret; CM_EVENT_REQ EventReq; // イベント登録 ZeroMemory(&EventReq, sizeof(CM_EVENT_REQ)); EventReq.CallBackProc = (LPCMCALLBACK)UserCallback; Ret = CmSetEvent(&EventReq); // イベントマスク設定(ひもスイッチ設定) Ret = CmSetEventMask(CM_EVENT_HIMO_SWITCH); … } © 2016 Interface Corporation. 23 Help for Windows ひもスイッチは設定を行うことで電源スイッチとして利用することもできます。 設定はCmGetHimoSwitchStatus関数で行います。 UINT ret; //ひもスイッチを電源スイッチに設定 ret = CmSetHimoSwitchConfig(CM_HIMO_SWITCH_POW_SWITCH); if (ret != IFCM_ERROR_SUCCESS) { printf(”CmSetHimoSwitchConfig error (ret:%x)”, ret); } 設定は次回の起動後から有効になります。 ひもスイッチの状態確認や設定はInterface Utilityでも行うことができます。詳細は『6.1.3.8 Switch』をご参照ください。 © 2016 Interface Corporation. 24 Help for Windows 3.2.12 デジタル入出力 デジタル入出力制御を行うことができます。デジタル出力は RAS 出力と兼用となります。 デジタル出力を行うにはCmOutputUP関数を使用します。 int main() { UINT Ret; // デジタル出力接点 1∼4 を ON Ret = CmOutputUP(0x01 │ 0x02 │ 0x04 │ 0x08); // 全点 OFF Ret = CmOutputUP(0); } CmInputUP関数でデジタル入力接点の状態を確認できます。 int main() { UINT Ret; UINT Data; // デジタル入力端子の状態を取得 Ret = CmInputUP(&Data); } デジタル入力 1(DIN1)を電源スイッチに設定することができます。 設定はCmSetDIConfig関数で行います。 int main() { UINT Ret; // デジタル入力 1 を電源 ON/OFF スイッチに設定 Ret = CmSetDIConfig(CM_DI_TARGET_DIN1, CM_DICONF_POW_SWITCH); } デジタル入力 1 を電源スイッチに設定してもデジタル入力 2∼4 は汎用入力として使用可能です。 デジタル入力された際に割り込みイベントを通知することができます。詳細は『3.2.7 割り込み イベント』をご参照ください。 © 2016 Interface Corporation. 25 Help for Windows 異常検知時に自動でデジタル出力制御が行われた場合、CmOutputUP関数で制御を行っても異常状 態が続いていれば再度自動制御が行われます。 例えば、異常検知時にデジタル出力をONにする設定をしていた場合、異常発生時に出力がONとな った後にCmOutputUP関数で出力をOFFにしても異常が継続中であれば自動でONとなります。 異常が続いている状態でデジタル出力を制御したい場合は、CmSetRasNotify関数で一旦自動デジ タル出力制御を無効化してから制御を行ってください。 また、異常復旧後もデジタル出力は自動で停止しません。停止させたい場合、Inteface Utility やCmOutputUP関数で停止させてください。 © 2016 Interface Corporation. 26 Help for Windows 3.2.13 自己診断機能 システムの稼動状態を診断し、現在異常が発生していないか確認が行えます。 CmGetErrorStatus関数を使用します。 int main(void) { UINT Ret; UINT Status // 異常状態ステータスを取得 Ret = CmGetErrorStatus(&Status); if(Status & CM_ERROR_CPTHS){ printf(“CPU TEMP UPPER ERROR¥n”); } if(Status & CM_ERROR_CPTLS){ printf(“CPU TEMP LOWER ERROR¥n”); } … } ※温度や電源電圧などの各種異常は、API もしくは Interface Utility で設定した閾値に依存し ます。設定されている閾値が適切でない場合、正しい自己診断結果とならない可能性がありま す。 © 2016 Interface Corporation. 27 Help for Windows 第4章 リファレンス 4.1 設定値一覧 各製品の出荷時設定は USER'S MANUAL をご参照ください。 機能 設定可能範囲 ウォッチドッグ 周期 1∼255(秒) タイマ(WDT) アクション 0(割り込み)または 1(CPU リセット) -60≦異常下限<警告下限<警告上限< 温度監視 CPU コア 異常上限値 異常上限≦125(℃) 温度 異常下限値 警告上限値 警告下限値 0∼15(℃) 異常上限ヒステリシス 異常下限ヒステリシス 警告上限ヒステリシス 警告下限ヒステリシス -60≦異常下限<警告下限<警告上限< CPU 基板 異常上限値 異常上限≦125(℃) 温度 異常下限値 警告上限値 警告下限値 0∼31(℃) 異常上限ヒステリシス 異常下限ヒステリシス 警告上限ヒステリシス 警告下限ヒステリシス 外部電源 電圧上限値 25(5.5V)∼170(37.4V) 電源電圧監視 電圧下限値 0∼255(56.1V) 電圧上限ヒステリシス 電圧下限ヒステリシス 電圧デジタルフィルタ値 0∼255(ミリ秒) 固定値 AC/DC 電圧上限値 USER'S MANUAL をご参照ください。 電源 電圧下限値 電圧上限ヒステリシス 電圧下限ヒステリシス 電圧デジタルフィルタ値 FAN 監視 回転数閾値 固定値 USER'S MANUAL をご参照ください。 -60≦低温閾値<高温閾値≦125(℃) 自動制御 温度閾値(高温) 温度閾値(低温) 速度(高速) 30∼100(%) 速度(中速) 速度(低速) 振動・衝撃 振動・衝撃閾値 0∼100(3G) 監視 振動・衝撃ヒステリシス 0∼100(3G) 割り込み イベントマスク値 『31 CmSetEventMask』をご参照くだ イベント さい。 デジタル入出力 デジタル入力 1(DIN1)の機能 0(汎用入力)または 1(電源スイッチ) © 2016 Interface Corporation. 28 Help for Windows 機能 RAS 通知 LED スイッチ ブザー通知 エラーLED 通知 アラーム LED 通知 デジタル出力 1(DOUT1)通知 デジタル出力 1(DOUT1)制御 デジタル出力 2(DOUT2)通知 デジタル出力 2(DOUT2)制御 デジタル出力 3(DOUT3)通知 デジタル出力 3(DOUT3)制御 デジタル出力 4(DOUT4)通知 デジタル出力 4(DOUT4)制御 エラーLED 点灯パターン アラーム LED 点灯パターン ひもスイッチの機能 設定可能範囲 『42 CmSetRasNotify』をご参照くだ さい。 0∼3(パターン 1∼4) 0(汎用スイッチ)または 1(電源スイ ッチ) WDT と割り込みイベントのマスク値を除き、各設定値は関数や Interface Utility で設定した際 に基板上の ROM に保存され、次回起動時にも値が保持されます。WDT と割り込みイベントのマス ク値は OS 起動ごとに初期値に戻ります。 © 2016 Interface Corporation. 29 Help for Windows 4.2 関数一覧 No 関数名 ●WDT 1 CmSetWDTConfig 2 CmGetWDTConfig 3 CmStartWDT 4 CmStopWDT 5 CmClearWDT ●温度監視 6 CmGetTemp 7 CmSetTempLimit 8 CmGetTempLimit 9 CmSetTempUpperLimit 10 CmGetTempUpperLimit 11 CmSetTempLowerLimit 12 CmGetTempLowerLimit ●電源監視 13 CmGetPower 14 CmSetPowerLimit 15 CmGetPowerLimit 16 CmSetDigitalFilter 17 CmGetDigitalFilter ●FAN 監視 18 CmGetFanRotate 19 CmSetFanAutoThreshold 20 CmGetFanAutoThreshold 21 CmSetFanAutoSpeed 22 CmGetFanAutoSpeed ●振動・衝撃監視 23 CmGetGSense 24 CmSetGSenseLimit 25 CmGetGSenseLimit ●ストレージ監視 26 CmGetDeviceIdentify 27 CmGetSmartAttribute 28 CmGetSmartThreshold ●割り込みイベント 29 CmSetEvent 30 CmKillEvent 31 CmSetEventMask 32 CmGetEventMask 33 CmGetEventFactor ●ステータス 34 CmGetControlStatus 35 CmGetErrorStatus 機能 WDT の周期、周期満了時のアクション設定を行います。 WDT の周期、周期満了時のアクションの取得を行います。 WDT を開始します。 WDT を停止します。 WDT のクリアを行います。 指定対象の温度を取得します。 温度異常上限、下限及びヒステリシスを設定します。 温度異常上限、下限及びヒステリシスを取得します。 温度警告と温度異常検出の上限値及びヒステリシスを設定します。 温度警告と温度異常検出の上限値及びヒステリシスを取得します。 温度警告と温度異常検出の下限値及びヒステリシスを設定します。 温度警告と温度異常検出の下限値及びヒステリシスを取得します。 電源電圧を取得します。 電源電圧の上限、下限及びヒステリシスを設定します。 電源電圧の上限、下限及びヒステリシスを取得します。 電源電圧異常検出時のデジタルフィルタを設定します。 電源電圧異常検出時のデジタルフィルタを取得します。 FAN の回転数を取得します。 FAN 自動制御の温度閾値を設定します。 FAN 自動制御の温度閾値を取得します。 FAN 自動制御の速度を%で設定します。 FAN 自動制御の速度設定値(%)を取得します。 指定対象の加速度センサ値を取得します。 振動・衝撃異常検出の閾値を設定します。 振動・衝撃異常検出の閾値を取得します。 デバイス情報を取得します。 デバイスの S.M.A.R.T 情報を取得します。 デバイスの S.M.A.R.T 情報の閾値を取得します。 割り込みイベントを登録します。 割り込みイベントを削除します。 割り込みイベントマスクを設定します。 割り込みイベントマスクを取得します。 割り込みイベント要因を取得します。 現在の制御状態を取得します。 現在発生中の異常状態を取得します。 © 2016 Interface Corporation. 30 Help for Windows No 関数名 36 CmGetAlarmStatus 37 CmGetRaidStatus ●デジタル入出力 38 CmInputUP 39 CmOutputUP 40 CmSetDIConfig 41 CmGetDIConfig ●RAS 通知 42 CmSetRasNotify 43 CmGetRasNotify ●LED 制御 44 CmControlNoticeLed 45 CmSetPatternNoticeLed 46 CmGetPatternNoticeLed ●ブザー制御 47 CmControlBuzzer ●スイッチ 48 CmGetHimoSwitchStatus 49 CmSetHimoSwitchConfig 50 CmGetHimoSwitchConfig ●製品情報 51 CmGetFirmwareVersion 機能 現在発生中の警告状態を取得します。 RAID ステータスを取得します。 デジタル入力接点の状態を取得します。 デジタル出力接点を制御します。 デジタル入力接点の機能を設定します。 デジタル入力接点の設定を取得します。 RAS 通知の通知方法、通知条件、異常時のデジタル出力状態を設定します。 RAS 通知の通知方法、通知条件、異常時のデジタル出力状態を取得します。 LED を制御します。 LED の点灯パターンを設定します。 LED の点灯パターンを取得します。 ブザーを制御します。 ひもスイッチの状態を取得します。 ひもスイッチの機能を設定します。 ひもスイッチの機能を取得します。 ファームウェアバージョンを取得します。 © 2016 Interface Corporation. 31 Help for Windows 4.3 関数対応一覧 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 関数名 CmSetWDTConfig CmGetWDTConfig CmStartWDT CmStopWDT CmClearWDT CmGetTemp CmSetTempLimit CmGetTempLimit CmSetTempUpperLimit CmGetTempUpperLimit CmSetTempLowerLimit CmGetTempLowerLimit CmGetPower CmSetPowerLimit CmGetPowerLimit CmSetDigitalFilter CmGetDigitalFilter CmGetFanRotate CmSetFanAutoThreshold CmGetFanAutoThreshold CmSetFanAutoSpeed CmGetFanAutoSpeed CmGetGSense CmSetGSenseLimit CmGetGSenseLimit CmGetDeviceIdentify CmGetSmartAttribute CmGetSmartThreshold CmSetEvent CmKillEvent CmSetEventMask CmGetEventMask CmGetEventFactor CmGetControlStatus CmGetErrorStatus CmGetAlarmStatus CmGetRaidStatus CmInputUP CmOutputUP CmSetDIConfig CmGetDIConfig CmSetRasNotify CmGetRasNotify CmControlNoticeLed SuperCD スリムタワーCD ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ − ○ − ○ − ○ − ○ ○ − ○ − ○ − ○ − ○ − − ○ − ○ − ○ − ○ − ○ − ○ − ○ − ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 『31. CmSetEventMask』をご参照ください。 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ − ○ ○ ○ ○ ○ ○ ○ ○ ○ 『42. CmSetRasNotify』をご参照ください。 『43. CmGetRasNotify』をご参照ください。 ○ ○ © 2016 Interface Corporation. 32 Help for Windows No 45 46 47 48 49 50 51 関数名 CmSetPatternNoticeLed CmGetPatternNoticeLed CmControlBuzzer CmGetHimoSwitchStatus CmSetHimoSwitchConfig CmGetHimoSwitchConfig CmGetFirmwareVersion SuperCD スリムタワーCD 『45. CmSetPatternNoticeLed』をご参照ください。 『46. CmGetPatternNoticeLed』をご参照ください。 ○ ○ ○ − ○ − ○ − ○ ○ © 2016 Interface Corporation. 33 Help for Windows 4.4 関数個別説明 1. CmSetWDTConfig 【機能】 WDT の周期、および周期満了時のアクションを設定します。 【書式】 ●C 言語 UINT CmSetWDTConfig( UINT Cycle, UINT Action ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetWDTConfig( uint Cycle, uint Action ); ●Visual Basic .NET Declare Function CmSetWDTConfig Lib "ifcpmgr.dll"(_ ByVal Cycle As Integer, _ ByVal Action As Integer _ )As Integer 【パラメータ】 Cycle WDT の周期を設定します。設定可能範囲は 1∼255 で、単位は秒です。 デフォルトは 30 です。BIOS 設定で WDT を有効にしている場合は、その設定となります。 Action WDT 周期満了時のアクションを指定します。 下記の値が設定可能です。 識別子 値 意味 CM_WDT_ACT_INTERRUPT 0 周期満了時に割り込みイベントを発生させます。 CM_WDT_ACT_RESET 1 周期満了時に CPU リセットを起こします。 デフォルトは CM_WDT_ACT_INTERRUPT です。 BIOS 設定で WDT を有効にしている場合は、CM_WDT_ACT_RESET になります。 © 2016 Interface Corporation. 34 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・WDT 動作中に、本関数を実行すると、新しく設定した周期で、再度カウントし直します。 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定した周期、アクション が有効となります。 ・BIOS 設定で WDT を有効にしている場合は、OS 起動時にその設定が引き継がれます。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetWDTConfig(50, CM_WDT_ACT_RESET); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetWDTConfig(50, IFCCPMGR.CM_WDT_ACT_RESET); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetWDTConfig(50, IFCCPMGR.CM_WDT_ACT_RESET) WDT 周期を 50 秒、アクションを CPU リセットに設定します。 © 2016 Interface Corporation. 35 Help for Windows 2. CmGetWDTConfig 【機能】 現在の WDT の周期、および周期満了時のアクションを取得します。 【書式】 ●C 言語 UINT CmGetWDTConfig( UINT* pCycle, UINT* pAction ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetWDTConfig( out uint pCycle, out uint pAction ); ●Visual Basic .NET Declare Function CmGetWDTConfig Lib "ifcpmgr.dll"(_ ByRef pCycle As Integer, _ ByRef pAction As Integer _ )As Integer 【パラメータ】 pCycle WDT の周期格納先です。 pAction WDT 周期満了時のアクション格納先です。 CmSetWDTConfig関数で設定可能な値が取得できます。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 36 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Cycle; UINT Action; Ret = CmGetWDTConfig(&Cycle, &Action); ●Visual C# .NET uint Ret; uint Cycle; uint Action; Ret = IFCCPMGR.CmGetWDTConfig(out Cycle, out Action); ●Visual Basic .NET Dim Ret As Integer Dim Cycle As Integer Dim Action As Integer Ret = IFCCPMGR.CmGetWDTConfig(Cycle, Action) WDT 周期とアクションを取得します。 © 2016 Interface Corporation. 37 Help for Windows 3. CmStartWDT 【機能】 WDT のカウントを開始します。 【書式】 ●C 言語 UINT CmStartWDT(void); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmStartWDT(); ●Visual Basic .NET Declare Function CmStartWDT Lib "ifcpmgr.dll"() As Integer 【パラメータ】 なし 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_ALREADY C0000003h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 既に動作中 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 一度 WDT を停止させた後、再度本関数を実行した場合、カウント数は最初からカウントし直さ れます。 © 2016 Interface Corporation. 38 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmStartWDT(); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmStartWDT(); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmStartWDT() WDT のカウントを開始します。 © 2016 Interface Corporation. 39 Help for Windows 4. CmStopWDT 【機能】 WDT のカウントを停止します。 【書式】 ●C 言語 UINT CmStopWDT(void); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmStopWDT(); ●Visual Basic .NET Declare Function CmStopWDT Lib "ifcpmgr.dll"() As Integer 【パラメータ】 なし 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NOT_YET C0000004h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー まだ動作していない 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmStopWDT(); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmStopWDT(); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmStopWDT() WDT のカウントを停止します。 © 2016 Interface Corporation. 40 Help for Windows 5. CmClearWDT 【機能】 WDT のカウントをクリアします。 クリアすると設定した周期の値でカウントし直します。 【書式】 ●C 言語 UINT CmClearWDT(void); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmClearWDT(); ●Visual Basic .NET Declare Function CmClearWDT Lib "ifcpmgr.dll"() As Integer 【パラメータ】 なし 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NOT_YET C0000004h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー まだ動作していない 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmClearWDT(); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmClearWDT(); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmClearWDT() WDT のカウントをクリアします。 © 2016 Interface Corporation. 41 Help for Windows 6. CmGetTemp 【機能】 指定対象の温度を取得します。 【書式】 ●C 言語 UINT CmGetTemp( UINT Target, INT* pTemp ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetTemp( uint Target, out int pTemp ); ●Visual Basic .NET Declare Function CmGetTemp Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pTemp As Integer _ )As Integer 【パラメータ】 Target 温度を取得する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コア温度を取得します。 マルチコア CPU 製品の場合、CPU コア 1 の温度になり ます。 CM_TEMP_TARGET_BRD 1 CPU基板温度を取得します。 pTemp 温度格納先です。負数が得られることもあります。単位は℃です。 © 2016 Interface Corporation. 42 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_INVALID_PARAMETER C0000002h 入力パラメータ不正 IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; INT CpuTemp; Ret = CmGetTemp(CM_TEMP_TARGET_CPU, &CpuTemp); ●Visual C# .NET uint Ret; int CpuTemp; Ret = IFCCPMGR.CmGetTemp(IFCCPMGR.CM_TEMP_TARGET_CPU, out CpuTemp); ●Visual Basic .NET Dim Ret As Integer Dim CpuTemp As Integer Ret = IFCCPMGR.CmGetTemp(IFCCPMGR.CM_TEMP_TARGET_CPU, CpuTemp) 現在の CPU コア温度を取得します。 © 2016 Interface Corporation. 43 Help for Windows 7. CmSetTempLimit 【機能】 温度の異常上限、下限、および温度に対するヒステリシスを設定します。 【書式】 ●C 言語 UINT CmSetTempLimit( UINT Target, INT LowerLimit, INT UpperLimit, INT LHysteresis, INT UHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetTempLimit ( uint Target, int LowerLimit, int UpperLimit, int LHysteresis, int UHysteresis ); ●Visual Basic .NET Declare Function CmSetTempLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal LowerLimit As Integer, _ ByVal UpperLimit As Integer, _ ByVal LHysteresis As Integer, _ ByVal UHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を設定する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を設定します。 CM_TEMP_TARGET_BRD 1 CPU基板の監視温度を設定します。 LowerLimit 監視温度の下限値です。-60∼UpperLimit より小さい値が設定可能です。 (-60 <= 設定可能値 < UpperLimit) 単位は℃です。 © 2016 Interface Corporation. 44 Help for Windows UpperLimit 監視温度の上限値です。LowerLimit より大きい値∼125 が設定可能です。 (LowerLimit < 設定可能値 <= 125) 単位は℃です。 LHysteresis 温度下限復帰ヒステリシスです。CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定 できます。単位は℃です。 ℃ LHysteresis LowerLimit 温度異常期間 t UHysteresis 温度上限復帰ヒステリシスです。CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定 できます。単位は℃です。 ℃ UpperLimit UHysteresis 温度異常期間 t 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定した上限、下限が有効 となります。 © 2016 Interface Corporation. 45 Help for Windows 【注意】 ここで設定できる値は、本ソフトウェアで監視できる値です。ここで設定できる範囲がハード ウェアの保証温度ではありませんのでご注意ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetTempLimit(CM_TEMP_TARGET_BRD, 0, 50, 5, 5); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetTempLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 0, 50, 5, 5); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetTempLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 0, 50, 5, 5) CPU 基板温度の下限を 0℃、上限を 50℃に設定します。 © 2016 Interface Corporation. 46 Help for Windows 8. CmGetTempLimit 【機能】 温度の異常上限、下限および温度に対するヒステリシスを取得します。 【書式】 ●C 言語 UINT CmGetTempLimit( UINT Target, INT* pLowerLimit, INT* pUpperLimit, INT* pLHysteresis, INT* pUHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetTempLimit ( uint Target, out int pLowerLimit, out int pUpperLimit, out int pLHysteresis, out int pUHysteresis ); ●Visual Basic .NET Declare Function CmGetTempLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pLowerLimit As Integer, _ ByRef pUpperLimit As Integer, _ ByRef pLHysteresis As Integer, _ ByRef pUHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を取得する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を取得します。 CM_TEMP_TARGET_BRD 1 CPU 基板の監視温度を取得します。 pLowerLimit 温度下限値格納先です。単位は℃です。 pUpperLimit 温度上限値格納先です。単位は℃です。 © 2016 Interface Corporation. 47 Help for Windows pLHysteresis 温度下限復帰ヒステリシスの格納先です。単位は℃です。 pUHysteresis 温度上限復帰ヒステリシスの格納先です。単位は℃です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 48 Help for Windows 【使用例】 ●C 言語 UINT Ret; INT LowerLimit; INT UpperLimit; INT LHysteresis; INT UHysteresis; Ret = CmGetTempLimit(CM_TEMP_TARGET_BRD, &LowerLimit, &UpperLimit, &LHysteresis, &UHysteresis); ●Visual C# .NET uint Ret; int LowerLimit; int UpperLimit; int LHysteresis; int UHysteresis; Ret = IFCCPMGR.CmGetTempLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, out LowerLimit, out UpperLimit, out LHysteresis, out UHysteresis); ●Visual Basic .NET Dim Ret As Integer Dim LowerLimit As Integer Dim UpperLimit As Integer Dim LHysteresis As Integer Dim UHysteresis As Integer Ret = IFCCPMGR.CmGetTempLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, LowerLimit, UpperLimit_ LHysteresis, UHysteresis) CPU 基板温度の下限、上限を取得します。 © 2016 Interface Corporation. 49 Help for Windows 9. CmSetTempUpperLimit 【機能】 温度警告と温度異常検出の上限値及びヒステリシスを設定します。 【書式】 ●C 言語 UINT CmSetTempUpperLimit( UINT Target, INT AlarmLimit, INT ErrorLimit, INT AHysteresis, INT EHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetTempUpperLimit ( uint Target, int AlarmLimit, int ErrorLimit, int AHysteresis, int EHysteresis ); ●Visual Basic .NET Declare Function CmSetTempLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal AlarmLimit As Integer, _ ByVal ErrorLimit As Integer, _ ByVal AHysteresis As Integer, _ ByVal EHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を設定する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を設定します。 CM_TEMP_TARGET_BRD 1 CPU基板の監視温度を設定します。 AlarmLimit 温度警告の上限値を指定します。 警告下限値∼ErrorLimit の範囲で設定可能です。 (警告下限値 < 設定可能値 < ErrorLimit) 単位は℃です。 © 2016 Interface Corporation. 50 Help for Windows ErrorLimit 温度異常の上限値を指定します。 AlarmLimit∼125 の範囲で設定可能です。 (AlarmLimit < 設定可能値 <= 125) 単位は℃です。 AHysteresis 温度上限警告の発生から復帰までの範囲です。 CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定できます。単位は℃です。 ℃ AlarmLimit AHysteresis 温度警告期間 t EHysteresis 温度上限異常の発生から復帰までの範囲です。 CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定できます。単位は℃です。 ℃ ErrorLimit EHysteresis 温度異常期間 t 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定した上限、下限が有効 となります。 © 2016 Interface Corporation. 51 Help for Windows 【注意】 ここで設定できる値は、本ソフトウェアで監視できる値です。ここで設定できる範囲がハード ウェアの保証温度ではありませんのでご注意ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetTempUpperLimit(CM_TEMP_TARGET_BRD, 60, 80, 5, 5); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetTempUpperLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 60, 80, 5, 5); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetTempUpperLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 60, 80, 5, 5) CPU 基板温度の温度警告上限を 60℃、温度異常上限を 80℃に設定します。 © 2016 Interface Corporation. 52 Help for Windows 10. CmGetTempUpperLimit 【機能】 温度警告と温度異常検出の上限値及びヒステリシスを取得します。 【書式】 ●C 言語 UINT CmGetTempUpperLimit( UINT Target, INT* pAlarmLimit, INT* pErrorLimit, INT* pAHysteresis, INT* pEHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetTempUpperLimit ( uint Target, out int pAlarmLimit, out int pErrorLimit, out int pAHysteresis, out int pEHysteresis ); ●Visual Basic .NET Declare Function CmGetTempUpperLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pAlarmLimit As Integer, _ ByRef pErrorLimit As Integer, _ ByRef pAHysteresis As Integer, _ ByRef pEHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を取得する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を取得します。 CM_TEMP_TARGET_BRD 1 CPU 基板の監視温度を取得します。 pAlarmLimit 温度警告の上限値を格納する変数へのポインタを指定します。 pErrorLimit 温度異常の上限値を格納する変数へのポインタを指定します。 © 2016 Interface Corporation. 53 Help for Windows pAHysteresis 温度警告復帰ヒステリシスの格納先です。 単位は℃です。 pEHysteresis 温度異常復帰ヒステリシスの格納先です。 単位は℃です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 54 Help for Windows 【使用例】 ●C 言語 UINT Ret; INT AlarmLimit; INT ErrorLimit; INT AHysteresis; INT EHysteresis; Ret = CmGetTempUpperLimit(CM_TEMP_TARGET_BRD, &AlarmLimit, &ErrorLimit, &AHysteresis, &EHysteresis); ●Visual C# .NET uint Ret; int AlarmLimit; int ErrorLimit; int AHysteresis; int EHysteresis; Ret = IFCCPMGR.CmGetTempUpperLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, out AlarmLimit, out ErrorLimit, out AHysteresis, out EHysteresis); ●Visual Basic .NET Dim Ret As Integer Dim AlarmLimit As Integer Dim ErrorLimit As Integer Dim AHysteresis As Integer Dim EHysteresis As Integer Ret = IFCCPMGR.CmGetTempUpperLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, AlarmLimit, ErrorLimit, AHysteresis, EHysteresis) CPU 基板温度の警告上限、異常上限を取得します。 © 2016 Interface Corporation. 55 Help for Windows 11. CmSetTempLowerLimit 【機能】 温度警告と温度異常検出の下限値及びヒステリシスを設定します。 【書式】 ●C 言語 UINT CmSetTempLowerLimit( UINT Target, INT AlarmLimit, INT ErrorLimit, INT AHysteresis, INT EHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetTempLowerUpperLimit ( uint Target, int AlarmLimit, int ErrorLimit, int AHysteresis, int EHysteresis ); ●Visual Basic .NET Declare Function CmSetTempLowerLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal AlarmLimit As Integer, _ ByVal ErrorLimit As Integer, _ ByVal AHysteresis As Integer, _ ByVal EHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を設定する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を設定します。 CM_TEMP_TARGET_BRD 1 CPU基板の監視温度を設定します。 AlarmLimit 温度警告の下限値を指定します。 ErrorLimit∼警告上限値の範囲で設定可能です。 (ErrorLimit < 設定可能値 < 警告上限値) 単位は℃です。 © 2016 Interface Corporation. 56 Help for Windows ErrorLimit 温度異常の下限値を指定します。 -60∼AlarmLimit の範囲で設定可能です。 (-60 <= 設定可能値 < ErrorLimit) 単位は℃です。 AHysteresis 温度下限警告の発生から復帰までの範囲です。 CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定できます。単位は℃です。 ℃ AHysteresis AlarmLimit 温度警告期間 t EHysteresis 温度下限異常発生から復帰までの範囲です。 CPU コア温度は 0∼15、CPU 基板温度は 0∼31 の間で設定できます。単位は℃です。 ℃ EHysteresis ErrorLimit 温異常期間 t 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定した上限、下限が有効 となります。 © 2016 Interface Corporation. 57 Help for Windows 【注意】 ここで設定できる値は、本ソフトウェアで監視できる値です。ここで設定できる範囲がハード ウェアの保証温度ではありませんのでご注意ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetTempLowerLimit(CM_TEMP_TARGET_BRD, 0, -20, 5, 5); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetTempLowerLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 0, -20, 5, 5); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetTempLowerLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, 0, -20, 5, 5) CPU 基板温度の温度警告下限を 0℃、温度異常下限を-20℃に設定します。 © 2016 Interface Corporation. 58 Help for Windows 12. CmGetTempLowerLimit 【機能】 温度警告と温度異常検出の下限値及びヒステリシスを取得します。 【書式】 ●C 言語 UINT CmGetTempLowerLimit( UINT Target, INT* pAlarmLimit, INT* pErrorLimit, INT* pAHysteresis, INT* pEHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetTempLowerLimit ( uint Target, out int pAlarmLimit, out int pErrorLimit, out int pAHysteresis, out int pEHysteresis ); ●Visual Basic .NET Declare Function CmGetTempLowerLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pAlarmLimit As Integer, _ ByRef pErrorLimit As Integer, _ ByRef pAHysteresis As Integer, _ ByRef pEHysteresis As Integer _ )As Integer 【パラメータ】 Target 温度監視を取得する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_TEMP_TARGET_CPU 0 CPU コアの監視温度を取得します。 CM_TEMP_TARGET_BRD 1 CPU 基板の監視温度を取得します。 pAlarmLimit 温度警告の下限値を格納する変数へのポインタを指定します。 pErrorLimit 温度異常の下限値を格納する変数へのポインタを指定します。 © 2016 Interface Corporation. 59 Help for Windows pAHysteresis 温度警告復帰ヒステリシスの格納先です。 単位は℃です。 pEHysteresis 温度異常復帰ヒステリシスの格納先です。 単位は℃です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 60 Help for Windows 【使用例】 ●C 言語 UINT Ret; INT AlarmLimit; INT ErrorLimit; INT AHysteresis; INT EHysteresis; Ret = CmGetTempLowerLimit(CM_TEMP_TARGET_BRD, &AlarmLimit, &ErrorLimit, &AHysteresis, &EHysteresis); ●Visual C# .NET uint Ret; int AlarmLimit; int ErrorLimit; int AHysteresis; int EHysteresis; Ret = IFCCPMGR.CmGetTempLowerLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, out AlarmLimit, out ErrorLimit, out AHysteresis, out EHysteresis); ●Visual Basic .NET Dim Ret As Integer Dim AlarmLimit As Integer Dim ErrorLimit As Integer Dim AHysteresis As Integer Dim EHysteresis As Integer Ret = IFCCPMGR.CmGetTempLowerLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, AlarmLimit, ErrorLimit, AHysteresis, EHysteresis) CPU 基板温度の警告下限、異常下限を取得します。 © 2016 Interface Corporation. 61 Help for Windows 13. CmGetPower 【機能】 電源電圧を取得します。 【書式】 ●C 言語 UINT CmGetPower( UINT Target, float* pPower ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetPower( uint Target, out float pPower ); ●Visual Basic .NET Declare Function CmGetPower Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pPower As Single _ )As Integer 【パラメータ】 Target 電圧を取得する対象を指定します。 下記の値が指定可能です。 識別子 値 意味 CM_POWER_TARGET_EXT 0 外部電源電圧を取得します。 pPower 電圧値格納先です。単位は V です。 【備考】 SuperCD PoE 受電モデルでは本機能は非サポートになります。 © 2016 Interface Corporation. 62 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【戻り値】 ●C 言語 UINT Ret; float Power; Ret = CmGetPower(CM_POWER_TARGET_EXT, &Power); ●Visual C# .NET uint Ret; float Power; Ret = IFCCPMGR.CmGetPower(IFCCPMGR.CM_POWER_TARGET_EXT, out Power); ●Visual Basic .NET Dim Ret As Integer Dim Power As Single Ret = IFCCPMGR.CmGetPower(IFCCPMGR.CM_POWER_TARGET_EXT, Power) 現在の電源電圧値を取得します。 © 2016 Interface Corporation. 63 Help for Windows 14. CmSetPowerLimit 【機能】 電源電圧の上限、下限及びヒステリシスを設定します。 ここで設定した範囲を超えた場合に、割り込みイベントを通知することができます。 【書式】 ●C 言語 UINT CmSetPowerLimit( UINT Target, INT LowerLimit, INT UpperLimit, INT LHysteresis, INT UHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetPowerLimit ( uint Target, int LowerLimit, int UpperLimit, int LHysteresis, int UHysteresis ); ●Visual Basic .NET Declare Function CmSetPowerLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal LowerLimit As Integer, _ ByVal UpperLimit As Integer, _ ByVal LHysteresis As Integer, _ ByVal UHysteresis As Integer _ )As Integer 【パラメータ】 Target 電源の監視を行う対象を指定します。 下記の値が指定できます。 識別子 値 CM_POWER_TARGET_EXT 0 外部電源電圧 意味 LowerLimit 電源の監視電圧下限値を設定します。下限値は設定値に 0.22(V)を掛けたものになります。 設定範囲は 25∼ UpperLimit より小さい値です。 例)25 と設定した場合、下限値は 25×0.22= 5.50(V)となります。 © 2016 Interface Corporation. 64 Help for Windows UpperLimit 電源の監視電圧上限値を設定します。上限は設定値に 0.22(V)を掛けたものになります。 設定範囲は LowerLimit より大きい値∼170 です。 例)170 と設定した場合、下限値は 170×0.22= 37.4(V)となります。 LHysteresis 電源の監視電圧下限異常のヒステリシスです。0∼255 の間で設定できます。 範囲は設定値に 0.22(V)を掛けたものになります。 例) 1 と設定した場合、範囲は 0.22(V)となります。 V LHysteresis LowerLimit 電源電圧異常期間 t UHysteresis 電源の監視電圧上限異常のヒステリシスです。0∼255 の間で設定できます。 範囲は設定値に 0.22(V)を掛けたものになります。 例) 1 と設定した場合、範囲は 0.22(V)となります。 V UpperLimit UHysteresis 電源電圧異常期間 t 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 65 Help for Windows 【備考】 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定した上限、下限、ヒス テリシスが有効となります。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetPowerLimit(CM_POWER_TARGET_EXT, 25, 170, 10, 10); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetPowerLimit(IFCCPMGR.CM_POWER_TARGET_EXT, 25, 170, 10, 10); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetPowerLimit(IFCCPMGR.CM_POWER_TARGET_EXT, 25, 170, 10, 10) 外部電源電圧の下限を 5.50(V)、上限を 37.4(V)に設定します。 下限異常後 7.70(V)以上で復帰、上限異常後 35.2(V)以下で復帰になります。 © 2016 Interface Corporation. 66 Help for Windows 15. CmGetPowerLimit 【機能】 電源電圧の上限、下限および電源に対するヒステリシスを取得します。 【書式】 ●C 言語 UINT CmGetPowerLimit( UINT Target, INT* pLowerLimit, INT* pUpperLimit, INT* pLHysteresis, INT* pUHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetPowerLimit ( uint Target, out int pLowerLimit, out int pUpperLimit, out int pLHysteresis, out int pUHysteresis ); ●Visual Basic .NET Declare Function CmGetPowerLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pLowerLimit As Integer, _ ByRef pUpperLimit As Integer, _ ByRef pLHysteresis As Integer, _ ByRef pUHysteresis As Integer _ )As Integer 【パラメータ】 Target 取得する電源の監視電圧行う対象を指定します。 現状では下記の値のみが指定できます。 識別子 値 CM_POWER_TARGET_EXT 0 外部電源電圧 pLowerLimit 電源の監視電圧下限値の格納先です。 pUpperLimit 電源の監視電圧上限値の格納先です。 © 2016 Interface Corporation. 67 意味 Help for Windows pLHysteresis 電源の監視電圧下限異常ヒステリシスの格納先です。 pUHysteresis 電源の監視電圧上限異常ヒステリシスの格納先です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 68 Help for Windows 【使用例】 ●C 言語 UINT Ret; INT LowerLimit; INT UpperLimit; INT LHysteresis; INT UHysteresis; Ret = CmGetPowerLimit(CM_POWER_TARGET_EXT, &LowerLimit, &UpperLimit, &LHysteresis, &UHysteresis); ●Visual C# .NET uint Ret; int LowerLimit; int UpperLimit; int LHysteresis; int UHysteresis; Ret = IFCCPMGR.CmGetPowerLimit(IFCCPMGR.CM_POWER_TARGET_EXT, out LowerLimit, out LHysteresis, out UHysteresis); ●Visual Basic .NET Dim Ret As Integer Dim LowerLimit As Integer Dim UpperLimit As Integer Dim LHysteresis As Long Dim UHysteresis As Long Ret = IFCCPMGR.CmGetPowerLimit(IFCCPMGR.CM_POWER_TARGET_EXT, LowerLimit, UpperLimit_ LHysteresis, UHysteresis) 外部電源電圧の下限、上限、ヒステリシスを取得します。 © 2016 Interface Corporation. 69 Help for Windows 16. CmSetDigitalFilter 【機能】 デジタルフィルタを設定します。 【書式】 ●C 言語 UINT CmSetDigitalFilter ( UINT Target, INT DigitalFilter ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetDigitalFilter ( uint Target, int DigitalFilter ); ●Visual Basic .NET Declare Function CmSetDigitalFilter Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal DigitalFilter As Integer _ )As Integer 【パラメータ】 Target デジタルフィルタを設定する対象を指定します。 下記の値が指定できます。 識別子 値 意味 CM_POWER_TARGET_EXT 0 外部電圧異常検出のデジタルフィルタです。 DigitalFilter 単位は ms です。 0 :フィルタなし 1∼255 :フィルタ値 設定期間異常状態が継続した場合に異常と判断します。 © 2016 Interface Corporation. 70 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・複数の異なるアプリケーションで本関数を実行した場合、最後に設定したフィルタ値が有効 になります。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetDigitalFilter(CM_POWER_TARGET_EXT, 50); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetDigitalFilter(IFCCPMGR.CM_POWER_TARGET_EXT, 50); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetDigitalFilter(IFCCPMGR.CM_POWER_TARGET_EXT, 50) 異常が 50ms 間継続したら、異常と判断します。 © 2016 Interface Corporation. 71 Help for Windows 17. CmGetDigitalFilter 【機能】 電源電圧異常検出時のデジタルフィルタを取得します。 【書式】 ●C 言語 UINT CmGetDigitalFilter ( UINT Target, INT* pDigitalFilter ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetDigitalFilter ( uint Target, out int pDigitalFilter ); ●Visual Basic .NET Declare Function CmGetDigitalFilter Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pDigitalFilter As Integer _ )As Integer 【パラメータ】 Target デジタルフィルタを設定する対象を指定します。 下記の値が指定できます。 識別子 値 意味 CM_POWER_TARGET_EXT 0 外部電源電圧異常検出のデジタルフィルタです。 pDigitalFilter デジタルフィルタの設定値を取得します。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 © 2016 Interface Corporation. 72 Help for Windows ●C 言語 UINT Ret; INT DigtalFilter; Ret = CmGetDigitalFilter(CM_POWER_TARGET_EXT, &DigitalFilter); ●Visual C# .NET uint Ret; int DigtalFilter; Ret = IFCCPMGR.CmGetDigitalFilter(IFCCPMGR.CM_POWER_TARGET_EXT, out DigitalFilter); ●Visual Basic .NET Dim Ret As Integer Dim DigtalFilter As Integer Ret = IFCCPMGR.CmGetDigitalFilter(IFCCPMGR. CM_POWER_TARGET_EXT, DigitalFilter) 外部電源電圧に対するデジタルフィルタの設定値を取得します。 © 2016 Interface Corporation. 73 Help for Windows 18. CmGetFanRotate 【機能】 FAN の回転数を取得します。 回転数は毎分の回転数(rpm)が取得できます。 【書式】 ●C 言語 UINT CmGetFanRotate( UINT Target, UINT* pData ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetFanRotate( uint Target, out uint pData ); ●Visual Basic .NET Declare Function CmGetFanRotate Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pData As Integer _ )As Integer 【パラメータ】 Target 回転数を取得する対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_FAN_TARGET_FAN1 0 FAN1 の回転数を取得します。 pData FAN の回転数格納先です。単位は rpm です。 © 2016 Interface Corporation. 74 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT Data; Ret = CmGetFanRotate(CM_FAN_TARGET_FAN1, &Data); ●Visual C# .NET uint Ret; uint Data; Ret = IFCCPMGR.CmGetFanRotate(IFCCPMGR.CM_FAN_TARGET_FAN1, out Data); ●Visual Basic .NET Dim Ret As Integer Dim Data As Integer Ret = IFCCPMGR.CmGetFanRotate(IFCCPMGR.CM_FAN_TARGET_FAN1, Data) FAN1 の回転数を取得します。 © 2016 Interface Corporation. 75 Help for Windows 19. CmSetFanAutoThreshold 【機能】 FAN 自動制御の温度閾値を設定します。 温度閾値は CPU コア温度の閾値となります。 【書式】 ●C 言語 UINT CmSetFanAutoThreshold( UINT Target, INT LowThreshold, INT HighThreshold ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetFanAutoThreshold ( uint Target, int LowThreshold, int HighThreshold ); ●Visual Basic .NET Declare Function CmSetFanAutoThreshold Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal LowThreshold, As Integer, _ ByVal HighThreshold As Integer _ )As Integer 【パラメータ】 Target 閾値を設定する対象を指定します。 下記の値が指定できます。 識別子 値 CM_FAN_TARGET_FAN1 0 内容 FAN1 の自動制御の温度閾値を設定します。 LowThreshold 低温閾値を設定します。 -60∼HighThreshold の値を設定できます。 単位は℃です。 HighThreshold 高温閾値を設定します。 LowThreshold∼125 の値を設定できます。 単位は℃です。 © 2016 Interface Corporation. 76 Help for Windows 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetFanAutoThreshold(CM_TERGET_FAN1, 20, 80); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetFanAutoThreshold(IFCCPMGR.CM_FAN_TARGET_FAN1, 20, 80); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetFanAutoThreshold(IFCCPMGR.CM_FAN_TARGET_FAN1, 20, 80) FAN1 の自動制御温度閾値を設定します。 © 2016 Interface Corporation. 77 Help for Windows 20. CmGetFanAutoThreshold 【機能】 FAN 自動制御の温度閾値を取得します。 【書式】 ●C 言語 UINT CmGetFanAutoThreshold( UINT Target, INT* pLowThreshold, INT* pHighThreshold ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetFanAutoThreshold ( uint Target, out int pLowThreshold, out int pHighThreshold, ); ●Visual Basic .NET Declare Function CmGetFanAutoThreshold Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pLowThreshold As Integer, _ ByRef pHighThreshold As Integer_ )As Integer 【パラメータ】 Target 閾値を取得する対象を指定します。 下記の値が指定できます。 識別子 値 CM_FAN_TARGET_FAN1 0 内容 FAN1 の自動制御の温度閾値を取得します。 pLowThreshold 低温閾値の格納先です。 単位は℃です。 pHighThreshold 高温閾値の格納先です。 単位は℃です。 © 2016 Interface Corporation. 78 Help for Windows 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; INT LowThreshold; INT HighThreshold; Ret = CmGetFanAutoThreshold(CM_FAN_TARGET_FAN1, &LowThreshold, &HighThreshold); ●Visual C# .NET uint Ret; int LowThreshold; int HighThreshold; Ret = IFCCPMGR.CmGetFanAutoThreshold(IFCCPMGR.CM_FAN_TARGET_FAN1, out LowThreshold, out HighThreshold); ●Visual Basic .NET Dim Ret As Integer Dim LowThreshold As Integer Dim HighThreshold As Integer Ret = IFCCPMGR.CmGetFanAutoThreshold(IFCCPMGR.CM_FAN_TARGET_FAN1, _ LowThreshold, HighThreshold) FAN1 の自動制御温度閾値を取得します。 © 2016 Interface Corporation. 79 Help for Windows 21. CmSetFanAutoSpeed 【機能】 FAN 自動制御の速度を%で設定します。 【書式】 ●C 言語 UINT CmSetFanAutoSpeed( UINT Target, UINT LowSpeed, UINT MidSpeed, UINT HighSpeed ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetFanAutoSpeed( uint Target, uint LowSpeed, uint MidSpeed, uint HighSpeed ); ●Visual Basic .NET Declare Function CmSetFanAutoSpeed Lib "ifcpmgr.dll"(_ ByVal Target, As Integer, _ ByVal LowSpeed, As Integer, _ ByVal MidSpeed, As Integer, _ ByVal HighSpeed As Integer _ ) As Integer 【パラメータ】 Target 速度を設定する対象を指定します。 下記の値が指定できます。 識別子 値 CM_FAN_TARGET_FAN1 0 内容 FAN1 の自動制御の速度を設定します。 LowSpeed 低温閾値以下の場合の速度を設定します。 30∼100 の値を 10 刻みで設定できます。一桁目の数は切り捨てられます。 単位は%です。 MidSpeed 低温閾値∼高温閾値間の場合の速度を設定します。 30∼100 の値を 10 刻みで設定できます。一桁目の数は切り捨てられます。 単位は%です。 © 2016 Interface Corporation. 80 Help for Windows HighSpeed 高温閾値∼最大閾値間の場合の速度を設定します。 30∼100 の値を 10 刻みで設定できます。一桁目の数は切り捨てられます。 単位は%です。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetFanAutoSpeed(CM_TERGET_FAN1, 30, 50, 80); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetFanAutoSpeed(IFCCPMGR.CM_TERGET_FAN1, 30, 50, 80); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetFanAutoSpeed(IFCCPMGR.CM_TERGET_FAN1, 30, 50, 80) FAN1 の自動制御速度を設定します。 © 2016 Interface Corporation. 81 Help for Windows 22. CmGetFanAutoSpeed 【機能】 FAN 自動制御の速度設定値(%)を取得します。 【書式】 ●C 言語 UINT CmGetFanAutoSpeed ( UINT Target, UINT* pLowSpeed, UINT* pMidSpeed, UINT* pHighSpeed ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetFanAutoSpeed( uint Target, out uint LowSpeed, out uint MidSpeed, out uint HighSpeed ); ●Visual Basic .NET Declare Function CmGetFanAutoSpeed Lib "ifcpmgr.dll"(_ ByVal Target, As Integer, _ ByRef LowSpeed, As Integer, _ ByRef MidSpeed, As Integer, _ ByRef HighSpeed As Integer _ ) As Integer 【パラメータ】 Target 速度を取得する対象を指定します。 下記の値が指定できます。 識別子 値 CM_FAN_TARGET_FAN1 0 内容 FAN1 の自動制御の速度を取得します。 LowSpeed 低温閾値以下の場合の速度格納先です。 単位は%です。 MidSpeed 低温閾値∼高温閾値間の場合の速度格納先です。 単位は%です。 © 2016 Interface Corporation. 82 Help for Windows HighSpeed 高温閾値∼最大閾値間の場合の速度格納先です。 単位は%です。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT LowSpeed; UINT MidSpeed; UINT HighSpeed; Ret = CmGetFanAutoSpeed(CM_FAN_TARGET_FAN1, &LowSpeed, &MidSpeed, &HighSpeed); ●Visual C# .NET uint Ret; uint LowSpeed; uint MidSpeed; uint HighSpeed; Ret = IFCCPMGR.CmGetFanAutoSpeed(IFCCPMGR.CM_FAN_TARGET_FAN1, out LowSpeed, out MidSpeed, out HighSpeed); ●Visual Basic .NET Dim Ret As Integer Dim LowSpeed As Integer Dim MidSpeed As Integer Dim HighSpeed As Integer Ret = IFCCPMGR.CmGetFanAutoSpeed(IFCCPMGR.CM_FAN_TARGET_FAN1, LowSpeed, MidSpeed, _ HighSpeed) FAN1 の自動制御温度速度を取得します。 © 2016 Interface Corporation. 83 Help for Windows 23. CmGetGSense 【機能】 指定対象の加速度センサ値を取得します。 【書式】 ●C 言語 UINT CmGetGSense( UINT Target, UINT Axis, UINT* pData ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetGSense( uint Target, uint Axis, out uint pData ); ●Visual Basic .NET Declare Function CmGetGSense Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal Axis As Integer, _ ByRef pData As Integer _ )As Integer 【パラメータ】 Target 加速度センサの取得対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_GSENSE_TARGET_SENSOR1 0 加速度センサ 1 のセンサ値を取得します。 Axis 加速度センサの対象の軸を指定します。 下記の値が指定できます。 識別子 値 内容 CM_GSENSE_AXIS_X 0 X 軸方向のセンサ値を取得します。 CM_GSENSE_AXIS_Y 1 Y 軸方向のセンサ値を取得します。 CM_GSENSE_AXIS_Z 2 Z 軸方向のセンサ値を取得します。 © 2016 Interface Corporation. 84 Help for Windows pData 加速度センサ値の格納先です。 ここで得られる値は加速度センサの生の値となります。下記の式で重力加速度値へ変換で きます。 G= (x × 0.01289) − 1.5 0.42 ここで、 G: 重力加速度値 x: 取得値 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT Data; Ret = CmGetGSense(CM_GSENSE_TARGET_SENSOR1, CM_GSENSE_AXIS_X, &Data); ●Visual C# .NET uint Ret; uint Data; Ret = IFCCPMGR.CmGetGSense(IFCCPMGR.CM_GSENSE_TARGET_SENSOR1, IFCCPMGR.CM_GSENSE_AXIS_X, out Data); ●Visual Basic .NET Dim Ret As Integer Dim Data As Integer Ret = IFCCPMGR.CmGetGSense(IFCCPMGR. CM_GSENSE_TARGET_SENSOR1, _ IFCCPMGR.CM_GSENSE_AXIS_X, Data) 加速度センサ 1 の X 軸方向のセンサ値を取得します。 © 2016 Interface Corporation. 85 Help for Windows 24. CmSetGSenseLimit 【機能】 振動・衝撃異常検出の閾値を設定します。 【書式】 ●C 言語 UINT CmSetGSenseLimit ( UINT Target, UINT Axis, UINT UpperLimit, UINT UHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetGSenseLimit( uint Target, uint Axis, uint UpperLimit, uint UHysteresis ); ●Visual Basic .NET Declare Function CmSetGSenseLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal Axis As Integer, _ ByVal UpperLimit As Integer, _ ByVal UHysteresis As Integer _ )As Integer 【パラメータ】 Target 振動・衝撃異常検出の閾値を設定する対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_GSENSE_TARGET_SENSOR1 0 加速度センサ 1 の閾値を設定します。 Axis 対象の軸を指定します。 下記の値が指定できます。 識別子 CM_GSENSE_AXIS_X CM_GSENSE_AXIS_Y CM_GSENSE_AXIS_Z 値 0 1 2 内容 X 軸方向の閾値を設定します。 Y 軸方向の閾値を設定します。 Z 軸方向の閾値を設定します。 © 2016 Interface Corporation. 86 Help for Windows UpperLimit 振動・衝撃異常検出の閾値を指定します。閾値は設定値に 0.03(G)を掛けた値になります。 例)10 と設定した場合、閾値は 10×0.03= 0.3(G)となります。 UHysteresis 振動・衝撃異常検出の復帰ヒステリシスを指定します。ヒステリシスは設定値に 0.03(G) を掛けた値になります。 例)10 と設定した場合、閾値は 10×0.03= 0.3(G)となります。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmGetGSenseLimit(CM_GSENSE_TARGET_SENSOR1, CM_GSENSE_AXIS_X, 10, 5); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmGetGSenseLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, IFCCPMGR.CM_GSENSE_AXIS_X, 10, 5); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmGetGSenseLimit(IFCCPMGR.CM_TEMP_TARGET_BRD, IFCCPMGR.CM_GSENSE_AXIS_X, 10, 5) 加速度センサ 1 の X 軸方向振動・衝撃検出の閾値、ヒステリシスを設定します。 © 2016 Interface Corporation. 87 Help for Windows 25. CmGetGSenseLimit 【機能】 振動・衝撃異常検出の閾値を取得します。 【書式】 ●C 言語 UINT CmGetGSenseLimit ( UINT Target, UINT Axis, UINT* pUpperLimit, UINT* pUHysteresis ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetGSenseLimit ( uint Target, uint Axis, out uint pUpperLimit, out uint pUHysteresis ); ●Visual Basic .NET Declare Function CmGetGSenseLimit Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal Axis As Integer, _ ByRef pUpperLimit As Integer, _ ByRef pUHysteresis As Integer _ )As Integer 【パラメータ】 Target 振動・衝撃異常検出の閾値を設定する対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_GSENSE_TARGET_SENSOR1 0 加速度センサ 1 の閾値を取得します。 Axis 対象の軸を指定します。 下記の値が指定できます。 識別子 CM_GSENSE_AXIS_X CM_GSENSE_AXIS_Y CM_GSENSE_AXIS_Z 値 0 1 2 内容 X 軸方向の閾値を取得します。 Y 軸方向の閾値を取得します。 Z 軸方向の閾値を取得します。 © 2016 Interface Corporation. 88 Help for Windows pUpperLimit 振動・衝撃異常検出の格納先です。 例)10 が取得できた場合、閾値は 10×0.03= 0.3(G)となります。 pUHysteresis 振動・衝撃異常検出の復帰ヒステリシスを指定します。 例)10 が取得できた場合、閾値は 10×0.03= 0.3(G)となります。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT UpperLimit; UINT UHysteresis; Ret = CmGetGSenseLimit(CM_GSENSE_TARGET_SENSOR1, CM_GSENSE_AXIS_X, &UpperLimit, &UHysteresis); ●Visual C# .NET uint Ret; uint UpperLimit; uint UHysteresis; Ret = IFCCPMGR.CmGetGSenseLimit(IFCCPMGR.CM_GSENSE_TARGET_SENSOR1, IFCCPMGR.CM_GSENSE_AXIS_X, out UpperLimit, out UHysteresis); ●Visual Basic .NET Dim Ret As Integer Dim UpperLimit As Integer Dim UHysteresis As Integer Ret = IFCCPMGR.CmGetGSenseLimit(IFCCPMGR.CM_GSENSE_TARGET_SENSOR1, _ IFCCPMGR.CM_GSENSE_AXIS_X, UpperLimit, UHysteresis) 加速度センサ 1 の X 軸方向振動・衝撃検出の閾値を取得します。 © 2016 Interface Corporation. 89 Help for Windows 26. CmGetDeviceIdentify 【機能】 デバイス情報を取得します。 使用しているストレージデバイスのモデル名やサポートしている機能等の情報を取得できます。 【書式】 ●C 言語 UINT CmGetDeviceIdentify( UINT TargetDrive, UINT TargetDevice, UCHAR* pIdentify ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetDeviceIdentify( uint TargetDrive, uint TargetDevice, byte[] pIdentify ); ●Visual Basic .NET Declare Function CmGetDeviceIdentify Lib "ifcpmgr.dll"(_ ByVal TargetDrive As Integer, _ ByVal TargetDevice As Integer, _ ByVal pIdentify As Byte() _ )As Integer 【パラメータ】 TargetDrive 情報を取得するドライブの番号を指定します。 例)Physical Drive0 の情報を取得したい場合、0 を指定します。 Windows の「ディスクの管理」(diskmgmt.msc)で表示される、ディスク x の x の部分が 該当します。 © 2016 Interface Corporation. 90 Help for Windows TargetDevice 情報を取得するデバイスを指定します。 下記の値が指定できます。 識別子 値 内容 CM_TARGET_DEVICE_NORMAL 0 TargetDrive へ指定されたデバイスの情報を取 得します。 CM_TARGET_DEVICE_RAID1 1 RAID ボード(SVRC-C600SA)のドライブ 1 へ接続 されたデバイスの情報を取得します。 CM_TARGET_DEVICE_RAID2 2 RAID ボード(SVRC-C600SA)のドライブ 2 へ接続 されたデバイスの情報を取得します。 ※CM_TARGET_DEVICE_RAID1、CM_TARGET_DEVICE_RAID2 は TargetDrive が SVRC-C600SA の場 合のみ使用できます。TargetDrive が SVRC-C600SA 以外の場合、不正なデータが取得されま す。 pIdentify ドライブ情報の格納先です。512byte 以上の配列を指定してください。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_NOT_ALLOCATE C0000006h IFCM_ERROR_INVALID_HANDLE C0000007h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ メモリ確保失敗 内部エラー 指定したデバイスの情報取得に失敗した場合、IFCM_ERROR_INTERNAL が返されます。 IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UCHAR Identify[512]; Ret = CmGetDeviceIdentify(0, CM_TARGET_DEVICE_NORMAL, Identify); ●Visual C# .NET uint Ret; byte[] Identify = new byte[512]; Ret = IFCCPMGR.CmGetDeviceIdentify(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Identify); ●Visual Basic .NET Dim Ret As Integer Dim Identify(512) As Byte Ret = IFCCPMGR.CmGetDeviceIdentify(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Identify) Physical Drive0 の情報を取得します。 © 2016 Interface Corporation. 91 Help for Windows 27. CmGetSmartAttribute 【機能】 デバイスの S.M.A.R.T 情報を取得します。 【書式】 ●C 言語 UINT CmGetSmartAttribute( UINT TargetDrive, UINT TargetDevice, UCHAR* pAttribute ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetSmartAttribute( uint TargetDrive, uint TargetDevice, byte pAttribute ); ●Visual Basic .NET Declare Function CmGetSmartAttribute Lib "ifcpmgr.dll"(_ ByVal TargetDrive As Integer, _ ByVal TargetDevice As Integer, _ ByVal pAttribute As Byte() _ )As Integer 【パラメータ】 TargetDrive S.M.A.R.T 情報を取得するドライブの番号を指定します。 例)Physical Drive0 の S.M.A.R.T 情報を取得したい場合、0 を指定します。 Windows の「ディスクの管理」(diskmgmt.msc)で表示される、ディスク x の x の部分が 該当します。 © 2016 Interface Corporation. 92 Help for Windows TargetDevice S.M.A.R.T 情報を取得するデバイスを指定します。 下記の値が指定できます。 識別子 値 内容 CM_TARGET_DEVICE_NORMAL 0 TargetDrive へ 指 定 さ れ た デ バ イ ス の S.M.A.R.T 情報を取得します。 CM_TARGET_DEVICE_RAID1 1 RAID ボード(SVRC-C600SA)のドライブ 1 へ接続 されたデバイスの情報を取得します。 CM_TARGET_DEVICE_RAID2 2 RAID ボード(SVRC-C600SA)のドライブ 2 へ接続 されたデバイスの情報を取得します。 ※CM_TARGET_DEVICE_RAID1、CM_TARGET_DEVICE_RAID2 は TargetDrive が SVRC-C600SA の場 合のみ使用できます。TargetDrive が SVRC-C600SA 以外の場合、不正なデータが取得されま す。 pAttribute S.M.A.R.T 情報の格納先です。512byte 以上の配列を指定してください。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 条件 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_INVALID_PARAMETER C0000002h 入力パラメータ不正 IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ IFCM_ERROR_NOT_ALLOCATE C0000006h メモリ確保失敗 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー 指定したデバイスが S.M.A.R.T 情報の取得に非対応等の要因により、情報の取得に失敗した場 合、IFCM_ERROR_INTERNAL が返されます。 IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 93 Help for Windows 【使用例】 ●C 言語 UINT Ret; UCHAR Attribute[512]; Ret = CmGetSmartAttribute(0, CM_TARGET_DEVICE_NORMAL, Attribute); ●Visual C# .NET uint Ret; byte[] Attribute = new byte[512]; Ret = IFCCPMGR.CmGetSmartAttribute(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Attribute); ●Visual Basic .NET Dim Ret As Integer Dim Attribute(512) As Byte Ret = IFCCPMGR.CmGetSmartAttribute(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Attribute) Physical Drive0 の S.M.A.R.T 情報を取得します。 © 2016 Interface Corporation. 94 Help for Windows 28. CmGetSmartThreshold 【機能】 デバイスの S.M.A.R.T 情報の閾値を取得します。 【書式】 ●C 言語 UINT CmGetSmartThreshold( UINT TargetDrive, UINT TargetDevice, UCHAR* pThreshold ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetSmartThreshold( uint TargetDrive, uint TargetDevice, byte pThreshold ); ●Visual Basic .NET Declare Function CmGetSmartThreshold Lib "ifcpmgr.dll"(_ ByVal TargetDrive As Integer, _ ByVal TargetDevice As Integer, _ ByVal pThreshold As Byte() _ )As Integer 【パラメータ】 TargetDrive S.M.A.R.T 情報の閾値を取得するドライブの番号を指定します。 例)Physical Drive0 の S.M.A.R.T 情報を取得したい場合、0 を指定します。 Windows の「ディスクの管理」(diskmgmt.msc)で表示される、ディスク x の x の部分が 該当します。 © 2016 Interface Corporation. 95 Help for Windows TargetDevice S.M.A.R.T 情報の閾値を取得するデバイスを指定します。 下記の値が指定できます。 識別子 値 内容 CM_TARGET_DEVICE_NORMAL 0 TargetDrive へ 指 定 さ れ た デ バ イ ス の S.M.A.R.T 情報の閾値を取得します。 CM_TARGET_DEVICE_RAID1 1 RAID ボード(SVRC-C600SA)のドライブ 1 へ接続 されたデバイスの情報を取得します。 CM_TARGET_DEVICE_RAID2 2 RAID ボード(SVRC-C600SA)のドライブ 2 へ接続 されたデバイスの情報を取得します。 ※CM_TARGET_DEVICE_RAID1、CM_TARGET_DEVICE_RAID2 は TargetDrive が SVRC-C600SA の場 合のみ使用できます。TargetDrive が SVRC-C600SA 以外の場合、不正なデータが取得されま す。 pThreshold S.M.A.R.T 情報の閾値の格納先です。512byte 以上の配列を指定してください。 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 条件 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_INVALID_PARAMETER C0000002h 入力パラメータ不正 IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ IFCM_ERROR_NOT_ALLOCATE C0000006h メモリ確保失敗 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー 指定したデバイスが S.M.A.R.T 情報の閾値取得に非対応等の要因で情報の取得に失敗した場合、 IFCM_ERROR_INTERNAL が返されます。 IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 96 Help for Windows 【使用例】 ●C 言語 UINT Ret; UCHAR Threshold[512]; Ret = CmGetSmartThreshold(0, CM_TARGET_DEVICE_NORMAL, Threshold); ●Visual C# .NET uint Ret; byte[] Threshold = new byte[512]; Ret = IFCCPMGR.CmGetSmartAttribute(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Threshold); ●Visual Basic .NET Dim Ret As Integer Dim Threshold(512) As Byte Ret = IFCCPMGR.CmGetSmartAttribute(0, IFCCPMGR.CM_TARGET_DEVICE_NORMAL, Threshold) Physical Drive0 の S.M.A.R.T 情報の閾値を取得します。 © 2016 Interface Corporation. 97 Help for Windows 29. CmSetEvent 【機能】 シグナルイベント、ウィンドウメッセージ、コールバック関数等の割り込みイベントを登録し ます。 【書式】 ●C 言語 UINT CmSetEvent( PCM_EVENT_REQ ); pEvent ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetEvent( ref CM_EVENT_REQ pEvent ); ●Visual Basic .NET Declare Function CmSetEvent Lib "ifcpmgr.dll"(_ ByRef pEvent As CM_EVENT_REQ _ )As Integer 【パラメータ】 pEvent イベント登録用構造体を指定します。 詳細は『4.6.1 CM_EVENT_REQ』をご参照ください。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_ALREADY C0000003h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_NOT_ALLOCATE C0000006h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 既にイベント登録済み NULL ポインタ検出 メモリ確保失敗 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 1 つのアプリケーションにつき、1 つのイベントを登録できます。 コールバック関数についての詳細は『4.5 コールバック関数』をご参照ください。 【注意】 コールバック関数は C 言語でのみ使用可能です。 その他の言語では、シグナルイベント、またはメッセージをご利用ください。 © 2016 Interface Corporation. 98 Help for Windows 【使用例】 ●C 言語 UINT Ret; CM_EVENT_REQ EventReq; EventReq.Signal = CreateEvent(NULL, TRUE, FALSE, NULL); EventReq.Wnd = NULL; EventReq.Msg = WM_NULL; EventReq.CallBackProc = NULL; EventReq.User = NULL; Ret = CmSetEvent(&EventReq); ●Visual C# .NET uint Ret; IFCCPMGR.CM_EVENT_REQ EventReq = new IFCCPMGR.CM_EVENT_REQ(); EventReq.Signal = IFCCPMGR.CreateEvent(IntPtr.Zero, true, false, null); EventReq.Wnd = IntPtr.Zero; EventReq.Msg = 0; EventReq.CallBackProc = IntPtr.Zero; EventReq.User = IntPtr.Zero; Ret = IFCCPMGR.CmSetEvent(ref EventReq); ●Visual Basic .NET Dim Ret As Integer Dim EventReq As IFCCPMGR.CM_EVENT_REQ = New IFCCPMGR.CM_EVENT_REQ EventReq.Signal = IFCCPMGR.CreateEvent(IntPtr.Zero, True, False, Nothing) EventReq.Wnd = IntPtr.Zero EventReq.Msg = 0 EventReq.CallBackProc = IntPtr.Zero EventReq.User = IntPtr.Zero Ret = IFCCPMGR.CmSetEvent(EventReq) シグナルイベントを登録します。 © 2016 Interface Corporation. 99 Help for Windows 30. CmKillEvent 【機能】 登録している割り込みイベントを解除します。 【書式】 ●C 言語 UINT CmKillEvent(void); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmKillEvent(); ●Visual Basic .NET Declare Function CmKillEvent Lib "ifcpmgr.dll"() As Integer 【パラメータ】 なし 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_NOT_YET C0000004h まだ動作していない IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmKillEvent(); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmKillEvent(); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmKillEvent() 割り込みイベントを解除します。 © 2016 Interface Corporation. 100 Help for Windows 31. CmSetEventMask 【機能】 割り込みイベントマスクを設定し、各イベントの有効、無効を設定します。 【書式】 ●C 言語 UINT CmSetEventMask( UINT Mask ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetEventMask( uint Mask ); ●Visual Basic .NET Declare Function CmSetEventMask Lib "ifcpmgr.dll"(_ ByVal Mask As Integer _ )As Integer 【パラメータ】 Mask 有効にするイベントを下記の値で指定します。 0 を指定すると、すべてのイベントが無効になります。デフォルトは 0 です。 複数の値を OR で指定することが可能です。 ※同じ接点に対しては CM_EVENT_RISE_SIGx と CM_EVENT_FALL_SIGx を併用することはでき ません。 識別子 CM_EVENT_WDS CM_EVENT_CPTHS CM_EVENT_CPTLS CM_EVENT_LCTHS CM_EVENT_LCTLS CM_EVENT_VEXTA CM_EVENT_FALL_SIG1 CM_EVENT_FALL_SIG2 CM_EVENT_FALL_SIG3 CM_EVENT_FALL_SIG4 CM_EVENT_RISE_SIG1 CM_EVENT_RISE_SIG2 CM_EVENT_RISE_SIG3 値 1h 4h 8h 10h 20h 40h 100h 200h 400h 800h 1000h 2000h 4000h 意味 WDT 周期満了イベントを有効にします。 CPU コア温度異常上限超えイベントを有効にします。 CPU コア温度異常下限超えイベントを有効にします。 CPU 基板温度異常上限超えイベントを有効にします。 CPU 基板温度異常下限超えイベントを有効にします。 外部電源電圧異常イベントを有効にします。 ※AC 電源タイプの製品では内部 DC 出力電圧異常時に イベントが発生します。 DIN1 OFF→ON 検出を有効にします。 DIN2 OFF→ON 検出を有効にします。 DIN3 OFF→ON 検出を有効にします。 DIN4 OFF→ON 検出を有効にします。 DIN1 ON→OFF 検出を有効にします。 DIN2 ON→OFF 検出を有効にします。 DIN3 ON→OFF 検出を有効にします。 © 2016 Interface Corporation. 101 Help for Windows 識別子 CM_EVENT_RISE_SIG4 CM_EVENT_CPTHSA CM_EVENT_CPTLSA CM_EVENT_LCTHSA CM_EVENT_LCTLSA CM_EVENT_VSSEX CM_EVENT_VSSEY CM_EVENT_VSSEZ CM_EVENT_FAN1ST CM_EVENT_RAIDSE CM_EVENT_HIMO_SWITCH 値 8000h 10000h 20000h 40000h 80000h 100000h 200000h 400000h 1000000h 40000000h 80000000h 意味 DIN4 ON→OFF 検出を有効にします。 CPU コア温度警告上限超えイベントを有効にします。 CPU コア温度警告下限超えイベントを有効にします。 CPU 基板温度警告上限超えイベントを有効にします。 CPU 基板温度警告下限超えイベントを有効にします。 X 軸振動・衝撃検出イベントを有効にします。 Y 軸振動・衝撃検出イベントを有効にします。 Z 軸振動・衝撃検出イベントを有効にします。 FAN1 異常検出イベントを有効にします。 RAID 異常検出イベントを有効にします。 ひもスイッチイベントを有効にします。 ご使用の製品によって指定できない識別子があります。 以下表をご参照ください。 識別子 SuperCD CM_EVENT_WDS ○ CM_EVENT_CPTHS ○ CM_EVENT_CPTLS ○ CM_EVENT_LCTHS ○ CM_EVENT_LCTLS ○ CM_EVENT_VEXTA ○ CM_EVENT_FALL_SIG1 ○ CM_EVENT_FALL_SIG2 ○ CM_EVENT_FALL_SIG3 ○ CM_EVENT_FALL_SIG4 ○ CM_EVENT_RISE_SIG1 ○ CM_EVENT_RISE_SIG2 ○ CM_EVENT_RISE_SIG3 ○ CM_EVENT_RISE_SIG4 ○ CM_EVENT_CPTHSA − CM_EVENT_CPTLSA − CM_EVENT_LCTHSA − CM_EVENT_LCTLSA − CM_EVENT_VSSEX − CM_EVENT_VSSEY − CM_EVENT_VSSEZ − CM_EVENT_FAN1ST − CM_EVENT_RAIDSE − CM_EVENT_HIMO_SWITCH ○ © 2016 Interface Corporation. 102 スリムタワーCD ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ − Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・1 つのアプリケーションにつき、1 つのイベントマスク値を設定できます。 (異なるアプリケーションでは、異なるイベントマスク値が使用できます。) 同 じ 接 点 に 対 し て は 、 異 な る ア プ リ ケ ー シ ョ ン で も CM_EVENT_RISE_SIGx と CM_EVENT_FALL_SIGx を併用することはできません。 ・複数のアプリケーションで同じイベントを有効にしている場合、イベント要因が満たされる と、どちらのアプリケーションにも割り込みイベントが通知されます。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetEventMask(CM_EVENT_WDS │ CM_EVENT_CPTHS); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetEventMask(IFCCPMGR.CM_EVENT_WDS │ IFCCPMGR.CM_EVENT_CPTHS); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetEventMask(IFCCPMGR.CM_EVENT_WDS Or IFCCPMGR.CM_EVENT_CPTHS) WDT イベント、CPU コア温度上限超えイベントを有効にします。 © 2016 Interface Corporation. 103 Help for Windows 32. CmGetEventMask 【機能】 現在の割り込みイベントマスク値を取得します。 【書式】 ●C 言語 UINT CmGetEventMask( UINT* pMask ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetEventMask( out uint pMask ); ●Visual Basic .NET Declare Function CmGetEventMask Lib "ifcpmgr.dll"(_ ByRef pMask As Integer _ )As Integer 【パラメータ】 pMask イベントマスク格納先です。 CmSetEventMask関数で設定した値が取得できます。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 104 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Mask; Ret = CmGetEventMask(&Mask); ●Visual C# .NET uint Ret; uint Mask; Ret = IFCCPMGR.CmGetEventMask(out Mask); ●Visual Basic .NET Dim Ret As Integer Dim Mask As Integer Ret = IFCCPMGR.CmGetEventMask(Mask) 現在のイベントマスク値を取得します。 © 2016 Interface Corporation. 105 Help for Windows 33. CmGetEventFactor 【機能】 割り込みイベントの発生要因を取得します。 【書式】 ●C 言語 UINT CmGetEventFactor( UINT* pFactor ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetEventFactor( out uint pFactor ); ●Visual Basic .NET Declare Function CmGetEventFactor Lib "ifcpmgr.dll"(_ ByRef pFactor As Integer _ )As Integer 【パラメータ】 pFactor イベント要因格納先です。 下記の値が取得できます。複数の要因が検出されることもあります。 識別子 値 意味 CM_EVENT_WDS 1h WDT 周期満了イベント CM_EVENT_CPTHS 4h CPU コア温度異常上限超えイベント CM_EVENT_CPTLS 8h CPU コア温度異常下限超えイベント CM_EVENT_LCTHS 10h CPU 基板温度異常上限超えイベント CM_EVENT_LCTLS 20h CPU 基板温度異常下限超えイベント CM_EVENT_VEXTA 40h 外部電源電圧異常イベント ※AC 電源タイプの製品では内部 DC 出力電圧異常時に イベントが発生します。 CM_EVENT_FALL_SIG1 100h DIN1 OFF→ON 検出 CM_EVENT_FALL_SIG2 200h DIN2 OFF→ON 検出 CM_EVENT_FALL_SIG3 400h DIN3 OFF→ON 検出 CM_EVENT_FALL_SIG4 800h DIN4 OFF→ON 検出 CM_EVENT_RISE_SIG1 1000h DIN1 ON→OFF 検出 CM_EVENT_RISE_SIG2 2000h DIN2 ON→OFF 検出 CM_EVENT_RISE_SIG3 4000h DIN3 ON→OFF 検出 CM_EVENT_RISE_SIG4 8000h DIN4 ON→OFF 検出 CM_EVENT_CPTHSA 10000h CPU コア温度警告上限超えイベント CM_EVENT_CPTLSA 20000h CPU コア温度警告下限超えイベント CM_EVENT_LCTHSA 40000h CPU 基板温度警告上限超えイベント CM_EVENT_LCTLSA 80000h CPU 基板温度警告下限超えイベント © 2016 Interface Corporation. 106 Help for Windows 識別子 CM_EVENT_VSSEX CM_EVENT_VSSEY CM_EVENT_VSSEZ CM_EVENT_FAN1ST CM_EVENT_RAIDSE CM_EVENT_HIMO_SWITCH 値 100000h 200000h 400000h 1000000h 40000000h 80000000h 意味 X 軸振動・衝撃検出イベント Y 軸振動・衝撃検出イベント Z 軸振動・衝撃検出イベント FAN1 異常検出イベント RAID 異常検出イベント ひもスイッチイベント 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【注意】 割り込みイベントが通知された (シグナルイベントがシグナル状態になった、メッセージが通 知された、コールバック関数が呼び出された) 後に、本関数でイベント発生要因を取得してく ださい。 割り込みイベント通知後に、本関数を呼び出さないと次の割り込みイベントは通知されません。 【備考】 ・割り込み要因を取得すると、要因はクリアされます。 (本関数を呼び出して要因を取得した後、何も要因が満たされていない状態で再度本関数を呼 び出すと、2 回目は要因として 0 が返されます。) ・割り込み要因を取得する前に、複数回要因が満たされた場合、1 回にまとめられます。 例えば、CPU コア温度上限超えイベント発生後、要因を取得する前に、再度 CPU コア温度が 上限を超えた場合、本関数を実行すると CM_EVENT_CPTHS が検出されますが、再度本関数を実 行しても、要因として 0 が返されます。 また、この場合、割り込みイベントも 1 回しか発生しません。 (本関数で要因取得後に、再度 CPU コア温度が上限を超えると、再度イベント通知されます。) ・イベント要因は、アプリケーションごとに独立しています。 例えば 2 つのアプリケーションで WDT イベントを有効にし、周期満了になって WDT イベント が 2 つのアプリケーションで発生したとします。 この場合、片方のアプリケーションで要因を取得しても、もう片方の要因はクリアされませ ん。もし片方のアプリケーションでしか要因を取得しなければ、要因を取得した方のアプリ ケーションでのみ、次回も割り込みイベントが通知されます。(要因を取得しなかった方のア プリケーションは次回の割り込みイベントは通知されません。) 両方のアプリケーションで要因を取得すると、どちらのアプリケーションにも CM_EVENT_WDS が検出され、どちらのアプリケーションも次回の割り込みイベントが通知されます。 © 2016 Interface Corporation. 107 Help for Windows ・ 【使用例】 ●C 言語 LRESULT CEventDlg::OnMessage(WPARAM wParam, LPARAM lParam) { UINT Ret; UINT Factor; Ret = CmGetEventFactor(&Factor); … } End Sub ●Visual C# .NET private void OnMessage(IntPtr WParam, IntPtr LParam) { uint Ret; uint Factor; Ret = IFCCPMGR.CmGetEventFactor(out Factor); … } ●Visual Basic .NET Public Sub OnMessage(ByVal WParam As IntPtr, ByVal LParam As IntPtr) Dim Ret As Integer Dim Factor As Integer Ret = IFCCPMGR.CmGetEventFactor(Factor) … End Sub メッセージハンドラ内でイベント要因を取得します。 © 2016 Interface Corporation. 108 Help for Windows 34. CmGetControlStatus 【機能】 現在の制御状態を取得します。 【書式】 ●C 言語 UINT CmGetControlStatus( UINT* pStatus ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetControlStatus ( ref uint pStatus ); ●Visual Basic .NET Declare Function CmGetControlStatusLib "ifcpmgr.dll"(_ ByRef pStatus As Integer _ )As Integer 【パラメータ】 pStatus 制御状態の格納先です。下記のデータが取得されます。 bit31∼bit12 予約 bit7∼bit5 予約 WDS BUZZER ERRLED ALMLED DOUT1 DOUT2 DOUT3 DOUT4 : : : : : : : : bit4 ALMLED bit11 DOUT4 bit10 DOUT3 bit9 DOUT2 bit8 DOUT1 bit3 ERRLED bit2 BUZZER bit1 予約 bit0 WDS WDT の制御状態が取得できます。0 が WDT 停止中、1 が WDT 稼動中です。 ブザーの制御状態が取得できます。0 が OFF、1 が ON です。 エラーLED の制御状態が取得できます。0 が OFF、1 が ON です。 アラーム LED の制御状態が取得できます。0 が OFF、1 が ON です。 デジタル出力接点 1 の制御状態が取得できます。0 が OFF、1 が ON です。 デジタル出力接点 2 の制御状態が取得できます。0 が OFF、1 が ON です。 デジタル出力接点 3 の制御状態が取得できます。0 が OFF、1 が ON です。 デジタル出力接点 4 の制御状態が取得できます。0 が OFF、1 が ON です。 © 2016 Interface Corporation. 109 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT Status; Ret = CmGetControlStatus(&Status); ●Visual C# .NET uint Ret; uint Status; Ret = IFCCPMGR.CmGetControlStatus(out Status); ●Visual Basic .NET Dim Ret As Integer Dim Status As Integer Ret = IFCCPMGR.CmGetControlStatus(Status) 現在の制御状態を取得します。 © 2016 Interface Corporation. 110 Help for Windows 35. CmGetErrorStatus 【機能】 現在発生中の異常状態を取得します。 【書式】 ●C 言語 UINT CmGetErrorStatus( UINT* pStatus ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetErrorStatus( out uint pStatus ); ●Visual Basic .NET Declare Function CmGetErrorStatus Lib "ifcpmgr.dll"(_ ByRef pStatus As Integer _ )As Integer 【パラメータ】 pStatus 異常状態の格納先です。下記のデータが取得されます。 bit31 bit30 bit29 ∼ bit25 予約 RAIDSE 予約 bit23 予約 bit22 VSSEZ bit21 VSSEY bit20 VSSEX bit24 FAN1ST bit19 ∼ bit16 予約 bit15 ∼ bit8 予約 bit7 予約 bit6 VEXTA CPTHS CPTLS LCTHS LCTLS VEXTA : : : : : VSSEX VSSEY VSSEZ FAN1ST : : : : bit5 LCTLS bit4 LCTHS bit3 CPTLS bit2 CPTHS bit1 予約 bit0 予約 CPU コア温度上限超え異常の状態を取得できます。 CPU コア温度下限超え異常の状態を取得できます。 CPU 基板温度上限超え異常の状態を取得できます。 CPU 基板温度下限超え異常の状態を取得できます。 外部電源電圧異常の状態を取得できます。 ※AC 電源タイプの製品では内部 DC 出力電圧の異常状態が取得できます。 X 軸方向振動衝撃異常の状態を取得できます。 Y 軸方向振動衝撃異常の状態を取得できます Z 軸方向振動衝撃異常の状態を取得できます FAN 回転異常の状態を取得できます © 2016 Interface Corporation. 111 Help for Windows RAIDSE : RAID 異常の状態を取得できます 0 が正常、1 が異常発生中となります。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT Status; Ret = CmGetErrorStatus(&Status); ●Visual C# .NET uint Ret; uint Status; Ret = IFCCPMGR.CmGetErrorStatus(out Status); ●Visual Basic .NET Dim Ret As Integer Dim Status As Integer Ret = IFCCPMGR.CmGetErrorStatus(Status) 現在の異常状態を取得します。 © 2016 Interface Corporation. 112 Help for Windows 36. CmGetAlarmStatus 【機能】 現在発生中の警告状態を取得します。 【書式】 ●C 言語 UINT CmGetAlarmStatus( UINT* pStatus ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetAlarmStatus ( out uint pStatus ); ●Visual Basic .NET Declare Function CmGetAlarmStatus Lib "ifcpmgr.dll"(_ ByRef pStatus As Integer _ )As Integer 【パラメータ】 pStatus 警告状態の格納先です。下記のデータが取得されます。 bit31 ∼ bit8 予約 bit7 予約 bit6 予約 bit5 LCTLS bit4 LCTHS bit3 CPTLS bit2 CPTHS bit1 予約 bit0 予約 CPTHS : CPU コア温度上限超え警告の状態を取得できます。 CPTLS : CPU コア温度下限超え警告の状態を取得できます。 LCTHS : CPU 基板温度上限超え警告の状態を取得できます。 LCTLS : CPU 基板温度下限超え警告の状態を取得できます。 0 が正常、1 が異常発生中となります。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_NULL_POINTER C0000005h NULL ポインタ検出 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 113 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Status; Ret = CmGetAlarmStatus(&Status); ●Visual C# .NET uint Ret; uint Status; Ret = IFCCPMGR.CmGetAlarmStatus(out Status); ●Visual Basic .NET Dim Ret As Integer Dim Status As Integer Ret = IFCCPMGR.CmGetAlarmStatus(Status) 現在の警告状態を取得します。 © 2016 Interface Corporation. 114 Help for Windows 37. CmGetRaidStatus 【機能】 RAID ステータスを取得します。 【書式】 ●C 言語 UINT CmGetRaidStatus( UINT Target, UINT* pStatus ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetRaidStatus( uint Target, out uint pStatus ); ●Visual Basic .NET Declare Function CmGetRaidStatus Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pStatus As Integer _ )As Integer 【パラメータ】 Target RAID ステータスを取得する対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_RAID_TARGET_TYPE1 0 RAID ボード(SVRC-C600SA)のステータスを取得 します。 pStatus RAID ステータスの格納先です。 Target へ CM_RAID_TARGET_TYPE1 を指定した場合は以下が取得できます。 値 内容 0 通常動作 1 ドライブ 1 異常 2 ドライブ 2 異常 3 データ再構築(コピー)中 4 システム・ホルト 5 HDD2→HDD1 へのデータ再構築(コピー)中にスキップ・リコン(※)発生 6 HDD1→HDD2 へのデータ再構築(コピー)中にスキップ・リコン(※)発生 ※データ再構築(コピー)中に、コピー元のドライブに読み込み異常が発生すると、RAID ボ ードはその異常が発生した部分をスキップして処理を継続します。この操作をスキップ・ リコンを呼びます。 © 2016 Interface Corporation. 115 Help for Windows 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h IFCM_ERROR_NOT_LINKED C0000009h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ 内部エラー 未サポート デバイス接続異常 【使用例】 ●C 言語 UINT Ret; UINT Status; Ret = CmGetRaidStatus(CM_RAID_TARGET_TYPE1, &Status); ●Visual C# .NET uint Ret; uint Status; Ret = IFCCPMGR.CmGetRaidStatus(IFCCPMGR.CM_RAID_TARGET_TYPE1, out Status); ●Visual Basic .NET Dim Ret As Integer Dim Status As Integer Ret = IFCCPMGR.CmGetRaidStatus(IFCCPMGR.CM_RAID_TARGET_TYPE1, Status) RAID ステータスを取得します。 © 2016 Interface Corporation. 116 Help for Windows 38. CmInputUP 【機能】 デジタル入力状態を読み込みます。 【書式】 ●C 言語 UINT CmInputUP( UINT* pData ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmInputUP out uint pData ); ●Visual Basic .NET Declare Function CmInputUP Lib "ifcpmgr.dll"(_ ByRef pData As Integer _ )As Integer 【パラメータ】 pData デジタル入力情報の格納先です。各ビットが下記の接点状態を示します。 bit31∼bit4 bit3 bit2 bit1 予約(値は無視してください) DIN4 DIN3 DIN2 0:OFF、1:ON 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h bit0 DIN1 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 117 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Data; Ret = CmInputUP(&Data); ●Visual C# .NET uint Ret; uint Data; Ret = IFCCPMGR. CmInputUP(out Data); ●Visual Basic .NET Dim Ret As Integer Dim Data As Integer Ret = IFCCPMGR. CmInputUP(Data) デジタル入力接点を読み込みます。 © 2016 Interface Corporation. 118 Help for Windows 39. CmOutputUP 【機能】 デジタル出力を制御します。 【書式】 ●C 言語 UINT CmOutputUP( UINT Data ); )As Integer ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmOutputUP( uint Data ); ●Visual Basic .NET Declare Function CmOutputUP Lib "ifcpmgr.dll"(_ ByVal Data As Integer _ )As Integer 【パラメータ】 Data デジタル出力接点データを指定します。各ビットが下記の制御端子に対応します。 bit31∼bit4 bit3 bit2 bit1 bit0 予約(0 を指定してください) DOUT4 DOUT3 DOUT2 DOUT1 0:OFF、1:ON 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 119 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmOutputUP(0x00000001); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmOutputUP(0x00000001); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmOutputUP(&H1) DOUT1 を ON に設定します。 © 2016 Interface Corporation. 120 Help for Windows 40. CmSetDIConfig 【機能】 デジタル入力接点の機能を設定します。 【書式】 ●C 言語 UINT CmSetDIConfig ( UINT Target, UINT Mode, ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetDIConfig ( uint Target, uint Mode ); ●Visual Basic .NET Declare Function CmSetDIConfig Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal Mode As Integer _ )As Integer 【パラメータ】 Target デジタル入力接点を指定します。 識別子 値 CM_DI_TARGET_DIN1 0 デジタル入力接点 1 意味 Mode 割り当てる機能を設定します。 識別子 値 CM_DICONF_GP_IN 0h CM_DICONF_POW_SWITCH 1h 意味 汎用入力 電源スイッチ © 2016 Interface Corporation. 121 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetDIConfig(CM_DI_TARGET_DIN1, CM_DICONF_POW_SWITCH); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetDIConfig(IFCCPMGR.CM_DI_TARGET_DI1, CM_DICONF_POW_SWITCH);; ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetDIConfig(IFCCPMGR.CM_DI_TARGET_DI1, CM_DICONF_POW_SWITCH); デジタル入力接点 1 を電源スイッチに設定します。 © 2016 Interface Corporation. 122 Help for Windows 41. CmGetDIConfig 【機能】 デジタル入力接点の設定状態を確認します。 【書式】 ●C 言語 UINT CmGetDIConfig( UINT Target, UINT* pMode, ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetDIConfig( uint Target, out uint pModen ); ●Visual Basic .NET Declare Function CmGetDIConfig Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pMode As Integer _ )As Integer 【パラメータ】 Target デジタル入力接点を指定します。 識別子 値 CM_DI_TARGET_DIN1 0 デジタル入力接点 1 意味 pMode 設定の格納先です。 CmSetDIConfig関数で設定可能な値が取得できます。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 123 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Mode Ret = CmGetDIConfig(CM_DI_TARGET_DIN1, &Mode); ●Visual C# .NET uint Ret; uint Mode; Ret = IFCCPMGR.CmGetDIConfig(IFCCPMGR.CM_DI_TARGET_DI1, out Mode); ●Visual Basic .NET Dim Ret As Integer Dim Mode As Integer Ret = IFCCPMGR.CmGetDIConfig(IFCCPMGR.CM_DI_TARGET_DI1, Mode) デジタル入力接点 1 の設定を取得します。 © 2016 Interface Corporation. 124 Help for Windows 42. CmSetRasNotify 【機能】 異常発生時の自動通知(RAS 通知)方法と条件、通知条件を満たしたときのデジタル出力接点状 態を設定します。 【書式】 ●C 言語 UINT CmSetRasNotify( UINT Enable, UINT Condition, UINT Ctrl ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetRasNotify( uint Enable, uint Condition, uint Ctrl ); ●Visual Basic .NET Declare Function CmSetRasNotify Lib "ifcpmgr.dll"(_ ByVal Enable As Integer, _ ByVal Condition As Integer, _ ByVal Ctrl As Integer _ )As Integer 【パラメータ】 Enable RAS 通知の方法を指定します。 下記の値が指定できます。 識別子 値 予約 0 CM_RAS_ENABLE_BUZZER 1 意味 予約 Condition に設定した条件を満たした際、ブザーを ON します。 CM_RAS_ENABLE_ERRLED 2 CM_RAS_ENABLE_ALMLED 3 CM_RAS_ENABLE_DOUT1 4 CM_RAS_ENABLE_DOUT2 5 CM_RAS_ENABLE_DOUT3 6 CM_RAS_ENABLE_DOUT4 7 Condition に設定した条件を満たした際、エラーLED を制御します。 Condition に設定した条件を満たした際、アラーム LED を制御します。 Condition に設定した条件を満たした際、デジタル出 力接点 1 を制御します。 Condition に設定した条件を満たした際、デジタル出 力接点 2 を制御します。 Condition に設定した条件を満たした際、デジタル出 力接点 3 を制御します。 Condition に設定した条件を満たした際、デジタル出 力接点 4 を制御します。 © 2016 Interface Corporation. 125 Help for Windows ご使用の製品によって指定できない識別子があります。 以下表をご参照ください。 識別子 SuperCD CM_RAS_ENABLE_BUZZER ○ CM_RAS_ENABLE_ERRLED ○ CM_RAS_ENABLE_ALMLED − CM_RAS_ENABLE_DOUT1 ○ CM_RAS_ENABLE_DOUT2 ○ CM_RAS_ENABLE_DOUT3 ○ CM_RAS_ENABLE_DOUT4 ○ スリムタワーCD ○ ○ ○ ○ ○ ○ ○ Condition RAS 通知する条件を指定します。 下記の値が指定できます。複数の値を OR で指定することも可能です。 識別子 値 意味 0h 自動通知を行いません。 CM_RAS_COND_WDS 1h WDT 周期満了の際に RAS 通知を行います。 CM_RAS_COND_CPTHS 4h CPU コア温度異常上限超えの際に RAS 通知を行いま す。 CM_RAS_COND_CPTLS 8h CPU コア温度異常下限超えの際に RAS 通知を行いま す。 CM_RAS_COND_LCTHS 10h CPU 基板温度異常上限超えの際に RAS 通知を行いま す。 CM_RAS_COND_LCTLS 20h CPU 基板温度異常下限超えの際に RAS 通知を行いま す。 CM_RAS_COND_VEXTA 40h 外部電源電圧異常の際に RAS 通知を行います。 ※AC 電源タイプの製品では内部 DC 出力電圧異常時 に RAS 通知を行います。 CM_RAS_COND_CPTHSA 10000h CPU コア温度警告上限超えの際に RAS 通知を行いま す。 CM_RAS_COND_CPTLSA 20000h CPU コア温度警告下限超えの際に RAS 通知を行いま す。 CM_RAS_COND_LCTHSA 40000h CPU 基板温度警告上限超えの際に RAS 通知を行いま す。 CM_RAS_COND_LCTLSA 80000h CPU 基板温度警告下限超えの際に RAS 通知を行いま す。 CM_RAS_COND_VSSEX 100000h X 軸振動・衝撃異常検知の際に RAS 通知を行います。 CM_RAS_COND_VSSEY 200000h Y 軸振動・衝撃異常検知の際に RAS 通知を行います。 CM_RAS_COND_VSSEZ 400000h Z 軸振動・衝撃異常検知の際に RAS 通知を行います。 CM_RAS_COND_FAN1ST 1000000h FAN1 異常の際に RAS 通知を行います。 CM_RAS_COND_RAIDSE 40000000h RAID 異常の際に RAS 通知を行います。 © 2016 Interface Corporation. 126 Help for Windows ご使用の製品によって指定できない識別子があります。 以下表をご参照ください。 識別子 SuperCD CM_RAS_COND_WDS ○ CM_RAS_COND_CPTHS ○ CM_RAS_COND_CPTLS ○ CM_RAS_COND_LCTHS ○ CM_RAS_COND_LCTLS ○ CM_RAS_COND_VEXTA ○ CM_RAS_COND_CPTHSA − CM_RAS_COND_CPTLSA − CM_RAS_COND_LCTHSA − CM_RAS_COND_LCTLSA − CM_RAS_COND_VSSEX − CM_RAS_COND_VSSEY − CM_RAS_COND_VSSEZ − CM_RAS_COND_FAN1ST − CM_RAS_COND_RAIDSE − スリムタワーCD ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Ctrl Condition に設定した条件を満たした際のデジタル出力状態を設定します。 Enable へ CM_RAS_ENABLE_DOUTxx を 指 定 し た 場 合 の み 下 記 の 値 が 設 定 で き ま す 。 CM_RAS_ENABLE_DOUTxx 以外を指定した場合は無視されます。(xx はデジタル出力接点の番 号) 識別子 値 意味 CM_RAS_DO_OFF 0 Condition の条件が満たされた際にデジタル出力接点を OFF に設定します。 CM_RAS_DO_ON 1 Condition の条件が満たされた際にデジタル出力接点を ON に設定します。 © 2016 Interface Corporation. 127 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・エラーLED、アラームLEDはCmSetPatternNoticeLed関数で設定した点灯パターンで制御されま す。 ・Enable へ ア ラ ー ム LED (CM_RAS_ENABLE_ALMLED) を 指 定 し た 場 合 、 Condition へ は (CM_RAS_COND_CPTHSA)、CPU コア温度下限警告 (CM_RAS_COND_CPTLSA)、CPU 基板温度上限警 告 (CM_RAS_COND_LCTHSA)、CPU 基板温度下限警告 (CM_RAS_COND_LCTLSA)のみ指定できます。 また、Enable へアラーム LED 以外を指定した場合、Condition へ CPU コア温度上限警告、CPU コア温度下限警告、CPU 基板温度上限警告、CPU 基板温度下限警告は指定できません。 ・通知条件は OR 条件での指定のみ可能です。AND 条件での指定は行えません。 【使用例】 ●C 言語 UINT Ret; Ret = CmSetRasNotify(CM_RAS_ENABLE_DOUT1, CM_RAS_COND_WDS, CM_RAS_DO_ON); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetRasNotify(IFCCPMGR.CM_RAS_ENABLE_DO1, IFCCPMGR.CM_RAS_COND_WDS, IFCCPMGR.CM_RAS_DO_ON); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetRasNotify(IFCCPMGR.CM_RAS_ENABLE_DO1, IFCCPMGR.CM_RAS_COND_WDS, IFCCPMGR.CM_RAS_DO_ON) WDT 異常時に、デジタル出力接点 1 を ON するように設定します。 © 2016 Interface Corporation. 128 Help for Windows 43. CmGetRasNotify 【機能】 異常発生時の自動通知(RAS 通知)方法と条件、通知条件を満たしたときのデジタル出力接点状 態を取得します。 【書式】 ●C 言語 UINT CmGetRasNotify( UINT Enable, UINT* pCondition, UINT* pCtrl ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetRasNotify( uint Enable, out uint Condition, out uint Ctrl ); ●Visual Basic .NET Declare Function CmGetRasNotify Lib "ifcpmgr.dll"(_ ByVal Enable As Integer, _ ByRef pCondition As Integer, _ ByRef pCtrl As Integer _ )As Integer 【パラメータ】 Enable RAS通知方法を指定します。 ここに指定した通知方法に割り当てられた通知条件が取得されます。 CmSetRasNotify関数で設定できる値を指定できます。 pCondition RAS通知条件格納先です。 CmSetRasNotify関数で設定した値が取得できます。 pCtrl RAS通知条件を満たしたときのデジタル出力接点状態格納先です。 CmSetRasNotify関数で設定した値が取得できます。 © 2016 Interface Corporation. 129 Help for Windows 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT Enable; UINT Condition; UINT Ctrl; Ret = CmGetRasNotify(CM_RAS_ENABLE_DOUT1, &Condition, &Ctrl); ●Visual C# .NET uint Ret; uint Enable; uint Condition; uint Ctrl; Ret = IFCCPMGR.CmGetRasNotify(CM_RAS_ENABLE_DO1, out Condition, out Ctrl); ●Visual Basic .NET Dim Ret As Integer Dim Enable As Integer Dim Condition As Integer Dim Ctrl As Integer Ret = IFCCPMGR.CmGetRasNotify(CM_RAS_ENABLE_DO1, Condition, Ctrl) デジタル出力接点 1 の出力条件、条件を満たしたときのデジタル出力接点状態を取得します。 © 2016 Interface Corporation. 130 Help for Windows 44. CmControlNoticeLed 【機能】 LED を制御します。 【書式】 ●C 言語 UINT CmControlNoticeLed( UINT Ctrl ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmControlNoticeLed( uint Ctrl ); ●Visual Basic .NET Declare Function CmControlNoticeLed Lib "ifcpmgr.dll"(_ ByVal Ctrl As Integer _ )As Integer 【パラメータ】 Ctrl LEDデータを指定します。各ビットとLEDとの対応は下記になります。 各ビットに 0 を指定すると消灯、1 を指定するとCmSetPatternNoticeLed関数で設定したパ ターンで点灯します。 予約ビットには 0 を指定してください。 bit31∼bit2 bit1 bit0 予約(0 を指定してください) ALMLED ERRLED ERRLED ALMLED : : エラーLED を制御します。0 が OFF、1 が ON です。 アラーム LED を制御します。0 が OFF、1 が ON です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 131 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmControlNoticeLed(0x00000001); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmControlNoticeLed(0x00000001); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmControlNoticeLed(&H1); エラーLED を点灯させます。 © 2016 Interface Corporation. 132 Help for Windows 45. CmSetPatternNoticeLed 【機能】 LED の点灯パターンを設定します。 【書式】 ●C 言語 UINT CmSetPatternNoticeLed( UINT Target, UINT Pattern ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetPatternNoticeLed ( uint Target, uint Pattern ); ●Visual Basic .NET Declare Function CmSetPatternNoticeLed Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByVal Pattern As Integer _ )As Integer 【パラメータ】 Target 点灯パターンを設定する対象を指定します。 識別子 値 意味 CM_LED_TARGET_ERRLED 0 エラーLED の点灯パターンを設定します。 CM_LED_TARGET_ALMLED 1 アラーム LED の点灯パターンを設定します。 ご使用の製品によって指定できない識別子があります。 以下表をご参照ください。 識別子 SuperCD CM_LED_TARGET_ERRLED ○ CM_LED_TARGET_ALMLED − © 2016 Interface Corporation. 133 スリムタワーCD ○ ○ Help for Windows Pattern 点灯パターンを設定します。 下記の値が設定できます。 識別子 値 CM_LED_PATTERN1 0 CM_LED_PATTERN2 1 CM_LED_PATTERN3 2 CM_LED_PATTERN4 3 意味 Target に指定した LED をパターン 1 で点灯させます。 Target に指定した LED をパターン 2 で点灯させます。 Target に指定した LED をパターン 3 で点灯させます。 Target に指定した LED をパターン 4 で点灯させます。 点灯パターンは下記の通りです。 パターン LED の動作 1 常時点灯します。 2 1 秒周期で点滅します。 点灯 消灯 1.0秒 3 1.0秒 1.0秒 0.5 秒周期で点滅します。 点灯 消灯 0.5秒 4 0.5秒 0.5秒 0.5秒 0.5秒 0.5秒 0.5秒 0.2 秒周期で点滅します。 点灯 消灯 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 0.2秒 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 134 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmSetPatternNoticeLed(CM_LED_TARGET_ERRLED, CM_LED_PATTERN1); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetPatternNoticeLed(IFCCPMGR.CM_LED_TARGET_ERRLED, IFCCPMGR.CM_LED_PATTERN1); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetPatternNoticeLed(IFCCPMGR.CM_LED_TARGET_ERRLED, IFCCPMGR.CM_LED_PATTERN1); エラーLED の点灯パターンをパターン 1 に設定します。 © 2016 Interface Corporation. 135 Help for Windows 46. CmGetPatternNoticeLed 【機能】 LED の点灯パターンを取得します。 【書式】 ●C 言語 UINT CmGetPatternNoticeLed( UINT Target, UINT* pPattern ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetPatternNoticeLed ( uint Target, out uint pPattern ); ●Visual Basic .NET Declare Function CmGetPatternNoticeLed Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pPattern As Integer _ )As Integer 【パラメータ】 Target 点灯パターンを取得する対象を指定します。 CmSetPatternNoticeLed関数で設定可能な値を指定できます。 pPattern 点灯パターンの設定値の格納先です。 CmSetPatternNoticeLed関数で設定可能な値が取得できます。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 136 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Pattern; Ret = CmGetPatternNoticeLed(CM_LED_TARGET_ERRLED, &Pattern); ●Visual C# .NET uint Ret; uint Pattern; Ret = IFCCPMGR.CmGetPatternNoticeLed(IFCCPMGR.CM_LED_TARGET_ERRLED, out Pattern); ●Visual Basic .NET Dim Ret As Integer Dim Pattern As Integer Ret = IFCCPMGR.CmGetPatternNoticeLed(IFCCPMGR.CM_LED_TARGET_ERRLED, Pattern) エラーLED の点灯パターンを取得します。 © 2016 Interface Corporation. 137 Help for Windows 47. CmControlBuzzer 【機能】 ブザーを制御します。 【書式】 ●C 言語 UINT CmControlBuzzer( UINT Ctrl ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmControlBuzzer( uint Ctrl ); ●Visual Basic .NET Declare Function CmControlBuzzer Lib "ifcpmgr.dll"(_ ByVal Ctrl As Integer _ )As Integer 【パラメータ】 Ctrl ブザーの制御値を指定します。 0 を指定するとブザーOFF、1 を指定するとブザーON になります。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 内容 IFCM_ERROR_SUCCESS 0 正常終了 IFCM_ERROR_INTERNAL C0000001h 内部エラー IFCM_ERROR_INVALID_PARAMETER C0000002h 入力パラメータ不正 IFCM_ERROR_INVALID_HANDLE C0000007h 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 138 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmControlBuzzer(1); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmControlBuzzer(1); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmControlBuzzer(1) ブザーを ON します。 © 2016 Interface Corporation. 139 Help for Windows 48. CmGetHimoSwitchStatus 【機能】 現在のひもスイッチの状態を取得します。 【書式】 ●C 言語 UINT CmGetHimoSwitchStatus( UINT* pStatus ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetHimoSwitchStatus ( out uint pStatus ); ●Visual Basic .NET Declare Function CmGetHimoSwitchStatus Lib "ifcpmgr.dll"(_ ByRef pStatus As Integer _ )As Integer 【パラメータ】 pStatus ひもスイッチの状態の格納先です。 0 がひもスイッチを引いていない状態、1 がひもスイッチを引いている状態です。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー NULL ポインタ検出 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 140 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Status; Ret = CmGetHimoSwitchStatus(&Status); ●Visual C# .NET uint Ret; uint Status; Ret = IFCCPMGR.CmGetHimoSwitchStatus(out Status); ●Visual Basic .NET Dim Ret As Integer Dim Status As Integer Ret = IFCCPMGR.CmGetHimoSwitchStatus(Status) 現在のひもスイッチの状態を取得します。 © 2016 Interface Corporation. 141 Help for Windows 49. CmSetHimoSwitchConfig 【機能】 ひもスイッチの機能を設定します。 【書式】 ●C 言語 UINT CmSetHimoSwitchConfig ( UINT Mode ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmSetHimoSwitchConfig ( uint Mode ); ●Visual Basic .NET Declare Function CmSetHimoSwitchConfig Lib "ifcpmgr.dll"(_ ByVal Mode As Integer _ )As Integer 【パラメータ】 Function 割り当てる機能を設定します。 識別子 値 CM_HIMO_SWITCH_GP_SWITCH 0h CM_HIMO_SWITCH_POW_SWITCH 1h 意味 汎用スイッチ 電源スイッチ 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 入力パラメータ不正 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【備考】 ・割り込み通知を使用する場合は汎用スイッチに設定してください。 ・設定は次回の起動時から有効になります。 © 2016 Interface Corporation. 142 Help for Windows 【使用例】 ●C 言語 UINT Ret; Ret = CmSetHimoSwitchConfig(CM_HIMO_SWITCH_POW_SWITCH); ●Visual C# .NET uint Ret; Ret = IFCCPMGR.CmSetHimoSwitchConfig(IFCCPMGR.CM_HIMO_SWITCH_POW_SWITCH); ●Visual Basic .NET Dim Ret As Integer Ret = IFCCPMGR.CmSetHimoSwitchConfig(IFCCPMGR.CM_HIMO_SWITCH_POW_SWITCH); ひもスイッチを電源スイッチに設定します。 © 2016 Interface Corporation. 143 Help for Windows 50. CmGetHimoSwitchConfig 【機能】 ひもスイッチの機能を取得します。 【書式】 ●C 言語 UINT CmGetHimoSwitchConfig( UINT* pMode ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetHimoSwitchConfig ( out uint pMode ); ●Visual Basic .NET Declare Function CmGetHimoSwitchConfig Lib "ifcpmgr.dll"(_ ByRef pMode As Integer _ )As Integer 【パラメータ】 pMode 設定の格納先です。 CmSetHimoSwitchConfig関数で設定可能な値が取得できます。 【戻り値】 本関数実行時には下記の戻り値が返ります。 識別子 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_HANDLE C0000007h IFCM_ERROR_NOT_SUPPORT C0000008h 内容 正常終了 内部エラー 内部エラー 未サポート IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 © 2016 Interface Corporation. 144 Help for Windows 【使用例】 ●C 言語 UINT Ret; UINT Mode Ret = CmGetHimoSwitchConfig(&Mode); ●Visual C# .NET uint Ret; uint Mode; Ret = IFCCPMGR.CmGetHimoSwitchConfig(out Mode); ●Visual Basic .NET Dim Ret As Integer Dim Mode As Integer Ret = IFCCPMGR.CmGetHimoSwitchConfig(Mode) ひもスイッチの設定を取得します。 © 2016 Interface Corporation. 145 Help for Windows 51. CmGetFirmwareVersion 【機能】 ファームウェアバージョンを取得します。 【書式】 ●C 言語 UINT CmGetFirmwareVersion( UINT Target, UINT* pVersion ); ●Visual C# .NET [DllImport("ifcpmgr.dll")] public static extern uint CmGetFirmwareVersion ( uint Target, out uint pVersion ); ●Visual Basic .NET Declare Function CmGetFirmwareVersion Lib "ifcpmgr.dll"(_ ByVal Target As Integer, _ ByRef pVersion As Integer _ )As Integer 【パラメータ】 Target バージョンを取得する対象を指定します。 下記の値が指定できます。 識別子 値 内容 CM_FIRM_TARGET_RASC 0 RAS コントローラのファームウェアバージョン を取得します。 CM_FIRM_TARGET_BIOS 1 BIOS バージョンを取得します。 pVersion バージョンの格納先です。 バージョンは 0 始まりで取得できます。 初回バージョンは 0、Ver.UP のたびに 1, 2, 3,..となります。 © 2016 Interface Corporation. 146 Help for Windows 【戻り値】 この関数では下記の戻り値が返されます。 戻り値 値 IFCM_ERROR_SUCCESS 0 IFCM_ERROR_INTERNAL C0000001h IFCM_ERROR_INVALID_PARAMETER C0000002h IFCM_ERROR_NULL_POINTER C0000005h IFCM_ERROR_INVALID_HANDLE C0000007h 条件 正常終了 内部エラー 入力パラメータ不正 NULL ポインタ 内部エラー IFCM_ERROR_SUCCESS以外の値が返された場合については、『4.7 戻り値一覧』をご参照ください。 【使用例】 ●C 言語 UINT Ret; UINT* Version; Ret = CmGetFirmwareVersion(CM_FIRM_TARGET_BIOS, &Version); ●Visual C# .NET uint Ret; uint Version; Ret = IFCCPMGR.CmGetFirmwareVersion(IFCCPMGR.CM_FIRM_TARGET_BIOS, out Version); ●Visual Basic .NET Dim Ret As Integer Dim Version As Integer Ret = IFCCPMGR.CmGetFirmwareVersion(IFCCPMGR.CM_FIRM_TARGET_BIOS, Version) BIOS バージョンを取得します。 © 2016 Interface Corporation. 147 Help for Windows 4.5 コールバック関数 コールバック関数は C 言語でのみ使用可能です。 【書式】 ●C 言語 void CALLBACK UserCallBack( PVOID User ); 【パラメータ】 User ユーザパラメータです。 CM_EVENT_REQ構造体のUserメンバで指定した値が渡されます。 『4.6.1 CM_EVENT_REQ』をご参照ください。 【使用例】 『3.2.7 割り込みイベント』をご参照ください。 © 2016 Interface Corporation. 148 Help for Windows 4.6 構造体説明 4.6.1 CM_EVENT_REQ 割り込みイベント登録用の構造体です。 ●C 言語 typedef struct _CM_EVENT_REQ{ HANDLE Signal; HWND Wnd; UINT Msg; LPCMCALLBACK CallBackProc; PVOID User; } CM_EVENT_REQ, *PCM_EVENT_REQ; ●Visual C# .NET [StructLayout(LayoutKind.Sequential)] public struct CM_EVENT_REQ { public IntPtr Signal; putlic IntPtr Wnd; public int Msg; LPCMCALLBACK CallBackProc; putlib IntPtr User; } ●Visual Basic .NET <StructLayout(LayoutKind.Sequential)> Structure CM_EVENT_REQ Dim Signal As IntPtr Dim Wnd As IntPtr Dim Msg As Integer Dim CallBackProc As LPCMCALLBACK Dim User As IntPtr End Structure © 2016 Interface Corporation. 149 Help for Windows メンバ Signal 説明 割り込みイベント通知時にシグナル状態となるイベントオブジェクトのハン ドルを指定します。 イベントオブジェクトを使用しない場合には、C 言語では NULL、Visual C# .NET と Visual Basic .NET では IntPtr.Zero を指定してください。 Wnd 割り込みイベント通知時に Msg メンバで指定したメッセージのポスト先ウィ ンドウハンドルを指定します。 メッセージポストを行わない場合は、C 言語では NULL、Visual C# .NET と Visual Basic .NET では IntPtr.Zero を指定してください。 Msg 割り込みイベント通知時に送出するメッセージコードを指定します。 メッセージポストを行わない場合は、C 言語では WM_NULL、Visual C# .NET、 Visual Basic .NET では 0 を指定してください。 CallBackProc 割り込みイベント通知時に呼び出されるコールバック関数へのポインタを指 定します。 コールバック関数は C 言語でのみ使用できます。Visual C# .NET と Visual Basic .NET では IntPtr.Zero を指定してください。 コールバック関数を使用しない場合は C 言語では NULL、Visual C# .NET では null、Visual Basic .NET では Nothing を指定してください。 User コールバック関数に渡すユーザデータを指定します。 ここで指定したデータが、コールバック関数の第 1 引数として渡されます。 Visual C# .NET と Visual Basic .NET では IntPtr.Zero を指定してください。 © 2016 Interface Corporation. 150 Help for Windows 4.7 戻り値一覧 エラー識別子 値 IFCM_ERROR_SUCCESS IFCM_ERROR_INTERNAL 0 C0000001h (-1073741823) IFCM_ERROR_INVALID_PARAMETER C0000002h (-1073741822) C0000003h (-1073741821) IFCM_ERROR_ALREADY IFCM_ERROR_NOT_YET C0000004h (-1073741820) IFCM_ERROR_NULL_POINTER C0000005h (-1073741819) C0000006h (-1073741818) IFCM_ERROR_NOT_ALLOCATE 意味 対処方法 正常終了 内部エラー − ・ ハードウェア制御中の内部エラーで す。どのような状況でエラーが発生し たかをご連絡ください。 入力パラメータが不正 設定可能範囲をご確認の上、パラメータ を設定してください。 ・ 既に WDT が動作している ・ WDT 停止中に実行してください。 ・ 既にイベントが登録され ・ イベントが登録されていない状態で ている 実行してください。 ・ まだ WDT が動作していない ・ WDT 動作中に実行してください。 ・ まだイベントが登録され ・ イベントが登録されている状態で実 ていない 行してください。 NULL ポインタ検出 引数に NULL が渡されています。 有効な変数を指定してください。 メモリ確保失敗 メモリの使用を抑えてください。 IFCM_ERROR_INVALID_HANDLE C0000007h (-1073741817) 内部エラー IFCM_ERROR_NOT_SUPPORT C0000008h (-1073741816) 未サポート IFCM_ERROR_NOT_LINKED C0000009h (-1073741815) デバイス接続異常 © 2016 Interface Corporation. 151 DLL 初期化時の内部エラーです。 デバイスマネージャで IFCPMGR が正常 に動作していることをご確認ください。 本機能はサポートしていません。 サポートの有無はマニュアルをご確認 ください。 対象のデバイスが正しく接続されてい るかご確認ください。 Help for Windows 第5章 サンプルプログラム 5.1 実行方法 サンプルプログラムには実行形式のファイルが付属しています。 各実行ファイル(*.exe)をダブルクリックして実行して下さい。 5.2 コンパイル方法 ●Visual C++ .NET の場合(Microsoft Visual C++ .NET 2010 以降) Visual Studio を起動し、「ファイル」メニューから「開く」→「プロジェクト」を選び、プロジェ クトファイル「*.vcxproj」を開き、ビルドしてください。 ※「*.vcxproj」ファイルは Visual Studio 2010 で作成しております。 Visual Studio 2010 より新しい Version で実行する場合には、下記設定を行ってください。 Visual Studio のメニューから、「プロジェクト」- 「プロパティ」-「構成プロパティ」 -「全般」を開き、「プラットフォームツールセット」を使用している環境に合わせて変更。 例) Visual Studio 2012 を使用している場合 Visual Studio 2012(v110)を選択(プルダウンメニューより選択できます) ●Visual C# .NET の場合 Visual Studio を起動し、「ファイル」メニューから「開く」→「プロジェクト」を選び、各サンプ ルプログラムのプロジェクトファイル「*.csproj」※1 を開き、ビルドしてください。 ●Visual Basic .NET の場合 Visual Studio を起動し、「ファイル」メニューから「開く」→「プロジェクト」を選び、プロジェ クトファイル「*.vbproj」※1 を開き、ビルドしてください。 ※1 クラスライブラリもビルドされます。 © 2016 Interface Corporation. 152 Help for Windows 5.3 サンプルプログラム一覧 サンプルプログラム名 概要 wdt WDT の周期を 5 秒、アクションを CPU リセットに設定し、3 秒ごとに WDT ク リアを行うサンプルプログラムです。 5 回クリアすると終了します。 temperature 3 秒ごとに CPU 温度と基板温度を取得し、表示するサンプルプログラムです。 5 回表示すると終了します。 power 3 秒ごとに電源電圧を取得し、表示するプログラムです。 5 回表示すると終了します。 fanrotate ファンの回転数を表示するサンプルプログラムです。 3 秒ごとにファンの回転数を表示し、5 回表示すると終了します。 gsense 重力加速度値を表示するサンプルプログラムです。 3 秒ごとに各軸の重力加速度値を表示し、5 回表示すると終了します。 event WDT 周期満了イベントを、シグナルイベント、コールバック関数(Visual C++ のみ)、メッセージで通知します。 「Initialize WDT」ボタンで WDT 周期を 3 秒に、アクションを割り込みイベ ントに設定します。 「Signal」ボタンで、シグナルイベントを登録します。 「Callback」ボタンで、コールバック関数を登録します。 「Message」ボタンでメッセージハンドラを登録します。 それぞれの方法で、WDT 周期満了が通知されます。 「Kill Event」ボタンでイベントを解除などの後処理を行います。 ※Visual C++では MFC(event_mfc)と CLR(event_clr)のサンプルを用意し ています。CLR は Visual C++ 2005 以降でご利用下さい。 dio 汎用デジタル入出力を行うサンプルプログラムです。 デジタル出力後、1秒待機してデジタル入力を行い、入力データを表示しま す。出力データをシフトさせながら 4 回繰り返します。 diconfig デジタル入力接点 1 を電源スイッチに設定するサンプルプログラムです。 デジタル入力接点 1 を電源スイッチに設定後 10 秒間待機し、デジタル入力 接点 1 を汎用入力に設定して終了します。 rasnotify WDT 異常時に DOUT1 を ON するサンプルプログラムです。 WDT 異常発生時に DOUT1 が自動で ON となる設定を行い、WDT 周期を 3 秒に設 定して、WDT をスタートさせて 10 秒間待機します。 10 秒後、WDT を停止させて DOUT1 の自動通知を無効化し、デジタル出力を停 止させてプログラムを終了します。 errorled エラーLED を直接制御するサンプルプログラムです。 エラーLED の点灯パターンをパターン 1(常時点灯)に設定し、1 秒ごとに点 滅させ、10 回点滅すると終了します。 alarmled アラーム LED を直接制御するサンプルプログラムです。 アラーム LED の点灯パターンをパターン 1(常時点灯)に設定し、1 秒ごとに 点滅させ、10 回点滅すると終了します。 buzzer ブザー制御のサンプルプログラムです。 3 秒間ブザーを ON し、その後 OFF にします。 himoswitch 3 秒ごとにひもスイッチの状態を表示するサンプルプログラムです。 5 回表示すると終了します。 selftest 3 秒ごとに異常ステータスを表示するサンプルプログラムです。 5 回表示すると終了します。 © 2016 Interface Corporation. 153 Help for Windows 第6章 ユーティリティ 6.1 Interface Utility Interface Utility を使用することで、下記が可能になります。 ■Log ・ログ情報のモニタ ・ログファイルの設定 ■WDT ・WDT 関連のログ保存有効/無効設定 ・WDT の稼動状態の確認 ・周期とアクションの設定、確認 ・WDT スタート、ストップ、クリア ■Temperature ・温度関連のログ保存有効/無効設定 ・温度情報ログ保存周期設定 ・温度情報モニタ ・上限値/下限値の設定、確認 ■Power ・電圧関連のログ保存有効/無効設定 ・電圧情報ログ保存周期設定 ・電圧情報モニタ ■GSense ・加速度関連のログ保存有効/無効設定 ・加速度情報ログ保存周期設定 ・加速度情報モニタ ■FAN ・FAN 関連のログ保存有効/無効設定 ・FAN 情報ログ保存周期設定 ・FAN 情報モニタ ■Storage ・RAID ステータスの表示 ■Switch ・スイッチの状態監視 ・ひもスイッチの機能設定 ■RasNotify ・RAS 通知方法及び条件の設定、確認 © 2016 Interface Corporation. 154 Help for Windows ■DIO ・デジタル入力端子の監視 ・デジタル出力端子の制御 ・デジタル入力端子の使用方法設定 ■Buzzer ・ブザーの制御、モニタ ■LED ・LED 制御、モニタ ・点灯パターンの設定 ■Information ・ユーティリティのバージョン情報表示。 ・ファームウェアバージョン情報表示。 ・当社 Web site の URL 情報を表示 ※本ユーティリティは OS インストール済みデバイスでのみ使用頂けます。 © 2016 Interface Corporation. 155 Help for Windows 6.1.1 起動方法 本ユーティリティは、OS 起動時に自動的に起動します。 ユーティリティが起動しているかどうかはタスクトレイをご確認下さい。 ユーティリティが起動している場合、下記のアイコンが表示されます。 一度終了した場合は、<インストール先>¥interface¥IFCPMGR¥bin¥IFUtil.exe を実行してください。 ※ 本ユーティリティは管理者権限で起動してください。管理者権限でない場合、ログの保存など一 部の機能に制限がかかります。 6.1.2 コマンド Interface Utility のアイコンを右クリックすると、下記のようなコマンドウィンドウが起動します。 各コマンドの内容は下記の通りです。 コマンド 内容 Open Interface Utility を開き、各機能の操作が行えます。 Exit ユーティリティを終了します。 実行するとタスクトレイからアイコンが消え、終了します。 © 2016 Interface Corporation. 156 Help for Windows 6.1.3 機能 ※ご使用の製品によっては、実際の画面とユーティリティの画面が一部異なる場合があります。 6.1.3.1 Log Log タブを選択すると、下記の画面が表示されます。 © 2016 Interface Corporation. 157 Help for Windows 各内容は下記の通りです。 表示 内容 Monitor ボタンをクリックすると下記のログモニタウィンドウを表示します。 開いたまま別の処理を行うことが可能です。 中央のテキストボックスにログがトレースされていきます。その他の内容は下 記の通りになります。 表示 内容 Log File ログファイルのパスです。 現在表示されているログのトレース内容が書き込まれていきます。 ログ保存しない場合は空白になります。 Clear テキストボックス内のトレース情報をクリアします。 ディスク上のログファイルの内容はクリアされませんのでご注意下 さい。 Close 本モニタウィンドウを閉じます。 File(※) No save ディスク上に保存するログファイルを指定します。 ファイル指定した後、「OK」ボタンか「Apply」ボタンを押してください。 ログを保存せずにモニタウィンドウでのみログを確認することもできます。 ログ保存しません。 © 2016 Interface Corporation. 158 Help for Windows 表示 No log limit 内容 1 つのファイルにログ内容を追記していきます。 「...」ボタンをクリックするとファイル指定ダイアログが開きます。 ログファイルを指定すると、ファイルパスが表示されます。 「OK」ボタンか「Apply」ボタンをクリックすると指定したファイルへのログ保 存が開始されます。 © 2016 Interface Corporation. 159 Help for Windows 表示 内容 New file every day 指定したフォルダに、日付のファイル名のログファイルを作成します。日が変 わるごとに、自動的に新しいファイルを作成し、そのファイルに追記していき ます。 例えば 2010 年 8 月 12 日の場合は、20100812.log というファイルでログファイ ルが生成されます。現在のファイル名はログモニタウィンドウで確認できます。 「...」ボタンをクリックするとフォルダ指定ダイアログが開きます。 フォルダを指定すると、フォルダパスが表示されます。 「OK」ボタンか「Apply」ボタンをクリックすると指定したファイルへのログ保 存が開始されます。 © 2016 Interface Corporation. 160 Help for Windows 表示 内容 OK クリックするとログファイル指定を反映させてウィンドウを閉じます。 Cancel クリックするとログファイル指定を反映させずにウィンドウを閉じます。 Apply クリックするとウィンドウを閉じずにログファイル指定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、ログの内容や設定を保存するにはコ ミットやプロテクト解除が必要になります。 © 2016 Interface Corporation. 161 Help for Windows 6.1.3.2 WDT WDT タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable WDT log チェックを付けると WDT に関するログを出力するようになります。 (※) ログ出力するのは ・WDT の開始、停止 ・周期/アクションの変更 ・WDT 割り込み発生 になります。「OK」ボタンか「Apply」ボタンをクリックして設定を反映させてく ださい。 ※短い間隔で、設定変更や WDT の開始/停止を連続して行った場合、途中の内容は ログ出力されない場合があります。 Status WDT の稼動状況を示します。「STOP」で WDT 停止中、「RUN」で WDT 稼動中です。 Config WDT の周期、アクションの設定を行います。 設定後は「OK」ボタンか「Apply」をクリックして下さい。 Cycle WDT の周期を設定します。1∼255 までが設定可能です。 Action WDT 周 期 満 了 時 の ア ク シ ョ ン を 設 定 し ま す 。「 Reset 」 が CPU リ セ ッ ト 、 「Interrupt」が割り込みになります。 © 2016 Interface Corporation. 162 Help for Windows 表示 内容 Control WDT の処理を行います。 Start WDT を有効にします。 Stop WDT を無効にします。 Clear WDT をクリアします。 OK Config 設定を反映させてウィンドウを閉じます。 Cancel Config 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに Config 設定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 WDT 割り込みが発生した場合、タスクトレイのアイコンから、下記のように通知されます。 ログ出力を有効にしている場合、上記の内容はログに出力されます。 © 2016 Interface Corporation. 163 Help for Windows 6.1.3.3 Temperature Temperature タブをクリックすると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable temperature log チェックを付けると温度に関するログを出力するようになります。 (※) ログ出力するのは ・上限値/下限値の設定変更 ・温度異常/復帰 ・温度警告/復帰 ・温度データ(Temperature log cycle が有効な場合) になります。「OK」ボタンか「Apply」ボタンをクリックして設定を反映さ せてください。 ※短い間隔で、設定変更や温度の異常/復帰が連続して発生した場合、途中 の内容はログ出力されない場合があります。 Temperature log cycle チェックを付けると、温度データを指定した周期でログ出力するようにな (※) ります。 周期は秒単位で 1∼3600 が指定可能です。チェックを外すと温度データを ログ出力しません。「OK」ボタンか「Apply」ボタンをクリックして設定を 反映させてください。 © 2016 Interface Corporation. 164 Help for Windows 表示 内容 CPU CPU コア温度に関する情報です。 上限値/下限値を設定した場合は、「OK」ボタンか「Apply」ボタンをクリッ クして設定を反映させてください。 UpperLimit CPU コア温度上限値を設定できます。 LowerLimit より大きい値∼125 が設定可能です。 LowerLimit CPU コア温度下限値を設定できます。 -60∼UpperLimit より小さい値が設定可能です。 履歴グラフ CPU コア温度の履歴をグラフ表示します。 現在温度に合わせて色が変わります。 異常上限値より高:赤 温度高:オレンジ (警告サポート製品は警告上限値より高の時) 正常範囲:黄緑 温度低:水色 (警告サポート製品は警告下限値より低の時) 異常下限値より低:白 現在温度 履歴グラフ下に表示されている現在の CPU コア温度です。 現在の CPU コア温度を表示します。 現在温度に合わせて色が変わります。 異常上限値より高:赤 温度高:オレンジ (警告サポート製品は警告上限値より高の時) 温度中:緑 正常範囲:緑 温度低:青 (警告サポート製品は警告下限値より低の時) 異常下限値より低:黒 Board CPU 基板温度に関する情報です。 上限値/下限値を設定した場合は、「OK」ボタンか「Apply」ボタンをクリッ クして設定を反映させてください。 UpperLimit CPU 基板温度上限値を設定できます。 LowerLimit より大きい値∼125 が設定可能です。 LowerLimit CPU 基板温度下限値を設定できます。 -60∼UpperLimit より小さい値が設定可能です。 履歴グラフ CPU 基板温度の履歴をグラフ表示します。 現在温度に合わせて色が変わります。色の内容は CPU と同じです。 現在温度 現在の CPU 基板温度です。現在温度に合わせて色が変わります。色の内容 は CPU と同じです。 OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに設定を反映させます。 ※設定を保持するには管理者権限が必要です。、また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 © 2016 Interface Corporation. 165 Help for Windows 温度異常・警告を検知した場合、また、温度異常・警告から上限・下限範囲内に復帰した場合、タス クトレイのアイコンから、下記のように通知されます。 例)基板温度上限を超えた場合 基板温度が範囲内に復帰した場合 ログ出力を有効にしている場合、上記の内容はログに出力されます。 ●注意事項 警告温度閾値、警告温度ヒステリシス、異常温度ヒステリシスの設定は未サポートです。設定する 場合は、本ユーティリティでなく、CmSetTempLimit、CmSetTempUpperLimit、CmSetTempLowerLimit 関数をご使用ください。 © 2016 Interface Corporation. 166 Help for Windows 6.1.3.4 Power Power タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable power log チェックを付けると電圧に関するログを出力するようになります。 (※) ログ出力するのは ・電圧異常/復帰 ・電圧データ(Power log cycle が有効な場合) になります。「OK」ボタンか「Apply」ボタンをクリックして設定を反映させ てください。 ※短い間隔で、電圧の異常/復帰が連続して発生した場合、途中の内容はログ 出力されない場合があります。 Power log cycle チェックを付けると、電圧データを指定した周期でログ出力するようになり (※) ます。周期は秒単位で 1∼3600 が指定可能です。チェックを外すと電圧デー タをログ出力しません。「OK」ボタンか「Apply」ボタンをクリックして設定 を反映させてください。 © 2016 Interface Corporation. 167 Help for Windows External 外部電源に関する情報です。 ※AC 電源タイプの製品では「None」と表示されます。 履歴グラフ 外部電源の履歴をグラフ表示します。黄色の点線が上限、下限になります。 グラフの線は、正常時は緑、異常時は赤色になります。 現在電圧 外部電源の現在の電圧値を表示します。正常時は緑、異常時は赤色になりま す。 OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに設定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 電圧異常を検知した場合や、電圧異常から復帰した場合、タスクトレイのアイコンから、下記のよう に通知されます。 例)外部電源電圧異常を検知した場合 例)外部電源電圧が復帰した場合 ログ出力を有効にしている場合、上記の内容はログに出力されます。 ●注意事項 電源電圧上限/下限値/ヒステリシスの設定は未サポートです。本ユーティリティでなく、 CmSetPowerLimit 関数をご使用ください。設定後、ユーティリティを再起動すると、上限/下限値 の設定内容が反映されます。 © 2016 Interface Corporation. 168 Help for Windows 6.1.3.5 GSense GSense タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable gsense log チェックを付けると加速度センサに関するログを出力するようになります。 ログ出力するのは (※) ・振動・衝撃異常/復帰 ・加速度データ(Gsense log cycle が有効な場合) になります。 「OK」ボタンか「Apply」ボタンをクリックして設定を反映させ てください。 ※短い間隔で、振動・衝撃の異常/復帰が連続して発生した場合、途中の内 容はログ出力されない場合があります。 Gsense log cycle チェックを付けると、加速度データを指定した周期でログ出力するようにな (※) ります。周期は秒単位で 1∼3600 が指定可能です。チェックを外すと加速度 データをログ出力しません。「OK」ボタンか「Apply」ボタンをクリックして 設定を反映させてください。 X-Axis X 軸方向の情報を表示します。 加速度値 現在の X 軸方向の加速度値を重力加速度単位で表示します。正常時は緑、異 常時は赤色になります。 © 2016 Interface Corporation. 169 Help for Windows 表示 内容 Y-Axis 加速度値 Y 軸方向の情報を表示します。 現在の Y 軸方向の重力加速度値を表示します。正常時は緑、異常時は赤色に なります。 Z-Axis Z 軸方向の情報を表示します。 加速度値 現在の Z 軸方向の重力加速度値を表示します。正常時は緑、異常時は赤色に なります。 OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに設定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 振動・衝撃異常を検知した場合や、振動・衝撃異常から復帰した場合、タスクトレイのアイコンから、 下記のように通知されます。 例) 振動・衝撃異常を検知した場合 復帰した場合 ログ出力を有効にしている場合、上記の内容はログに出力されます。 ●注意事項 振動・衝撃閾値/ヒステリシスの設定は未サポートです。本ユーティリティでなく、 CmSetGSenseLimit 関数をご使用ください。 © 2016 Interface Corporation. 170 Help for Windows 6.1.3.6 FAN FAN タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable FAN log チェックを付けると FAN に関するログを出力するようになります。 (※) ログ出力するのは ・FAN 異常/復帰 ・FAN 回転数データ(Power log cycle が有効な場合) になります。 「OK」ボタンか「Apply」ボタンをクリックして設定を反映させ てください。 ※短い間隔で、FAN の異常/復帰が連続して発生した場合、途中の内容はロ グ出力されない場合があります。 FAN log cycle チェックを付けると、FAN 回転数データを指定した周期でログ出力するよう (※) になります。周期は秒単位で 1∼3600 が指定可能です。チェックを外すと FAN 回転数データをログ出力しません。「OK」ボタンか「Apply」ボタンをク リックして設定を反映させてください。 FAN1 FAN1 の情報を表示します。 回転数 現在の FAN1 の回転数を表示します。正常時は緑、異常時は赤色になります。 OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 © 2016 Interface Corporation. 171 Help for Windows 表示 内容 Apply ウィンドウを閉じずに設定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 FAN 異常を検知した場合や、FAN 異常から復帰した場合、タスクトレイのアイコンから、下記のよう に通知されます。 例) FAN1 の異常を検知した場合 FAN1 が復帰した場合 ログ出力を有効にしている場合、上記の内容はログに出力されます。 ●注意事項 FAN 自動制御温度閾値、FAN 自動制御速度の設定は未サポートです。本ユーティリティでなく、 CmSetFanAutoThreshold、CmSetFanAutoSpeed 関数をご使用ください。 © 2016 Interface Corporation. 172 Help for Windows 6.1.3.7 Storage Storage タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Enable storage log チェックを付けるとストレージに関するログを出力するようになります。 (※) ログ出力するのは ・RAID ステータスの変化 になります。 「OK」ボタンか「Apply」ボタンをクリックして設定を反映させ てください。 RAID Information RAID 情報を表示します。 Status RAID ステータスを表示します。以下が表示されます。 Normal 正常状態 Drive 1 Fail ドライブ 1 異常 Drive 2 Fail ドライブ 2 異常 Rebuilding 再構築中 System Fault システムホルト Skip Recon(HDD2→1) HDD2→HDD1 へのデータ再構築(コピー)中にスキッ プ・リコン発生 Skip Recon(HDD1→2) HDD1→HDD2 へのデータ再構築(コピー)中にスキッ プ・リコン発生 © 2016 Interface Corporation. 173 Help for Windows 表示 内容 None デバイスの接続なし OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに設定を反映させます。 ※設定を保持するには管理者権限が必要です。また、ライトフィルタやライトプロテクト機能な どによりストレージへの書き込みが保護されている場合、設定を保存するにはコミットやプロ テクト解除が必要になります。 RAID ステータスが変化した場合、タスクトレイのアイコンから、下記のように通知されます。 ※起動時に正常(Normal)以外の状態だった場合は、起動直後に通知されます。 例) ドライブ 1 へ異常が発生した場合 再構築中状態となった場合 ログ出力を有効にしている場合、上記の内容はログに出力されます。 © 2016 Interface Corporation. 174 Help for Windows 6.1.3.8 Switch Switch タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Himo Switch ひもスイッチの情報を表示します。 Code Status ひもスイッチの状態を表示します。 ひもスイッチを放している場合は「Released」 、引いている場合は「Pulled」 と表示されます。 Function ひもスイッチの機能を設定/表示します。 ※ 「General-purpose」を選択すると汎用スイッチとして使用できます。 「Power Switch」を選択すると電源 ON/OFF スイッチとして使用できます。 OK 設定を反映させてウィンドウを閉じます。 Cancel 設定を反映させずにウィンドウを閉じます。 Apply ウィンドウを閉じずに設定を反映させます。 ※設定は再起動後に有効になります。 © 2016 Interface Corporation. 175 Help for Windows 6.1.3.9 RasNotify RasNotify タブをクリックすると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Notification 通知方法を選択します。 表示 内容 Buzzer Buzzer 通知の条件を設定します。 Error LED エラーLED 通知の条件を設定します。 Alarm LED アラーム LED 通知の条件を設定します。 DOUTx DOUTx の通知の条件を設定します。 x には数字が入ります。 © 2016 Interface Corporation. 176 Help for Windows 表示 Configure 内容 Notification を選択すると下記のように設定画面が表示されます。 表示 Condition Control OK Cancel Apply 内容 通知条件を設定します。 デジタル出力のみ有効な設定です。 条件を満たした時にデジタル出力を ON にするか OFF にする かを設定できます。 設定を反映させてウィンドウを閉じます。 設定を反映させずにウィンドウを閉じます。 ウィンドウを閉じずに設定を反映させます。 © 2016 Interface Corporation. 177 Help for Windows 6.1.3.10 DIO DIO タブをクリックすると、下記の画面が表示されます。 各内容は下記の通りです。 上部にある「■ON ■OFF」は凡例で、デジタル入出力端子の ON の色、OFF の色を示しています。 表示 内容 Digital Input 各デジタル入力接点の状態を示します。四角図形内の番号が、それぞれDINの接点 番号になります。『38 CmInputUP』もあわせてご参照下さい。 Configure デジタル入力接点の機能が設定できます。 初期状態では現在の設定が表示されており、コンボボックスをクリックすると下 記のように機能が選択できます。 DIN1 「General-purpose」を選択すると汎用デジタル入力として使用できます。 「Power Switch」を選択すると電源 ON/OFF スイッチとして使用できます。 デジタル入力接点 1 の機能を設定/表示します。 © 2016 Interface Corporation. 178 Help for Windows 表示 Digital Output Output OK Cancel Apply 内容 四角図形内の番号が、それぞれ DOUT の接点番号になります。 各四角図形をクリックすると、ON と OFF が切り替わります。出力したい状態に設 定できたら「Output」ボタンをクリックして実際に出力を行ってください。 (四角図形は現在の出力状態を示すものではありませんのでご注意ください。) ボタンをクリックすると現在の四角図形で示される ON/OFF 状態でデジタル出力 を行います。 設定を反映させてウィンドウを閉じます。 設定を反映させずにウィンドウを閉じます。 ウィンドウを閉じずに設定を反映させます。 © 2016 Interface Corporation. 179 Help for Windows 6.1.3.11 Buzzer Buzzer タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Status 現在のブザーの状態を表示します。 OFF でブザーOFF、ON でブザーON です。 Control ブザーの制御を行います。 ON ブザーを ON します。 OFF ブザーを OFF します。 OK ウィンドウを閉じます。 Cancel ウィンドウを閉じます。 Apply 本画面では使用しません。 © 2016 Interface Corporation. 180 Help for Windows 6.1.3.12 LED LED タブを選択すると、下記の画面が表示されます。 各内容は下記の通りです。 表示 内容 Notice LED LED の状態を表示します。 Error エラーLED の状態を表示します。 ○をクリックすると ON(●), OFF(●)が切り替わります。 Alarm アラーム LED の状態を表示します。 ○をクリックすると ON(●), OFF(●)が切り替わります。 © 2016 Interface Corporation. 181 Help for Windows 表示 内容 LED Pattern Setting LED の点灯パターンを設定します。 初期状態では現在の設定が表示されており、コンボボックスをクリックする と下記のようにパターンが選択できます。 Error LED Alarm LED OK Cancel Apply 以下のパターンが選択できます。 Pattern1 常時点灯します。 Pattern2 1 秒周期で点滅します。 Pattern3 0.5 秒周期で点滅します。 Pattern4 0.2 秒周期で点滅します。 エラーLED の点灯パターンを設定/表示します。 アラーム LED の点灯パターンを設定/表示します。 設定を反映させてウィンドウを閉じます。 設定を反映させずにウィンドウを閉じます。 ウィンドウを閉じずに設定を反映させます。 © 2016 Interface Corporation. 182 Help for Windows 6.1.3.13 Information Information タブを選択すると、下記ダイアログが表示されます。 各表示の内容は下記の通りです。 表示 内容 Function ユーティリティの機能を表示します。 Version バージョンを表示します。 Firmware Version ファームウェアのバージョンを表示します。 バージョンの表記は以下の通りとなります。 RAS Controller BIOS Copy バージョン 表記 0(初回) -(ハイフン) 1 A 2 B … … RAS マイコンのバージョンを表示します。 BIOS のバージョンを表示します。 Function、Version、Firmware Version をクリップボードへコピーします。 © 2016 Interface Corporation. 183 Help for Windows 第7章 重要な情報 保証の内容と制限 弊社は本ドキュメントに含まれるソースプログラムの実行が中断しないこと、またはその実行に 誤りが無いことを保証していません。 本製品の品質や使用に起因する、性能に起因するいかなるリスクも使用者が負うものとします。 弊社はドキュメント内の情報の正確さに万全を期しています。万一、誤記または誤植などがあっ た場合、弊社は予告無く改訂する場合があります。ドキュメントまたはドキュメント内の情報に 起因するいかなる損害に対しても弊社は責任を負いません。 ドキュメント内の図や表は説明のためであり、ユーザ個別の応用事例により変化する場合があり ます。 著作権、知的所有権 弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています。 本製品はコンピュータ ソフトウェア、映像/音声(例えば図、文章、写真など)を含んでいます。 医療機器/器具への適用における注意 弊社の製品は人命に関わるような状況下で使用される機器に用いられる事を目的として設計、製 造された物では有りません。 弊社の製品は人体の検査などに使用するに適する信頼性を確保する事を意図された部品や検査機 器と共に設計された物では有りません。 医療機器、治療器具などの本製品の適用により、製品の故障、ユーザ、設計者の過失などにより、 損傷/損害を引き起こす場合が有ります。 複製の禁止 弊社の許可なく、本ドキュメントの全て、または一部に関わらず、複製、改変などを行うことは できません。 責任の制限 弊社は、弊社または再販売者の予見の有無にかかわらず発生したいかなる特別損害、偶発的損害、 間接的な損害、重大な損害について、責任を負いません。 本製品(ハードウェア,ソフトウェア)のシステム組み込み、使用、ならびに本製品から得られる 結果に関する一切のリスクについては、本製品の使用者に帰属するものとします。 本製品に含まれるバグ、あるいは本製品の供給(納期遅延)、性能もしくは使用に起因する付帯的 損害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する 改良(正常に動作する)、代品交換までとし、金銭面での賠償の責任は負わないものとしますので、 予めご了承ください。 本製品(ソフトウェアを含む)は、日本国内仕様です。本製品を日本国外で使用された場合、弊 社は一切責任を負いかねます。また、弊社は本製品に関し、海外での保守サービスおよび技術サ ポート等は行っておりません。 © 2016 Interface Corporation. 184 Help for Windows 商標/登録商標 本書に掲載されている会社名、製品名は、それぞれ各社の商標または登録商標です。 © 2016 Interface Corporation. 185