指定したチャネルのパルス計測データを取得します。
Ret = DioReadPulseMeasurementData( Id , ChNo , ChNum , Status , Error , TimeValue , TimeUnit )
Id
[ C, C++: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。
ChNo
[ C, C++: short * ] [ Python: ctypes.POINTER(ctypes.c_short)
]
設定取得を行うチャネル番号を格納した配列の先頭アドレスを指定します。
ChNum
[ C, C++: short ] [ Python: ctypes.c_short ]
ChNoで指定したチャネル数を指定します。
Status
[ C, C++: unsigned short * ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
パルス計測ステータスを格納する配列の先頭アドレスを指定します。
ビット |
意味 |
値 |
0 |
パルス計測状態 |
0: 停止中 |
1 |
計測データ確定 |
0: 未確定 |
31:2 |
予約 |
- |
Error
[ C, C++: unsigned short * ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
パルス計測周期を格納する配列の先頭アドレスを指定します。
TimeValue
[ C, C++: unsigned long long * ] [ Python: ctypes.POINTER(ctypes.c_ulonglong) ]
パルス計測時間を格納する配列の先頭アドレスを指定します。
TimeUnit
[ C, C++: unsigned short * ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
パルス計測時間の単位を格納した配列の先頭アドレスを指定します。
定義 |
値 [Dec] |
意味 |
DIO_PULSE_MEASUREMENT_TIME_UNIT_S |
1 |
sec単位 |
DIO_PULSE_MEASUREMENT_TIME_UNIT_MS |
2 |
msec単位 |
DIO_PULSE_MEASUREMENT_TIME_UNIT_US |
3 |
μsec単位 |
DIO_PULSE_MEASUREMENT_TIME_UNIT_NS |
4 |
nsec単位 |
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません(ioctlに失敗)。 |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_CH_NO |
20105 |
チャネル番号が指定可能範囲外です。 |
DIO_ERR_SYS_CH_NUM |
20106 |
チャネル数が指定可能範囲外です。 |
DIO_ERR_SYS_PULSE_MEASUREMENT_TIME_UNIT |
20953 |
パルス計測時間単位が指定可能範囲外です。 |
その他のエラー(参照:エラーコード詳細)
指定したチャネルのパルス計測データを取得します。
パルス計測状態(引き数statusのビット0)は、DioStartPulseMeasurement関数実行からDioStopPulseMeasurement関数による停止までの間、動作中(1)になります。
計測データ確定(引き数statusのビット1)は、パルス計測データが確定し、PulseMonitorTimeにデータが格納された場合に計測データ確定(1)になります。
チャネル0とチャネル1のパルス計測データを、nsec単位で取得します。
C, C++ |
long Ret; unsigned long long TimeValue[2]; TimeUnit[0] = DIO_PULSE_MEASUREMENT_TIME_UNIT_NS; TimeUnit[1] = DIO_PULSE_MEASUREMENT_TIME_UNIT_NS; |
Python |
Ret = ctypes.c_long() TimeValueType = ctypes.c_ulonglong
* 2 TimeUnit[0] = cdio.DIO_PULSE_MEASUREMENT_TIME_UNIT_NS TimeUnit[1] = cdio.DIO_PULSE_MEASUREMENT_TIME_UNIT_NS |
DioStartPulseMeasurement
DioStopPulseMeasurement