CanGetChannelStatus


機能

指定チャネルのステータスを取得します。

書式

Ret = CanGetChannelStatus ( Id , ChannelNo )

引数

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

ChannelNo [ VB.NET: UShort ] [ C, C++: unsigned short ] [ C#: ushort ]
チャネル番号を指定します。

ChannelStatus [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ]
指定チャネルのステータスを取得します。

定義


[Hex]

意味

CCAN_CH_STATUS_ERR_ACTIVE

0x0000

エラーアクティブ

CCAN_CH_STATUS_ERR_PASSIVE

0x0001

エラーパッシブ

CCAN_CH_STATUS_BUS_OFF

0x0002

バスオフ

TxErrorCount [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ]
送信エラーカウントを取得します。

RxErrorCount [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ]
受信エラーカウントを取得します。

戻り値

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

定義

戻り値
[Dec]

内容

CAN_ERR_SUCCESS

0

正常終了

CAN_ERR_SYS_RECOVERED_FROM_STANDBY

7

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

CAN_ERR_DLL_INVALID_ID

10001

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

CAN_ERR_DLL_CALL_DRIVER

10002

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

CAN_ERR_SYS_CH_NO

20101

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

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

初期値

なし

説明

指定チャネルのステータスを取得します。

使用例

ChannelNo = 1のステータスを取得します。

VB.NET

Dim Ret As Integer
Dim ChannelStatus As UShort

Dim TxErrorCount As UShort

Dim RxErrorCount As UShort

Ret = CanGetChannelStatus ( Id , 1 , ChannelStatus , TxErrorCount , RxErrorCount )
 

C, C++

long Ret;
unsigned short ChannelStatus;

unsigned short TxErrorCount;

unsigned short RxErrorCount;

Ret = CanGetChannelStatus ( Id , 1 , &ChannelStatus , &TxErrorCount , &RxErrorCount );
 

C#

int Ret;
ushort ChannelStatus;
ushort TxErrorCount;
ushort RxErrorCount;

Ret = can.GetChannelStatus ( Id , 1 , out ChannelStatus , out TxErrorCount , out RxErrorCount );
 

関連項目

CanBusConnect CanBusDisconnect