OPC Toolkits and Free Source Code
The following table gives an overview of configurable OPC toolkit suppliers. These are configurable toolkits that do not require programming or compiling of code. In each case, the supported specifications (Data Access, Alarms & Events, Historical Data Access) are indicated.
The following table gives an overview of OPC toolkit suppliers. In each case, the supported specifications (Data Access, Alarms & Events, Historical Data Access) are indicated.
We no longer show individual vendors' prices for most toolkits, and instead give guide prices for different types of toolkit, irrespective of supplier. There are a number of reasons for this:
So what are our guide prices? We believe you should pay no more than these prices for OPC toolkits:
You should expect a substantial discount if buying two or more toolkits as a bundle. Similarly, you may pay a slight premium if support is offered for two or more OPC specifications within the same toolkit.
A newer toolkit type extends the rapid development model by packaging the core server functionality as an ActiveX control. This approach allows the use of Visual Basic for server development. It is less easy possible to offer a guide price for this toolkit category, though you should certainly not pay more than for an equivalent rapid development toolkit.
Matrikon's OPC Genie (Generic Information Exchange) enables the exchange of process data between OPC compliant applications and any device that supports serial or Ethernet communication. This flexibility enables you to develop an OPC server without sacrificing throughput or data integrity. Simply configure OPC Genie with the required protocol and all the data will be exposed via OPC!
No programming is required. Refer to the OPC Genie page for more information.
OPCDA.NET, OPCHDA.NET, OPCAE.NET
OPCDA.NET Server Toolkit, Historian .NET Server Toolkit
Advosol's DANSrv (OPCDA.NET Server Toolkit) and HDANSrv (OPC HDA. NET Server Toolkit) provide .NET developers with the ability to build their own Data Access and HDA servers using exclusively .NET languages (VB.NET and C# are supported). See our .NET page for more information.
XML-DA Rapid Server Toolkit
This XML-DA Rapid Server Toolkit is an ASP.NET module: a native .NET web service which makes no use of COM. The developer provides a customization component written using any .NET language. Only five functions must be implemented, and the same customization module may also be used with Advosol's OPCDA.NET COM server. Also available as a 'Professional' edition, with more options for customization.
Advosol is an OPC Foundation member.
In common with other toolkits listed here, OPC ToolWorX relies on Microsoft Visual C++ and the Active Template Library.
ICONICS also offers ActiveX ToolWorX, a toolkit targeted at the rapid development of OPC-enabled HMI ActiveX controls. ICONICS is patenting aspects of the toolkit, which it claims produces high performance, multithreaded controls. A free sample of a control produced with ActiveX ToolWorX is available from the ICONICS website.
ICONICS is an OPC Foundation member.
ifak system's _is OPC Toolkit provides a Wizard-based mechanism for implementing OPC servers, with support for Data Access 1 and 2. ifak system claim that even developers with no experience of OPC are able to generate OPC servers very quickly.
A distinguishing feature is the ability for generated OPC servers to load device definitions from XML storage.
A 'Lite' version of the toolkit, with support only for Data Access 1.0, may be ordered free of charge.
ifak system is an OPC Foundation member.
Integration Objects (an OPC Foundation member) offers solutions for rapid client and server development.
OPC Client Development Tools
These products enable rapid DA, AE and HDA client development. Features include server discovery and browsing, as well as simultaneous connection to multiple servers.
OPC Server SDK
This rapid server toolkit supports a broad range of OPC specifications: OPC DA 3.0, 2.05 and 1.0a, OPC DX 1.0 and OPC HDA 1.2, 1.1 and 1.0.
The OPC Server SDK is supplied as a Windows DLL. A separate OPC AE Server SDK is also available.
new Kepware is a latecomer to the OPC toolkit arena, but its KEPServerEX product has been a leading multi-protocol OPC DA server for a number of years. Kepware is now entering the OPC server toolkit market with CID - a Custom Interface Driver add-on to KEPServerEX.
Using CID, the developer creates a separate application which will communicate with KEPServerEX using a shared memory pool. A generated XML file informs KEPServerEX of the available address space. An advantage of this model is that the integrity of the KEPServerEX process remains intact - which may not be the case with some other Rapid server development models. This means that the certified compliant behavior of KEPServerEX should remain, and the user obtains a compliant server with no need for retesting.
This theory will be tested when CID ships in October 2009. A possible downside is increased latency - an extra process context switch at least will be needed. In addition, a dependency on KEPServerEX will presumably limit flexibility on pricing models for generated servers. As such, CID should be seen primarily as a solution for small volume applications, and therefore most applicable to System Integators.
Lab43's LightOPC is an open source OPC server toolkit, produced by a group of Russian academics and released under the GNU LGPL license.
Contrary to its name, LightOPC is a comprehensive piece of work. One Programmers' Connection reader described it thus: "easy to use, fast to integrate, and works well - its price is unequalled".
An additional library, 'ntse', is also available to support development of NT services.
Northern Dynamic's Data Access Server Toolkit packages the key OPC functionality within a single DLL (source can be purchased at additional cost if required). This approach allows the user to concentrate on the development of his particular driver, without needing extensive knowledge of COM and OPC.
Data Access 3.0, 2.0 and 1.0a are all supported, and runtime diagnostic facilities are built-in. The toolkit is certified compliant with the OPC Foundation's Comlpiance Test Software - based on a simulation server built using the toolkit. Windows CE support is also available.
The DA Server Toolkit now supports the OPC Security 1.0 specification.
Northern Dynamic's Alarms & Events Server Toolkit adopts a similar rapid development model, with the core AE functionality encapsulated in a single DLL. Northern Dynamic claims this offers improved ease of use over existing AE toolkits. Both AE 1.10 and AE 1.02 are supported. As with the DA toolkit, a Windows CE version is also available.
Usefully, Northern Dynamic's toolkits may be downloaded free of charge, and payment deferred until development is complete. If used in this way, the toolkit DLLs will timeout after 30 minutes use.
Northern Dynamic's SLIK-DA takes the rapid development model a step further, and packages the core Data Access server functionality as both an ActiveX control and a .NET Windows Forms control. All the key benefits of the company's proven Data Access toolkit remain, but with the added advantage of allowing OPC servers to be implemented using Visual Basic, VB.NET or C#. For .NET developers, both C# and VB.NET reference server implementations are included.
SLIK-DA supports Data Access 3.0, as well as DA 2.0 and 1.0a.
Likewise, SLIK-DAC is an AxtiveX and Windows Forms control for DA client development. Support is provided for development using Win32 (VB, Delphi) and .NET (C#, VB.NET). A key benefit is integrated support for COM Call Tracing, to help diagnose interoperability problem.
SLIK-DA and SLIK-DAC are unusual in at least two respects. First, both products support the (little used) OPC Security 1.0 specification. Perhaps more usefully, both also allow development licenses to be transferred between computers using a hardware key (a dongle). This option is reasonably priced at 95 USD.
See our .NET page for other products which support OPC development using .NET.
Northern Dynamic is an OPC Foundation member.
A powerful open source DA toolkit, specific to the Python language - though a general purpose console client is included. OpenOPC is covered in more detail on our Tools & Techniques page.
Prosys Sentrol is a Delphi/C++Builder component library which provides a "Rapid OPC Application Development Framework". This includes OPC DA client and server functionality, as well as database, visualization and other components.
See our Delphi page for more information.
Using a similar approach to some other vendors, the Server Development Kits simplify development by encapsulating all OPC functionality in a single DLL, known as the 'OPC Engine'. This shields the developer from the full complexity of OPC, ATL, DCOM, etc.
For even more rapid development, the XPress OPC Server Tool allows project generation using a wizard-style interface, and server development may be completed by implementing just three functions. These user-supplied functions are built as an extension DLL to the main XPress executable, and Alarms and Events support may be added by implementing additional functions.
Payment for toolkits may be deferred until the development is completed: free demo versions may be downloaded from Softing.
Windows CE (including version 5.0) is supported via modified versions of the Data Access, XML-DA, and Alarms & Events toolkits.
Softing is a member of the OPC Foundation. All Softing's server toolkits have been certified using the appropriate Compliance Test, where appropriate.
OPC Client Framework C++
The OPC Client Framework is described as an object-oriented C++ application framework, allowing rapid development of DA and AE clients.
Support is provided for Data Access 3, and a 30-day evaluation version is available.
OPC Client Framework includes a set of DA browse classes, providing an abstraction layer which supports both DA 2 and DA 3 browse interfaces.
An OPC Client Framework version for .NET is also offered. That product supports HDA and XML-DA, in addition to DA and AE.
OPC Server Developer Studio
Technosoftware's OPC Server Developer Studio differs from other rapid development products in that all common code is provided by a single supplied EXE file, while the part which must be adapted resides in a C++ DLL; this is the reverse of the model used elsewhere, but provides an elegant and straightforward development route.
Only five custom functions need to be defined by the user. The server supports all versions od OPC DA and AE, and both 32- and 64-bit operation.
A free download is available, enabling payment of fees to be deferred until server development is complete.
An OPC Server Developer Studio for .NET is also offered.
Technosoftware is an OPC Foundation member.
The uForte OPC Server supports Data Access (1, 2 and 3), Alarms & Events and HDA, all within the same package. Customization is through implementation of a CCM (Client Control Module). This may be either an EXE or DLL, and samples are supplied in both C++ and VB.
Pricing is dependent on number of installations, up to 4900 USD for unlimited use and full source code. A free demo download is available, allowing evaluation and customization prior to purchase.
WinTECH offers both server and client toolkits.
WinTECH's OPC Server Development Toolkit adopts the 'rapid development' model, whereby all OPC functionality is encapsulated in a single DLL.
An attractive feature of WinTECH's toolkit is its relatively low price: 750 USD (or 2000 USD for source code). A second advantage is that you don't have to pay a cent until your OPC server development is complete. The toolkit may be downloaded free of charge, with the restriction that the demo version of the DLL times out after 30 minutes of operation.
WinTECH's server toolkit supports Data Access 1 and 2 and Alarms & Events. More recently, toolkit support has also been introduced for Historical Data Access.
Unusually, WinTECH's OPC Client Development Toolkit also adopts a DLL-based rapid development model. Pricing is 750 USD, or 1400 USD for source code. As with the server toolkit, all development may be undertaken prior to purchase.
(Note: OPC Foundation supplies sample code for all published specifications, available to Foundation members only.)
Google Code Search also offers a possible route to free OPC source code (but check the licensing on whatever code you find).
Free Client Code
CERN - OPC Client Tutorial
CERN's sample code is supplied with a brief tutorial. This code uses a subset of the OPC interfaces, and is compatible with DA 1, 2 and 3.
beharrell - OPC DA Client SDK
Mark Beharrell's OPC DA Client SDK is a more complete toolkit for Data Access 2, providing wrapper classes to hide much of the complexity of OPC.
The OPC DA Client SDK downloads are hosted by SourceForge.
NIST - Sample OMAC HMI OPC Client
Tutorial showing development of a simple C++ HMI with OPC client capability. Includes full source code.
SourceForge hosts a number of other Open Source projects relating to OPC. Be aware that quality and maturity vary greatly between projects.
SST's sample console client has Data Access 2.0 support, and includes source code.
SST also have a freely available server download (without source), which also supports Data Access 2.0. See Free Stuff.
Free Server Code
LightOPC is an open source OPC server toolkit. See entry in toolkits listing.
OPC Servers & OPC Clients
Free OPC Tutorial,
Downloads, Webcasts, Live Advice
Hands-on experience with OPC
Learn from those who do!