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.
Attribute | Description | Data 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 Name | Description | Data Type |
---|---|---|
Name | Name of the processor. Used for logging and debugging aspects. | System.String |
ProcessingPriority | Priority of the system thread
| 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 |
The attributes
MaxSchedulingTimeSlice
andMinSchedulingTimeSlice
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
}
}
]
}