第 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が搭載されている製品でのみ使用できます。