Cascade DataHub™

Version 6.4

November 04, 2010

A memory resident real-time database that acts as a hub, providing fast and efficient concentration and distribution of data for Windows applications.

Go to the Cogent Web Site.
Copyright, trademark, and software license information.

Table of Contents

1. Getting Started
1.1. Overview and Installation
1.1.1. Install
1.1.2. Run
1.1.3. Pop-up Help
1.1.4. Exit
1.1.5. Uninstall
1.2. Test with simulated data
1.3. Test with Excel
1.4. Test the Web Server
1.5. View Your Data on the Web
1.6. Connect to remote data

2. Working With Data
2.1. Data Points
2.1.1. Creating New Points
2.1.2. Deleting Points
2.1.3. Viewing Data Points
2.1.4. Point Size Limits
2.2. Data Communication Concepts
2.2.1. Send and Receive Data
2.2.2. Client - Server
2.2.3. Synchronous and Asynchronous Communication
2.3. Data Exchange Protocols
2.3.1. DDE Protocol
2.3.2. TCP and Mirroring
2.3.3. The DataHub API
2.4. Data Organization
2.4.1. Data Domains
2.4.2. Assemblies, Subassemblies, Attributes, and Properties
2.4.3. Attributes and Types
2.4.4. Example 1: Attributes and Types
2.4.5. Example 2: Private Attributes

3. Making Connections
3.1. DDE Connections
3.1.1. DDE Poke and DDE Request
3.1.2. DDE Advise
3.2. Mirroring Connections
3.2.1. Configure the master DataHub
3.2.2. Configure the slave DataHub
3.3. Configuring Bridges
3.3.1. Point-to-point configuration
3.3.2. Making transformations

4. Connecting Microsoft Excel
4.1. Getting Data into Excel
4.1.1. Method 1 - Drag and Drop using DDEAdvise
4.1.2. Method 2 - Excel Macros using DDERequest
4.2. Getting Data out of Excel
4.2.1. Method 1 - Configuring DDEAdvise loops in the Cascade DataHub
4.2.2. Method 2 - Writing Excel macros that use the DDEPoke command
4.3. Example
4.4. Working with Ranges
4.4.1. Getting a Range out of Excel
4.4.2. Getting a Range into Excel
4.4.3. Sample Excel Macros for Arrays

5. Using the Web Server
5.1. Introduction
5.2. Configuring the Web Server
5.3. Viewing the Web Demos
5.4. Viewing Your Own Data
5.4.1. DataHub Browser
5.4.2. DataHub Table View
5.5. Modifying the ASP and AJAX Demo Files
5.6. Using ASP to Query a Database and Display Results
5.7. Creating Passwords
5.8. Generating XML output from the Cascade DataHub
5.8.1. Streaming XML How-To
5.8.2. Polling XML How-To

6. Email and SMS
6.1. Introduction
6.1.1. How it works
6.1.2. A note about SMS text messages
6.2. Configuring the Mail Server
6.3. Sending a Test Message
6.4. Defining the Email Message
6.5. Assigning a Trigger
6.6. Setting Trigger Conditions
6.7. Configured Actions
6.8. HTML Message Examples
6.8.1. An HTML Message with Embedded Data Points
6.8.2. An HTML Message with a Table Created in Code
6.9. How to Send SSL-encrypted Email

7. Data Logging
7.1. Introduction
7.1.1. Database Terminology and Concepts
7.1.2. Connecting to a Database: ODBC
7.1.3. Accessing Data: SQL
7.2. Quick Start
7.3. Setting up the DSN (Data Source Name)
7.4. Configuring a Database Table
7.5. Key Columns
7.6. Assigning a Trigger
7.7. Setting Trigger Conditions
7.8. Configured Actions

8. System Monitor
8.1. Introduction
8.2. Configuring the System Monitor

9. Security
9.1. SSL and Firewalls
9.2. User Authentication
9.3. Authorization and User Permissions
9.4. How To Configure a Common Scenario
9.5. Passwords

10. DataHub Scripting
10.1. Tools
10.2. DataHub ODBC (Open Database Connectivity) Scripting
10.3. DataHub Windows Scripting
10.4. DataHub MATLAB Support

11. Optimizing Data Throughput
11.1. Binary Mode Tunnel/Mirror (TCP) Connections
11.2. Tunnel/Mirror (TCP) Connections for Slow Networks
11.3. Old Value Queuing
11.4. Un-Buffered Delivery
11.5. Screen Output
11.6. CPU Saturation
11.7. How to Optimize
11.7.1. Tunnel/Mirror (TCP) connections
11.7.2. DataHub C++ API
11.7.3. Gamma scripts

12. Properties Window
12.1. General
12.2. DDE
12.3. Tunnel/Mirror
12.4. Bridging
12.5. Email
12.6. Data Logging
12.7. System Monitor
12.8. Web Server
12.9. Scripting
12.10. Security
12.11. Licenses
12.11.1. Working with Licenses
12.11.2. License Information

13. Other Windows and Programs
13.1. Data Browser
13.2. Connection Viewer
13.3. Event Log
13.4. Script Editor
13.5. Script Log
13.6. DataSim - a data simulation program

14. Using DataHub Commands
14.1. Command Syntax
14.2. Return Syntax
14.3. Sending Commands by TCP

15. Troubleshooting

