• 検索結果がありません。

CanOutputSync

ドキュメント内 GPC-4851 (ページ 142-150)

第4章 リファレンス

21. CanOutputSync

【パラメータ】

hDeviceHandle

CanOpenPort 関数で取得したデバイスハンドルを指定してください。

TrgLine

内部同期出力を行う信号を指定します。

指定可能な識別子は下記から選択します。

識別子 値 内容

CAN_SYNC_NUM1 00000001h 内部同期ライン 1 TrgMode

内部同期トリガ出力条件を指定識別子のうちいずれか 1 つを指定します。

内部同期トリガ出力は、下記の識別子で指定されます。

識別子 値 内容

CAN_SYNC_DISABLE 00000000h 外部トリガ出力なし(デフォルト) CAN_SYNC_RECV 00000001h 内部同期トリガを受信時に出力する

【戻り値】

正常終了した場合は、IFCAN_ERROR_SUCCESSが返されます。

IFCAN_ERROR_SUCCESS以外の値が返された場合については、『4.4 戻り値一覧』をご参照くださ い。

【備考】

本関数は、ITC-A81310(S)、ITC-A71310T(S)、ITC-A61310(S)で使用できます。

【使用例】

●C 言語 INT nRet;

HANDLE hDeviceHandle;

DWORD dwTimerConfig;

DWORD dwTimerCount;

hDeviceHandle = CanOpenPort(“IFCAN1”);

: :

// 内部同期トリガを受信時に出力するよう設定

nRet = CanOutputSync(hDeviceHandle, CAN_SYNC_NUM_1, CAN_SYNC_RECV);

●Visual Basic

Dim lpszName As String Dim hDeviceHandle As Long Dim nRet As Long

Dim dwTimerConfig As Long Dim dwTimerCount As Long lpszName = "IFCAN1" & Chr( 0 )

hDeviceHandle = CanOpenPort(lpszName) :

' 内部同期トリガを受信時に出力するよう設定

nRet = CanOutputSync(hDeviceHandle, CAN_SYNC_NUM_1, CAN_SYNC_RECV)

●Delphi var

lpszName: String;

hDeviceHandle: THandle;

nRet: Integer;

dwTimerConfig: DWORD;

dwTimerCount: DWORD;

lpszName := ‘IFCAN1’;

hDeviceHandle := CanOpenPort(lpszName);

: :

// 内部同期トリガを受信時に出力するよう設定

nRet := CanOutputSync(hDeviceHandle, CAN_SYNC_NUM_1, CAN_SYNC_RECV);

●Visual C# .NET uint Ret;

IFCCAN_ANY.CAN_MESSAGE CanMessage = new IFCCAN_ANY.CAN_MESSAGE();

IntPtr DeviceHandle;

DeviceHandle = IFCCAN_ANY.CanOpenPort(“IFCAN1”);

: :

●Visual Basic .NET

Dim DeviceHandle As Integer

Dim CanMessage As IFCCAN_ANY.CAN_MESSAGE = New IFCCAN_ANY.CAN_MESSAGE Dim Ret As Integer

Dim TimerConfig As Integer Dim TimerCount As Integer

DeviceHandle = IFCCAN_ANY.CanOpenPort(“IFCAN1”) :

' 内部同期トリガを受信時に出力するよう設定

Ret=IFCCAN_ANY.CanOutputSync(DeviceHandle,IFCCAN_ANY.CAN_SYNC_NUM_1, IFCCAN_ANY.CAN_SYNC_RECV)

●Visual C++ CLR プロジェクト unsigned int Ret;

IFCCAN_ANY::CAN_MESSAGE CanMessage;

IntPtr DeviceHandle;

DeviceHandle = IFCCAN_ANY::CanOpenPort(“IFCAN1”);

: :

// 内部同期トリガを受信時に出力するよう設定

Ret=IFCCAN_ANY::CanOutputSync(DeviceHandle,IFCCAN_ANY::CAN_SYNC_NUM_1, IFCCAN_ANY::CAN_SYNC_RECV);

デバイス名「IFCAN1」の CAN インタフェースがデータ受信時に内部同期トリガを出力するよう 設定します。

4.2.2 CAN インタフェース制御用関数 1. CanSetConfig

【機能】

CAN インタフェースの各種設定を行います。

本関数で設定を行うためには、CAN バスへの接続を無効化(CanDeactivate 関数)しておく必 要があります。(接続中のまま実行すると、エラーが返されます)

設定変更後、再度 CAN バスへ接続するためには CanActivate 関数を実行して下さい。

設定値の中には、設定の難しい物もありますので、CanGetConfig 関数で初期値を取得し、その 中から変更したい箇所だけ変更して設定する方法をお勧めします。

※ 「 Intel PCH EG20T 」 の CAN コ ン ト ロ ー ラ を 搭 載 し た 製 品 ( TPC-B016SAxx, TPC-B016SBxx,ETC-B016)では CAN バスへの接続状態に関係なく設定を行うことができます。

一部設定できない項目があります。項目については構造体 CAN_PORT_CONFIG を参照してく ださい。

【書式】

●C 言語

INT CanSetConfig(

HANDLE hDeviceHandle, PCAN_PORT_CONFIG pPortConfig );

