![]() |
Thermal Camera SDK 10.1.0
SDK for Optris Thermal Cameras
|
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:
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.
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
ProcessInterface
exposed by the Public APIThe 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.
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.
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.
ExternalCommunication
. In this way it prevents you from interfering with and potentially disrupting other functionalities.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.
Supported by | Parameters | Unique |
---|---|---|
all | - | no |
The channel is switched off and does not offer any special functionality.
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.
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.
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 |
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 IRImagerClient
s via the onPifUncommittedValue()
callback alongside with its name and unit.
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.
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.
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 |
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.
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.
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.
You can create a measurement field in one of the following two ways:
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.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.
For more details please refer to the PIF Signals section of the Fail Safe chapter.