Easily exchanges data between OPC DA servers

Licensing starts at $602.00
Download Free Demo

Product Overview

LinkMaster provides a means of linking data between OPC servers, thus serving as a universal bridge for OPC systems. LinkMaster acts as both an OPC server and DDE server, allowing it to bridge legacy DDE systems and new OPC-enabled applications.

Programming Knowledge Optional

LinkMaster is a fast and robust Windows application that requires no programming knowledge. Simply "Drag and Drop" to create your links. Built-in scaling, user-access manager, error tracking, and write optimization capabilities provide total control of your data flow and application access.

Control Data Transfers with Link Groups

Link Groups are used to form collections of OPC items that will be moved between OPC servers at a specified rate. Using multiple Link Groups, LinkMaster allows you to control how fast data is transferred from one OPC server to another. By using Link Groups with different update rates, you can tailor your data transfers to fit the needs of the application. While one item may need to be sent at high speed, other items in the application may need slower update rates. Link Groups gives you that control. The benefit is reduced network traffic and increased reliability.


LinkMaster provides fully-featured data bridging, drag and drop link creation, error logging, support for creating Custom Remote Machine references, and more.

Built-In Redundancy

This feature allows a pair of LinkMaster machines to operate in redundant pairs where one LinkMaster machine operates as the "Primary" node and the other as the "Secondary" node. When the "Primary" node fails, the "Secondary" node promotes itself and takes over the role of the primary. When the "Primary" node comes back up again, the "Secondary" node demotes itself and the "Primary" node performs the data transfer once again.

Supports COM and DCOM

Based on Microsoft's COM technology, OPC servers can share data with remote client applications using DCOM (Distributed COM). DCOM allows you to use a single OPC server to provide data to client applications running both locally and on remote machines. DDE is not without its own means of allowing remote access. All of the DDE formats supported by LinkMaster can also be accessed remotely using what is known as NETDDE. NETDDE allows a remote DDE client application to use the machine name of a remote DDE server when specifying a DDE link. LinkMaster has been designed to allow both of these methods of remote server access. In terms of OPC connections, LinkMaster will properly configure your DCOM settings to allow remote OPC clients to access and browse LinkMaster. For DDE clients, LinkMaster will automatically start NETDDE services and register all of the required DDE shares, allowing remote DDE clients access to device data. Establishing DDE share names can be a time consuming process for the application, therefore, by default, NETDDE services are not enabled in LinkMaster.

Runs as a Windows Service

LinkMaster supports running as a Windows service. Service operation is completely user configurable from the Tools|Options menu, and can be changed at any time allowing you to move from normal, stand alone program operation, to NT service mode. Running as a NT service is crucial for many applications where LinkMaster is providing data to OPC clients via DCOM. For these applications, loss of a DCOM connection can not be tolerated. Normally, an OPC server that only supports stand alone program operation is forced to shut down when the host machine experiences a user log in or log out. While running as a service, LinkMaster can continue to supply OPC data across user log in sessions and can be configured to interact with the desktop, allowing you to make changes to your LinkMaster project. It can also be configured to have a non-visible presence while running.

Data Scaling

LinkMaster supports direct scaling of link item data. Scaling allows raw data to be converted to engineering units for OPC client applications. LinkMaster provides a number of unique scaling features, such as Linear and Square Root formula scaling. You can also specify the range of the raw data input and the engineering range of the scaled value. In some cases, the raw data input received may exceed the range set for the raw data. If this occurs, the engineering value can be forced outside of the range you desire. To prevent this, LinkMaster allows you to clamp the scaled value to the engineering ranges. In most cases, it is always assumed that a scaled value results in a floating point number. LinkMaster doesn't make this assumption and allows you to select the scaled engineering value to be any valid OPC data type. This means you can scale a 16-bit integer value to a 32-bit integer value.

Link Item Management

LinkMaster's link management system allows you to create a Link database structure that fits the nature of your application. Multiple Link groups can be added and defined to segregate your Link items into meaningful groups. Drag and drop editing makes adding a large number of tags easy. Unique Link Management features allow new links to be created on the fly using convenient "Drag and Drop" and "Tag Browsing" methods.

User Management

In certain situations, managing what your users can and cannot do in your OPC application can be a necessity. LinkMaster includes a built in User Manager that allows complete control over what types of functionality each individual user can access. The default administrator account allows you to add multiple users, each with their own set of rights for LinkMaster access. Any user log in/log out is recorded in LinkMaster's event logging system, the EventViewer. By default, all operations are available at all times until you decide to set privileges.


Included with the LinkMaster package is a stand alone event monitoring application called the EventViewer. The EventViewer is a 32-bit Windows application that monitors and displays events occurring on any running LinkMaster application, either remotely or locally, allowing multiple LinkMaster systems to be monitored concurrently.

