SCADA Server Parameters

Help Contents

Introduction

You can use the Fernhill SCADA Server Parameters to change how the SCADA Server runs. There are two places where you can set parameters:

The recommended way to set server parameters is using the Server Configuration File.

SCADA Server Parameters

The Fernhill SCADA Server supports these parameters:

Help

Displays the supported commands and then stops.

Available on Linux, macOS
Configuration file No
Example --Help

Daemon

Runs the Fernhill SCADA Server as a daemon.

Available on Linux, macOS
Configuration file No
Example --Daemon

PidFile=FILE

Writes the process identifier of the daemon to a file. Intended for use with the systemd services manager. For more information see Manage the Fernhill SCADA Server with systemd.

Available on Linux, macOS
Configuration file No
Example --PidFile=/var/run/fernhill-scada.pid

TestConf

Tests the server configuration file then stops.

Available on Linux, macOS
Configuration file No
Example --TestConf

GuestLogin

Enables guest login with username 'Guest' and an empty password. This option also enables Anonymous login in the OPC UA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --GuestLogin

RecordFailedLoginPassword

Enables recording of passwords of failed logins in the event log. Normally a failed login is recorded in the event log using this message:

An attempt to login failed: User 'XXXXXX'

When RecordFailedLoginPassword is enabled, a failed login is recorded using this message:

An attempt to login failed: User 'XXXXXX', Password 'YYYYY'

This option should only be used to help diagnose failed logins.

Available on Windows, Linux, macOS
Configuration file Yes
Example --RecordFailedLoginPassword

WorkingFolder=FOLDER

Changes the working folder to a different path.

Available on Windows, Linux, macOS
Configuration file No
Example --WorkingFolder=E:\FernhillSCADA
Default Value Depends on the edition of Fernhill SCADA:
  • For Windows Versions:
    C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer
  • For all other Versions:
    /var/lib/fernhill-scada

PortNumber=PORT

Changes the port number the server listens on for connections.

Available on Windows, Linux, macOS
Configuration file Yes
Example --PortNumber=50000
Default Value 20295

Location=LOCATION

A text string describing the location of the Fernhill SCADA Server. If set, this string appears in the tag status report of the database root folder. This can help users of the Configuration Tool identity the server they are connected to.

Available on Windows, Linux, macOS
Configuration file Yes
Example --Location="Western Treatment Works"
Default Value

MaxSQLResultSize=SIZE

Sets the maximum size of a result set of an SQL query.

Available on Windows, Linux, macOS
Configuration file Yes
Example --MaxSQLResultSize=50M
Default Value 50M (50 megabytes)

ServerLogDetail=N

The level of detail in the server log files:

  1. None
  2. Create Delete
  3. Request
  4. Request Create Delete
  5. Read Write
  6. Reference Counts
  7. Data
Available on Windows, Linux, macOS
Configuration file Yes
Example --ServerLogDetail=4
Default Value 2 (Request)

ServerLogFolder=PATH

The location of the server log files.

Available on Windows, Linux, macOS
Configuration file Yes
Example --ServerLogFolder=E:\Fernhill-SCADA-Logs
Default Value Depends on the edition of Fernhill SCADA:
  • For Windows Versions:
    C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer\ServerLogs
  • For all other Versions:
    /var/log/fernhill-scada/ServerLogs

ServerLogSize=SIZE

The total size of all server log files.

Diagnostic information from the Fernhill SCADA Server is stored in a rolling set of log files. Each log file in the set is limited to a maximum size. When the current log file reaches the maximum size, a new log file is opened. When the total size of the log files reaches this parameter, the oldest log file is deleted.

Available on Windows, Linux, macOS
Configuration file Yes
Example --ServerLogSize=20M
Default Value Depends on the edition of Fernhill SCADA:
  • For Fernhill SCADA for Embedded Linux Hardware, the default is 2MB.
  • For all other versions, the default is 32MB.

DriverLogDetail=N

The level of detail in the driver log files:

  1. None
  2. Tasks
  3. Raw Data
  4. Alarms
  5. Events
  6. Commands
  7. Tag State
  8. Transaction
  9. Transaction Analysis
  10. I/O Calls
  11. Timers
  12. Tag Database Update

