Skip to content

Acquisition Start and Stop (dart E)#

The Acquisition Start and Stop commands allow you to control image acquisition.

Info

  • These commands aren't available via the pylon Viewer feature tree. Instead, AcquisitionStart and AcquisitionStop commands are generated automatically when you use the acquisition buttons on the toolbar of the pylon Viewer.
  • The pylon C++ API provides camera classes that handle these commands automatically. Basler recommends using these classes.
    For more information, see the "Grab" code samples in the C++ Programmer's Guide and Reference Documentation delivered with the Basler pylon Software Suite.

Using the Feature#

To switch on image acquisition, execute the AcquisitionStart command.

To switch off image acquisition, execute the AcquisitionStop command.

After the AcquisitionStop command has been executed, the following occurs:

  • If the camera is not currently acquiring a frame, image acquisition is switched off immediately.
  • If the camera is currently reading out image data, the readout process will be allowed to finish. Afterwards, image acquisition is switched off.
  • If the camera is currently exposing a frame, exposure is aborted. The camera stops exposing immediately and starts reading out image data. The readout process will be allowed to finish. Afterwards, image acquisition is switched off.

Sample Code#

// Configure continuous image acquisition on the cameras
camera.AcquisitionMode.SetValue(AcquisitionMode_Continuous);
// Switch on image acquisition
camera.AcquisitionStart.Execute();
// (...)
// Switch off image acquisition
camera.AcquisitionStop.Execute();
// Switch image acquisition back on
camera.AcquisitionStart.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Configure continuous image acquisition on the cameras
CEnumParameter(nodemap, "AcquisitionMode").SetValue("Continuous");
// Switch on image acquisition
CCommandParameter(nodemap, "AcquisitionStart").Execute();
// (...)
// Switch off image acquisition
CCommandParameter(nodemap, "AcquisitionStop").Execute();
// Switch image acquisition back on
CCommandParameter(nodemap, "AcquisitionStart").Execute();
// Configure continuous image acquisition on the cameras
camera.Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.Continuous);
// Switch on image acquisition
camera.Parameters[PLCamera.AcquisitionStart].Execute();
// (...)
// Switch off image acquisition
camera.Parameters[PLCamera.AcquisitionStop].Execute();
// Switch image acquisition back on
camera.Parameters[PLCamera.AcquisitionStart].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 */
/* Configure continuous image acquisition on the cameras */
errRes = PylonDeviceFeatureFromString(hdev, "AcquisitionMode", "Continuous");
CHECK(errRes);
/* Switch on image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
/* (...) */
/* Switch off image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStop");
CHECK(errRes);
/* Switch image acquisition back on */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
# Configure continuous image acquisition on the cameras
camera.AcquisitionMode.Value = "Continuous"
# Switch on image acquisition
camera.AcquisitionStart.Execute()
# (...)
# Switch off image acquisition
camera.AcquisitionStop.Execute()
# Switch image acquisition back on
camera.AcquisitionStart.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 */
/* Configure continuous image acquisition on the cameras */
errRes = PylonDeviceFeatureFromString(hdev, "AcquisitionMode", "Continuous");
CHECK(errRes);
/* Switch on image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);
/* (...) */
/* Switch off image acquisition */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStop");
CHECK(errRes);
/* Switch image acquisition back on */
errRes = PylonDeviceExecuteCommandFeature(hdev, "AcquisitionStart");
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.