AioGetEcuSignal


機能

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

書式

Ret = AioGetEcuSignal ( Id , Destination , Source )

引数

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

Destination [ VB.NET: Short ] [ C, C++: short ] [ 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 [ VB.NET: Short ] [ C, C++: short * ] [ C#: out 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 [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ 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信号を取得します。

VB.NET

Dim Ret As Integer
Dim Source As Short
Ret = AioGetEcuSignal ( Id , AIOECU_DEST_AO_CLK  , Source )
 

C, C++

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

C#

int Ret;
short Source;
Ret = aio.GetEcuSignal ( Id , (short)CaioConst.AIOECU_DEST_AO_CLK  , out Source );
 

Python

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