SmcWSetCounterMode


機能

カウンタの動作設定を行います。

 

書式

Ret = SmcWSetCounterMode( Id , AxisNo , ClearCntLtc , LtcMode , ClearCntClr , ClrMode )

 

引数

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

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

 

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

軸番号を指定します。

 

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

LTC信号がOFF→ONへ変化した時にクリアするカウンタの種類を設定します。

0

カウンタをクリアしない

1

出力パルスカウンタをクリア

2

エンコーダカウンタをクリア

3

出力パルスカウンタおよびエンコーダカウンタをクリア

 

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

LTC信号入力時にラッチするカウンタの種類を設定します。

0

ラッチ機能を使用しない

1

出力パルスカウンタをラッチ

2

エンコーダカウンタをラッチ

3

出力パルスカウンタおよびエンコーダカウンタをラッチ

 

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

CLR信号がOFF→ONへ変化した時にクリアするカウンタの種類を設定します。

0

カウンタをクリアしない

1

出力パルスカウンタをクリア

2

エンコーダカウンタをクリア

3

出力パルスカウンタおよびエンコーダカウンタをクリア

 

ClrMode (予約) [ C, C++: short ] [ Python: ctypes.c_short ]

0固定です。

 

戻り値

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

0

正常終了

0以外

異常終了

参照:エラーコード詳細

 

初期値

ClearCntLtc

0H  : クリアしない

LtcMode

0H  : 使用しない

ClearCntClr

0H  : クリアしない

ClrMode

0 (固定)

 

説明

SmcWSetCtrlTypeIn関数の CtrlIn のビット4(IN4/LTC)をONしていない場合、LTC信号として認識しません。

LTC信号によりカウンタクリアを行うには、カウンタのラッチを行う必要があります。
従って、ClearCntLtc のビットをONとした場合、自動的に LtcMode 側のビットもONとなります。
エンコーダのZ相出力によりカウンタゼロクリアを行うには、外部入力によるカウンタクリアを参照してください。

SMC-4/8DF シリーズ 使用時には、ラッチするカウンタを選択することができません。
従って、LtcModeでラッチON設定とすると、他方のビットもON設定となります。

ラッチした各カウンタ値は各ラッチカウンタ読み出し関数(SmcWGetLatchOutPulse, SmcWGetLatchCountPulse)にて読み出すことができます。

CLR信号は、SMC-4/8DF シリーズ 使用時のみ有効です。従ってSMC-2/4/8DL シリーズ使用時には、ClearCntClrは無効です。
軸が動作中の場合、この関数は実行できません。

初期設定関数実行後は、SmcWSetInitParam関数を実行する必要があります。

初期設定関数について」を参照してください。

 

使用例

軸番号1のエンコーダカウンタの情報を設定します。
LTC信号がOFF→ONへ変化した時にクリアしない。
LTC信号入力時に出力パルスカウンタを使用しない。
CLR信号がOFF→ONへ変化した時にクリアしない。

 

C, C++

long Ret;

short ClearCntLtc ;

short LtcMode ;

short ClearCntClr ;

short ClrMode ;

ClearCntLtc = 0;

LtcMode = 0;

ClearCntClr = 0;

ClrMode = 0;

Ret = SmcWSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr , ClrMode );

 

Python

Ret = ctypes.c_long()

ClearCntLtc = ctypes.c_short()

LtcMode = ctypes.c_short()

ClearCntClr = ctypes.c_short()

ClrMode = ctypes.c_short()

ClearCntLtc.value = 0

LtcMode.value = 0

ClearCntClr.value = 0

ClrMode.value = 0

Ret.value = csmc.SmcWSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr , ClrMode )

 

関連項目

SmcWGetCounterMode