OPC is communicating software-to-software for operator display while Modbus/Profibus is communicating hardware-to-hardware for control. OPC is mostly a standard interface software between a driver, mostly for networks and device hardware, and also a databases, and the application display for example software of HMI/process visualization. Though, there are hundreds applications from many mnufacturers presenting different functions that are based on OPC.
OPC is principle within the environment of Windows to get data from the server I/O to other applications for example process control, soft alarms, graphics, trend, advanced control, auto tuning, statistical etc. anyway if the applications are implementing on the different or same computers.
OPC is not the finest option for interlock communication and closed loops between controllers. Because it is not completely deterministic or real-time.
You can use Windows NT4 and 2000 in installations prosperity and it works and runs. It has also come across terrible implementations of OPC clients and servers, mostly in the early days of OPC. If you are using Windows does not mean you have to use OPC. Though we have to be agree that Windows 95 and 98 are more unstable than just about any product ever launched. Windows 2000 is really solid and it can not say that it is causing any trouble. You can apply Modbus/TCP between 2 Windows machines simply. Not working OPC are commonly because of memory leaks due to bugs of software in the server or client. Server shutdown is the common issue.
You can use either Modbus, Profibus, or any other fieldbus for closed loop control for instance Foundation fieldbus. Modbus and Profibus are almost similar from outside but there are some differences. Modbus and Profibusis the PLC-world with Profibus coming from Siemens and Modbus coming from Modicon. Both use RS-485 media while Modbus can also apply with RS-232. Though, due to the requirements of timing Profibus need dedicated cards of interface while Modbus can use the RS-232/RS-485 converters and standard PC serial port.
Both are master-slave protocols though Profibus builds a characteristic between cyclic and acyclic commands. The cyclic commands are repeated utilized for real-time I/O where write and read is done by a single command in Profibus. Acyclic commands are used for non-real-time communication like configuration and diagnostics.
Modbus has been around about for many years. It is all software driven and does not need any cards of scanner, Just RS-485 or RS-232. A lot of companies create software drivers for Modbus. Profibus has been around for long time ago but not as long as Modbus. This is a fine protocol but does need a card of scanner, file of GSD, and software configuration. OPC is software interface that translates tag names to tell a protocol address or to a card of scanner. For instance: Tag-name of HMI software, OPC Tag Name to Address, Protocol or Scanner Address. OPC can build life simple to interface.
Modbus/TCP is idyllic for interlock communication and closed loops between controllers. Modbus/TCP is not the most excellent option for communications between computers or between applications software. It is because the Modbus/TCP simplicity comes from a lack of logical object structure and a standard data types. Modbus breaks data down to the lowest feasible denominator. That’s why it can move to anywhere, but once it takes there it gets many user configuration attempt to plan registers Modbus back into names of parameter and group them rationally in objects and separating what all the types of data are thought to be after all has been changed to words of Modbus. For some parameters it is feasible, but with the great amount of information accessible in up to date systems it does not fly.