Matrox Imaging Library (MIL) 10 Update 82
Matrox Concord PoE release notes
March 2019
(c) Copyright Matrox Electronic Systems Ltd., 1992-2019.
This document outlines what is new with the MIL 10 driver for Matrox Concord PoE and explains the current limitations and particularities.
It also presents last-minute information that did not make it into the manual or on-line help. Note that this help file serves to complement your manual. The information found in this file overrides your formally documented material.
Contents
1. MIL 10 Driver for Matrox Concord PoE
1.1 What’s new in MIL 10 Update 82 for Concord PoE
1.1.7 Known limitations and particularities
1.2 What’s new in MIL 10 Update 54 for Concord PoE
1.2.3 Known limitations and particularities
2. Ethernet controller drivers
3. Supported operating systems
Note that MIL 10 Update 82 (U82) is a cumulative update, including all content from MIL 10 Update 54 (U54).
· Added support for the Matrox Concord PoE with the trigger over Ethernet (ToE) option.
o Support for trigger over Ethernet
o Support of I/O signals
o Support for timers
o Support for rotary decoders
o Support for I/O command list
· Board-specific examples
o New TriggerOverEthernet examples, located in examples\board-specific\triggeroverethernet\c++. This examples demonstrates the use of the Matrox Concord PoE trigger over Ethernet capability.
SystemDescriptor |
Specifies the type of system to allocate. This parameter can be set to one of the following: |
|
|
M_SYSTEM_CONCORD_POE |
Allocates a MIL Concord PoE system. |
SystemNum |
Specifies the number (or rank) of the target board of the specified system type. This parameter can be set to one of the following: |
|
|
M_DEFAULT |
Specifies the default board. |
M_DEVn |
Specifies the nth board of the specified system type. You can set n to one of the following values 0 <= n <= 15. |
|
M_PTR_TO_MIL_INT(MIL_TEXT("BoardIdentifierString")) [ optionally, in C++ MIL_TEXT("BoardIdentifierString") ] |
Specifies the name of the board of the specified system type. Note: When allocating the board with a name the InitFlag is must be set to M_DEVICE_NAME. The name must have been previously written using MsysControl and M_DEVICE_NAME. |
|
InitFlag |
Specifies the type of initialization to perform on the selected system. This parameter can be set to one of the following. |
|
|
M_DEFAULT |
Specifies the default value. |
Specifies to allocate the system with a name. |
M_BOARD_TYPE |
Inquires the type of system board. To return only the main board type and not the sub-board types (for example, to get M_CONCORD_POE without M_DCH, M_QCH, M_TOE), mask the return value with M_BOARD_TYPE_MASK. |
|
|
M_CONCORD_POE + M_DCH |
Specifies the Matrox Concord PoE dual channel board. |
M_CONCORD_POE + M_QCH |
Specifies the Matrox Concord PoE quad channel board. |
|
M_CONCORD_POE + M_DCH + M_TOE |
Specifies the Matrox Concord PoE dual channel board with trigger over Ethernet. |
|
M_CONCORD_POE + M_QCH + M_TOE |
Specifies the Matrox Concord PoE quad channel board with trigger over Ethernet. |
For specifying a trigger over Ethernet (ToE) context |
||
M_GC_ACTION_DEVICE_KEY + |
Sets the action device key for the specified ToE context. The action device key identifies the cameras on which the action should be performed. For the camera to accept and perform the action, the device key on your camera and the device key of the action command must match. If they do not match, the camera ignores the action command. To configure the device key on your camera, use MdigControlFeature() with the appropriate GenICam SFNC feature (for example, ActionDeviceKey). |
|
|
Value |
Specifies the action device key. |
M_GC_ACTION_GROUP_KEY + |
Sets the action group key for the specified ToE context. The action group key identifies the action you want to perform on the camera. For the camera to know which action to perform, the group key of the action command must match the group key on your camera. If they do not match, the camera ignores the action command. To configure the group key of the action command on your camera, use MdigControlFeature() with the appropriate GenICam SFNC feature (for example, ActionGroupKey). |
|
|
Value |
Specifies the action group key. |
M_GC_ACTION_GROUP_MASK + |
Sets the action group mask for the specified ToE context. In the case where you need one (or more) cameras to temporarily ignore an action command, you can mask out the action command for the camera by changing the action group mask. For the camera to know which action to perform, the action group mask and the action command of the camera, when combined in a bitwise AND operation, must result in a non-zero value. If the result is a zero, the camera ignores the action command. |
|
|
Value |
Specifies the action group mask. |
M_ADD_DESTINATION + |
Adds a GigE Vision device to the specified ToE context by specifying the device's corresponding MIL digitizer. |
|
|
MIL digitizer identifier |
Specifies the digitizer identifier allocated for the GigE Vision device to add. Note that the digitizer should be allocated using MdigAlloc() on the M_SYSTEM_GIGE_VISION system. |
M_REMOVE_DESTINATION + |
Removes a GigE Vision device from the specified ToE context by specifying the device's corresponding MIL digitizer. |
|
|
MIL digitizer identifier |
Specifies the digitizer identifier allocated for the GigE Vision device to add. Note that the digitizer should be allocated using MdigAlloc() on the M_SYSTEM_GIGE_VISION system. |
M_CLEAR_DESTINATIONS + |
Removes all devices associated to the specified ToE context. |
|
|
M_DEFAULT |
Specifies the default behaviour. |
M_TRIGGER_COMMAND + |
Issues a software trigger that will prompt the transmission of the specified ToE context. |
|
|
M_ACTIVATE |
Specifies the default behavior. |
M_GC_TRIGGER_SELECTOR + |
Specifies the name of the active TriggerSelector used for the specified ToE context. |
|
|
Name |
Specifies the name of the GigE Vision device’s TriggerSelector used for software trigger. |
M_GC_TRIGGER_SELECTOR_SIZE + |
Inquires the size of the TriggerSelector’s name used for the specified ToE context. |
|
|
Value |
Specifies the number of characters in the name of the TriggerSelector value. |
M_TRIGGER_SOURCE + |
Sets the signal source of the specified ToE context. |
|
|
M_AUX_IOn |
Specifies to use auxiliary input signal n as the trigger source, where n is the number of the auxiliary signal. In this case n can be a value from 2 to 7. |
|
M_TIMERn |
Specifies to use the output signal of the specified timer as the trigger source, where n can be a value from 1 to 16. |
|
M_ROTARY_ENCODERn |
Specifies to use rotary decoder n as the trigger source, where n is a number between 1 and 2. |
|
M_IO_COMMAND_LISTn + |
Specifies to use the I/O command list n, where n is the number of the I/O command list from 1 to 2. |
|
M_SOFTWAREn |
Specifies to use a software trigger as the trigger source where n is a number between 1 and 4. |
M_TRIGGER_STATE + |
Sets the state of the specified ToE context. |
|
|
M_ENABLE |
Specifies the ToE context is enabled. |
|
M_DISABLE |
Specifies the ToE context is disabled. |
M_GC_ACTIONn |
Specifies the ToE context to be an action command n, where n is a value from 0 to 31. Cannot be used with the following control types: M_GC_TRIGGER_SELECTOR, M_GC_TRIGGER_SELECTOR_NAME |
M_GC_TRIGGER_SOFTWAREn |
Specifies the ToE context to be a software trigger command n, where n is a value from 0 to 31. Cannot be used with the following control types: M_GC_ACTION_DEVICE_KEY, M_GC_ACTION_GROUP_KEY, M_GC_ACTION_GROUP_MASK |
I/O command list combination values |
|
M_IO_COMMAND_BITn |
Specifies I/O command register bit n, where n represents the bit number from 0 to 7. |
See the system module documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not support MsysHookFunction().
See the system module documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not support MsysGetHookInfo().
The Matrox Concord PoE with trigger over Ethernet features 6 input pins and 2 output pins. See the system module (Msys…) documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not feature any IO signals.
The Matrox Concord PoE with trigger over Ethernet features 16 timers. See the system module (Msys…) documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not feature any timers.
The Matrox Concord PoE with trigger over Ethernet features 2 rotary decoders. See the system module (Msys…) documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not feature any rotary decoders.
The Matrox Concord PoE with trigger over Ethernet features 2 I/O command lists. See the system IO (MsysIo…) module documentation for the Matrox Indio in MIL command reference for details regarding the supported API.
The Matrox Concord PoE without trigger over Ethernet does not feature any I/O command list.
The trigger over Ethernet feature of the Matrox Concord PoE allows for ToE packets in one of two forms:
GigE Vision devices, such as a GigE Vision camera, usually have dedicated hardware to offload reception and handling of the action command. This offload allows for trigger over Ethernet with very little latency and jitter when using the action command. This might not be the case when using software trigger commands which can result in greater latency and increased jitter.
Note: refer to the milGigEVision readme file when used with GigE Vision devices.
· Added support for the Matrox Concord PoE board. See M_SYSTEM_CONCORD_POE below.
· Added support for control of the Power over Ethernet feature. See M_POWER_OVER_CABLE below.
· Added support for setting a persistent device name to the Matrox Concord PoE board. See M_DEVICE_NAME in MsysControl() / MsysInquire() sections below.
SystemDescriptor |
Specifies the type of system to allocate. This parameter can be set to one of the following: |
|
|
Allocates a MIL Concord PoE system. |
|
M_BOARD_TYPE |
Inquires the type of system board. To return only the main board type and not the sub-board types (for example, to get M_CONCORD_POE without M_DCH, M_QCH), mask the return value with M_BOARD_TYPE_MASK. |
|
|
Specifies the Matrox Concord PoE dual channel board. |
|
M_CONCORD_POE + M_QCH |
Specifies the Matrox Concord PoE quad channel board. |
|
M_SYSTEM_TYPE |
Inquires the type of system allocated. |
|
|
M_SYSTEM_CONCORD_POE_TYPE |
Specifies a MIL Concord PoE system. |
M_SERIAL_NUMBER |
Inquires the serial number of the Matrox Imaging board, as a string. |
|
|
Data type: array of type MIL_TEXT_CHAR [ optionally, in C++ MIL_STRING] |
|
M_SERIAL_NUMBER_SIZE |
Inquires the length of the string returned by M_SERIAL_NUMBER. |
|
|
Data type: address of a MIL_INT |
|
Inquires the device name. This can be inquired or set. |
||
|
M_PTR_TO_DOUBLE(MIL_TEXT(“DeviceName”)) [ optionally, in C++ MIL_TEXT(“DeviceName) ] |
Specifies the name of the board. Note that this must be a unique name with a string that can be up to M_DEVICE_NAME_MAX_SIZE characters. |
Inquires the length of the string returned by M_DEVICE_NAME. |
||
|
Data type: address of a MIL_INT |
|
M_DEVICE_NAME_MAX_SIZE |
Inquires the maximum length of the string that can be set with M_DEVICE_NAME. |
|
|
Data type: address of a MIL_INT |
|
Sets whether to enable PoE (power over Ethernet). This can be inquired or set. |
||
|
M_DEFAULT |
Same as M_ON. |
M_OFF |
Specifies to disable PoE on all ports. |
|
M_ON |
Specifies to enable PoE on all ports. |
Intel® I210 Ethernet controller drivers can be downloaded from Intel’s website if not automatically installed by the operating system.
Adjust the following network adapter settings for more reliable acquisition performance:
· Receive buffers. Gigabit Ethernet network adapters use receive buffers, also known as receive descriptors, to store received packets. If the number of packets sent by your camera exceeds the number of available receive buffers, the additional packets will be dropped. The number of receive buffers assigned to your network adapter therefore impacts the reliability of your camera's image transmission. Typical bandwidth usage of GigE Vision cameras requires that a large number of receive buffers be assigned to your network adapter. Matrox recommends adjusting this setting to its maximum value (typically 2048 for Intel Gigabit Ethernet network adapters).
· Packet size. Traffic across the network travels in packets. The maximum packet size is preset (typically at 1.5 Kbytes). When packets larger than 1.5 Kbytes make up the majority of the network traffic, as is the case with typical GigE Vision image streams, increasing the packet size can reduce CPU utilization and improve efficiency. In these cases, enabling jumbo packets (typically 9014 bytes) is recommended. Note that, if you want to use jumbo packets and you use an Ethernet switch in your network, you should also enable jumbo packets on your switch, since jumbo packet support is typically disabled by default.
· Interrupt moderation. Interrupt moderation controls the rate at which interrupts are received and processed. Typically, setting the interrupt moderation to a low value is best when dealing with light traffic, while constant heavy traffic requires a higher interrupt moderation value. Controlling the rate at which interrupts are received and processed introduces latency in the communication between your camera and your network adapter, but can improve CPU utilization. You must determine the best tradeoff between these for your application's specific needs.
See “Configuring your GigE Vision camera and Gigabit Ethernet network adapter” section in the MIL help for more details.
Adapter teaming (for link aggregation) requires the Intel® Advanced Network Services (ANS) driver. This driver can also be downloaded from Intel’s website.
Note that MIL 10 Update 54 was tested, for the Matrox Concord PoE, using the Intel® Network Adapter driver release 23.2.
This section lists all the operating systems that the Matrox Concord PoE MIL 10 driver supports.
· 32-bit and 64-bit Windows® 7.
· 32-bit and 64-bit Windows® 10.