カテゴリ |
|
対象製品 |
|
ご使用の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;
}
// -----------------------------------------------------------
}
}
}
|