Available on Windows, Linux, macOS
Configuration file Yes
Example --DriverLogDetail=4
Default Value 8 (Transaction Analysis)

DriverLogFolder=PATH

The location of the driver log files. Note: The new path will be used when the Fernhill SCADA Server next starts.

Available on Windows, Linux, macOS
Configuration file Yes
Example --DriverLogFolder=E:\Fernhill-SCADA-DriverLogs
Default Value Depends on the edition of Fernhill SCADA:
  • For Windows Versions:
    C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer\DriverLogs
  • For all other Versions:
    /var/log/fernhill-scada/DriverLogs

DriverLogSize=SIZE

The total size of one set of driver log files.

The Fernhill SCADA Server usually creates multiple sets of log files for drivers. One log file set is created for each:

Each log file in the set is limited to a maximum size. When the current log file reaches the maximum size, a new log file is opened. When the total size of the log files in the set reaches this parameter, the oldest log file is deleted.

Available on Windows, Linux, macOS
Configuration file Yes
Example --DriverLogSize=20M
Default Value Depends on the edition of Fernhill SCADA:
  • For Fernhill SCADA for Embedded Linux Hardware, the default is 2MB.
  • For all other versions, the default is 32MB.

HistoricDataFolder=PATH

The location of the historic data files. When changing this parameter use these steps to avoid data loss:

  1. Create the new folder.
  2. Set a value for HistoricDataFolder in the Server Configuration File.
  3. Shutdown the Fernhill SCADA Server.
  4. Copy the existing historic data files to the new folder.
  5. Restart the Fernhill SCADA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --HistoricDataFolder=E:\Fernhill-SCADA-History
Default Value Depends on the edition of Fernhill SCADA:
  • For Windows Versions:
    C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer\HistoricData
  • For all other Versions:
    /var/log/fernhill-scada/HistoricData

EventLogFolder=PATH

The location of the files for the Event Log. When changing this parameter use these steps to avoid data loss:

  1. Create the new folder.
  2. Set a value for EventLogFolder in the Server Configuration File.
  3. Shutdown the Fernhill SCADA Server.
  4. Copy the existing event log files to the new folder.
  5. Restart the Fernhill SCADA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --EventLogFolder=E:\Fernhill-SCADA-Events
Default Value Depends on the edition of Fernhill SCADA:
  • For Windows Versions:
    C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer\EventLog
  • For all other Versions:
    /var/log/fernhill-scada/EventLog

EventLogRecords=SIZE

The total number of records to store in the Event Log.

The size of one event record is 512 bytes. To calculated the total storage required by the event log, multiply this parameter by 512.

Available on Windows, Linux, macOS
Configuration file Yes
Example --EventLogRecords=50M
Default Value Depends on the edition of Fernhill SCADA:
  • For Fernhill SCADA for Embedded Linux Hardware, the default is 5K.
  • For all other versions, the default is 100K.

OpcUAServer

Whether the SCADA Server also runs the OPC UA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --OpcUAServer
Default Value Not enabled

OpcUAServerPort=PORT

The TCP Port number of the OPC UA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --OpcUAServerPort=50001
Default Value 20296

OpcUAServerLogDetail=N

The level of detail for requests to the OPC UA Server:

  1. None
  2. Create Delete
  3. Request
  4. Request Create Delete
  5. Read Write
  6. Reference Counts
  7. Data

If not set, the parameter default is 2 (Request).

Available on Windows, Linux, macOS
Configuration file Yes
Example --OpcUAServerLogDetail=4
Default Value 2 (Request)

OpcUAServerWeakSecurity

Whether the OPC UA Server enables the deprecated security policies Basic128Rsa15 and Basic256. By default these security policies are not enabled.

Available on Windows, Linux, macOS
Configuration file Yes
Example --OpcUAServerWeakSecurity
Default Value Strong security only

StandbyServerName=NAME

The name of the computer running the standby Fernhill SCADA Server. The NAME parameter can be:

Available on Windows, Linux, macOS
Configuration file Yes
Example --StandbyServerName=SERVER1
Default Value Not set. The Fernhill SCADA Server operates in standalone mode.

