Multiprocess Applications

Independent of multithreading, you might also decide to split your vision processing application into more than one process. A process consists of an executable plus any number of DLLs, OCXs, or other binaries.

Each Cognex frame grabber board can be used for image acquisition, I/O, or vision processing by only one process at a time. Once a process uses a board for any of these purposes, it has claimed that board, and the board will not be usable by another process until the owning process has exited. Attempts to access a board while another process has ownership of it will result in a HardwareInUse exception being thrown.

CVL classes that implement Cognex vision tools may access Cognex hardware only to check for the presence of security bits for license verification. Hardware accesses for this purpose are exempt from the above restriction.

All CVL classes that do not use Cognex hardware, or use the hardware only for license verification, can be used from multiple processes without claiming the hardware.