is opc basically equivalent to odbc?
Mr. PLCMentor has provided the definitive explanation of OPC. I have one addition to add in my own uneloquent way:
OPC also allows the user to NOT need SCADA software. I have written numerous Microsoft Visual Basic, Visual Basic .NET, and C# operator interfaces (screens) all using OPC middleware.
I have used OPC drivers for Panasonic (Aromat), Mitsubishi, AutomationDirect, and Omron PLC's. If you know how to program in any of the Microsoft .NET languages, you can use an OPC driver to connect to a PLC.
My only "problem" with OPC is that it is ridiculously expensive. Most companies charge $500 or more ($795 is a common price point) for their OPC driver. The "justification" is that it is cheaper to buy the OPC driver than it would be to buy a more expensive SCADA package.
This is a specious justification at best. I know what it takes to write a driver, the "secret" is you need the communications protocol for that particular PLC. ALL PLC manufacturers have a communications protocol (if it can talk to a PC), so all they have to do is take that information and program it to the OPC foundation requirements. It is NOT $795 a copy worth of effort, and EVERY programmer (who knows anything about the automation market) knows that.