機能
偏差カウンタクリア/アラームクリア信号幅、および偏差カウンタクリア信号OFFタイマ時間を設定します。
書式
Ret = SmcWSetErcAlmClearTime( Id , AxisNo , ErcTime , ErcOffTimer , AlmTime )
引数
Id [ C, C++: short ] [ Python: ctypes.c_short ]
SmcWInit 関数で取得したデバイスIDを指定します。
AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]
軸番号を指定します。
ErcTime [ C, C++: short ] [ Python: ctypes.c_short ]
偏差カウンタクリア信号幅を設定します。
0 |
12[μsec] |
1 |
102[μsec] |
2 |
408[μsec] |
3 |
1.6[msec] |
4 |
13[msec] |
5 |
52[msec] |
6 |
104[msec] |
7 |
レベル出力 |
ErcOffTimer [ C, C++: short ] [ Python: ctypes.c_short ]
偏差カウンタクリア信号OFFタイマ時間を設定します。
偏差カウンタクリア信号出力後、信号がOFF状態になってからのウェイト時間です。
この指定時間内にモーションスタートを実行した場合、実際にパルスが出力されるのは、偏差カウンタクリア信号OFF後にこの時間設定が経過してからとなります。
0 |
0[μsec] |
1 |
12[μsec] |
2 |
1.6[msec] |
3 |
104[msec] |
AlmTime [ C, C++: short ] [ Python: ctypes.c_short ]
アラームクリア信号幅を設定します。
0 |
12[μsec] |
1 |
102[μsec] |
2 |
408[μsec] |
3 |
1.6[msec] |
4 |
13[msec] |
5 |
52[msec] |
6 |
104[msec] |
戻り値
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
0 |
正常終了 |
0以外 |
異常終了 |
参照:エラーコード詳細
初期値
ErcTime |
0 : 12[μsec] |
ErcOffTimer |
0 : 0[μsec] |
AlmTime |
0 : 12[μsec] |
説明
SmcWSetCtrlTypeOut関数において CtrlTypeOut1~3の設定値を
「1 : アラームクリア」と設定している場合は、AlarmTimeの設定値が有効となり、
「2 : 偏差カウンタクリア信号(ERC)」と設定している場合は、ErcTime、ErcOffTimerの設定値が有効となります。
アラームクリア信号はワンショットパルスを自分のタイミング出力することが可能です。従って、アラームクリア信号としてではなく、単にワンショットパルスを出力したい場合にも本関数を使用することが可能です。
軸が動作中の場合、この関数は実行できません。
初期設定関数実行後は、SmcWSetInitParam関数を実行する必要があります。
「初期設定関数について」を参照してください。
使用例
軸番号1の偏差カウンタクリア/アラームクリア信号幅、および偏差カウンタクリア信号OFFタイマ時間を設定します。
偏差カウンタクリア信号幅を 102[μsec] に設定します。
偏差カウンタクリア信号OFFタイマ時間を 12[μsec] に設定します。
アラームクリア信号幅を 102[μsec] に設定します。
C, C++
long Ret;
short ErcTime ;
short ErcOffTimer ;
short AlmTime ;
ErcTime = 1;
ErcOffTimer = 1;
AlmTime = 1;
Ret = SmcWSetErcAlmClearTime( Id , 1, ErcTime , ErcOffTimer , AlmTime );
Python
Ret = ctypes.c_long()
ErcTime = ctypes.c_short()
ErcOffTimer = ctypes.c_short()
AlmTime = ctypes.c_short()
ErcTime.value = 1
ErcOffTimer.value = 1
AlmTime.value = 1
Ret.value = csmc.SmcWSetErcAlmClearTime( Id , 1, ErcTime , ErcOffTimer , AlmTime )
関連項目