機能
LTC信号入力によりラッチされたエンコーダカウンタ値の取得を行います。
書式
Ret = SmcWGetLatchCountPulse( Id , AxisNo , CountPulse )
引数
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
SmcWInit 関数で取得したデバイスIDを指定します。
AxisNo
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
軸番号を指定します。
CountPulse
[ VB.NET: Integer ] [ C, C++: long * ] [ C#: out int ] [ Python: ctypes.POINTER(ctypes.c_long)
]
エンコーダのカウント値を格納する変数のアドレスを指定します。
カウント値は絶対座標で表されます。
戻り値
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
0 |
正常終了 |
0以外 |
異常終了 |
参照:エラーコード詳細
説明
この関数は軸が動作中の場合も実行可能です。
SmcWSetCtrlTypeInでIN4をLTCに設定しておく必要があります。
SmcWSetCounterModeでラッチするカウンタを選択しておく必要があります。
使用例
軸番号1のラッチされたエンコーダのカウント値を取得します。
VB.NET
Dim Ret As Integer
Dim CountPulse As Integer
Ret = SmcWGetLatchCountPulse( Id , 1, CountPulse )
C, C++
long Ret;
long CountPulse ;
Ret = SmcWGetLatchCountPulse( Id , 1, &CountPulse );
C#
int Ret;
int CountPulse ;
Ret = Smc.WGetLatchCountPulse( Id , 1, out CountPulse );
Python
Ret = ctypes.c_long()
CountPulse = ctypes.c_long()
Ret.value = csmc.SmcWGetLatchCountPulse( Id , 1, ctypes.byref(CountPulse)
)
関連項目
SmcWSetCtrlTypeIn SmcWSetCounterMode