指定したチャネルのステータスを取得します。マルチプロセス対応関数です。
Ret = CntReadStatusEx ( Id , ChNo , Sts )
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
]
取得するチャネル番号を指定します。
Sts
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
ステータスを取得する変数のアドレスを指定します。各ビットは、次のように定義されています。
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
ALM |
AI |
FE |
CA |
BO |
Z |
A |
B |
U/D |
EQ1 |
EQ0 |
U |
ビット |
意味 |
値 |
D0 :U |
汎用入力状態 |
0:LOW |
D1 :EQ0 |
カウント一致レジスタ0 |
0:一致 |
D2 :EQ1 |
カウント一致レジスタ1 |
0:一致 |
D3 :U/D |
UP/DOWN |
0:アップカウント中 |
D4 :B |
B相 |
0:LOW |
D5 :A |
A相 |
0:LOW |
D6 :Z |
Z相 |
0:正論理=LOW /負論理=HIGH |
D7 :BO |
Borrow |
0:Borrow未検出 |
D8 :CA |
Carry |
0:Carry未検出 |
D9 :FE |
フィルタエラー |
0:フィルタエラー未検出 |
D10:AI |
異常入力エラー |
0:異常入力エラー未検出 |
D11:ALM |
断線アラームエラー |
0:アラームエラー未検出 |
※外部信号源に差動を設定できないデバイスでは、断線アラームエラーは検出されません。
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_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません |
CNT_ERR_SYS_CH_NO |
20201 |
チャネル番号が設定可能範囲外です |
その他のエラー(参照:エラーコード詳細)
0
・指定したチャネルのステータスを取得します。
ステータスは、カウンタの各相の信号が動作しているかどうかの確認に使用できます。
汎用入力については、専用関数CntInputDIByteを使用した方が便利です。
・「サンプリング機能搭載デバイス」以外の場合、CntReadStatusを使用してください。
・フィルタエラー(D9:FE), 異常入力エラー(D10:AI), 断線アラームエラー(D11:ALM)については、ステータスをリードした時点でクリアされます。
ただし、CntNotifyCounterError関数にて、カウンタエラーの通知を有効にしているとこれらのステータスは常に0となります。
・カウント一致状態(D1:EQ)は、本関数実行時のカウント値と、比較一致レジスタ設定値が同じであれば、「0:カウントデータ一致」となります。
それ以外の状態では、「1:カウントデータ不一致」となります。
このため、高速にカウント値が変化する場合は、状態変化を認識できません。CntNotifyCountUp関数の利用をご検討ください。
チャネル0のステータスを取得します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |
CntStartCount CntReadStatus CntNotifyCounterError