One of the weaknesses of factory automation is so various kinds of protocols developed by the individual vendor automation. If you have a PLC with a different brand, almost certainly will be different communication protocols as well. This protocol is often called the I/O drivers, a program of the PLC or the specific equipment to be used when trying to read/write data I / O from a specific PLC.
For example, if you are using WonderwareInTouch HMI software, then you’ll need to use OmronHL as I/O Omron PLC drivers, and RS Linx for Allen Bradley PLC.
It is very difficult for the user (factory) to use products from several different vendors. Thus, there is dependence to the vendor, not because the quality of its products but more because they have no other choice.
OPC enables an application program to access the data source with the same protocols and consistent. OPC is like a "software bus", where the application programs (OPC clients) only need to understand how to retrieve data from OPC data sources (OPC servers). Where OPC server developed by individual vendors. Each equipment (PLC) is accessed by the computer, so users simply build OPC client applications to access it themselves.
One OPC client can directly access some OPC servers that use different software. OPC Specifications include:
• A set of COM interfaces used by the specific client and server writers. Currently COM has been replaced with API.
• Reference to a collection of OLE Automation interfaces to support the client created by business applications with a higher level such as MS Excel and Visual Basic.