Balluff - BVS CA-GX0 / BVS CA-GX2 Technical Documentation
macOS
Since
Version 2.50.0 of this framework

Impact Acquire is available as a dmg (Apple disk image) for macOS 12 (Monterey) on ARM architectures like the Mac mini. This disk image contains files for working with Balluff GigE Vision™ devices, but does not contain a full installer.

Quickstart

  • With a double-click on ImpactAcquire-ARM64_3.3.0.dmg , the disk image is mounted like an external disk to the folder /Volumes, and a window opens displaying the end-user license agreement.
  • After agreeing, the contained folders and files are displayed in a Finder window.
  • Open a Terminal window
  • In the Terminal, enter cd /Volumes/[NameOfTheDmgWithoutExtension] (e.g. cd /Volumes/ImpactAcquire-ARM64_3.3.0)
  • Now, the three GUI tools can be started like this:
    ./startImpactControlCenter.sh
    ./startIPConfigure.sh
    ./startDeviceConfigure.sh
    For more information about these tools, see here
  • If the tools don't work properly, you might have to install additional software. See chapter Initial Operation
  • For unmounting the disk image, find the mounted disk icon on the desktop and eject it. Closing the window showing the contents of Impact Acquire does not unmount the disk image.

Package Content

The package contains:

  • Basically the same structure and content as for Linux, but so far only with support for GigE Vision™ and virtual devices:
    • apps
    • bin
    • CMake
    • common
    • doc
    • DriverBase
    • FirmwareUpdates
    • lib
    • mvDeviceManager
    • mvIMPACT_CPP
    • mvPropHandling
    • runtime
    • Toolkits
  • An installation script install_local_ImpactAcquire.sh for creating a local copy of Impact Acquire.
  • Bash scripts for starting the three applications provided: startImpactControlCenter.sh, startIPConfigure.sh and startDeviceConfigure.sh

Installation

For using Impact Acquire without prior mounting of the disk image, script install_local_ImpactAcquire.sh can be used. This script copies all files into a new folder in the user's home folder(~/ImpactAcquire), and then the .bashrc file is extended by setting all necessary environment variables. These changes will automatically become available after the next start.

Initial Operation

Be aware that:

  • For this version, homebrew must be installed as well as a few packages that can be installed using homebrew:
  • All scripts available with Impact Acquire are for the Bourne-Again Shell (bash), and not for the in-built Z shell.
  • The following environment variables have to be set:
    • MVIMPACT_ACQUIRE_DIR pointing to the folder where all Impact Acquire folders reside
    • GENICAM_GENTL64_PATH pointing to $MVIMPACT_ACQUIRE_DIR/lib/arm64
    • GENICAM_ROOT pointing to $MVIMPACT_ACQUIRE_DIR/runtime/bin/Mac64_Universal
  • Environment variable MVIMPACT_ACQUIRE_DATA_DIR is assumed to be pointing to a folder containing the following subfolders:
    • logs (a folder that contains the camera log files. Copying file $MVIMPACT_ACQUIRE_DIR/apps/mvDebugFlags.mvd here allows logging to be configured)
    • GenICam (a folder for storing GenICam™ files of cameras)
    • GenICam/Cache_V3_4 (A folder for caching GenICam™ XML files of cameras for saving time when opening them)
  • ImpactControlCenter, IPConfigure or DeviceConfigure can be started like this:
    • $MVIMPACT_ACQUIRE_DIR/bin/ImpactControlCenter.app/Contents/MacOS/ImpactControlCenter
    • $MVIMPACT_ACQUIRE_DIR/bin/IPConfigure.app/Contents/MacOS/IPConfigure
    • $MVIMPACT_ACQUIRE_DIR/bin/DeviceConfigure.app/Contents/MacOS/DeviceConfigure
  • When compiling the shipped example programs from source code, CMake has to be available on the system. If the installed wxWidgets version does not allow starting the GUI tools, re-compiling might be necessary. CMake usage is described here

Balluff imaging devices should now be usable.

Optimization Of Network Parameters

To improve performance, some system parameters may have to be adapted. Using the script bin/tuneNetwork.sh , they are set provided you have administrator privileges (the MTU is set only for interface "Ethernet")

  • An MTU of 9000 is set up (at least 8000 should be used)
    networksetup -setMTU <adapter name (e.g. en1)> 9000
  • Via sysctl, some more optimizations may be made:
    sudo sysctl -w kern.ipc.maxsockbuf=8388608 // or more if possible
    sudo sysctl -w net.inet.udp.maxdgram=9216
    sudo sysctl -w net.inet.raw.recvspace=16777216 // or more if possible
    sudo sysctl -w net.inet.udp.recvspace=7454720 // or more if possible
    Note
    These changes are only valid for the running session and have to be set after each start of the system