DataHub Registry Entries

The DataHub program places registry entries in HKEY_CURRENT_USER\Software\Cogent\Cogent DataHub. Many of those entries are used by the DataHub instance to store window position and size. Some of these are user-modifiable to adjust the DataHub instance’s behaviour. The following table contains the user-modifiable entries. If an entry does not exist, then the user can create it to achieve the effect. In most cases the DataHub instance must be restarted for the registry entry to apply.

Registry Value NameTypeEffect
NetworkComputerPoll DWORD

Controls the polling for network computer names. By default a DataHub instance will poll the network periodically for the Windows names of all computers. This may cause unwanted network traffic. Setting this value will have the following effect:

  • 0 = Do not poll for network computer names

  • 1 = Poll for network computer names exactly once when the DataHub instance starts

  • 1000 or higher = Poll periodically with a base polling rate of this many milliseconds

Numbers < 0 are treated as 0. Numbers between 2 and 1000 are treated as 1000. If the key is absent then the DataHub instance defaults to 10,000ms.

EmitConsoleEvents DWORD

Cause the Event Log to be emitted to the debugger console. This is only useful if the DataHub instance is running within a debugger (Visual Studio or WinDbg).

  • 0 = Do not emit the Event Log to the debug console.

  • 1 = Emit the Event Log to the debug console.

EmitConsoleDebug DWORD

Cause debug-level messages to be emitted to the debugger console. This will only take effect if EmitConsoleEvents is also enabled.

  • 0 = Do not emit debug-level events to the debugger console.

  • 1 = Emit debug-level events to the debugger console.

StatusDomainVisible DWORD

The DataHub instance maintains an internal data domain called “Status” that contains information about its state. This domain is normally not visible in the data viewer, nor visible in queries of available data domains. This value will make the Status domain visible.

  • 0 = Status domain is not visible.

  • 1 = Status domain is visible.

MainThreadPriority DWORD

Sets the operating system thread priority for the main DataHub thread.

TimerResolution DWORD

Sets the maximum timer resolution in milliseconds. The DataHub instance will adjust the system “multimedia timer” to this resolution. If this value does not exist then the DataHub instance will query the operating system for the highest available resolution and use that. This number must be at least 1.

AdjustTimer DWORD

Enables multimedia timer adjustment. If this value exists and is not zero then the DataHub instance will adjust the system-wide multimedia timer resolution to the value described in TimerResolution.

  • 0 = Do not adjust the system multimedia timer.

  • 1 = Adjust the system multimedia timer.

The default is 1.

DDEAllowBusyAdvise DWORD

Allow the DataHub instance to process a DDE Advise message while another DDE message is being processed. This is generally dangerous, as the DDE protocol can become confused over which messages belong to a specific transaction. Enabling this could result in failed DDE transactions.

  • 0 = Do not allow DDE Advise while another DDE message is in process.

  • 1 = Allow DDE Advise while another DDE message is in process.

The default is 0.

SslMethod String

Force the DataHub instance to use a specific SSL method. If this registry entry does not exist then the DataHub instance will use the best available method. Can be one of:

  • SslV23

  • SslV3

  • Tls

  • Tls1.1

  • Tls1.2

EventLogFontSize DWORD

The font size of the Event Log window.

EventLogDirectWrite DWORD

Event Log display technology selection. This can be one of:

  • 0 = default

  • 1 = DirectWrite

  • 2 = DirectWrite Retain

  • 3 = DirectWrite to 2D device context.

EventLogFont String

The name of the font to use in the Event Log window.

TCPLicenseTimeoutSecs DWORD

A DataHub instance waits for 30 seconds after a client connects before verifying the client's license. If the client does not transmit licensing information within the 30 second window, the DataHub instance will assume that the connection is from a custom application using a direct TCP connection, and will attempt to assign a TCP Link license to that client. If no TCP Link license is available, the DataHub instance will terminate the connection with a "no license" error.

You can modify this licensing window up to 60 seconds by creating this DWORD registry entry.

If you are attempting to tunnel data on a very slow network, it is possible that the slave (client) the DataHub instance sends its licensing information within the 30 second window, but the master DataHub instance does not receive it in time. In this case the DataHub instance will report a no license error even though both the slave and master are correctly configured with tunnelling licenses. If you encounter this case, try increasing the license window to 60 seconds, or improve the performance of the network.

Older versions of the DataHub program set this licensing window to 5 seconds, and did not read the registry entry. If you are encountering issues with a 5-second licensing timeout, please upgrade at least the master DataHub instance to a more recent version.

TCPMaxQueuedBytes DWORD

The number of bytes of output that a TCP socket can buffer before the socket is considered “hung” as is closed. The default is 50,000,000.

TCPHungQueuedBytes DWORD

The number of bytes of output that a TCP socket can buffer before the socket starts refusing new data point updates. This is a throttling mechanism that results in old data point values being dropped when newer values for the same data point become available. When the socket buffer is cleared then the DataHub instance automatically stops throttling. The default is 200,000.

DisableTCPKeepalive DWORD
  • 0 = Enable TCP keepalive messages.

  • 1 = Disable TCP keepalive messages.

The default is 0.

BrowseDA3 DWORD

Force the OPC DA Classic item browser to use a specific technology (OPC DA2 or DA3). If this value does not exist then browsing will use the selected technology from the OPC client configuration dialog.

  • 0 = Use OPC DA2 when browsing items.

  • 1 = Use OPC DA3 when browsing items.

OPCClientGroupName String

Normally the DataHub instance will set its OPC DA client group name to the program name. If this registry entry exists then this value will be used as the OPC DA client group name instead.

OPCClientSequentialGroups DWORD

This entry tells the DataHub instance to append a sequence number to the OPC client group name. This can be useful if you are tracking an issue with repeated DCOM disconnections.

  • 0 = Do not add a sequence number to the group name.

  • 1 = Add a sequence number to the group name.

OPCClientGroupSequenceNumber DWORD

This entry sets the current sequence number for the OPC client group. It persists through starts and stops of the DataHub instance.

OPCCheckMemory DWORD

This entry enables an additional memory check for some OPC DA operations. This option increases CPU usage substantially, so only use this if you suspect an OPC-related memory problem.

  • 0 = Do not enable additional memory checks.

  • 1 = Enable additional memory checks.

OpcAeSkipAttributes DWORD

This entry will instruct all OPC A&E client (outbound) connections to ignore condition attributes. This can save memory when there are a large number of conditions with attributes.

  • 0 = Retain condition attributes.

  • 1 = Ignore condition attributes.