The class VIBSystem can be used as the factory for Devices.
Also take a look at Open devices using the Open() method which describes a more simple method.
A VIBSystem object is associated with a specific hardware entity like the mainboard or an extension card, see eSystemType.
After the factory is created with the static function VIBSystem::CreateInstance() , the method VIBSystem::OpenDevice() is used to create and open device objects. The Index
parameter for OpenDevice()
specifies the component on the hardware entity, starting with 0 for each device type.
The method VIBSystem::CloseDevice() closes the device and deletes the object.
Example:
The factory hides any hardware related implementation details. Therefore, the same programming interface can be used with different hardware platforms and operating systems. To enable generic applications, the available devices can be determined at runtime by calling GetDeviceInfo().
Each hardware entity can provide multiple devices of the same type and each device can have multiple I/O channels.
For example, the VisionBox AGE-X1 has a single CameraTrigger device which controls two output channels.
The VisionBox AGE-X2 "Tiger" has four CameraTrigger devices, but each device has only one output channel.
The number of channels can be requested with CameraTrigger::GetNumberOfOutputs() or similar member functions for other devices.
The following image shows the internal structure of the VisionBox AGE-X2 with a Camera Link interface:
Most devices are controlled by the mainboard hardware entity (SYST_BASEBOARD) which provides the RTCC (FPGA).
The VisionBox additionally includes a Camera Link card. In order to use the CameraLinkIn device, the VIBSystem
factory has to be created with the system type SYST_CL.
Also note that the Multiplexer signals are also available to the Camera Link card as signal source for CameraLinkIn::ConfigureCC().
In the opposite direction, the RS-422 input signals are sent to the main FPGA as source for the Multiplexer or other devices.
The following example shows a VisionBox AGEX-4 with three PCIe cards: one Machine Vision Controller and two PoE/ToE cards:
This hardware configuration has four hardware entities. Please note that the mainboard only has a Service device, most devices are controlled by the Machine Vision Controller (SYST_INTERNAL_PCI).
Classes | |
class | VIB::VIBSystem |
The factory for devices. More... | |