StandbyServerPort=PORT

The TCP Port number of the standby Fernhill SCADA Server.

Available on Windows, Linux, macOS
Configuration file Yes
Example --StandbyServerPort=50000
Default Value 20295

StandbyServerPassword=PASS

The password used to authenticate server to server communication. To set up a redundant server pair, both servers must use the same password.

Available on Windows, Linux, macOS
Configuration file Yes
Example --StandbyServerPassword=IN8J9w7JjmApKNJKXunQ9qBkujs=

Server Configuration File

The Server Configuration File is a text file that allows you to set SCADA Server Parameters. The location of the file depends on the operating system:

Operating System Location
Windows The default location is:

C:\ProgramData\Fernhill Software\Fernhill SCADA\FHServer\Server.conf

Note: Using this option on the command line will change the file location:
--WorkingFolder=FOLDER

To edit this file:

  1. Right-click the Server Notification Icon.
  2. Select Manage Windows Service...
  3. Click Yes on the User Account Control Dialog.
  4. Click Edit the Server Configuration File.
Linux and macOS The location is:

/etc/fernhill-scada/server.conf

In the Server Configuration File you can use any of the Server Parameters where Configuration File column contains a Yes. For example:

# Allow login with the username 'Guest' and
# an empty password.
# Type: Boolean
GuestLogin = True

Server Command Line

To set a Server Parameter on the command line, you should prefix the command with two hyphens (-). For example:

--GuestLogin=True

Where to enter Command Line Parameters depends on the operating system:

Operating System Location
Windows Server Command Parameters are entered in the Start Parameters field in the service configuration. To enter parameters into the Start Parameters field:
  1. Open the Services Management Console
  2. Scroll down to Fernhill SCADA Server
  3. Do one of the following:
    • Double-click the entry Fernhill SCADA Server, or
    • Right-click Fernhill SCADA Server and select Properties.
  4. Click Stop to stop the Fernhill SCADA Service
  5. Enter the parameters you want to set.
  6. Click Start to stop the Fernhill SCADA Service
  7. Click OK to close the dialog.

Note: Parameters entered here are temporary and will not be saved if the computer is restarted.

Linux

On Linux, the Fernhill SCADA Server is run from a command. The location of the command depends on the init system used by the Linux distribution.

  • More recent Linux distributions use systemd. The command file location is:
    /lib/systemd/system/fernhill-scada.service
    Add commands to the ExecStart property of the file. For example:
    ExecStart=/usr/bin/fernhill-scada \
            --pidfile=/var/run/fernhill-scada.pid \
            --daemon \
            --guestlogin=True

    Note: Be careful editing this file. Even small errors can result in the Fernhill SCADA Service not starting.

    Note: After an upgrade to a new version of the software, the .service file will be reset back to defaults. You will need to manually re-apply any changes after an upgrade.

  • Older Linux distributions use System V Init. The command file location is:
    /etc/init.d/fernhill-scada

    We currently do not recommend editing this file.

macOS Server Command Parameters are added to the property list for the Fernhill SCADA Server. To do this:
  1. Edit the following file:
    /Library/LaunchDaemons/com.fernhillsoftware.fernhillscada.plist
  2. Add the parameters to the string value associated with the Program key. For example:
    <key>Program</key>
    <string>/usr/local/bin/fernhill-scada --GuestLogin=True</string>
    
After you make changes to the file, restart the Fernhill SCADA Server:
  1. Enter this command to stop the Fernhill SCADA Server:
    sudo launchctl unload /Library/LaunchDaemons/com.fernhillsoftware.fernhillscada.plist
  2. Enter this command to start the Fernhill SCADA Server:
    sudo launchctl load /Library/LaunchDaemons/com.fernhillsoftware.fernhillscada.plist

Note: After an upgrade to a new version of the software, the .plist file will be reset back to defaults. You will need to manually re-apply any changes after an upgrade.

Further Information

Fernhill SCADA Server

To learn more about the Fernhill SCADA Server.

Fernhill SCADA

To learn about the tools in Fernhill SCADA.

Configuration Tool

To learn about configuring Fernhill SCADA.

Glossary

For the meaning of terms used in Fernhill SCADA.