• 検索結果がありません。

CardBus ID 確認・設定方法

ドキュメント内 MDH-J0005 (ページ 126-136)

第 5 章  インタフェースモジュール制御 80

5.8  カード型モジュール使用方法

5.8.3  CardBus ID 確認・設定方法

カード型モジュールを弊社DOS専用ライブラリ(GPDシリーズ)で使用する際は、CardBus IDを確認 する必要があります。CardBus IDはカード型モジュールに任意の値が設定されています。

DOS上で認識されているカード型モジュールのCardBus IDを確認し、設定するユーティリティを 起動メディアに収録しています。本ユーティリティを使用することで、DOS上から簡単にCardBus IDを確認、設定することができます。

製品名 CardBus ID設定ユーティリティ 実行ファイル名 IFCARDID.EXE 収録ディレクトリ ¥IFCM¥TOOLS

DOS上で上記実行ファイルを実行すると、下記のような画面に、認識されているカード型 モジュールの一覧が表示されます。

***********************************************************

CardBus Setup Utility   Version: 1.00-01

Copyright 2009 Interface Corporation. All Right Reserved.

***********************************************************

===========================================================

SlotNo | Bus | Dev | Func | Model | CardBusID --- 1 | 6 | 0 | 0 | CSI/CBI-466120 | 0

2 | 8 | 0 | 0 | CSI/CBI-466120 | 1

===========================================================

 

項目  内容 

SlotNo カード型モジュールが挿入されているカードスロット番号です。

Bus カード型モジュールが挿入されているバス番号を示します。

Dev カード型モジュールが挿入されているデバイス番号を示します。

Func カード型モジュールが挿入されているファンクション番号を示します。

Model カード型モジュールの型式を示します。

CardBusID 設定されているCardBus ID番号を示します。

※ 数値は10進数表示です。

CardBus ID番号を変更したい場合はメニューから「y」を選択し、変更を行いたいカード型 モジュールのカードスロット番号を入力します。

「n」を選択するとユーティリティが終了します。

Change the CardBusID(Y/N)? y

次にCardBus ID番号を入力しリターンキーを押します。CardBus ID番号の値を入力してください。

Enter Card Slot No: 1

Enter the CardBusID (0-15).

If you want to cancel this operation, enter -1.

6 章  デジタル入出力機能

車載 Classembly Devices(R), タフコントローラ Classembly Devices(R), 省エネ Classembly

Devices(R) 機能拡張モデル CAN+DIOモデルには、デジタル入出力共用端子4点が搭載されていま

す。 DOS System開発らくらくパッケージには、その機能を簡単に制御できる機能が

収録されています。

総合ライブラリのAPI関数をプログラム上から使用する場合は「include」ディレクトリ内の

「IFCM.H」を使用し、「lib」ディレクトリ内からご使用のコンパイラ, メモリモデルに合った総 合ライブラリをリンクして使用してください。

注意

 

本関数は、車載 Classembly Devices(R), タフコントローラ Classembly Devices(R), 省エネ Classembly Devices(R) 機能拡張モデル CAN+DIOモデルでのみ使用できます。

6.1   関数一覧

No. 関数名  機  能 

1 CmInputUP デジタル入力接点を読み込みます。 

2 CmOutputUP デジタル出力接点を制御します。

3 CmSetEvent 割り込みコールバック関数を登録します。

4 CmKillEvent 登録している割り込みコールバックを解除します。

5 CmSetEventMask 各コールバックの有効, 無効を設定します。

6 CmGetEventMask 現在の割り込みコールバックマスク値を取得します。

7 CmGetEventFactor 割り込みコールバックの発生要因を取得します。

8 CmCallBackProc CmSetEventMaskで設定した要因検出時に呼び出されるコールバック関数

です。

6.2   個別説明

1. CmInputUP

【機能】 

デジタル入力接点を読み込みます。

 

【書式】 

int CmInputUP(

unsigned long* pData );

 

【パラメータ】 

pData デジタル入力接点情報の格納先です。各ビットが下記の端子状態を示し

ます。

 

bit31〜bit4 bit3 bit2 bit1 bit0

予約(値は無視してください) DIN4 DIN3 DIN2 DIN1 0:スイッチOFF(High), 1:スイッチON(Low)

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_NULL_POINTER 5h NULLポインタ検出 CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。

【記述例】 

デジタル入力接点を読み込みます。

int Ret;

unsigned int Data

Ret = CmInputUP(&Data);

2. CmOutputUP

【機能】 

デジタル出力接点を制御します。

 

【書式】 

int CmOutputUP(

unsigned long Data );

 

【パラメータ】 

Data デジタル出力接点データを指定します。各ビットが下記の制御端子に対

応します。

 

bit31〜bit4 bit3 bit2 bit1 bit0

予約(0を指定してください) DOUT4 DOUT3 DOUT2 DOUT1 0:リレーOFF, 1:リレーON

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』を

参照してください。

 

【記述例】 

DOUT1をリレーONに設定します。

int Ret;

Ret = CmOutputUP(0x00000001);

 

3. CmSetEvent

【機能】 

割り込みコールバック関数を登録します。

 

【書式】 

int CmSetEvent(

void (IfCdecl far *CmCallBackProc)(unsigned long), unsigned long User

);

【パラメータ】 

CmCallBackProc ユーザ・コールバック関数のアドレスを指定します。

デフォルト:NULL  

User コールバック関数へ引き渡すユーザ・データを指定します。

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。 

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_ALREADY 3h 既にコールバック登録済み。

