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

個別説明

ドキュメント内 MDH-J0006 (ページ 88-96)

第 5 章  デジタル入出力機能 85

5.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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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以外の値が返された場合については、『38ページ  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関数は値を返しません。

6 章  CAN 機能

注意

 

GPDxxxフォルダは、拡張I/Oが搭載されている製品にのみ収録されています。

 

本機能は拡張I/Oが搭載されている製品でのみ使用できます。

ドキュメント内 MDH-J0006 (ページ 88-96)