Feedback

Skip to main content

OPC-HDA Extractor

The OPC-HDA Extractor is designed for environments where operational data must be read from historical archives instead of live control systems. It connects to OPC Historical Data Access (HDA) servers, retrieves time-series data, and streams it to tStore for analysis, visualization, and long-term performance tracking.

This Extractor is ideal for backfilling existing historian data into Transpara or synchronizing archived datasets with real-time metrics for a unified operational view. It can operate in scheduled, continuous, or on-demand mode, depending on your data strategy and system configuration.

Key Capabilities

The OPC-HDA Extractor runs as a Windows service built on .NET Framework for simple installation and control. It supports both historical extraction and real-time polling, giving you flexibility to capture data over time while maintaining awareness of current conditions.

It includes chunk-based processing for handling large datasets efficiently, startup recovery to automatically fill recent data gaps, and memory-aware buffering to maintain stability during high-volume operations. A built-in web interface allows configuration at http://localhost:9200/settings-ui/.

Installation and Requirements

The OPC-HDA Extractor installs as a Windows service and typically runs under the NetworkService account.

Supported Platforms

  • Windows Server 2016 or later

  • Windows 10 or later

Dependencies

  • Most recent version .NET Framework

  • Network access to the OPC-HDA server

  • Network access to the target tStore endpoint

Installation Steps

  1. Copy the compiled application files to the installation directory
    (default: C:\Program Files (x86)\Transpara\Extractors\OPC-HDA Extractor\)

  2. From an Administrator command prompt, run:

TransparaExtractorOPCHDA install -servicename "Transpara OPC-HDA Data Extractor" -displayname "Transpara OPC-HDA Data Extractor"

  1. To manage the service, use:

TransparaExtractorOPCHDA status

TransparaExtractorOPCHDA restart

If connecting to a remote server, ensure DCOM configuration and firewall rules allow HDA communication (TCP 135 and dynamic ports 1024–65535).

Configuration

All configuration settings are managed through the App.config file or the built-in web interface at http://localhost:9200/settings-ui/.
The Extractor allows fine control over data retrieval, backfill scheduling, and performance tuning.

Main configuration areas include:

  • OPC Connection – Server host, program ID, and data access mode.

  • Backfill Settings – Start/end times, chunk duration, and polling intervals for historical reads.

  • tStore Configuration – Target endpoint, batching, and concurrency options.

  • Buffer and Memory Settings – Flush thresholds and maximum record counts.

  • Logging – Adjustable verbosity, debug item lists, and log rotation controls.

  • Start up recovery settings – Ensures you don’t miss data on a restart or reboot of the extractor.

Changes can be made through the web interface or directly in the configuration file. Most updates apply immediately; others may require a service restart.

Note: This configuration walkthrough represents one common approach. Extractors are flexible, and depending on your environment, data strategy, or deployment model, there are multiple valid ways to structure and tune configuration settings.

Core Configuration Settings

Extractor Configuration

SettingDescriptionDefault
idUnique identifier for this extractor instance-
enabledEnable or disable the extractor serviceTrue
opc_server_hostHostname or IP address of the OPC-HDA server-
opc_server_prog_idProgram ID of the OPC-HDA server-
dataset_nameName of the dataset in tStore-
max_memory_allocation_mbMaximum memory usage before restart512
opc_max_value_return_count_per_itemMaximum values to return per item per read5000

OPC-HDA Configuration

SettingDescriptionDefault
opc_polling_enabledEnable real-time polling modeFalse
opc_polling_interval_secondsPolling rate for real-time data collection30
opc_processing_batch_sizeBatch size for processing OPC data10000

Backfill Configuration

SettingDescriptionDefault
backfill_enabledEnable historical data backfillFalse
backfill_startStart time for backfill (ISO 8601 format)-
backfill_endEnd time for backfill (ISO 8601 format)-
backfill_chunk_duration_minutesDuration of each backfill chunk4320
backfill_polling_interval_secondsInterval between backfill operations15

Startup Recovery Configuration

SettingDescriptionDefault
startup_recovery_enabledEnable startup recovery backfillFalse
startup_recovery_backfill_secondsDuration of startup recovery backfill900

tStore Configuration

