Thermal Camera SDK 10.1.0
SDK for Optris Thermal Cameras
Loading...
Searching...
No Matches
Process Interface (PIF)

Contents

Overview

Process interfaces (PIFs) extend the functionality of your camera by providing a set of pins that each comprise a channel which can be assigned various functionalities. The following channel types are potentially available depending on the used PIF device type:

  • analog inputs that can read voltages between 0 - 10 V.
  • digital inputs that can read binary voltage signals (high/low).
  • analog outputs that provide voltage or current based output signals.
  • digital output that provide voltage based binary signals (high/low).
  • fail safe that provides a level and voltage based signal indicating whether the camera and the SDK is working correctly.

The following table offers an quick overview of the available channels and analog output modes for each supported PIF:

Device Type Analog Inputs Ai Digital Inputs Di Analog Outputs Ao Digital Outputs Do Fail Safe Fs Analog Output Modes
Standard 1 1 1 - no 1 - 10 V
Industrial (mA) 2 1 3 - yes 0/4 - 20 mA
Industrial (mV) 2 1 3 - yes 1 - 10 V
Internal 1 - 1 - no 0/4 - 20 mA
Stackable 3 - 3 3 yes 1 - 10 V,
0/4 - 20 mA

For more details about the different PIF variants please refer to the Supported Process Interfaces (PIFs) section of the Features chapter.

Note
The SDK uses the abbreviations Ai, Di, etc. to mark channel type specific resources like enums, classes and methods.

The process interface and its channels can either be configured via

Note
When the SDK auto generates a configuration file for a new camera it will use the PIF device type and count reported by the firmware. In this configuration all channels will be turned off because the SDK can not anticipate your needs.

The function of a channel is determined by its mode. Depending on the channel type different modes are available. For a detailed description of these modes please refer to the Modes section.

Reading Inputs

The values read by the PIF on its input channels can be accessed at any time regardless of the configured mode through the FrameMetadata object provided by the onThermalFrame() callback of the IRImagerClient. Use the method

  • getPifAiValue(deviceIndex, pinIndex) to get the current voltage level on an analog input.
  • getPifDiValues(deviceIndex, pinIndex) to get the current state of the binary on the digital input.

Refer to the corresponding section in the Public API chapter to get more exhaustive details about addressing the channels and how the input values are read.

Creating Outputs

Outputs on the PIF channels can either be generated by the functionality (mode) assigned to them or manually by the SDK clients.

If you wish to set outputs manually through the API, you will first have set the mode of the channel to ExternalCommunication. Only then you can use the following methods of the ProcessInterface to set the output values:

  • setAoValue(deviceIndex, pinIndex, value)
  • setDoValue(deviceIndex, pinIndex, value)

Refer to the corresponding section in the Public API chapter to get more exhaustive details about setting output values.

Note
The SDK only allows the use of these methods for channels set to ExternalCommunication. In this way it prevents you from interfering with and potentially disrupting other functionalities.

Modes

As mentioned before, the mode of a channel determines what functionality it provides. Regardless of the configured mode you will always be able to access the input values read by the PIF on its input channels.

The rest of this section lists and describes all the modes that are currently supported by the SDK roughly grouped by channel type.

Modes marked as unique can only be applied once across all channels.

You can consult the documentation of the channel settings of the configuration file for more exhaustive details about the available parameters for each mode.

Universal

Off

Supported by Parameters Unique
all - no

The channel is switched off and does not offer any special functionality.

Inputs

Ambient Temperature

Supported by Parameters Unique
analog inputs gain, offset yes

Converts the voltage level U_in on an analog input into an ambient temperature t_ambient as follows

t_ambient = (U_in - offset) / gain

and applies it to the overall thermal frame as part of the radiation parameters. In order to minimize computational effort the radiation parameters are only updated at most every 500 ms.

Emissivity

Supported by Parameters Unique
analog inputs gain, offset yes

Converts the voltage level U_in on an analog input into an emissivity e in the range of [0.01, 1.1] as follows

e = (U_in - offset) / gain

and applies it to the overall thermal frame as part of the radiation parameters. In order to minimize computational effort the radiation parameters are only updated at most every 500 ms.

Flag Control

Supported by Parameters Unique
analog and digital inputs threshold, low active yes

The shutter flag is controlled by the signal read on the input channel. Depending on the channel type this has the following effects:

analog input

The input voltage U_in will trigger the following actions:

