Basler GigE Camera

What Happen when Installing a Basler GigE Vision Network Driver
  • Basler network drivers are bound to all network adapters (include network for camera or LAN access) installed in your computer.
  • Two drivers are available
    1. Basler filter driver
      • Basic GigE Vision network driver.
      • Compatible with all network adapters.
      • Advantage is its extensive compatibility.
      • Basler pylon driver wil bind Basler filter driver to the network adapter as a service and will enable the service.
    2. Basler performance driver
      • A hardware specific GigE Vision network driver.
      • Only compatible with specific Intel Chipsets ("compatible chipsets")
      • Advantage is its significantly lowers the CPU load needed to service the network traffic between PC and camera.
      • More robust packet resend mechanism.
      • Basler pylon driver will remove adapter driver and install Basler performance driver.
      • Basler filter driver will be bound to network adapter as a service, however will not be enabled.

Software Installation

Camera and Adapter Configuration



  1. Firewall must be disable
  2. Configure fixed IP address on the camera network port
  3. Run IP Configurator
    • [Connected to IF] is Adapter IP
    • [Current IP Address] is current camera IP address
    • [Persistent IP Address] is Camera stored IP address
  4. Click "Change Configuration" to force temporary IP to Camera.
  5. Then Change [Persistent IP Address] to correct IP address and click "Write Configuration"
Camera Testing (Pylon Viewer)
  1. Go to "Devices" tab, select Camera and click "Continuous Shot"
  2. Common features parameters setting
    • User Level: Guru -> full parameters access
    • AOI (Width x Height) must be multiply of 8. (For eVision)
    • Acquisition Controls - Trigger Mod
    • Configuration Sets
      • Configure Set Selector - select "User Set 1"
      • Execute "User Set Save" (Save current setting in "User Set 1")
      • Configure Default Startup Set - select "User Set 1" (Select Power off/on load User Set 1 parameter)
Pylon Programming C# - Add reference

Add Reference [PylonC.NET]- Add dll only
  • Click [Browse] -> [PylonC.NET.dll] in C:\Program Files\Basler\Pylon 2.3\pylon.net\bin
Add Reference [Pylon.NETSupportLIbrary] - Add dll only
  • Click [Browse] -> [Pylon.NETSupportLibrary.dll in C:\Program Files\Basler directories
Add Reference [Pylon.NETSupportLibrary] - Add project
  1. Add [Pylon.NETSupportLibrary] in the project
  2. Add reference -> click [Project] to add pylon.NETSupportLibrary.dll
Pylon.NETSupportLibrary - ImageProvider (Class)

Function
  1. Open - /* Open using index. Before ImageProvider can be opened using the index, Pylon.EnumerateDevices() needs to be called. */
  2. Close
  3. OneShot - /* Start the grab of one image. */
  4. ContinuousShot - /* Start the grab of images until stopped. */
  5. Stop - /* Stops the grabbing of images. */
  6. GetCurrentImage - /* Returns the next available image in the grab result queue. Null is returned if no result is available An image is available when the ImageReady event is fired. */
  7. ReleaseImage - /* After the ImageReady event has been received and the image was acquired by using GetCurrentImage, the image must be removed from the grab result queue and added to the stream grabber queue for the next grabs. */
  8. Grab - /* This method is executed using the grab thread and is responsible for grabbing, possible conversion of the image, and queuing the image to the result queue. */
Event
  1. OnDeviceOpenedEvent - /* Notify that ImageProvider is open and ready for grabbing and configuration. */
  2. OnDeviceClosingEvent - /* Notify that ImageProvider is about to close the device to give other objects the chance to do clean up operations. */
  3. OnDeviceClosedEvent - /* Notify that ImageProvider is now closed.*/
  4. OnGrabbingStartedEvent - /* Notify that grabbing has started. This event could be used to update the state of the GUI. */
  5. OnImageReadyEvent - /* Notify that an image has been added to the output queue. The receiver of the event can use GetCurrentImage() to acquire and process the image and ReleaseImage() to remove the image from the queue and return it to the stream grabber.*/
  6. OnGrabbingStoppedEvent - /* Notify that grabbing has stopped. This event could be used to update the state of the GUI. */
  7. OnGrabErrorEvent - /* Notify that the grabbing had errors and deliver the information. */
  8. OnDeviceRemovedEvent - /* Notify that the device has been removed from the PC. */
Note:
  1. Heart beat timeout
    • Heart beat is send to camera at regular interval
    • If no heart beat (time out), camera will stop and no command can be send from application
    • During Debugging, time out can be too fast. However, increase to large time out can end up camera not able communicate if application is terminated without proper terminate command. (This condition can be solve by disconnect/connect the network cable.)
  2. Convert to Euresys eVision image

    1 comment:

    1. Excuse me.
      I want to ask a question.
      I set white balance "once" on Pylon Viewer.
      but when I opened camera next time, its setting changed to "off".
      Sometime its setting was "once",sometime was "off".
      I confuse this question for a long time.
      Do you understand any solution?

      ReplyDelete