Camera Link camera
We have chosen high speed color camera Basler acA2000-340kc with Camera Link interface for our application. It can capture video in full resolution of 2046x1086 pixels @ 340 frames per second. It is provided with a 2/3´´ CMOS sensor with bit depth at most 12 bits per pixel.Basler cameras from the Ace series are not intended as high-end (they use CMOS sensors instead of CCD), but they can offer good basic parameters (resolution and speed) for a price that is two- or even more times lower than for other cameras. The price for monochrome and color variant of acA2000-340 is 29440CZK or 29980CZK, respectively. Therefore we decided for the color variant, because it could be useful to distinguish more balls on the platform marked with different colors. Just to compare the prices of other series and manufacturers, let's name a few other cameras
- SVS Vistek svs1050 (1024x1024@90fps) 57239CZK
- SVS Vistek evo1050 (1024x1024@190fps) 68068CZK
- AVT Bonito CL400 (2320x1726@193fps) 81900CZK
- Optronis CamRecord CL300x2 (1280x1024@125fps) 141960CZK
- Basler avA1600-65 (1600x1200@67fps) 52260CZK
- Basler A405k (2320x1726@167fps) 179400CZK
We have to be aware of several specific limitations for the use of the camera, too, as we could damage it otherwise.
- The camera body has a standard C-mount for lens, but the thread length is limited due to IR-cut filter in front of the CMOS sensor.
- We must be careful when making/breaking the Camera Link connections. When using PoCL, the power to the framegrabber card must be turned off before connecting/disconnecting the camera. When using a standalone power adapter, we can only manipulate with the PoCL cable when the power cable is disconnected or the adapter turned off.
- Of course, we must protect the CMOS sensor against dust and dirt.
Limitations of using Camera Link cameras on Speedgoat
Although xPC Target provides a Simulink block for signal acquisition from BitFlow Neon framegrabber, we ran into problems here. The Simulink block must be provided with a camera configuration file that specifies the format of the camera data for the framegrabber as well as how the data should be processed. However, one cannot perform any camera settings like exposure or AOI (area of interest) control from Speedgoat, because these settings are done through Basler Pylon software that can be installed only on Windows. Therefore, unless you want to run the camera with the default factory settings, you need another framegrabber that will be plugged into a PC with the Basler Pylon software installed. We could avoid buying another framegrabber by moving the one from Speedgoat to a PC, doing the necessary settings and moving it back again, but we would loose the Speedgoat warranty by opening the case.Transfer of Basler camera settings to Speedgoat
When we want to use some other than default settings of the camera when connected to Speedgoat, we use the following procedure:
- Connect the camera to the host PC with BitFlow SDK and Basler SW installed, do all the necessary settings, save them as a user configuration set in the Basler Pylon Viewer and set this User Set as Default Startup Set. This will ensure that our settings are loaded every time when the camera is booted or re-booted. (Installation and setting of Basler camera together with BitFlow Neon CLB framegrabber on a PC is described in the next post.)
- Disconnect the camera from the host PC
- Connect the camera to the target PC and run the target application. The camera is booted with our own settings.
Live video transfer from Target to Host PC
Having configured the camera and Simulink models for Target and Host PC properly, we tried to transfer and display live video on the Host PC, similarly to the case with USB webcam. We faced the same problem with low framerate again and did not discover any working solution even asking the MathWorks support.Setting the PCI slot of the framegrabber in xPC Target Simulink block
The xPC Target block 'NEON BitFlow Image Input' has an option to specify the address of PCI slot that hosts the BitFlow framegrabber card in the Target PC. First of all, we had to find out, which PCI slot it is using command
getxpcpci('all')
This command lists all PCI devices installed in the Target PC. The PCI slot is then set in the configuration dialog of the Simulink block using notation '[bus,slot]'. The autosearch works as well, but it lengthens the initialization of the target application and causes that the Target disconnects from the Host during initialization.
![]() |
Setting the parameters of acquisition including the PCI location of the framegrabber in the target |
No comments:
Post a Comment