Action low_active !low_active
close the shutter flag U_in < U_threshold U_in >= U_threshold
open the shutter flag U_in >= U_threshold U_in < U_threshold

digital input

The input signal S_in will trigger the following actions:

Action low_active !low_active
close the shutter flag S_in == low S_in == high
open the shutter flag S_in == high S_in == low
Attention
If this mode is set on any channel, the SDK and its clients will be unable to control the shutter flag. In this case the entity providing the input signal is solely responsible for closing the flag regularly to compensate for temperature drifts and to pass the initial calibration phase.

Uncommitted Value

Supported by Parameters Unique
analog inputs gain, offset, name, unit no

The input voltage U_in read on the configured channel is converted to a target value X_out as follows

X_out = (U_in - offset) / gain

and is then provided to IRImagerClients via the onPifUncommittedValue() callback alongside with its name and unit.

Note
The callback is only triggered when the input voltage U_in changes.

Outputs

External Communication

Supported by Parameters Unique
analog and digital outputs output_mode no

In this mode the output of the configured channel can be controlled by the clients of the SDK. To this end, they can use the following methods of the ProcessInterface:

  • setAoValue(deviceIndex, pinIndex, value)
  • setDoValue(deviceIndex, pinIndex, value)

For more details refer to the Output Value section of the Public API chapter.

Fail Safe

Supported by Parameters Unique
analog and digital outputs output_mode, active yes

A heart beat signal is output on the given channel that indicated whether the camera and the processing chain of the SDK is working correctly. See the Fails Safe chapter for details about the generated signal and about the conditions that dictate when the fail safe is active.

The value of the active parameter defines the height of the provided heart beat signal.

Note
Some PIF variants offer an extra fail safe channel that can be used independently of this mode.

Flag Status

Supported by Parameters Unique
analog and digital outputs output_mode, active, intermediate, inactive, low active yes

The signal output on the configured channel indicates the current status of the shutter flag. Depending on the channel type the following output values are generated:

analog outputs

Flag Status Level Set by Parameter
Open inactive
Moving intermediate
Closed active

digital outputs

Flag Status Output with low active Output with not low active
Open high low
Closed low high

Frame Sync

Supported by Parameters Unique
analog and digital outputs output_mode, active yes

Every time a new frame is captured a short pulse is output on the designated channel. Depending on the channel type this pulse takes the following form:

analog outputs

The moment a frame is captured the output level will rise to the value specified by the active parameter and will will shortly afterwards revert back to the lower limit defined by the configured output mode.

digital output

When a frame is captured the output signal will be set for a brief time to high and will then revert back to low.

Internal Temperature

Supported by Parameters Unique
analog outputs output_mode, gain, offset yes

The current internal temperature of the camera is measured by a built-in probe. Its value t_internal is converted into an output value X_out as follows

X_out = gain * t_internal + offset

which is then provided on the designated channel.

Note
The value of X_out is always clipped to the limits of the configured output mode.

Measurement Field

Supported by Parameters Unique
analog outputs output_mode, field index, gain, offset no

A specific data point of a measurement field can be output on the designated channel. The field index parameter identifies the measurement field and the configured mode of that field defines the data point (MeasurementFieldConfig::mode). The value x_field of this data point is converted to an output value X_out

X_out = gain * x_field + offset

and is then provided on the channel.

Note
The value of X_out is always clipped to the limits of the configured output mode.

You can create a measurement field in one of the following two ways:

  • Configuration file. Measurement fields defined here are always added first in the order they are specified in the file. As a result the first field always has the index 0.
  • Public API. You can use the addMeasurementField() method of the IRImager to add a field at runtime. On success the method returns the index you need to refer to the field when configuring this mode.

Fail Safe

On

Supported by Parameters Unique
fail safe - no

Some PIF devices feature a dedicated fail safe channel that can be activated regardless of whether another channel mode was set to FailSafe. It provides the same information but in a different way.

  • Analog and digital outputs provide a heart beat signal as long as everything is working correctly. The characteristic feature of this signal are its edges. If the heart beat dies and no more edge occur, the fail safe was triggered. Once the fail safe is released the heart beat will resume and new edges will occur.
  • The electronics on the PIF convert the heart beat into a level based signal. It will feature a voltage > 0 V, if everything is OK and the fail safe is inactive. It will drop to 0 V, if the fail safe is triggered.

For more details please refer to the PIF Signals section of the Fail Safe chapter.