Task Configuration

From Control Solutions IoTServer Documentation
Revision as of 21:24, 20 May 2019 by Jimhogenson (talk | contribs) (Master Configuration Files)
Jump to navigation Jump to search

Task Manager Interface

Task manager config page common 1.jpg

The task manager is your first stop for telling the IoTServer what you want it to do. There are 32 slots that may be occupied by some function, typically a protocol engine or other application. This means you could hypothetically have up to 30 different protocols all talking to each other via the IoTServer, if we actually had that many protocols to pick from.

Select the task you want to configure from the drop-down list, or select an empty slot to assign to a new function. An empty slot is simply denoted "Data Channel N". When assigned to a function, that slot will take on the name of the function.

Different protocols, applications, or task types will have different requirements for configuring the task. The specific configuration parameters for each available task function are given at the links below. Regardless of task type, each task will have certain attributes in common as described here.

Task manager config page common 2.jpg

Click the Refresh button to have the web UI query the actual task and obtain its present configuration parameters.

If you change any of the settings, click Save Settings to retain and register them. In some cases it may be necessary to stop the task first. In almost all cases, it is necessary to restart the task to cause the new settings to take effect.

The file selected from the drop-down list below will appear in the Configuration File box. If you want to configure the task from an XML file, select that file, and click the Load button. In the case of protocol engines, this will most often include loading all of its read/write maps, rules, etc. If the task was suspended, clicking Load will also automatically resume the task after loading the XML file as its new configuration.

To save configuration for the given task, select or enter a file name, and click the Save Config button. In the case of a protocol engine, this means saving its read/write maps, rules, etc.

IMPORTANT: The task manager configuration, i.e. settings registered by clicking Save Settings, are retained in the XML file for the task manager itself. To save these settings in an XML file, select Task Manager from the list at the top, and click Save Config there.

Task manager config page common 3.jpg

The file management provided here is most often mirrored on the Config File page of the given task. The drop-down list will show a list of all configuration files currently found in the device's configuration folder. When you select an XML file from this list, the name will be copied to the Configuration File window for pending load or save.

You may view the selected file by simply clicking View. You can delete the file by clicking Delete.

You may upload files to the IoTServer from your PC. Start by clicking Browse, and then use the browser's file dialog to locate the file on your PC. Once a file is selected on your PC, click the "Start upload" button to initiate the transfer.

You may also download files from the IoTServer to your PC. Click the Download button to transfer the selected file to your PC.

Task manager config page common 4.jpg

Stop Tasks - Stops all tasks except the task manager itself. If you want to selectively stop only one task, you can do that from the Task Status page.

Force Kill Tasks - The "stop task" is a request submitted to the task asking it to stop itself. However, if a task is hung in a manner that prevents it from responding to that task, this button will forcefully kill the tasks that remain in a state other than stopped after attempting to stop them.

Check Config - There are certain configuration restrictions such as you cannot have more than one SNMP Trap Receiver configured in the system, cannot have more than one Primary Modbus Server, etc. Clicking Check Config will check to see if you have configured anything that creates a conflict, and provide a message to that effect if so.

Restart Tasks - Restarts all configured tasks that have been stopped.

Force Reconfig - Will delete all internal configuration databases and force reconfiguration from XML configuration files. Tasks should first be stopped - this action will not be permitted if tasks are still running. USE WITH CAUTION. If you have made configuration changes that were saved to the database but not explicitly saved to an XML file, those changes will be lost with Force Reconfig.

Reboot Device - This will gracefully shut down the system and reboot. It will accomplish the same thing as a power cycle, but do so more gracefully.

Initial Configuration

The IoTServer (Babel Buster 4) will arrive with only the Data Engine configured to start on power-up. The configuration library provided will be a minimal configuration for each possible protocol. These serve as a starting point to bring up that protocol. Once running, you can proceed to edit or upload additional more extensive configurations.

Initial Task Startup

Reconfiguring the System

Configuring the Tasks

IMPORTANT: If you are going to reconfigure a task that was previously running, STOP the task first, then restart it after reconfiguring. Do not suspend and resume. If just suspended, the resume will continue attempting to run whatever that task's old configuration was.

If you attempt to reconfigure a task while it is running, you will see this warning:

Task manager running warning.jpg

Each different task has a different set of configuration requirements at the task level. These define things like maximum number of objects that the data engine will serve, maximum number of read and write maps for a protocol client, etc. Configuring the tasks here will also determine which functions show up in the menu on the left the next time you refresh the page. Once a protocol is "turned on" by configuring its task here, that protocol will start to show up under Protocol Status and Protocol Configuration on the left. Click the links below to review configuration for the task types of interest.

Task Manager Task

Data Engine Task

SNMP Agent Task

SNMP Client Task

SNMP Trap Receiver Task

Modbus RTU Master Task

Modbus RTU Slave Task

Modbus TCP Client Task

Modbus TCP Server Primary Task

Modbus TCP Server Secondary Task

Check Configuration

Task manager check config button.jpg

There is a Check Config button toward the bottom of the Task Configuration page. After you have configured your various tasks, click this button to check for conflicts. If there are conflicts in the configuration, you will see an error message displayed at the top of the Task Configuration page. An example looks like this:

Task manager check config message.jpg

There can be only one primary Modbus server (slave). All additional servers or slaves must be defined as secondary. If you try to configure multiple primary servers, this is the message you will get when you click Check Config.

Master Configuration Files

There are two special load/save buttons that only show up when the Task Manager is selected as System Task. The task manager has a “master save” and “master load” feature.

Task manager master file buttons only.jpg

The master save will first go down the list of all tasks currently configured to run, make sure they are running, then issue the “save config” file to each task and wait for its completion. Then it creates a master file by concatenating all of the individual files with a file tag to separate them. It does not concatenate all of the files in the config folder, just those files freshly saved representing configuration currently in use, one per task. It will also include snmpdGenerated.conf and snmptrapdGenerated.conf if they exist.

The master load reverses the process, reading the master file and creating multiple files for the various tasks. The master load does not attempt to reconfigure tasks, it only parses files. Once master load is complete, there are two ways of proceeding:

(1) Click Force Reconfig, then Reboot Device.

or (2) Go through each task and selectively load each configuration file one at a time.

Task List and Data Channels

Data channels 0, 1, 2, and 3 have dedicated purposes. After that, any network function can be assigned to any data channel 4 and up.

Task manager config page common 5.jpg

An example of a set of configured tasks appears above. There are some restrictions on what can be configured where. The Data Engine (data object manager) will always be task 0. The SNMP Agent will always be task 1. The serial protocol for serial port 2 will always be task 2. The serial protocol for serial port 3 will always be task 3. After that, any number of protocol engines or other applications may be assigned as task 4 and up.

The task number and data channel number are always the same number. The "channel number" has significance in that a set of internal flags is maintained that allows each task to inform other tasks when new data is available in any given global data object.

Port Options

Serial Ports

Task manager config serial port 2 options.jpg

The options currently available for serial port 2, assigned to task 2, is illustrated above.

Task manager config serial port 3 options.jpg

The options currently available for serial port 3, assigned to task 3, is illustrated above.

Ethernet Ports

Task manager config ethernet options.jpg

The options currently available for Ethernet applications as tasks 4 and up are illustrated above.

Reference Information

Task Manager XML Files