●Visual Basic

Declare Function CanSetConfig Lib "IFCan.DLL"( _ ByVal hDeviceHandle As Long, _

ByRef pPortConfig As CAN_PORT_CONFIG _ )As Long

●Delphi

function CanSetConfig(

hDeviceHandle: THandle;

var pPortConfig: CAN_PORT_CONFIG ): Integer; stdcall; external ‘IFCan.DLL’;

●Visual C# .NET(x86、x64 共用)

[DllImport(“IFCan.dll”)]

public static extern uint CanSetConfig(

IntPtr DeviceHandle, ref CAN_PORT_CONFIG PortConfig

●Visual C# .NET(x86 専用)

[DllImport(“IFCan.dll”)]

public static extern uint CanSetConfig(

uint DeviceHandle, ref CAN_PORT_CONFIG PortConfig );

●Visual Basic .NET(x86、x64 共用)

Declare Function CanSetConfig Lib "IFCan.DLL"( _ ByVal DeviceHandle As IntPtr, _

ByRef PortConfig As CAN_PORT_CONFIG _ ) As Integer

●Visual Basic .NET(x86 専用)

Declare Function CanSetConfig Lib "IFCan.DLL"( _ ByVal DeviceHandle As Integer, _

ByRef PortConfig As CAN_PORT_CONFIG _ ) As Integer

【パラメータ】

hDeviceHandle

CanOpenPort 関数で取得したデバイスハンドルを指定してください。

pPortConfig

通信条件設定構造体へのポインタを指定してください。

構造体の説明については、『4.3 構造体説明』をご参照ください。

【戻り値】

正常終了した場合は、IFCAN_ERROR_SUCCESSが返されます。

IFCAN_ERROR_SUCCESS以外の値が返された場合については、『4.4 戻り値一覧』をご参照くださ い。

【備考】

1. 受信フィルタの設定は、CanSetAcceptanceFilter 関数で行って下さい。

2. バスマスタ版 CAN 製品は送信中のデータがある状態で、送信バッファサイズの変更は行え ません。

【使用例】

●C 言語 INT nRet;

HANDLE hDeviceHandle;

CAN_PORT_CONFIG PortConfig

hDeviceHandle = CanOpenPort(“IFCAN1”);

: :

nRet = CanGetConfig(hDeviceHandle, &PortConfig);

PortConfig.ulBaudRate = CAN_BAUDRATE_1M;

nRet = CanSetConfig(hDeviceHandle, &PortConfig);

●Visual Basic

Dim lpszName As String Dim hDeviceHandle As Long

Dim PortConfig As CAN_PORT_CONFIG Dim nRet As Long

lpszName = "IFCAN1" & Chr( 0 )

hDeviceHandle = CanOpenPort(lpszName) :

nRet = CanGetConfig(hDeviceHandle, PortConfig) PortConfig.ulBaudRate = CAN_BAUDRATE_1M

nRet = CanSetConfig(hDeviceHandle, PortConfig)

●Delphi var

lpszName: String;

hDeviceHandle: THandle;

PortConfig: CAN_PORT_CONFIG;

nRet: Integer;

lpszName := ‘IFCAN1’;

hDeviceHandle := CanOpenPort(lpszName);

●Visual C# .NET uint Ret;

IntPtr DeviceHandle;

IFCCAN_ANY.CAN_PORT_CONFIG PortConfig = new IFCCAN_ANY.CAN_PORT_CONFIG();

DeviceHandle = IFCCAN_ANY.CanOpenPort(“IFCAN1”);

Ret = IFCCAN_ANY.CanGetConfig(DeviceHandle, out PortConfig);

PortConfig.BaudRate = IFCCAN_ANY.CAN_BAUDRATE_1M;

Ret = IFCCAN_ANY.CanSetConfig(DeviceHandle, ref PortConfig);

●Visual Basic .NET

Dim DeviceHandle As Integer

Dim PortConfig As IFCCAN_ANY.CAN_PORT_CONFIG = New IFCCAN_ANY.CAN_PORT_CONFIG Dim Ret As Integer

DeviceHandle = IFCCAN_ANY.CanOpenPort(“IFCAN1”) :

Ret = IFCCAN_ANY.CanGetConfig(DeviceHandle, PortConfig) PortConfig.BaudRate = IFCCAN_ANY.CAN_BAUDRATE_1M

Ret = IFCCAN_ANY.CanSetConfig(DeviceHandle, PortConfig)

●Visual C++ CLR プロジェクト unsigned int Ret;

IntPtr DeviceHandle;

IFCCAN_ANY::CAN_PORT_CONFIG PortConfig;

DeviceHandle = IFCCAN_ANY::CanOpenPort(“IFCAN1”);

Ret = IFCCAN_ANY::CanGetConfig(DeviceHandle, PortConfig);

PortConfig::BaudRate = IFCCAN_ANY::CAN_BAUDRATE_1M;

Ret = IFCCAN_ANY::CanSetConfig(DeviceHandle, PortConfig);

デバイス名「IFCAN1」の CAN インタフェースを、通信速度 1Mbps に設定します。

ドキュメント内 GPC-4851 (ページ 142-150)