Skip to main content
Version: 2.8

General Driver Configuration

The plugin configuration file is named settings.json located in <install directory>\Config\<plugin name>. It contains all global settings of the plugin.

Device Specific Configuration

The element Devices contains all settings that belong to a specific device driver.

The default device configuration (with empty Id field) is used as the default config for all devices.

AttributeDescriptionData Type
Id[OPT] Device Id. If not specified, it applies to all devices.System.Guid

Example of default device configuration:

{
"Disabled": false,
"Devices": [
{
"MainTaskProcessor": {
"Name": "Main TaskProcessor",
"ProcessingPriority": "Highest",
"MaxSchedulingTimeSlice": 100,
"MinSchedulingTimeSlice": 10
}
}
]
}

Example of a specific FANUC device:

{
"Disabled": false,
"Devices": [
{
"Id": "FCB36508-3A47-4C06-84D0-267947E3595C",
"MainTaskProcessor": {
"Name": "Main TaskProcessor",
"ProcessingPriority": "Highest",
"MaxSchedulingTimeSlice": 100,
"MinSchedulingTimeSlice": 10
}
}
]
}

Task Processors

The UHAL drivers and connectors require at least one task processor to manage the connectivity to the device, called MainTaskProcessor.

Field NameDescriptionData Type
NameName of the processor. Used for logging and debugging aspects.System.String
ProcessingPriorityPriority of the system thread
  • Normal (default)
  • BelowNormal
  • AboveNormal
ThreadPriority
MaxSchedulingTimeSlice[OPT] Maximum time slice in milliseconds between two device operations. Default value is 5ms.System.Int32
MinSchedulingTimeSlice[OPT] Minimum time slice in milliseconds between two device operations. Default value is 1ms.System.Int32
MaxTaskCycleCount[OPT] If using Diagnostics function of the driver, allows specification of the max amount of cached values. Default value is 1200 cycles.System.Int32
INFORMATION

The attributes MaxSchedulingTimeSlice and MinSchedulingTimeSlice allow to reduce the processor load for low-power computers. For regular industrial computers use the default settings for max. performance.

Example of the setting.json:

{
"Disabled": false,
"Devices": [
{
"MainTaskProcessor": {
"Name": "Main TaskProcessor",
"ProcessingPriority": "Normal",
"MaxSchedulingTimeSlice": 200,
"MinSchedulingTimeSlice": 10,
MaxTaskCycleCount: 1200
}
}
]
}