AioGetEcuSignal


機能

イベントコントローラの信号取得を行います。

書式

Ret = AioGetEcuSignal ( Id , Destination , Source )

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。

Destination [ C, C++: short ] [ Python: ctypes.c_short ]
接続先となる信号を以下の範囲から指定します。

接続先信号

マクロ

アナログ入力サンプリングクロック周期

AIOECU_DEST_AI_CLK

4

アナログ入力変換開始信号

AIOECU_DEST_AI_START

0

アナログ入力変換停止信号

AIOECU_DEST_AI_STOP

2

アナログ出力ジェネレーティングクロック周期

AIOECU_DEST_AO_CLK

36

アナログ出力変換開始信号

AIOECU_DEST_AO_START

32

アナログ出力変換停止信号

AIOECU_DEST_AO_STOP

34

カウンタ0アップクロック信号

AIOECU_DEST_CNT0_UPCLK

134

カウンタ1アップクロック信号

AIOECU_DEST_CNT1_UPCLK

135

カウンタ0、タイマ0動作開始信号

AIOECU_DEST_CNT0_START

128

カウンタ1、タイマ1動作開始信号

AIOECU_DEST_CNT1_START

129

カウンタ0、タイマ0動作停止信号

AIOECU_DEST_CNT0_STOP

130

カウンタ1、タイマ1動作停止信号

AIOECU_DEST_CNT1_STOP

131

同期バスマスタ信号1

AIOECU_DEST_MASTER1

104

同期バスマスタ信号2

AIOECU_DEST_MASTER2

105

同期バスマスタ信号3

AIOECU_DEST_MASTER3

106

Source [ C, C++: short * ] [ Python: ctypes.POINTER(ctypes.c_short) ]
接続元の信号を格納する変数のアドレスを指定します。
Sourceには、以下の値のいずれかが格納されます。

接続元信号

マクロ

未接続

AIOECU_SRC_OPEN

0

アナログ入力内部クロック信号

AIOECU_SRC_AI_CLK

4

アナログ入力外部クロック信号

AIOECU_SRC_AI_EXTCLK

146

アナログ入力外部トリガ開始信号

AIOECU_SRC_AI_TRGSTART

144

アナログ入力レベルトリガ開始信号

AIOECU_SRC_AI_LVSTART

28

アナログ入力変換回数終了信号(遅延なし)

AIOECU_SRC_AI_STOP

17

アナログ入力変換回数終了信号(遅延あり)

AIOECU_SRC_AI_STOP_DELAY

18

アナログ入力レベルトリガ停止信号

AIOECU_SRC_AI_LVSTOP

29

アナログ入力外部トリガ停止信号

AIOECU_SRC_AI_TRGSTOP

145

アナログ出力内部クロック信号

AIOECU_SRC_AO_CLK

66

アナログ出力外部クロック信号

AIOECU_SRC_AO_EXTCLK

149

アナログ出力外部トリガ開始信号

AIOECU_SRC_AO_TRGSTART

147

アナログ出力指定回数出力終了信号(FIFO使用)

AIOECU_SRC_AO_STOP_FIFO

352

アナログ出力指定回数出力終了信号(RING使用)

AIOECU_SRC_AO_STOP_RING

80

アナログ出力外部トリガ停止信号

AIOECU_SRC_AO_TRGSTOP

148

カウンタ0アップクロック信号

AIOECU_SRC_CNT0_UPCLK

150

カウンタ1アップクロック信号

AIOECU_SRC_CNT1_UPCLK

152

カウンタ0比較カウント一致

AIOECU_SRC_CNT0_CMP

288

カウンタ1比較カウント一致

AIOECU_SRC_CNT1_CMP

289

同期バススレーブ信号1

AIOECU_SRC_SLAVE1

136

同期バススレーブ信号2

AIOECU_SRC_SLAVE2

137

同期バススレーブ信号3

AIOECU_SRC_SLAVE3

138

Ai, Ao, Cnt, Tmソフトウェア開始信号

AIOECU_SRC_START

384

Ai, Ao, Cnt, Tmソフトウェア停止信号

AIOECU_SRC_STOP

385

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

17010

Destinationの値が関数の指定範囲外です

17011

SourceのポインタがNULLです
パラメータには変数のアドレスを指定してください。

20001

使用しているデバイスではこの関数を使用することができません

20002

デバイスが動作中のため実行できません
この関数を使用するには、アナログ入出力、カウンタ、タイマ動作が停止している必要があります。

20003

他のプロセスがデバイスを使用しているため、実行できません
他のプロセスがデバイスを使用しているときは、マルチプロセス対応関数以外実行できません。

27010

Destinationの値が使用しているデバイスの指定範囲外です

説明

デバイスが動作中の場合、この関数は実行できません。

使用例

アナログ出力ジェネレーティングクロック周期に接続されているSource信号を取得します。

C, C++

long Ret;
short Source;
Ret = AioGetEcuSignal ( Id , AIOECU_DEST_AO_CLK  , &Source );
 

Python

Ret = ctypes.c_long()
Source = ctypes.c_short()
Ret.value = caio.AioGetEcuSignal ( Id , caio.AIOECU_DEST_AO_CLK , ctypes.byref(Source) )