一種上位機與下位機的通信方法和系統的制作方法
【技術領域】
[0001] 本發明涉及設備工藝控制領域,特別是涉及一種上位機與下位機的通信方法,一 種上位機與下位機的通信裝置和一種通訊系統。
【背景技術】
[0002] 在設備工藝控制領域中,例如刻蝕、太陽能、LED(發光二極管LightEmitting Diode)領域,工藝控制的軟件架構包括下位機控制軟件和上位機控制軟件兩部分。下位機 控制軟件的主要作用是直接控制機臺設備的硬件。
[0003] 上位機軟件包括CTC(集群控制器ClusterController)軟件和APC(控創系統 AutomaticPositionControl)軟件,為用戶提供友好的界面操作,顯示機臺設備的硬件參 數和狀態等信息以及通過與下位機軟件通信,實現控制指令的下傳和工藝數據的上傳,來 達到控制機臺設備的目的。
[0004] 通常,為了實現上、下位機之間的通信以及對分布式子系統的控制,需要用到中間 件,中間件是連接兩個獨立應用程序或者獨立系統的軟件,如圖1所示。ICE(網絡通信引擎 InternetCommunicationsEngine)中間件是一個適于異構環境使用,面向對象,支持廣泛 領域下實現分布式應用開發的中間件平臺。
[0005] 現有技術中基于ICE技術,上、下位機在其通信層的傳輸層上米用TCP(傳輸控制 協議TransmissionControlProtocol)完成下位機的數據采集和控制命令的下傳。
[0006] TCP協議是傳輸層一種面向連接的通信協議,提供可靠的數據傳輸,其特點是完成 流量控制和差錯檢驗的任務,保證可靠的數據傳輸。但是TCP協議在傳輸數據之前要求上 位機側和下位機側進行三次信息交互以保證數據的準確可靠的傳輸,其過程為:
[0007] 1.主機A通過向主機B發送一個含有同步序列號的標志位的數據段給主機B,向 主機B請求建立連接;
[0008] 2.主機B收到主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN) 標志位的數據段響應主機A;
[0009] 3.主機A收到這個數據段后,再發送一個確認應答,確認已收到主機B的數據段, 開始傳輸實際數據了。
[0010] 在實際生產中,數據傳輸一般需要滿足實時性和準確性的要求。利用TCP協議這 種可靠性傳輸方式能夠滿足準確性的要求;然而采用TCP協議在建立連接前必須等待接收 方響應,傳輸信息過程必須確認信息是否到達。當傳輸的數據變化速率快,需要多次采用 TCP協議建立連接,每一次采用TCP協議建立連接需要三次信息交互以保證數據的準確可 靠的傳輸,一方面,如果等待確認信息超時,則需要請求重傳,并且斷開連接時需要發出響 應信號,增加了網絡資源開銷;另一方面,當傳輸時發生數據錯誤需要重傳時,增加了網絡 中的數據量,導致數據傳輸的實時性下降。
【發明內容】
[0011] 本發明實施例所提供一種上位機與下位機的通信方法,以提高上位機與下位機的 通信性能。
[0012] 本發明還提供了一種上位機與下位機的通信裝置和一種通訊系統,用以保證上述 方法的實現及應用。
[0013] 為了解決上述問題,本發明實施例公開了一種上位機與下位機的通信方法,所述 下位機與所述上位機通過網絡通信引擎ICE中間件相連;所述網絡通信引擎ICE中間件用 于在上位機側建立第一遠程對象,在下位機側建立與所述第一遠程對象對應的第一遠程代 理,所述下位機與生產線設備相連;
[0014] 所述方法包括:
[0015] 所述下位機收集所述生產線設備產生的工藝數據;
[0016] 將所述工藝數據傳輸到所述上位機,具體包括:
[0017] 計算所述工藝數據的變化速率;
[0018] 當所述變化速率大于或等于預設閾值時,調用所述第一遠程代理,采用UDP協議 將所述工藝數據通過所述第一遠程代理傳輸到所述第一遠程對象;所述上位機用于在監聽 到所述下位機調用所述第一遠程代理時,通過所述第一遠程對象采用UDP協議接收所述工 藝數據。
[0019] 優選地,所述網絡通信引擎ICE中間件還用于在上位機側建立第二遠程對象,在 下位機側建立與所述第二遠程對象對應的第二遠程代理;
[0020] 所述將工藝數據傳輸到所述上位機的步驟還包括:
[0021] 當所述變化速率小于預設閾值時,調用所述第二遠程代理,采用TCP協議將所述 工藝數據通過所述第二遠程代理傳輸到所述第二遠程對象;所述上位機用于在監聽到所 述下位機調用所述第二遠程代理時,通過所述第二遠程對象采用TCP協議接收所述工藝數 據。
[0022] 優選地,所述將工藝數據傳輸到所述上位機的步驟還包括:
[0023] 判斷當前工藝數據是否傳輸成功;若否,則重新將當前工藝數據傳輸到所述上位 機。
[0024] 優選地,所述判斷當前工藝數據是否傳輸成功的步驟包括:
[0025] 調用所述上位機與當前工藝數據對應的回調函數;
[0026] 判斷所述回調函數是否執行完成;若是,則判斷當前工藝數據傳輸成功;否則,判 斷當前工藝數據傳輸失敗。
[0027] 優選地,所述變化速率為所述工藝數據在預設時間段的變化次數與所述預設時間 段的比值。
[0028] 優選地,所述預設閾值為采集所述工藝數據的最大速率的2/3。
[0029] 本發明實施例還公開了一種上位機與下位機的通信裝置,所述下位機與所述上位 機通過網絡通信引擎ICE中間件相連;所述網絡通信引擎ICE中間件用于在上位機側建立 第一遠程對象,在下位機側建立與所述第一遠程對象對應的第一遠程代理,所述下位機與 生產線設備相連;
[0030] 所述裝置包括:
[0031] 工藝數據收集單元,用于所述下位機收集所述生產線設備產生的工藝數據;
[0032] 工藝數據傳輸單元,用于將所述工藝數據傳輸到所述上位機;
[0033] 所述工藝數據傳輸單元包括:
[0034] 變化速率計算模塊,用于計算所述工藝數據的變化速率;
[0035] 第一工藝數據傳輸模塊,用于在所述變化速率大于或等于預設閾值時,調用所述 第一遠程代理,采用UDP協議將所述工藝數據通過所述第一遠程代理傳輸到所述第一遠程 對象;所述上位機用于在監聽到所述下位機調用所述第一遠程代理時,通過所述第一遠程 對象采用UDP協議接收所述工藝數據。
[0036] 優選地,所述網絡通信引擎ICE中間件還用于在上位機側建立第二遠程對象,在 下位機側建立與所述第二遠程對象對應的第二遠程代理;
[0037] 所述工藝數據傳輸單元還包括:
[0038] 第二工藝數據傳輸模塊,用于在所述變化速率小于預設閾值時,調用所述第二遠 程代理,采用TCP協議將所述工藝數據通過所述第二遠程代理傳輸到所述第二遠程對象; 所述上位機用于在監聽到所述下位機調用所述第二遠程代理時,通過所述第二遠程對象采 用TCP協議接收所述工藝數據。
[0039] 優選地,所述工藝數據傳輸單元還包括:
[0040] 傳輸判斷模塊,用于判斷當前工藝數