Device classes are used to provide access to the actual components of a system.
All device classes inherit the interface iDevice. Each device class has its own set of methods for accessing the device specific functions. See Classes section below for all supported device classes.
Each device instance is associated with a physical component or functional unit. These devices are provided by different hardware entities like the mainboard or extension cards. See Hardware support for an overview of the supported devices for the different hardware platforms.
Each hardware entity can provide multiple devices of the same type and each device can have multiple channels. For example:
A VisionBox mainboard with two digital I/O modules provides two DigitalInput and two DigitalOutput devices. Each device may provide eight input and output signals.
Reset()
method.Device objects for a specific hardware component can be opened only once at a time, except for the Service device. This is guaranteed across all processes on the system.
There are two ways to open and close device objects:
After a device object is created with the default constructor, the member function Open() has to be called before the device can be used. The Index
parameter specifies the component for the given device type across all hardware entities.
The device can be closed manually with the function Close(), or automatically by the object destructor.
Example:
The hardware entities are enumerated in the following order for determining the Index
parameter with Open():
For example, consider a VisionBox with one digital I/O module provided by the mainboard and two digital I/O modules provided by the Machine Vision Controller. The Index
parameter for DigitalInput::Open() corresponds to the following components:
See page Device Factory for a detailed description.
Classes | |
class | VIB::CameraLinkIn |
This class represents the Camera Link grabber module. More... | |
class | VIB::CameraTrigger |
This class controls the digital camera trigger output. More... | |
class | VIB::DigitalInput |
This class controls a group of digital input signals. More... | |
class | VIB::DigitalOutput |
This class controls a group of digital output signals. More... | |
class | VIB::IOScheduler |
This class controls the I/O Scheduler which can store and emit output signals in hard real-time. More... | |
class | VIB::LCD |
This class controls the status display of the Machine Vision Controller. More... | |
class | VIB::Led |
This class controls the status LEDs. More... | |
class | VIB::Multiplexer |
This class controls the Multiplexer unit which connects signal sources and sinks with each other. More... | |
class | VIB::PowerOverEthernet |
This class represents the PowerOverEthernet (PoE) module, which allows gathering information about the current state of attached PoE devices. More... | |
class | VIB::Rs232 |
This class allows sending and receiving data over a serial port. More... | |
class | VIB::Rs422 |
This class controls the RS-422 interface. More... | |
class | VIB::Service |
This class contains functions associated with the hardware component (serial number, system temperature, watchdog, firmware updates). More... | |
class | VIB::Strobe |
This class controls the LED Strobe Controller. More... | |
class | VIB::TriggerGenerator |
This class controls the FPGA Trigger Unit. More... | |
class | VIB::TriggerOverEthernet |
This class represents the TriggerOverEthernet (ToE) module which allows the generation of GigE Action Commands. More... | |