Operating multiple GigE Vision cameras on a single network adaptor (StreamBytesPerSecond)
One of the significant advantages of Prosilica's GigE Vision cameras is that they are well suited for multiple camera configurations. Multiple cameras may be operated through a single network adaptor using a gigabit Ethernet switch, or may be operated on multiple network cards. Here is a brief explanation of what settings need to be observed for optimal performance of multiple cameras connected to a single network adaptor:
1. First Follow steps 1 through 7 of the GigE Installation instructions for you network adaptor to ensure that it is configured properly.
2. Note that the total bandwidth available on a typical Gigabit Ethernet network adaptor is about 120 million bytes per second†. It is important for reliable operation of multiple cameras to configure the cameras so that the total bandwidth used does not exceed the bandwidth capability of the network adaptor.
3. Prosilica GigE cameras have a control feature called StreamBytesPerSecond that can be used to regulate the amount of bandwidth that a camera uses. The StreamBytesPerSecond control parameter can be found in the camera controls of the Sample Viewer, or can be controlled programmatically using Prosilica's GigE SDK.
4. If you are using a GigE switch to connect multiple cameras to a single network adaptor, it is important to note that the switch may introduce bandwidth limits. The switch should support jumbo frames of at least 9 kB size. Some switches will require that you set the PacketSize of each camera so that the sum of all the cameras' PacketSize values does not exceed the maximum packet size supported by the switch.
5. After connecting the cameras to the switch and the switch to the network adaptor, configure each camera by setting the StreamBytesPerSecond parameter so that the sum of the StreamBytePerSecond values for all the cameras is less that the data bandwidth of the GigE port of the host computer. The total bandwidth of the GigE port is nominally 120,000,000 bytes per second.‡
6. So, for two cameras, each camera's StreamBytesPerSecond parameter would be set to (120,000,000/2)=60,000,000 or less. For five cameras, the setting for each camera would be 24,000,000 or less if equally divided. The division of total bandwidth between cameras does not need to be the same value for each camera. For example, if there is one camera running very fast and one running slow, then you would allocate more bandwith (higher StreamBytesPerSecond value) to the faster camera.
7. By properly setting the StreamBytesPerSecond parameter, highly reliable multiple camera operation can be achieved.
†Most Gigabit Ethernet network adaptors are capable of 125,000,000 bytes per second. When operating close to this limit, be sure to properly configure the Jumbo Frames setting, and the Interrupt moderation settings, of the network card.
‡Some systems will be capable of more than 120,000,000 bytes per second, and others will only be capable of something less than 120,000,000. On-board video (as opposed to a graphics card) can significantly reduce the acheivable bandwidth. For example, there have been cases where using a graphics card in place of the on-board video increased the available bandwidth by 20 MB/s. If you are having difficulty running the cameras at full bandwidth, your host computer may be the bottleneck. In this case, reduce the 120,000,000 number in the above examples to a lower number.