コンテンツにスキップ

Error Codes#

Error Codesカメラ機能を使用すると、カメラからエラーコードを読み取ることができます。これらのコードは、ユーザーが修正できるエラーを警告します。

複数の異なるエラーが発生した場合は、エラーリストに保存され、1つずつ取得できます。

機能を使用する#

仕組み#

カメラは、ユーザーが自身で修正できるエラーを検出できます。このようなエラーが発生した場合、カメラはこのエラーにエラーコードを割り当て、そのエラーコードをメモリーに保存します。

複数の異なるエラーが発生した場合、カメラは検出されたエラーの種類ごとにコードを保存します。カメラは、対応するエラーを何回検出したかに関係なく、各コードを1回だけ保存します。

Error Codesの確認#

エラーコードの確認は、カメラのモデルと発生したエラーの数に応じた反復的なプロセスです。

ace 2、boost、およびdart IMXカメラ#

ace 2、boost、およびdart IMXカメラのエラーコードを確認するには、次の手順に従います。

  1. BslErrorPresentパラメーターの値を取得します。
  2. パラメーター値が次の場合 true:
    1. BslErrorReportValueパラメーターの値を取得します。
    2. コンピューターに値を保存するか、後で参照できるように書き留めます。
    3. BslErrorReportNextコマンドを実行します。これにより、デバイスから次のエラーコードが取得されます。
    4. BslErrorReportValueパラメーター値が0になるまでステップa)からc)を繰り返します。パラメーター値0は、取得するエラーコードがこれ以上ないことを意味します。
    5. エラーコードのリストについては、Baslerサポートにお問い合わせください

ace classic/U/L GigEカメラ#

ace classic/U/L GigEカメラのエラーコードを確認するには、次の手順に従います。

  1. LastErrorパラメーターの値を取得します。
  2. コンピューターに値を保存するか、後で参照できるように書き留めます。
  3. ClearLastErrorコマンドを実行します。これにより、エラーコードのリストから最後のエラーコードが削除されます。
  4. LastErrorパラメーター値がNoErrorになるまで、手順1)~3)を繰り返します。
  5. 次の表を使用してエラーのトラブルシューティングを行うか、エラーコードのリストを使用してBaslerサポートに問い合わせます
使用可能なError Codes

次の表は、Basler ace classic/U/Lカメラにのみ適用されます。

LastError Enumerator 意味
NoError エラーメモリが最後にクリアされてから、カメラでエラーが検出されませんでした。
Overtrigger オーバートリガーが発生しました。
カメラが取得開始を待機していない状態で、ユーザーはAcquisition Startトリガーをカメラに適用しました。
または、
カメラがフレーム開始を待機していない状態で、ユーザーがカメラにFrame Startトリガーを適用しました。
Userset ユーザーセットをロードしようとしたときにエラーが発生しました。通常、これはユーザーセットに無効な値が含まれていることを意味します。別のユーザーセットをロードしてみてください。
InvalidParameter 範囲外または無効なパラメーターが入力されました。通常、このエラーは、ユーザーが直接レジスターアクセスを介してパラメーターを設定した場合にのみ発生します。
OverTemperature The camera supports the Temperature State feature and is above the over temperature threshold. This error indicates that damage to camera components may occur.
PowerFailure このエラーは、電力供給が十分でないことを示します。
電力供給状況を確認してください。
InsufficientTriggerWidth このエラーは、トリガーが最小露光時間より短い場合にTrigger Width露光モードで報告されます。

サンプルコード#

ace 2、boost、およびdart IMXカメラ#

// Check whether an error occured on the device
bool errorPresent = camera.BslErrorPresent.GetValue();
// Get the first error code
int64_t errorReportValue = camera.BslErrorReportValue.GetValue();
// Retrieve the next error code from the device
camera.BslErrorReportNext.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Check whether an error occured on the device
bool errorPresent = CBooleanParameter(nodemap, "BslErrorPresent").GetValue();
// Get the first error code
int64_t errorReportValue = CIntegerParameter(nodemap, "BslErrorReportValue").GetValue();
// Retrieve the next error code from the device
CCommandParameter(nodemap, "BslErrorReportNext").Execute();
// Check whether an error occured on the device
bool errorPresent = camera.Parameters[PLCamera.BslErrorPresent].GetValue();
// Get the first error code
Int64 errorReportValue = camera.Parameters[PLCamera.BslErrorReportValue].GetValue();
// Retrieve the next error code from the device
camera.Parameters[PLCamera.BslErrorReportNext].Execute();
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
_Bool errorPresent = false;
int64_t errorReportValue = 0;
/* Check whether an error occured on the device */
errRes = PylonDeviceGetBooleanFeature(hdev, "BslErrorPresent", &errorPresent);
CHECK(errRes);
/* Get the first error code */
errRes = PylonDeviceGetIntegerFeature(hdev, "BslErrorReportValue", &errorReportValue);
CHECK(errRes);
/* Retrieve the next error code from the device */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslErrorReportNext");
CHECK(errRes);

ace classic/U/L GigEカメラ#

// Get the value of the last error code in the memory
LastErrorEnums lasterror = camera.LastError.GetValue();
// Clear the value of the last error code in the memory
camera.ClearLastError.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Get the value of the last error code in the memory
String_t lasterror = CEnumParameter(nodemap, "LastError").GetValue();
// Clear the value of the last error code in the memory
CCommandParameter(nodemap, "ClearLastError").Execute();
// Get the value of the last error code in the memory
string lasterror = camera.Parameters[PLCamera.LastError].GetValue();
// Clear the value of the last error code in the memory
camera.Parameters[PLCamera.ClearLastError].Execute();
size_t len = 0;
char lasterror_str[64] = {0};
/* Get the value of the last error code in the memory */
len = sizeof(lasterror_str);
errRes = PylonDeviceFeatureToString(hdev, "LastError", lasterror_str, &len);
CHECK(errRes);
/* Clear the value of the last error code in the memory */
errRes = PylonDeviceExecuteCommandFeature(hdev, "ClearLastError");
CHECK(errRes);

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。