SmcWBankEvent


機能

バンク完了イベントコールバック関数を設定します。

 

書式

Ret = SmcWBankEvent( Id , AxisNo , CallBack , EventMode , BankNo , Parameter )

 

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]

SmcWInit 関数で取得したデバイスIDを指定します。

 

AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]

軸番号を指定します。

 

CallBack [ C, C++: PSMC_BANK_CALLBACK ] [ Python: PSMC_BANK_CALLBACK ]

コールバック関数のアドレスを指定します。
NULLを指定するとコールバックによる通知設定をクリアします。

 

EventMode [ C, C++: short ] [ Python: ctypes.c_short ]

イベントの有効/無効を設定してください。

0

イベントを無効

1

イベントを有効

 

BankNo [ C, C++: short ] [ Python: ctypes.c_short ]

イベントを発行するバンク番号を設定してください。
0を指定した場合、各バンクが完了する毎にイベントを発行します。

 

Parameter [ C, C++: void * ] [ Python: ctypes.c_void_p ]

コールバックに渡すパラメータのアドレスを指定します。
パラメータが必要ない場合は、NULLを指定してください。

 

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

0

正常終了

0以外

異常終了

参照:エラーコード詳細

 

説明

バンク動作実行中のみ有効です。他の動作時にはイベントは発行しません。

イベント発生関数は1度実行すれば、その後要因が発生する度にイベントが発生します。
イベントを停止させる目的以外で、複数回実行する必要はありません。

設定したバンクが完了したとき、コールバックを通じてアプリケーションに通知します。
コールバック設定を行った後、設定したバンクが完了すると、設定したコールバック関数が呼び出されます。

SMC-2/4/8DL シリーズ では使用できません。

 

使用例

軸番号1に対して3バンク目完了時のバンク完了イベントコールバック関数を設定します。

 

C, C++

long Ret;

Ret = SmcWBankEvent( Id , 1 , CallBack , 1 , 3, this);

 

Python

Ret = ctypes.c_long()

Ret.value = csmc.SmcWBankEvent( Id , 1 , CallBack , 1 , 3, 0)

 

関連項目

SmcWCountEvent SmcWStopEvent

 

 


コールバック関数

 

書式

CallBack( Id , AxisNo , Message , Parameter )

 

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]

SmcWInit 関数で取得したIDが渡されます。

 

AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]

ドライバからイベントが発生した軸番号が渡されます。

 

Message [ C, C++: int ] [ Python: ctypes.c_int ]

コールバック関数呼び出しの原因となるメッセージ番号が渡されます。

 

Parameter [ C, C++: void * ] [ Python: ctypes.c_void_p ]

SmcWBankEvent関数に指定したパラメータが渡されます。

 

戻り値

なし [ void ]