|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
OPC Programming with Borland DelphiClick here to go to our C++Builder page.
XML and SOAP for Delphi Developers Free Source Code'How do I use Delphi for OPC development?' This is one of the questions that we are most frequently asked. It turns out that Delphi is an ideal language and environment for OPC development, and particularly for client programming. We have therefore put together a collection of information on OPC programming with Delphi, including Delphi translations of the published custom OPC interfaces, along with source code for a simple console client and some demonstration servers. In each case, please look at the corresponding README before downloading, and please note the disclaimers in each case. Delphi Conversions of OPC Custom InterfacesView the README (also included in the ZIP archive). Download the ZIP file (last updated 2006-Jan-02). Simple OPC ClientA simple console client which demonstrates the basics of OPC Data Access 1.0 and 2.0. View the README (also included in the ZIP archive). Download the ZIP file (last updated 2006-Jan-02). OPC Server Enumerator SampleA simple console client which shows techniques for listing available OPC servers. View the README (also included in the ZIP archive). Download the ZIP file (last updated 2006-Jan-02). Demo OPC Serverupdated This code has very kindly been made available by Mark R. Drake of Everest Software and is updated for Delphi 2007. The server reportedly passes a version of OPC Foundation's Data Access Compliance Test. Good work Mark! View the README (also included in the ZIP archive). Download the ZIP file (last updated 2008-Jan-27). Note: the files contained in the Delphi Conversions of OPC Custom Interfaces download should be extracted to an 'OPC_Defines' sub-folder of this project. LIBOPCD: Lightweight OPC Server LibraryLIBOPCD is a Delphi library for creating OPC DA servers, with some restrictions and assumptions - e.g. no support for deadbands or hierarchical address spaces. LIBOPCD is an open source project, hosted by Google Code. It is administered by Sharon Rosner, author of the excellent SCADA 2.0 blog. sOPC: a Prototype OPC Server ToolkitsOPC was developed by Gerhard Schmid, with the original intention of releasing it as a commercial product. Herr Schmid later decided to put the full source of sOPC into the public domain, for the benefit of the wider Delphi OPC community. Although the documentation is brief, the code is cleanly structured. The user needs to modify only a few clearly indicated functions of the included demo server to generate his own custom Data Access server. View the README (also included in the ZIP archive). Download the ZIP file (last updated 2005-Nov-15). XRTL - eXtended Run-Time LibraryXRTL is an open source collection of Delphi packages which includes code for both a Data Access 2.0 server and client - the demo server has passed the full OPC Foundation Compliance Test for DA 2.05a. Other XRTL packages include functions for math, I/O handling, zlib compression and more. The OPC server is self-contained, with COM interfaces provided for configuring the address space and updating data values from an out-of process source. XRTL supports Delphi 7.0 and 6.0 and is provided with minimal documentation. Its author is Illya Kysil, who also made significant contributions to the OPC custom interface conversions for Delphi. XML-DA Client SampleKassl, author of the excellent dOPC Client Toolkits, has made available this free XML-DA client sample program, with source code. The sample does not use dOPC. Request messages are loaded from file, and may optionally be edited before being sent using WinInet. Responses are displayed using Microsoft's WebBrowser ActiveX. This all makes for a surprisingly useful tool, both for learning XML-DA and for testing servers. The code has been tested with Delphi 5, 6, and 7. See the header of the main.pas file for instructions. Download the ZIP file (last updated 2003-Nov-28). Toolkits and ComponentsdOPC Client ToolkitsFor Delphi (and C++Builder) developers who don't have the time or inclination to get to grips with the details of the OPC interfaces, we recommend taking a look at Kassl's dOPC. The dOPC Client Toolkit includes the dOPC DA Component for the implementation of Data Access Clients, and dOPC AE Component for Alarms & Events. dOPC gives access to almost all the power of OPC, and allows for much more rapid development than using the raw interfaces. For example, dOPC DA allows multiple groups to be easily defined at design time or runtime, reads and writes may be performed either synchronously or asynchronously, and data change events may be set up (these automatically fall back to the OPC version 1 mechanism where the server does not support Data Access 2 or 3). dOPC DA also includes the dOPCGUI component, allowing OPC item values to be bound directly to properties of visual components, such as labels or edit boxes. dOPC DA version 3.0 adds support for DA 3.00 and OPC XML-DA 1.01. It's easy to develop clients with support for both COM DA and XML-DA server access. Upgraders will find that older clients may be enhanced to support the new standards with almost no effort. Also new in version 3.0 is an HTML Help file, more example programs, and a simulation OPC server. dOPC Client Toolkit may be purchased for 590 USD, while dOPC DA and dOPC AE are available separately for 345 USD. Full source code is included in each case, and free trial downloads are available. dOPC is updated regularly, and is compatible with Delphi 5 upwards (XML-DA support requires Delphi 6 or later). Versions of dOPC are also available for Borland C++Builder and Kylix. For OPC client development, Delphi and dOPC together offer a combination of value, ease of use, performance, and flexibility that may be impossible to beat. prOpcKit: an OPC Toolkit for DelphiprOpcKit, by Production Robots Engineering Ltd, is the only released OPC toolkit aimed specifically at Delphi developers. Primarily intended for OPC server development (for which a Delphi wizard is included), prOpcKit is supplied with excellent documentation. Version 1.15, released September 2002, adds support for Delphi 7.0. Other recent enhancements include a new client-side interface which makes coding of simple clients trivially easy. An evaluation version (without source) for Delphi 5 thru 7 is available for download. A full single user license is priced at 350 GBP (around 500 USD). prOpcKit has been validated using Terravic's highly recommended Visual OPCTest Validator. Note: see our Toolkits page for other OPC server toolkits, some of which provide support for Delphi development. Prosys Sentrol - Component Based Rapid OPC Application Development Frameworkupdated Prosys Sentrol is a Delphi/C++Builder component library which provides a "Rapid OPC Application Development Framework". This includes fully compliant OPC DA client and server functionality, as well as database, visualization and other components. The methodology for connecting components closely follows standard Delphi techniques for visually building database applications. This allows an impressive amount to be achieved with no manual coding. Prosys Sentrol pricing starts at 695 EUR (995 EUR with source), or 295 EUR for a 'Lite' version - discounts are available for volume purchases. An evaluation download includes a tutorial and reference. Support is provided for Delphi 5 (and C++Builder 5) upwards. New version 4.2 offers support for Delphi/C++Builder 2007. Other Component LibrariesSee our Component Libraries page for information on other VCL and ActiveX components which may be useful for OPC client development. XML and SOAP for Delphi DevelopersDelphi provides good support for XML and SOAP, and is not tied to any particular vendor's web server architecture. The ability to implement and consume web services using SOAP is included in all versions of Delphi. An alternative SOAP implementation for Delphi is IndySoap, part of the Indy project. Versions of this Open Source suite of Internet components (excluding IndySoap) are included with Delphi 6 and later, as well as Kylix (Delphi for Linux). For an integrated solution, the dOPC Client Toolkits offer XML-DA support for Delphi, Kylix and C++Builder. Kassl, the author of dOPC, has also provided some sample code for exercising the XML-DA methods. See also our page on XML and SOAP. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||