How do I use the Pass Through Object of the FLIR AX8 and A310 cameras with Studio 5000 or RsLogix5000?

The Pass Through Object allows you to read and write any of the resources available in the FLIR AX8 and A310 cameras. For those used to working with cameras resources over Telnet/SSH, the concept here is very similar.

In order to control camera resources (which are not mapped in the EIP Library from the download page) you need to know the resource you want to read/write.

This example illustrates the use of Service Codes 0x32 (Read Boolean) and 0x33 (Write Boolean). We are going to use as an example the FLIR AX8, since there is not an EIP object that controls the FLIR AX8 lamp directly.

A list of most of the resources available for the FLIR A310 and AX8 cameras can be found in the attached document (Basic ICD from the download page). This document is not model specific, so you may find small differences.

The FLIR AX8 lamp is controlled by the resource .system.vcam.torch.

 

Before we start, some important points should be noted:

  • Variables used by the block function MSG have to be declared under Controller Tags.
  • Create a SINT array and copy the HEX data to it (60 elements should be sufficient for any command)
  • Each Service Code (Boolean, Int32, Double, ASCII) has a different syntax. They are all described on pages 61, 62, and 63 the BASIC ICD attached document.

The MSG function will be used to send commands to the camera. This is how the Routine will look like once it is complete:

Before you start creating the rungs, create the SINT arrays. These will contain the data (commands) that are going to be sent to the camera.

  1. Leave the first byte of the SINT array blank.
  2. Enter the resource address in ASCII or HEX (select the display Style). In this example the resource is .system.vcam.torch.
  3. Count how many bytes (String length) the String has, and enter this information into the first byte (18 in this example). Make sure that you are entering this information appropriately. In this example I have selected Decimal (display Style), so it is easier to ensure the data is correct.
  4. In this example the same SINT array will be used by different MSG functions (Lamp On, Lamp Off, and Lamp Status), so byte [19] will be used for toggling Lamp On (1) and Lamp Off (0).

 

 

 

 

Rungs

 

 

 

Rung0 reads the status of the FLIR AX8 Lamp. How the MSG is configured is shown below: all the highlighted fields should be filled in. Also, make sure to attribute the device path (Communication tab).

Also note that you have to determine the Service Code, Source Length, and a Destination Element. In this example, the Data Type used for the Destination Element is a STRING.

 

 

 

 

Rung1 and Rung2 change SINT array Byte[19] to 1 or 0, respectively, so it can turn the lamp on (1) or off (0). The FLL function is used to set the bytes.

 

 

 

The MSG function was configured as follows:

 

 

File Attachment(s)

Back to top