Use Case Scenarios

OPC Server to OPC Server Bridging

The most common scenario for LinkMaster is to link data between two (or more) OPC servers. As an example, a customer might be using RSLinx for connectivity to Allen-Bradley PLCs and Kepware's U-CON driver for connectivity to a checkweigher. In this example, the customer wants to easily send scale data to the PLC.

OPC Server Collector or Gateway

Another interesting application for LinkMaster is functioning as a single OPC server that serves data from multiple OPC servers. This approach demonstrates LinkMaster's capability to act as both a client and a server. As an example, a customer might have a single OPC connection available from an OPC client application, but have multiple OPC servers from which he or she needs to acquire data. 

OPC Server within Server Bridging

This scenario is commonly used when a customer wants to route data between two PLCs connected to the same server. Using LinkMaster to define the tag data routing can be much easier than creating new ladder logic in your PLCs (especially for legacy systems). As an example, a customer might be using KEPServerEX to connect to an Allen-Bradley ControlLogix PLC as well as a Yokogawa DX Data Recorder.

Case Studies


Available Languages

  • English

Application Support

  • DDE Format CF_Text and AdvancedDDE
  • OPC Data Access (OPC DA) Versions 1.0a and 2.0

Release Notes


  • Updated launch permissions and administrator settings to improve secure by default installation.



  • Resolved an issue where the Configuration did not update correctly after enabling the redundancy feature.
  • Corrected an issue where the Link Item Output datatype changed after closing the Link Item properties dialog.
  • Fixed an issue that could cause slow browsing of the LinkMaster project from the Configuration.
  • Updated the Quick Browse window to automatically close after an item is selected (double-clicked).
  • Added an option to allow non-zero dead values to force Booleans to false (choose Tools | Options in the Configuration and select the Links tab).
  • Added a checkbox to the General tab of Link Item properties to allow users to ignore quality and timestamp changes and only write change of value (COV) to output items.
  • Added a deadband feature to reduce the write volume to Link Outputs. Deadband can be accessed from the Input tab of Link Item properties and is most useful for Links using floating point data types.
  • Added a rudimentary OPC diagnostic logging capability to assist with troubleshooting connectivity issues with third-party OPC servers. Diagnostics are disabled by default and should only be enabled if instructed by technical support.

