キーワードから探す

※スペースで区切って複数検索が可能です。

カテゴリで絞り込む

よく検索されるキーワード

ID:421
作成日: 2023/09/20

ボードの識別番号を固定化したい

カテゴリ SDK-TransFlyer 
対象製品 CoaXPressボード

ご使用のPCに弊社のCXPボードが複数搭載されている状態で
CXPボードの識別番号を取得すると、取得番号が入れ替わる場合があります。


上記の現象が発生する場合は、以下の運用方法にてボードを識別するようお願い致します。
①ボードのシリアル番号で識別
②ボードの固有IDで識別(任意に設定できるID)

※②に関しましてはお客様にて任意の固有IDを設定していただく必要が御座います。
固有IDの設定につきましては、ファームウェア更新ツールにて以下の方法で設定可能です。
ファームウェア更新ツールから固有IDを変更する方法


[①ボードのシリアル番号で識別]
ITraAcqGrabber* grabber[2] = { 0 };
uint32_t grabberNum = 0;
char serialNo[MaxNameSize];
char userID[MaxNameSize];
uint32_t serialSize = MaxNameSize;
size_t idSize = MaxNameSize;

if (pFactory->GetNumberOfGrabber(&grabberNum) == false)
{
    std::cout << "pFactory->GetNumberOfGrabber Failed" << std::endl;
}

// 接続台数分の制御クラスをオープンします
for (int i = 0; i < grabberNum; i++)
{
    ITraAcqGrabber* _grabber = 0;

    if (pFactory->GetGrabber(i, &_grabber) == true)
    {
        // grabberクラスの制御をオープン
        if (_grabber->Open() == true)
        {
            // --------- ボードのシリアル番号で識別するパターン ---------
            // APX-3664の識別用シリアル番号の取得
            _grabber->GetSerialNumber(serialNo, serialSize);

            if (/* serialNo = グラバAなら */)
            {
                grabber[0] = _grabber;
            }
            else	/* serialNo = グラバBなら */
            {
                grabber[1] = _grabber;
            }
            // -----------------------------------------------------------
        }
    }
}


[②ボードの固有IDで識別(任意に設定できるID)]
ITraAcqGrabber* grabber[2] = { 0 };
uint32_t grabberNum = 0;
char serialNo[MaxNameSize];
char userID[MaxNameSize];
uint32_t serialSize = MaxNameSize;
size_t idSize = MaxNameSize;

if (pFactory->GetNumberOfGrabber(&grabberNum) == false)
{
    std::cout << "pFactory->GetNumberOfGrabber Failed" << std::endl;
}

// 接続台数分の制御クラスをオープンします
for (int i = 0; i < grabberNum; i++)
{
    ITraAcqGrabber* _grabber = 0;

    if (pFactory->GetGrabber(i, &_grabber) == true)
        {
            // grabberクラスの制御をオープン
            if (_grabber->Open() == true)
            {
                // --------- ボードの固有IDで識別するパターン ---------
                // ※このパターンは別途手動でボードの固有IDを設定する必要がございます。
                // 固有ID(LocalDeviceUserID)の取得
                _grabber->GetValue("LocalDeviceUserID", userID, &idSize);

                if (/* userID = グラバAなら */)
                {
                    grabber[0] = _grabber;
                }
                else	/* userID = グラバBなら */
                {
                    grabber[1] = _grabber;
                }
                // -----------------------------------------------------------
        }
    }
}
この内容は参考になりましたか?
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
ご意見・ご感想、ありがとうございます。

関連するご質問

Now Loading...

Now Loading...