Error Codes#
複数の異なるエラーが発生した場合は、エラーリストに保存され、1つずつ取得できます。
機能を使用する#
仕組み#
カメラは特定のエラーを検出できます。そのようなエラーが発生すると、カメラはこのエラーにエラーコードを割り当て、エラーコードをメモリーに保存します。
複数の異なるエラーが発生した場合、カメラは検出されたエラーの種類ごとにコードを保存します。カメラは、対応するエラーを何回検出したかに関係なく、各コードを1回だけ保存します。
Error Codesの確認#
エラーコードの確認は、カメラのモデルと発生したエラーの数に応じた反復的なプロセスです。
ace 2, boost, dart M/R, and racer 2 Cameras#
Basler ace 2, boost, dart M/R, and racer 2 cameras can generate a list of errors that can be evaluated by Basler support.
To check error codes on ace 2, boost, dart M/R, and racer 2 cameras:
- Get the value of the
BslErrorPresent
parameter. - パラメーター値が次の場合
true
:- Get the value of the
BslErrorReportValue
parameter. - コンピューターに値を保存するか、後で参照できるように書き留めます。
- Execute the
BslErrorReportNext
command. This retrieves the next error code from the device. - Repeat steps a) to c) until the
BslErrorReportValue
parameter value is0
. A parameter value of 0 means that there are no more error codes to retrieve. - Contact Basler support with the list of error codes.
- Get the value of the
ace U/Lカメラ#
Basler ace U/L cameras can generate a list of errors that can be corrected by yourself or evaluated by Basler support.
To check error codes on ace U/L GigE cameras:
- Get the value of the
LastError
parameter. - コンピューターに値を保存するか、後で参照できるように書き留めます。
- Execute the
ClearLastError
command. This deletes the last error code from the list of error codes. - Repeat steps 1) to 3) until the
LastError
parameter value isNoError
. - 次の表を使用してエラーのトラブルシューティングを行うか、エラーコードのリストを使用してBaslerサポートに問い合わせます。
使用可能なError Codes#
The following table applies to Basler ace U/L cameras only.
LastError Enumerator | 意味 |
---|---|
NoError | エラーメモリが最後にクリアされてから、カメラでエラーが検出されませんでした。 |
Overtrigger | An overtrigger has occurred. The user has applied a trigger signal to the camera when the camera wasn't ready for it. |
Userset | ユーザーセットをロードしようとしたときにエラーが発生しました。通常、これはユーザーセットに無効な値が含まれていることを意味します。別のユーザーセットをロードしてみてください。 |
InvalidParameter | 範囲外または無効なパラメーターが入力されました。通常、このエラーは、ユーザーが直接レジスターアクセスを介してパラメーターを設定した場合にのみ発生します。 |
OverTemperature | カメラはTemperature State機能をサポートしており、過熱しきい値を超えています。このエラーは、カメラコンポーネントが損傷する可能性があることを示します。 |
PowerFailure | このエラーは、電力供給が十分でないことを示します。 電力供給状況を確認してください。 |
InsufficientTriggerWidth | このエラーは、トリガーが最小露光時間より短い場合にTrigger Width露光モードで報告されます。 |
サンプルコード#
ace 2, boost, dart M and dart R Cameras#
INodeMap& nodemap = camera.GetNodeMap();
// Check whether an error occurred 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 occurred 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 occurred 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 U/Lカメラ#
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を使用して、パラメーターを簡単に設定することもできます。