Impact Acquire SDK C++
Notes About Impact Acquire Version 1.11.32 Or Higher And/Or Using mvBlueCOUGAR-X With Firmware 1.2.0 Or Higher

Impact Acquire offers three different Interface layouts which are explained below:

  • Device specific:
    • Compatibility mode regardless of type of Balluff device (frame grabber, USB or "GigE Vision™" camera).
    • Additional layer which translates between modes (same functionality and naming of all functions and properties).
    • Recommended for users using different Balluff products in different applications with the same code base.
    • Some product specific features may not become available.
  • GenICam:
    • For users who are familiar with the standards GigE Vision™, USB3 Vision™, and GenICam™.
    • Offers a one to one representation of the features described in the XML-file supplied by the device or the device vendor.
  • Generic:

The advantage of the latter two modes is that all features of the cameras become immediately available and are clearly marked whether they are part of the standard or company specific (mv headed).

Note
Third-party GigE Vision™ cameras can only be accessed via GenICam™ / Generic interface.

To define which interface layout shall be used an application can write the desired interface layout to the InterfaceLayout property. See the description of the class mvIMPACT::acquire::Device in the C++ documentation for an example.

ImpactControlCenter can also be configured to always use a desired interface layout when initialising a device.

Note
  • When using the latter two, between version 1.1.43 and version 1.2, there was a change needed in the naming and grouping of some properties for compliance with the SFNC (see http://www.genicam.org/ → downloads) as listed below.
  • Using cameras with mvBlueCOUGAR-X firmware versions above 1.2.x.x in Generic or GenICam™ mode in combination with the renamed features therefore will require a change in the applications code and a recompilation. Also stored settings which referred to features that either have been renamed or removed or moved to a new location will no longer work correctly with that setting. Therefore these settings (either as XML files or in the Windows® Registry®) should be recreated.
  • Using cameras with mvBlueCOUGAR-X firmware above 1.2.x.x in dilDeviceSpecific mode in combination with the renamed features therefore will require Impact Acquire version 1.11.32 or higher but no recompilation. However devices running with a new firmware (1.2.x.x or greater) will not be fully functional with Impact Acquire drivers smaller than 1.11.32.

In order to make sure applications will continue to work with both new and old versions of the firmware one could of course enhance an existing application by

  • checking for the presence of the new feature(name) first and then
  • try the old name of the feature (if existent) as a fall-back.

Downgrading a camera with firmware 1.2.x.x to an earlier version is possible but not recommended due to continuous product improvement.

Feature naming changes from 1.1.43.0 to 1.2.x.x

To distinguish between Balluff and SFNC 1.5 features we introduced the prefix "mv". So some features have to be renamed. Besides that we made some adjustments to fulfill the "GenICam Standard Features Naming Convention" Specification (SFNC 1.5).

Note
# is a place holder for a number; ? for a letter.
  • AdvancedSettings (removed)
    • DeviceTemperatureUpperLimit ==> DeviceControl/mvDeviceTemperatureUpperLimit
    • DeviceTemperatureLowerLimit ==> DeviceControl/mvDeviceTemperatureLowerLimit
    • DeviceTemperatureLimitHysteresis ==> DeviceControl/mvDeviceTemperatureLimitHysteresis
    • DesiredAverageGreyValue_pc ==> AcquisitionControl/mvExposureAutoAverageGrey and AnalogControl/mvGainAutoAverageGrey(both features are mapped to the same register thus will always contain the same value)
    • TimeStampResetSource ==> TriggerSource when TriggerSelector == 'mvTimestampReset'
    • TimeStampResetActivation ==> TriggerActivation when TriggerSelector == 'mvTimestampReset'
    • ANDSelector ==> mvLogicGateControl/mvLogicGateANDSelector
      • AND# ==> mvLogicGateAND#
      • ANDSource? ==> mvLogicGateANDSource#
    • ORSelector ==> mvLogicGateControl/mvLogicGateORSelector
      • OR# ==> mvLogicGateOR#
      • ORSource? ==> mvLogicGateORSource#
  • ImageFormatControl
    • AcquisitionPixelClock ==> DeviceControl/mvDeviceClockFrequency
  • DeviceControl
    • SensorName ==> mvDeviceSensorName
    • SensorColorMode ==> mvDeviceSensorColorMode
    • FPGAVersion ==> mvDeviceFPGAVersion
    • FirmwareSource ==> mvDeviceFirmwareSource
  • AcquisitionControl
    • ExposureAutoLowerLimit ==> mvExposureAutoLowerLimit
    • ExposureAutoUpperLimit ==> mvExposureAutoUpperLimit
    • ExposureAutoSpeed ==> mvExposureAutoSpeed
    • ExposureAutoDelayImages ==> mvExposureAutoDelayImages
  • AnalogControl
    • GainAutoDelayImages==> mvGainAutoDelayImages
    • GainAutoLowerLimit ==> mvGainAutoLowerLimit
    • GainAutoUpperLimit==> mvGainAutoUpperLimit
    • GainAutoSpeed==> mvGainAutoSpeed
  • FFCControl ==> mvFFCControl:
    • FFCEnable ==> mvFFCEnable
    • CalibrationImageCount ==> mvFFCCalibrationImageCount
    • Calibrate ==> mvFFCCalibrate
  • HDRControl ==> mvHDRControl:
    • HDREnable ==> mvHDREnable
    • HDRMode ==> mvHDRPreset (use parameter set), mvHDRSelector (read/write parameter set)
  • ImageFormatControl
    • AcquisitionPixelClock ==> DeviceControl/mvDeviceClockFrequency
  • DeviceControl:
    • SensorName ==> mvDeviceSensorName
    • SensorColorMode ==> mvDeviceSensorColorMode
    • FPGAVersion ==> mvDeviceFPGAVersion
    • FirmwareSource ==> mvDeviceFirmwareSource
  • DigitalIOControl
    • LineSelector/LineSource
      • TemperatureOutOfRange ==> mvTemperatureOutOfRange
      • OR#OUT ==> mvLogicGateOR#Output
      • ExposureAndAcquisitionActive ==> mvExposureAndAcquisitionActive
      • LineDebounceTimeRisingEdge ==> mvLineDebounceTimeRisingEdge
      • LineDebounceTimeFallingEdge ==> mvLineDebounceTimeFallingEdge
  • CounterAndTimerControl
    • CounterSelector/CounterTriggerSource
      • High ==> removed (obsolete, now same as 'Off')
      • LineStart ==> removed (not SFNC 1.5)
      • LineEnd ==> removed (not SFNC 1.5)
    • TimerSelector/CounterTriggerSource
      • High/Low ==> removed (obsolete, now same as 'Off', Timer is running infinite)
      • LineStart ==> removed (not SFNC 1.5)
      • LineEnd ==> removed (not SFNC 1.5)
  • TransportLayerControl
    • GevStreamChannelSelector
      • GevSCBWControl ==> mvGevSCBWControl
      • GevSCBW ==> mvGevSCBW
  • UserSetControl
    • MvUserData ==> mvUserData