OPC – History OPC (OLE for Process Control) is an industry standard created with the collaboration of a number a leading worldwide automation and hardware software suppliers working in cooperation with Microsoft.The organization that manages this standard is the OPC Foundation.The Foundation has over 150 members from around the world, including nearly all of the world’s major providers of control systems, instrumentation, and process control systems.The OPC Foundation’s forerunner — a task force composed of Fisher-Rosemount, Rockwell Software, Opto 22, Intellution, and Intuitive Technology — was able to develop a basic,workable, OPC specification after only a single year’s work. A simplified, stage-one solution was released in August 1996. The objective of the OPC Foundation is to develop an open, flexible, plug-and-play standard that allows end users to enjoy a greater choice of solutions, as well as sharply reducing development and maintenance costs for hardware and software suppliers. The OPC Foundation has been able to work more quickly than many other standards groups because OPC Foundation is simply building on an existing Microsoft standard. Other groups which have had to define the standards “from the ground up” have had a more difficult time reaching consensus as a result of the scope of their work. Microsoft is a member of the OPC Foundation and has given strong backing to the organization. However, Microsoft has been careful to remain in the background and let the member companies with direct industry experience guide the organization’s work. One of the most valuable aspects of Microsoft’s participation is the fact that it hosts an annual OPC Foundation meeting in Redmond,Washington (Microsoft Headquarters) to provide Foundation Members with a preview of coming developments in OLE/COM and other Microsoft technologies. Many Foundation Members are small companies and would not receive that kind of briefing from Microsoft if they were not Foundation Members. End-Users are encouraged to join OPC Foundation, and several manufacturers actively participate in the specification and technical review process. Both End – Users and Automation Suppliers benefit from having a standard. For every automation system installed today, there is a significant amount of time and money spent on integration. OPC ensures that automation systems can share information and interoperate with other automation and business systems across their plant or factory.
COM – What is it?
The Component Object Model provides standard interfaces and inter-component communications. COM is a Microsoft concept used to communicate between components on the same computer. Components from different machines can be combined using DCOM.
Through COM, an application may use features of any other application object or operating system, or allow for software component upgrades without affecting the operation of the overall solution. COM can be used by developers and system integrators to create customized solutions.A binary standard, COM is generic and and is the core of DCOM,ActiveX, and OLE technology.
OLE – What is it?
Object Linking and Embedding is used to provide integration among applications, enabling a high degree of application compatibility, even among diverse types of information, OLE technology is based on COM, and allows for the development of reusable, plug-and-play objects that are interoperable across multiple applications (see accompanying OLE Automation definition). It also provides for reusable, component-based software development, where software components can be written in any language, supplied by any software vendor.
OLE Automation – What is it?
OLE Automation and the underlying COM technologies were designed by Microsoft to allow components (written in C and C++) to be used by a custom program (written in Visual Basic or Delphi).This model provides a precise match for the needs of the processcontrol industry, with hardware developers writing software components in C and C++ for handling data access from a device.Through OPC, application developers can write code in any language necessary to request and utilize plant-floor data.
DCOM – What is it?
- Like OLE, ActiveX is built on the COM programming model to support the full integration of software components. It supports Distributed COM (DCOM) for the transparent integration of those same components across distributed networks, including the Internet and intranets.
- DCOM (distributed component object model) extends COM to networks (remote objects).
- It is a highly Optimized protocol, where remote components Appear to be local.
- Dcom was first released for Windows nt 4.0 in august 1996.
- Microsoft java and Vb script support dcom and activex development.
- Other companies are developing versions of DCOM and ActiveX for non-microsoft platforms.
ActiveX – What is it?
- ActiveX is a set of programming technologies created by Microsoft that enables software components created in different languages to interact with one another in a networked environment. It evolved from the OLE development standard, which in recent years has expanded far beyond the concepts of object linking and embedding that formed the original acronym.
- Most MMI/SCADA software are a container for ActiveX controls.
- ActiveX is an umbrella term of a broad range of technologies that used to be known as OLE Controls, all of which rely on COM.
- A renaming and restructuring of the OLE Controls technology, it is object-based rather than object-oriented.
- ActiveX is an open, integrated platform that lets developers and Web producers create portable applications and interactive content for the World Wide Web.
- It’s open, cross platform, and is supported on Mac,Windows, and Unix systems.
DDE – What is it?
- OLE’s predecessor, Dynamic Data Exchange, is a method of dynamically moving data among applications in the Microsoft Win32 Application Programming Interface (API).
- The DDE protocols send messages between applications that share data and use shared memory to exchange data.
- Applications can use the DDE protocol for one-time data transfer and for continuous exchanges in which applications send updates to one another as new data become available.
- Prior to OPC, hardware manufacturers that recognized the need for software connectivity to their hardware was limited in their ability to develop drivers—the choice was between DDE and a list of proprietary DDE derivatives. Selecting any of these had possible
effects of limiting the user’s choice of software or preventing the acceptance of the hardware.
- Due to OPC data exchange popularity, DDE is becoming less popular.
OPC – With the DCOM, how does it handles the remote server being disconnected problem?
DCOM provides built-in features that ensure OPC clients and servers have a robust and reliable mechanism to exchange real-time information across the network.
DCOM also handles retries and time-outs between an OPC client and a remote OPC server and tries to reestablish communications if they are disconnected.
One of the strong points of OPC is that it leverages other standard software technology like Microsoft ActiveX, DCOM, and Windows NT. Microsoft DCOM technology makes distributed, client/server networking
transparent to the OPC application. DCOM makes the underlying network communication protocol transparent to the OPC client/server. DCOM may send OPC messages using a variety of transports such as UDP,TCP/IP, and IPX, using the same OPC application using DCOM.
OPC – Can OPC implement safe shutdowns?
If you are asking if OPC can be used to implement a safety shutdown system, the answer is no.
If you are asking if OPC can implement safe shutdowns of a system, if certain conditions exist, the answer is yes.
OPC does not directly specify any type of shutdown mechanism or requirements of a client/server to provide this type of functionality. OPC servers and clients can exchange messages that contain shutdown commands.These commands can be interpreted and
implemented by the control logic running in the software and hardware control devices that are connected to OPC.
OPC – Client
A software program that is used to contact and obtain data from a Server software program either on the same computer or on another computer. A client makes a request and the server fulfills the request.
An easy example of a client would be an e-mail program connecting to a mail server or an Internet browser client connecting to a web server.
In the case of OPC,
- an HMI/SCADA Screens may be a client application that connects to an OPC sever.
- an HMI/SCADA’s Database may be a client application that connects to an OPC sever.
- OPC Client driver from any vendors may be a client application that connects to an OPC sever. So in this case the OPC Client may be I/O driver that provides the interface and communications protocol between OLE for Process Control servers and your process control software.
API is Application Program Interface, which is a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer puts all these blocks together.
Most operating environments such as MS-Windows, most HIM/SCADA software, Historian Software etc, provide an API interface so that engineers/programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.
In engineering software, Application Programming Interface (API) is a set of software functions used by an application program as a means for providing access to a specific application or operating system’s capabilities. Many OPC Servers offers API for user.
This is good stuff to get depth knowledge of OPC