A. Command Line Options
B. Configuration Files
C. Running the DataHub as a Windows Service
C.1. Windows XP, 2003, NT and 2000
C.2. Windows Vista, 7 and 2008
D. Performing a Silent (Unattended) Install of the DataHub
E. Excel Macro Library
E.1. Configure Excel to receive data from the Cascade DataHub (using DDEAdvise)
E.2. Write data from Excel - User initiated (using DDEPoke)
E.3. Write data from Excel - Automatically on value change (using DDEPoke)
E.4. Other Useful Macros
F. Windows Services File
G. DDE Overview
H. Error Messages
H.1. Windows Error Numbers
H.2. Windows TCP Error Numbers
H.3. Windows DDE Error Numbers
I. Third-Party Source Licenses
J. GNU General Public License
K. GNU Lesser General Public License

I. Cascade DataHub Command Set
acksuccess - tells the DataHub to return success messages.
add - adds a value to a point.
alias - creates an alias point for an existing point.
alive - tells the Cascade DataHub that the client is running.
append - appends a string to the value of a point.
assembly - creates an assembly.
asyncsocket - sets up asynchronous communication on a socket.
attribute - creates an attribute.
auth - requests authentication for a client.
authgroup - creates a new authentication group.
authuser - creates a new user.
auto_create_domains - automatically adds domains requested by clients.
auto_timestamp - adds timestamps to unstamped changes.
bridge - creates a bridge between two points.
bridge_remove - deletes a bridge.
bridge_remove_pattern - deletes all bridges that match a pattern.
bridge_transform - modifies an existing bridge.
cforce - creates a point and forces a value to be written to it.
cread - creates and reads a point.
create - creates a new point.
create_domain - creates a new domain.
creport - creates a point and requests notification of changes.
cset - creates a point and assigns it a value.
cwrite - creates a point and writes information to it.
DDEAdvise - sets up the item for a DDEAdvise connection.
DDEConnect - makes a connection to a DDE service and topic.
DDEDisconnect - disconnects and discards a DDE connection.
DDEInit - initializes the DataHub to act as a DDE server.
DDEService - assigns a DDE service name.
DDEUnadvise - removes an item from a DDE connection.
DDEUnadvisePattern - removes multiple items from a DDE connection.
DDEUnadvisePoint - removes an item from a DDE connection, by its point name.
debug - sets the debug level.
defaultprop - sets a default type for a property.
delete - deletes a point—use with caution.
deleted - checks if a point has been deleted.
div - does division on the value of a point.
domain - identifies the client domain name.
domains - lists all domains in the DataHub.
dump - writes the entire content of the DataHub to a file.
enable_bridging - enables or disables bridging capabilities
enable_dde_client - enables or disables DDE client capabilities.
enable_dde_server - enables or disables DDE server capabilities.
enable_mirror_master - enables or disables mirror master capabilities.
enable_mirror_slave - enables or disables mirror slave capabilities.
enable_scripting - enables or disables scripting capabilities
enable_tcp_server - enables or disables TCP server capabilities.
error - sends an error with an error string.
execute_plugin - executes a plugin. (experimental)
exit - shuts down the DataHub.
flush - flushes output to a terminal (Linux).
flush_log - forces an immediate update of the Script Log (Windows).
force - forces a write to a point.
format - is an efficiency enhancement for Linux.
heartbeat - establishes a heartbeat message.
ignore - ignores a given point.
ignore_old_data - ignores changes with an old timestamp.
include - includes a file in with configuration files.
instance - creates an instance of a data organization model.
load_config_files - loads configuration files.
load_plugin - loads a specified plugin. (experimental)
load_scripts - loads scripts.
lock - locks and unlocks points.
log_file - sets up a log file.
log_to_file - starts or stops logging to a file.
mirror_master - sets up a mirroring master.
mirror_master_2 - sets up a secure mirroring master.
mult - multiplies the value of a point.
private_attribute - creates a private attribute.
property - creates a property for an assembly.
quality - assigns a quality to a point.
read - reads a complete point definition.
report - requests notification of changes to a data point.
report_domain - registers points and requests information on a whole domain.
report_errors - controls the reporting of errors.
request_initial_data - gets current data when client connection is made.
save_config - forces the DataHub to save its configuration.
secure - adjusts the security level of a point.
set - sets the value of a point.
set_canonical - sets the type of a point.
show_data - displays the Data Browser.
show_debug_messages - show or hide debugging messages in the Data Browser.
show_event_log - displays the Event Log.
show_icon - displays the system tray icon.
show_properties - displays the Properties window.
show_script_log - displays the Script Log.
subassembly - creates a subassembly.
success - sets up a success message.
tcp_service - sets a TCP service name or port number for incoming slave connections.
timeout - suspends data flow.
transmit_insignificant - permits transmission of insignificant changes.
type - creates a type.
unload_plugin - unloads a plugin. (experimental)
unreport - allows a client to stop receiving data value changes to a point.
version - returns the current version number.
write - writes information to a point.

II. Obsolete and Unused Commands
bandwidth_reduce - is for internal use only.
drop_license - is for internal use only.
echo - is for internal use.
enable_connect_server - is deprecated.
EnableDDEServer - is for internal use only.
exception_buffer - is deprecated.
failed_license - is for internal use only.
master_host - is deprecated in favor of mirror_master.
master_service - is deprecated in favor of mirror_master.
on_change - is for internal use only.
point - is used internally.
qnx_name_attach - does nothing.
qnx_receiver - does nothing.
readid - should not be used.
register_datahub - replaced by report_domain.
report_all - replaced by report_domain.
report_datahubs - does nothing.
request - replaced by report_domain.
run - does nothing.
script_register - is for internal use only.
script_symbol - is for internal use only.
slave - is for internal use only.
sync - is for internal use only.
taskdied - is for internal use.
taskstarted - is for internal use.
using_license - is for internal use only.
warn_of_license_expiry - is deprecated.