CntGetPulseWidth


機能

ワンショットパルス幅を取得します。マルチプロセス対応関数です。

書式

Ret = CntGetPulseWidth ( Id , ChNo , PlsWidth )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。

ChNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
取得するチャネル番号を指定します。

PlsWidth [ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short) ]
ワンショットパルス幅の係数を取得する変数のアドレスを指定します。
係数とパルス幅は以下の表の通りです。

係数

パルス幅

0h

0

1h

約409.6μs

2h

約819.2μs

3h

約1.23ms

4h

約4.92ms

5h

約10.24ms

6h

約20.07ms

7h

約29.9ms

8h

約40.14ms

9h

約49.97ms

Ah

約60.2ms

Bh

約70.04ms

Ch

約80.28ms

Dh

約90.11ms

Eh

約100.35ms

Fh

約104.45ms

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

定義

意味

CNT_ERR_SUCCESS

0

正常終了

CNT_ERR_SYS_RECOVERED_FROM_STANDBY

7

スタンバイモードから復帰したため、CntResetDevice関数を実行してください

CNT_ERR_DLL_INVALID_ID

10001

無効なIDが指定されました

CNT_ERR_DLL_CALL_DRIVER

10002

ドライバーを呼び出せません。(デバイスI/Oコントロールに失敗)

CNT_ERR_DLL_BUFF_ADDRESS

10101

データバッファアドレスが不正です

CNT_ERR_SYS_BOARD_EXECUTING

20002

デバイスが動作中のため実行できません

CNT_ERR_SYS_CH_NO

20201

チャネル番号が設定可能範囲外です

その他のエラー(参照:エラーコード詳細

初期値

0

説明

カウント一致した時のワンショットパルス幅を取得します。
「サンプリング機能搭載デバイス」の場合は、CntGetOutputHardwareEventを使用してください。

使用例

チャネル0のワンショットパルス幅を取得します。

VB.NET

Dim Ret As Integer
Dim PlsWidth As Short
Ret = CntGetPulseWidth ( Id , 0 , PlsWidth )
 

C, C++

long Ret;
short PlsWidth;
Ret = CntGetPulseWidth ( Id , 0 , &PlsWidth );
 

C#

int Ret;
short PlsWidth;
Ret = cnt.GetPulseWidth ( Id , 0 , out PlsWidth );
 

Python

Ret = ctypes.c_long()
PlsWidth = ctypes.c_short()
Ret.value = ccnt.CntGetPulseWidth ( Id , 0 , ctypes.byref(PlsWidth) )
 

関連項目

CntSetPulseWidth