CM_ERROR_NULL_POINTER 5h NULLポインタ検出

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。 

 

【使用例】 

コールバック関数を登録します。 

void IfCdecl far lpCmCallBackProc(unsigned long User) {

}

void main(void) {

int Ret;

Ret = CmSetEvent(lpCmCallBackProc, 1);

 

4. CmKillEvent

【機能】 

登録している割り込みコールバックを解除します。

 

【書式】 

int CmKillEvent(void);

【パラメータ】 

なし   

【戻り値】 

本関数実行時には下記の戻り値が返ります。 

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_NOT_YET 4h まだコールバック登録していない。

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。

 

【使用例】 

登録している割り込みコールバックを解除します。 

int Ret;

Ret = CmKillEvent();

5. CmSetEventMask

【機能】 

各コールバックの有効, 無効を設定します。

 

【書式】 

int CmSetEventMask(

unsigned long Mask );

【パラメータ】 

 

Mask 有効にするコールバックを下記の値で指定します。

0を指定すると、全てのコールバックが無効になります。デフォルト は0です。複数の値をORで指定することができます。

(CM_EVENT_FALL_SIGxとCM_EVENT_RISE_SIGxはORで設定でき ません。)

 

識別子  値  内容 

CM_EVENT_FALL_SIG1 00100000h DIN1 High→Low検出を有効にします。

CM_EVENT_RISE_SIG1 00110000h DIN1 Low→High検出を有効にします。

CM_EVENT_FALL_SIG2 00200000h DIN2 High→Low検出を有効にします。

CM_EVENT_RISE_SIG2 00220000h DIN2 Low→High検出を有効にします。

CM_EVENT_FALL_SIG3 00400000h DIN3 High→Low検出を有効にします。

CM_EVENT_RISE_SIG3 00440000h DIN3 Low→High検出を有効にします。

CM_EVENT_FALL_SIG4 00800000h DIN4 High→Low検出を有効にします。

CM_EVENT_RISE_SIG4 00880000h DIN4 Low→High検出を有効にします。

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。 

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_INVALID_PARAMETER 2h 入力パラメータ不正

CM_ERROR_NULL_POINTER 5h NULLポインタ検出

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。

 

【使用例】 

DIN1 High→Low検出を有効に設定します。 

int Ret;

Ret = CmSetEventMask(CM_EVENT_FALL_SIG1);

6. CmGetEventMask

【機能】 

現在の割り込みコールバックマスク値を取得します。

 

【書式】 

int CmGetEventMask(

unsigned long* pMask );

【パラメータ】 

pMask コールバックマスク格納先です。

CmSetEventMaskで設定した値が取得できます。

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。 

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_NULL_POINTER 5h NULLポインタ検出

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。

 

【使用例】 

現在の割り込みイベントマスク値を取得します。

int Ret;

unsigned long Mask;

Ret = CmGetEventMask(&Mask);

7. CmGetEventFactor

【機能】 

割り込みコールバックの発生要因を取得します。

 

【書式】 

int CmGetEventFactor(

unsigned long* Factor );

【パラメータ】 

Factor イベント要因格納先です。

下記の値が取得できます。複数の要因が検出されることもあります。

 

識別子  値  意味 

CM_EVENT_FALL_SIG1 00100000h DIN1 High→Low検出

CM_EVENT_RISE_SIG1 00110000h DIN1 Low→High検出 CM_EVENT_FALL_SIG2 00200000h DIN2 High→Low検出

CM_EVENT_RISE_SIG2 00220000h DIN2 Low→High検出

CM_EVENT_FALL_SIG3 00400000h DIN3 High→Low検出

CM_EVENT_RISE_SIG3 00440000h DIN3 Low→High検出

CM_EVENT_FALL_SIG4 00800000h DIN4 High→Low検出

CM_EVENT_RISE_SIG4 00880000h DIN4 Low→High検出

 

【戻り値】 

本関数実行時には下記の戻り値が返ります。 

識別子  値  内容 

CM_ERROR_SUCCESS 0 正常終了

CM_ERROR_NULL_POINTER 5h NULLポインタ検出

CM_ERROR_NOT_SUPPORT 8h 未サポート

CM_ERROR_SUCCESS以外の値が返された場合については、『41ページ  3.9  戻り値一覧』

を参照してください。

 

【備考】 

・割り込み要因を取得すると、要因はクリアされます。

(本関数を呼び出して要因を取得した後、何も要因が満たされていない状態で再度本関数を呼 び出すと、2回目は要因として0が返されます。)

・割り込み要因を取得する前に、複数回要因が満たされた場合は、1回にまとめられます。

 

【使用例】 

割り込みコールバックの発生要因を取得します。 

int Ret;

unsigned long Factor;

8. CmCallBackProc

【機能】 

CmSetEventMaskで設定した要因検出時に呼び出されるコールバック関数です。

CmSetEvent関数のパラメータのCmCallBackProcにCmCallBackProc関数へのポインタを設定す ることにより、CmSetEventMaskで設定した要因検出時にCmCallBackProc関数を呼び出すことが できます。発生した要因については、CmGetEventFactor関数で取得することができます。

 

【書式】 

void CmCallBackProc ( unsigned long User );

【パラメータ】 

User CmSetEvent関数で指定したユーザ・データを取得できます。

【戻り値】 

CmCallBackProc関数は値を返しません。

7 章  CAN 機能

ドキュメント内 MDH-J0005 (ページ 126-136)