Global settings

Many basic settings of the Vision plugin are configured via the global-settings.



Save image: Settings for saving input images and additional images (SaveImagesEx).

  • Global Image Path: Base directory for images. Subdirectories can be defined in the ToolGroup via the JobDataBlock.

  • Save only on trigger: If set, images are only saved on an external trigger.

  • Copy image before saving: Can be set if problems occur in connection with saving the images. Normally not required.

  • Save input data: Saves the linked input data from the PLC in a text file at the images (see also Input data (.indata)).

  • Save result data: Saves the results (DataAnalysis terminals) in a text file at the images (see also Result data (.resdata)).

  • Pass/Warn/Fail images: Selection of the images to be saved based on the rating

  • Validation mode: If set, save-images (SaveImagesEx) will also be saved at RunFromDir for analysis purposes.

  • Format: File format of the images to be saved.

  • Compression: Compression parameter for JPG and PNG. 100% means no compression.

Save image queue (WorkerStoreImage)

  • Warn count: Warning threshold for the image queue. Used for plugin status and optional display of memory usage.

  • Error count: Error threshold for the image queue. Used for plugin status and optional display memory usage.

  • Max. count: Maximum number of images in the image queue. If the queue is full, either wait until there is space, or discard the images to be saved (Skip images when max. count is reached).

  • Pause between images: Pause between individual save operations.

  • Save synchronously: Saves the images during the job, i.e. the time for saving the images is included in the cycle time.

Other: Light channels that have not been used in Lumos for a longer time will be switched off after the time set here.

Toolgroup: If set, is asked when exiting ToolGroup Item Editor whether to save directly. If deselected, the item will not be saved.



Performance and memory: Please adjust only after consultation with Gefasoft.

  • Call garbage collector after: After X jobs, the garbage collector, .NET’s automatic garbage collection, should be specifically started. A too low value can cause a performance loss due to too frequent garbage collection, a too high value can cause OutOfMemoryExceptions.

  • Max. ToolGroups in memory: Viper.NET has no limit on the ToolGroup Items and Jobs that are created within a BV Types. In some projects, type reloading cannot be used, which means that all ToolGroup Items must be loaded at the same time. Since memory is limited, this can be used to restrict how many CogToolGroups may be loaded at the same time. If the value is greater than 0, Viper.NET will leave only the CogToolGroups of the last used X ToolGroup Items in memory. When accessing the CogToolGroup of an “older” ToolGroup Items, it will then be reloaded and another one will be unloaded instead.


During type switching, all ToolGroups are always loaded once, even if there is a value > 0 here, so that errors are detected immediately during loading and not only during the first access.

  • Max. live displays: Maximum number of displays that are allowed to pull in images simultaneously in live mode. So there may be more displays in live mode, but only X active at the same time.

  • Live GC after: The memory allocated in live mode is cleaned up by a call to the garbage collector after X frames. As with Run garbage collector after, the value should be neither too low nor too high. The default value of 20 is a good compromise.

  • Live GC Generation: [Internal, Obsolete]

  • Memory usage - Show/Log: If active, the current (working) memory usage as well as the status of the image queue of WorkerStoreImage is shown in the header (Show) or written to the log file (Log).

    By default, memory usage is logged to the default log file. If logging is to be done over a longer period of time, it is recommended to configure a separate log file in Logging:

<appender name="FileAppenderPerfMon" type="log4net.Appender.RollingFileAppender">
  <param name="File" value="D:/log/PerformanceMonitor.log" />
  <param name="AppendToFile" value="true" />
  <param name="MaxSizeRollBackups" value="10" />
  <!--param name="RollingStyle" value="Date" /-->
  <param name="RollingStyle" value="Size" />
  <param name="MaximumFileSize" value="10MB" />
  <param name="StaticLogFileName" value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d [%t] %-5p - %m%n" />

<logger name="Gefasoft.MAK.Vision.Plugin.Logic.VisionPerformanceMonitor" additivity="false">
  <level value="DEBUG" />
  <appender-ref ref="FileAppenderPerfMon" />

