OPC - OLE For Process Control: Paul C. Shafer Bently Nevada Corp
OPC - OLE For Process Control: Paul C. Shafer Bently Nevada Corp
What is OPC
A real world application of object technology used to devise a standard communication system to enable industrial plant floor devices and business software applications to communicate via a standard common protocol.
Communication
Information Islands
Business Management Process Management
Legacy Solutions
Software developers can now write clients that can communicate with hardware OPC servers using a common, efficient protocol
O P C S e r v e r V e n d o r A
O P C
C lie n t
# 1
O P C S e r v e r V e n d o r B
O P C
C lie n t
# 2
O P C S e r v e r V e n d o r C
O P C
C lie n t
# 3
Technology (continued)
COM (continued)
Dynamic interrogation of objects (IUnknown::QueryInterface) Overcomes many of the problems with OO programming by itself, class libraries and Dynamic Link Libraries (DLL). True off-the-shelf components that can be plugged in to your application
Technology (continued)
Technology (continued)
OLE Automation
Allows components to easily be used by high level custom programs (e.g. written in VB or VBA) Set of special COM interfaces
automation or ActiveX objects implement these automation interfaces
Automation Controllers
Clients that can integrate those objects
Technology (continued)
ActiveX
Umbrella term that used to be known as OLE controls. Now ActiveX controls.
COM / ActiveX technology is really what allows the plug-in reusable components.
OPC Interfaces
Custom Interfaces
COM interfaces Required by all OPC servers Clients written in C++ will typically use the custom interface
more efficient than Automation interface greater flexibility and power (e.g. Automation interfaces limit you to automation compatible types as parameters and return values)
Interfaces
Automation Interfaces
OLE Automation Optional implementation Suited for scripting language clients (e.g. VBA) or automation controllers.
C++ Application OPC Custom I/F OPC Server (In-Proc, Local, Remote, Handler) VB Application OPC Automation I/F
Conclusion
Application X
Application Y
...
OPC Interface OPC Interface
OPC Server A
OPC Server B
OPC Server C
Conclusion
Business Management Process Management
References
OPC TaskForce, OLE for Process Control Standard, Final-Release Version 1.0, 1996. OPC Foundation home page: http://www.opcfoundation.org/ Box, Don. Essential COM Addison Wesley Longman Inc. 1998. Robinson, Steve, Krassel, Alex COMponents, Panther Software. 1997. Brockschmidt, Kraig. Inside OLE, Second Edition. Microsoft Press, Redmond, WA, 1995. Mark Edmond, Efforts Advance to Tie Shop-Floor Automation to Back-Office Systems, Start Magazine Volume 2, Number 1, January / February 1998. http://www.startmag.com/v2n1/v2n1opc1.asp OPC TaskForce, Definitions and Interfaces, Version 1.0, 1998 OPC Finds Strong Validation Among End Users, http://www.controlmagazine.com/opc/opc030.html No Rest for the Dedicated, Control Magazine, September 1999 http://www.controlmagazine.com/supplement/nrd.htm http://www.controlmagazine.com/supplement/toc_new.htm http://www.controlmagazine.com/opc/index.html http://www.startmag.com/v2n1/v2n1opc0.asp http://www.startmag.com/1998v2n4.asp