機能
バンク完了イベントコールバック関数を設定します。
書式
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)
関連項目
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 ]