Event Viewer

  • Updated event log messages to use the correct icon for client/server related connection messages instead of a bug icon.


  • Fixed a timing issue that could cause the Runtime to hang when loading a project or saving changes.
  • Fixed an issue where connecting or disconnecting a client (including the Configuration) would incorrectly trigger a write to Link Outputs.
  • Resolved a design flaw in the client I/O refresh rate that could cause unwanted delay. This was most noticeable with a rate set to a high interval, such as five minutes or more.
  • Updated OpenSSL components to version 1.0.2j.


  • Updated to the latest third-party license redistributables.



  • Resolved an issue where the Runtime was incorrectly shutting down following a File | Exit of the Configuration. This issue only affected the Runtime if the Process Mode was set to Interactive and no other OPC clients were connected to the Runtime's server interface.
  • Resolved an issue where the Runtime could lock up if a project that had redundancy enabled was loaded.
  • Updated the Runtime to respect OPC ProgID Redirect settings from KEPServerEX. Before this update, LinkMaster was unable to connect to Third-Party OPC ProgIDs that had been redirected by KEPServerEX.
  • Fixed an issue where a Link Output that was not accepted by the target OPC server would keep other links from being updated.


  • Resolved several issues where Link Items in the Configuration View were not showing the status of the link correctly. When either the input or the output of the link is not functioning, the Link Item should appear gray to indicate a problem with the link.
    • Fixed an issue where Link Items displayed green if LinkMaster timed out while waiting for a Write Complete notification.
    • Fixed an issue where Link Items displayed green if a new value needed to be written and the WriteComplete notification came back with an error.
    • Fixed an issue where the Link Item did not change from green to gray when the remote OPC server was unavailable due to a lost network connection.



  • Fixed an issue in LinkMaster that caused some OPC Servers to report "HR=C004000C" when attempting to add groups.
  • Fixed an issue with LinkMaster's Redundancy feature where the Secondary (Hot) and Secondary (Warm) modes would not resume as expected after a broken server connection was re-established.
  • Fixed an issue where configuration changes made to LinkMaster's Redundancy feature could break links.
  • Configuration

  • Suppressed connection-related error messages from being posted to the Event Viewer during a Save or Save As operation.
  • Fixed an issue where the Configuration became unresponsive during a Save or Save as operation
  • Event Viewer

  • Fixed an issue with LinkMaster's event icon severity levels, where some events listed as errors should have been listed as warnings.
  • License Utility

  • Fixed an issue where the License Utility could stop running when launched on certain operating systems. The utility was using an invalid method to de-allocate specific strings.
  • Expanded support for RAID hard drive configurations, virtual environments, and operating systems.


    Initial release of version 3 LinkMaster

  • Improved support for Windows 7, Vista, and Server 2008
  • Separate Runtime and Configuration
  • Interactive Update mode for Configuration application
  • Security enhancements for User Manager feature
  • Stand-alone License Management Utility with enhanced Hardware Key support
  • Processor Affinity for Multicore Processors (Restrict process to specific CPUs)
  • Process Priority Management (Run process at a higher priority)
  • Enhanced Project Management (Project specific settings travel with project)
  • OPC Connection Security



    • LinkMaster now allows a connection to an OPC server whose ProgID has been redirected.
    • Extended the Dead Value range from 0 through 65535 to -65535 through 65535.
    • Added support for LinkGroup-level CSV import/export.
    • Input items will no longer be polled when "Enable Link Transfers" is disabled in the Link Group.


    • Fixed an issue where if LinkMaster was running in Service Mode and the desktop shortcut (or System Tray icon) was double-clicked, the UI did not come to the foreground.
    • Fixed an issue in which scaling was not being applied to writes in certain situations despite being enabled. This occurred when a link item experienced a write failure: retries would write the raw value instead of the scaled value.
    • Fixed an issue in which a deadlock could occur when attempting to import a project-level .CSV file that contains errors.
    • Fixed an issue in which changes made to the Access Path setting in the Link Item Outputs dialog would not allow users to add or update the modification unless another setting was also modified on that same page.
    • Fixed an issue with the Redundancy functionality in which the Secondary LinkMaster application would not restart the Source or Target OPC server if its secondary redundancy mode (such as Warm, Cold, or Hot) was modified.
    • Fixed an issue where the CSV Import removed embedded double quotes.



  • Added "Redundancy" feature. This feature allows a pair of LinkMaster machines to operate in redundant pairs where one LinkMaster machine operates as the "Primary" node and the other in "Secondary" mode. When the "Primary" node fails, the "Secondary" node promotes itself and takes over the role of the primary. When the "Primary" node comes back up again, the "Secondary" node demotes itself and lets the "Primary" node perform the data transfer.
  • Increased name field length from 31 to 80 characters for link items and link groups.
  • Added ability to disable reads in inputs when link transfers is disabled.
  • Added ability to allow LinkMaster connections to itself on the local machine.
  • Added link description sub-item to our link item display.
  • Fixes

  • Fixed issue where LinkMaster produced an anomaly when the OPC servers it is bridging are on a remote machine and the network connection on the LinkMaster machine is reset (connect/disconnect) very frequently.
  • Fixed issue when adding a link item that contains a data type that is not supported by LinkMaster. The item would be removed twice, the second time potentially removing a valid item which would then break the link.
  • Fixed painting issue with the item value display not updating correctly if all items in the view went to bad quality at the same time and the value was passed in as the last known value.



  • Fixed issue where we would set the link group status to bad if we receive an item update for an input prior to attempting to add the output.



  • Added project backup capabilities. This feature will always perform a backup of an existing project file prior to overwriting the file. This option can be turned on through the Tools|Options|General menu item.
  • Fixes

  • Fixed issue where we would send a write to an output on the first update of the input, regardless of whether or not the quality associated with the input was good.
  • Fixed issue with returning OPC array data to remote clients over DCOM when acting as an OPC server.
  • Fixed issue where we would send a bad quality write to an output if the addition of the output item(s) occurs after we originally receive the bad quality input update.
  • Fixed issue where we could send a write to an output if the input server returned a value with good quality, but also included a failure code to indicate the VQT could not be set appropriately.
  • Fixed issue where you could not close message boxes invoked from either the link group or link item property dialogs.



    • Added support to retry AddItem requests to underlying OPC servers that previously failed the AddItems request. These are retried at a user-specified interval under Tools|Options|Links.
    • Added support for user to control how the application window is displayed when started by a client or minimized to the task tray. These settings are located under Tools|Options|View.
    • Added ability to select whether or not the application should retry writes to outputs that return a write complete failure. By default we will retry writes as this has been the default behavior prior to this feature.
    • Added support for Boolean arrays.


    • We no longer allow users to make modifications to a project during an import CSV operation. This should have been the case in earlier releases. This prevents painting issues caused by this condition.
    • Fixed issue where LinkMaster would send repetitive Asynchronous Read requests without waiting for the previous callback to be returned from the underlying server(s). This would cause unnecessary memory usage in the server(s) and increase network traffic if used over DCOM. This issue only affected projects that had set a 'Client I/O Refresh Rate' on one or more link groups.
    • Fixed issue where the Toolbar and Status bar state was not properly saved when the application is shutdown and the window is minimized.
    • We now place double quotes around all CSV export fields that contain string data. This allows the application to re-import the same or modified CSV that contained characters that affected the parsing of the CSV file (e.g., commas).
    • Fixed performance issues when importing a CSV project that references machines and/or OPC servers which are not available but are referenced in the CSV configuration.
    • Fixed the scaling write issue where an unscaled write would be sent down initially followed by a scaled write, when scaling was enabled and the underlying OPC items were initially added or re- Added due to configuration changes.
    • Fixed issue with improper 'status' icon updates for link groups/items that contain outputs that failed the add item request. In this case, the icon displayed next to the link item would still show as green vs. gray.
    • Modified the Quick Browse window to no longer be a TOP MOST window, so that when another application's window is selected, it will fall to the background along with the main LM window.
    • Fixed anomaly that could occur while the Quick Browse window is displayed and the user obtains access to the LinkItem property dialog (by right-clicking on the application title bar located on the task bar) and issues a close.
    • Fixed issue that could cause the application to hang if the user attempts to terminate the application while it is in the middle of opening or closing a project.
    • Fixed issues which delayed the application from terminating in a timely fashion when the project being closed is currently attempting to connect to unavailable machines/servers.
    • Fixed array write marshalling issues that could occur on some systems.
    • Fixed link item status issue not reporting that it failed to write to an output item that belongs to a machine or server that is unavailable.
    • Modified browse filter to use "*" rather than a null string. Some servers do not return all leaves when sending a null string.
    • Fixed item browser paint issue that occurred if a server returned leaves with no fully qualified item ID.



  • Fixed issue where we would not write to link item outputs after receiving a shutdown notification from the server (which owns the outputs)and performing a successful reconnect to the server. This only occurred when write optimizations was set to send last update only.
  • Fixed issues with not being able to change the machine name on the fly for link item input or output when editing the machine name, rather than selecting something from the drop down control.
  • Fixed issues with repainting the Quick Browse view if we lose communications with a server displayed in the view.
  • Fixed anomaly that could occur if LM is shutdown while there is 1 or more event viewer connections outstanding.
  • Fixed issue where dead value would not get sent to clients and LM link view pane until server reconnect attempt complete. This could take 2 or more minutes if reconnect resulted from network problem. Updates are now immediate upon detection of connection propblem.
  • Fixed issue where full connection with remote servers could not be established after a temporary network failure.
  • Added INI File option "Always Browse Servers From Local Machine". This allows LM to connect to OPC servers running on remote machines that cannot run opcenum.exe. The servers must be registered on the local machine, and local machine must be running opcenum.exe.
  • Enhanced service mode operation. No longer need to start and stop from service manager. Can access from system tray.
  • Fixed issue where dead value was not being sent to link output items.
  • Fixed issue where extended demo periods (60 day or longer) were not being honored.
  • Fixed issue where "Unknown quality" would be displayed in property view if limit bits (in OPC Quality value) were non-zero.
  • Fixed issue where items with unsupported data type would not be removed correctly.
  • Added Date data type.
  • Added license number field in Help/About dialog.

  • Added support for creating Custom Remote Machine references for machines/devices that do not expose themselves through a 'network neighborhood' interface.
  • Fixed issues with not properly reattempting to establish connections to server(s) if the initial connection partially succeeds (i.e., connect to opcenum succeeds, connect to server fails).
  • Fixed issues with not properly re attempting to establish connections to server(s) if the initial connection attempt fails.
  • Fixed byte alignment issue between DDE layer and application layer that was introduced when dead band took scaling into account.

  • Fixed ability to connect to remote inprocess servers.

  • Fixed default project open/save paths to be <product installation>\Projects.
  • Fixed window flickering issue when performing any operations which invokes a busy dialog.
  • Added necessary logic to utilize dead banding on scaled values to work with the latest OPC library.

  • Fixed object pointer validation (OPC Layer) to check to see if we have access to the specified memory location, prior to check in the object signature.

  • Fixed issue with browsing internal groups from a client.

  • Increased wait to restart period from 5-30 seconds to 5-600.
  • Fixed issue with properly observing the restart period.
  • Operating Systems

    • Windows 8
    • Windows 7 Professional/Enterprise/Ultimate
    • Windows Server 2012
    • Windows Server 2008 and 2008 R2
    • Windows Vista Business/Enterprise/Ultimate
    • Windows Server 2003 SP2
    • Windows XP Professional SP3 or higher

    System Requirements

    • 2.0 GHz Processor
    • 1 GB installed RAM
    • 180 MB available disk space
    • Ethernet Card
    • Super VGA (800x600) or Higher Resolution Video


    As of November 15, 2016, LinkMaster V2 is no longer supported. You can continue running a V2 instance, but will not receive technical support or software patches. Please contact a Kepware representative or your local Kepware Partner to discuss your options for upgrading.

    Learn More