Edit acquisition interfaces: Opens a dialog where basic settings of various image sources can be adjusted. The parameters are described at the respective image-source.

Global defaults:

  • Relative paths: When creating jobs or ToolGroup items, the corresponding parameters are preset. We recommend that you stick to the default values here.

  • Space to @: Default value for the corresponding parameter in image-sources-editor. A change here only affects new image sources.


  • Clear details on file drop: If set, the current graphics will be deleted when dragging and dropping images into the Job Display.

  • Show details mode: Default value after restart for the Show details button in Function panel.

  • Show result level: Default value after restart for the Show result level button in Function panel.

Runtime behaviour:

  • Result evaluation mode: Defines the behavior of the result evaluation for the result “RunError”.

    • NoResultsOnRunError: All results are invalid.

    • OnlyExecutedTools: Results of executed tools are valid.

  • Unlock light situation on exposure end: Default value if the corresponding parameter on job is set to Default. Default = No

  • Set “OptimizeIneffectiveChanges” on run: The DataBindings in VisionPro, i.e. the “arrows” connecting output and input data of the tools, are not updated correctly under certain circumstances due to an incorrect optimization within on VisionPro. It is recommended to select True here to disable optimization before execution in any case.


  • RunFromDir…: If set, the settings in RunFromDir like image path or filter will be saved automatically.

  • Do not reload global image sources: [OBSOLETE] A lot of time can be saved in type reloading if image sources are created “globally” and all BV types use the same file. In the future, however, the parameter will be managed automatically.

  • Save input images of toolgroups: If not set, all input terminals of CogToolGroups of type ICogImage are cached before saving, set to null, and filled from the cache again after saving. This can save a lot of memory.


If input terminals are directly linked to training images, the check mark must not be removed, otherwise the tools are not trained after saving.

VisionPro Tools


The behavior of some of Gefasoft’s VisionPro tools can be influenced globally.

  • ResultCsvTool: Result of ResultCsvTools if the CSV file cannot be written. Default: Error.

  • CallCmdItfFunctionTool: Specifies how many parallel requests can be made from the CommandInterfaceTool.

  • Range Image inspector…: By default, Cognex does not provide a 3D display in its tools. However, there is a 3D display from Cognex. With this hook, two additional buttons are integrated in all VisionPro tool interfaces to switch between a 2D and 3D display.


Function panel call TG-Item

For some projects it is convenient to be able to start certain ToolGroup Items without extended permissions. The ToolGroup Items configured here will be displayed in the Viper.NET Shell function-panel after setting “Enabled” and a restart.

The ToolGroup items are identified by their fully qualified name (Job+.+TgItem), i.e. this function can also be used across types, provided that Job and ToolGroup Item are named the same in the different types.

Example applications:

  1. Enabled : Show/hide the button “Run TG” (9) of the Viper.NET Shell function panel. Works only after program restart.

  2. +/- : Add/remove/move ToolGroup item.

  3. TG-Item : Fully qualified name of the ToolGroup item (Job+.+TgItem).

  4. Params : semicolon separated list of parameters (output terminals of the InputDataBlock tool blocks) assigned before executing the toolgroup item. Format : “TerminalName=TerminalValue;TerminalName=TerminalValue;…”.

  5. Text: Text on the button of the function bar (10).

  6. ImageFileName: Name of the file of the image on the toolbar button (10). The file path can be specified relative to the Viper.NET project file -makproj-. The default image is the Media-Playback-Start.

  7. Edit Params: Opens the dialog for setting the values for the output terminals of the InputDataBlock tool blocks of the toolgroup item.

  8. TG-Item InputData Dialog: Here InputDataBlock-Output-Terminal assignments can be added, removed, moved or edited.

  9. Run TG: The button “Run TG” (9) of the Viper.NET Shell function panel shows or hides the ‘Function panel call TG-Item’ (10).

  10. Function panel call TG-Item: Function panel with the buttons for executing the configured toolgroup items.

Operator view


Here the displayed tabs of the Operator view can be configured.