TCP/IP協議只是網絡層的協議,OPC協議是應用層的數據協議,把自動化采集數據以一定格式傳輸給客戶端,在網絡的底層傳輸過程是基於TCP/IP協議得以進行的。TCP/IP協議是由硬件處理的,工作在TCP/IP層,對於應用層而言,TCP/IP的API函數可以傳輸任意長度不為0字節的數據,對應用層的數據格式無要求。
OPC協議:OPC是一種利用微軟的COM/DCOM技術來達成自動化控制的協定,采用典型的C/S模式,針對硬件設備的驅動程序由硬件廠商完成,提供統一OPC接口標准的Server程序,軟件廠商只需按照OPC標准接口編寫Client程序就訪問Server程序進行讀寫,即可實現與硬件設備的通信。
TCP/IP協議:TCP/IP協議又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標准。協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一台聯網設備規定一個地址。
為了便於傳輸和解析特定種類的數據,在TCP/IP層之上的應用層中對傳輸的數據格式進行規定,就形成了應用層的通信協議。由於應用層的開發難度較硬件和驅動容易很多,所以應用層的通信協議五花八門,每一個知名的PLC廠商都各自開發有自己的通信協議。其中MODBUS協議是應用最廣泛的應用層協議。而OPC/MQTT是近年熱起來的。每一種通信協議都可以傳輸所有的工業數據,並沒有哪一家的應用層通信協議特別強大,因此OPC和MQTT會火,多少含有一定的炒作成分。
任何人只要願意,就可以開發自己的通信協議。不一定能流行,但自用是沒有問題的。一些需要保密的場合就是采用專用的協議。通信協議對底層的依賴性不高,比如MODBUS是二進制報文,可以通過任意一種總線傳輸,但是通常把MODBUS協議用於485總線。OPC是基於TCP/HTTP建立的,其報文中含有HTTP語法,但是只要是二進制數據,就可以使用任意的總線傳輸,只不過通常的OPC都是以HTTP服務器方式構建的,采用以太網傳輸。