SettingDescriptionDefault
tstore_endpointtStore API endpoint URL-
tstore_max_batch_countMaximum records per batch50000
tstore_http_timeout_secondsHTTP timeout for tStore requests150
tstore_overwrite_dataAllow overwriting existing dataFalse
tstore_max_concurrent_tasksMaximum concurrent upload tasks3

Buffer Configuration

SettingDescriptionDefault
data_buffer_count_thresholdRecords threshold to trigger buffer flush1000000
data_buffer_time_threshold_secondsTime threshold to trigger buffer flush15
data_buffer_max_countMaximum records in buffer5000000
data_buffer_sliding_window_percentageSliding window percentage for buffer management10

API Configuration

SettingDescriptionDefault
api_base_urlBase URL for the extractor’s web APIhttp://localhost:9200/

Logging Configuration

SettingDescriptionDefault
log_onlyLog data without sending to tStoreFalse
log_opc_read_eventsEnable OPC read event loggingTrue
log_tstore_send_eventsEnable tStore send event loggingFalse
log_tstore_worker_eventsEnable tStore worker event loggingFalse
log_json_sentLog JSON data being sent to tStoreFalse
log_folder_nameName of the log folderOPC-HDA Extractor

Debug Configuration

SettingDescriptionDefault
debug_item_watchComma-separated list of OPC items to debug-

Tag Configuration

The file items.dat contains the list of OPC-HDA items to be monitored.
Each item should appear on a separate line, for example:

Aliased.Test00001

Aliased.Test00002

Aliased.Test00003

Note:
The service account must have write permissions to this file to allow runtime updates.

Operation and Data Flow

Once running, the OPC-HDA Extractor connects to the designated HDA server and begins pulling historical or near real-time data, depending on configuration.

Data is read in time-based chunks, processed locally, and streamed to tStore in batches. This approach ensures that even multi-gigabyte archives can be migrated efficiently without overloading network or system resources.

When running, the OPC-HDA Extractor can perform historical backfill and real-time polling independently or in parallel. Backfill operations retrieve archived data in chunks, while polling mode continuously checks for new records as they appear on the server. These modes do not depend on each other; you can enable either one or both based on your data strategy and how closely you want tStore to stay aligned with the source.

If a failure occurs (network, memory, or server timeout), the service automatically resumes from the last known timestamp without manual intervention.

Use Cases and Best Practices

The OPC-HDA Extractor is built for scenarios where data completeness and reliability matter most — such as building historical baselines, validating models, or training predictive analytics.

Example scenarios

  • Importing archived data from a legacy historian into tStore for analysis

  • Combining past production and maintenance records to identify performance trends

  • Reconstructing long-term asset histories to support AI/ML model training

Best Practices

  • If you want to pull historical data use backfill mode for initial data migration.

  • Verify DCOM settings and user permissions before remote connections.

  • Use chunk durations that balance memory efficiency and throughput (e.g., 1–3 days of data per batch).

Troubleshooting and Logs

These are the default configurations, but they can be adjusted based on your environment and operational preferences.

Logs are stored in:
%ProgramData%\Transpara\Extractors\OPC-HDA Extractor\Logs\

Each log file rotates automatically at 50 MB, with up to 10 archived versions retained.

Common Issues

  • Service not starting – Confirm .NET Framework and the Integration Objects toolkit are installed.

  • Connection timeout – Check DCOM configuration, remote permissions, and firewall access.

  • Partial backfill – Verify that the time range is valid and the server has historical data available.

  • Memory usage spikes – Adjust buffer thresholds or reduce backfill chunk duration.

If needed, the service can be restarted manually or remotely via the web API.

Need help or have questions?

If you need assistance installing, configuring, or troubleshooting this Extractor—or want guidance on how it fits into your broader Transpara deployment—we’re here to help.

Email: support@transpara.com
Phone: +1-925-218-6983
Website: www.transpara.com/support

For enterprise customers, our team of real-time operations experts can also assist with integration, optimization, and performance tuning.

If something isn’t working as expected, reach out. We’d rather help you get it running right than leave you guessing.

Next Steps

After loading historical data into tStore, you can begin correlating it with real-time metrics or combining it with other data sources using tCalc and tModel.

For continuous monitoring or real-time streaming, see: