本發明專利技術涉及網絡通信的技術領域,尤其涉及一種OPC數據轉發方法及裝置,其中,OPC數據轉發方法包括:接收Opc
【技術實現步驟摘要】
一種OPC數據轉發方法及裝置
[0001]本專利技術涉及網絡通信的
,尤其是涉及一種OPC數據轉發方法及裝置。
技術介紹
[0002]在OPC之前,廠家需要花費很多時間用軟件控制不同供應商的硬件,用戶必須為每一家供應商和每一種協議訂購特殊的軟件,才能存取具體的接口和驅動程序。為了便于自動化行業不同廠家的設備和應用程序能相互交換數據,定義了一個統一的接口函數,就是OPC(Object Linking and Embedding(OLE) for Process Control)協議規范,規范是以OLE/DCOM為技術基礎,用于服務器/客戶端連接的統一而開放的接口標準和技術規范。有了OPC就可以使用統一的方式去訪問不同設備廠商的產品數據,在不知道彼此特定通信協議的情況下仍然能夠進行交換、傳輸。
[0003]一般情況下,OPC客戶端(Opc
?
client)和OPC服務器(Opc
?
server)通信有兩種方式:參照圖1和圖2,第一種是Opc
?
client和Opc
?
server的IP地址在同一網段,如Opc
?
client的IP地址是1.1.1.1,Opc
?
server的 IP地址是1.1.1.2,Opc
?
client和Opc
?
server可以直接相連或者通過轉發設備(Forward,簡稱FW)的橋接模式轉發OPC數據;參照圖3,第二種是Opc
?<br/>client和Opc
?
server的IP地址在不同網段,如Opc
?
client的IP地址為1.1.1.1,Opc
?
server的IP地址為2.2.2.2,此時,可指定轉發設備的接口IP作為網關,從而實現OPC數據通信。但是,參照圖4,當轉發設備兩端的Opc
?
client和Opc
?
server的IP地址在不同網段且不能指定網關時,Opc
?
client和Opc
?
server就無法通信了,可能導致現場生產業務停滯。
技術實現思路
[0004]當Opc
?
client和Opc
?
server的IP地址在不同網段且不能指定網關時,為了保證Opc
?
client和Opc
?
server也能正常通信,第一方面,本專利技術提供了一種OPC數據轉發方法,應用于轉發設備,采用如下的技術方案:接收Opc
?
client發送的數據包;對所述數據包進行目的地址轉換;將所述數據包插入隊列,讀取所述隊列,替換所述數據包的負載IP地址,修改校驗和,發送所述數據包至內核;對所述數據包進行源地址轉換;發送所述數據包至Opc
?
server。
[0005]通過采用上述技術方案,對于Opc
?
client和Opc
?
server在不同網段且不能指定網關的情況,本專利技術通過網絡地址轉換技術和隊列技術,對源地址和目的地址進行轉換,替換負載數據中的IP地址,克服了OPC自身連接機制的限制,能夠讓Opc
?
client和Opc
?
server保持正常通信,保證了OPC業務的正常運行。
[0006]可選的,所述轉發設備包括第一接口和第二接口,所述第一接口與所述Opc
?
client相連接,所述第二接口與所述Opc
?
server相連接。
[0007]所述替換所述數據包的負載IP地址,修改校驗和,具體包括:判斷所述數據包是否攜帶有負載IP地址,若是,將所述負載IP地址由Opc
?
client的IP地址替換為轉發設備第二接口IP地址,并修改校驗和。
[0008]通過采用上述技術方案,將載IP地址由Opc
?
client的IP地址替換為轉發設備第二接口的IP地址,克服了OPC自身連接機制的限制,讓數據包所攜帶的負載IP地址和經過網絡地址轉換的源IP相同,此時,OPC能夠正常建立連接,Opc
?
client和Opc
?
server能夠正常通信,保證了OPC業務的正常運行。
[0009]可選的,所述對所述數據包進行目的地址轉換的步驟,具體包括:將目的地址由轉發設備第一接口的IP地址修改為Opc
?
server的IP地址。
[0010]通過采用上述技術方案,對于Opc
?
client和Opc
?
server的IP地址在不同網段且不能指定網關的情況,可以成功將請求的數據包發送至對方。
[0011]可選的,所述對所述數據包進行源地址轉換的步驟,具體包括:將源地址由Opc
?
client的IP地址修改為轉發設備第二接口的IP地址。
[0012]通過采用上述技術方案,對于Opc
?
client和Opc
?
server的IP地址在不同網段且不能指定網關的情況,可以保證將響應包成功發送至對方。
[0013]可選的,根據預設的映射表進行所述源地址轉換和所述目的地址轉換,所述映射表中存儲有Opc
?
client、轉發設備第一接口、轉發設備第二接口和Opc
?
server的映射關系,所述映射關系至少是一條。
[0014]通過采用上述技術方案,對于多個Opc
?
client同時連接一個Opc
?
server、或多個Opc
?
client連接多個Opc
?
server、或一個Opc
?
client同時連接多個Opc
?
server的情況,通過映射表進行網絡地址轉換,能夠保證多個連接在互不干擾的情況下進行正常通信。
[0015]可選的,所述隊列是由隊列號標識的指定隊列。
[0016]通過采用上述技術方案,便于根據隊列號從指定隊列中獲取所需的數據包。
[0017]可選的,所述轉發設備是路由器或防火墻設備。
[0018]通過采用上述技術方案,豐富了轉發設備的選擇性。
[0019]第二方面,本專利技術提供一種OPC數據轉發方法,采用如下的技術方案:接收Opc
?
server發送的數據包;對所述數據包進行目的地址轉換;將所述數據包插入隊列,讀取所述隊列,替換所述數據包的負載IP地址,修改校驗和,并發送所述數據包至內核;對所述數據包進行源地址轉換;發送所述數據包至Opc
?
server。
[0020]通過采用上述技術方案,對于Opc
?
client和Opc
?
...
【技術保護點】
【技術特征摘要】
1.一種OPC數據轉發方法,應用于轉發設備,其特征在于,包括:接收Opc
?
client發送的數據包;對所述數據包進行目的地址轉換;將所述數據包插入隊列,讀取所述隊列,替換所述數據包的負載IP地址,修改校驗和,發送所述數據包至內核;對所述數據包進行源地址轉換;發送所述數據包至Opc
?
server。2.根據權利要求1所述的OPC數據轉發方法,其特征在于:所述轉發設備包括第一接口和第二接口,所述第一接口與所述Opc
?
client相連接,所述第二接口與所述Opc
?
server相連接;所述替換所述數據包的負載IP地址,修改校驗和,具體包括:判斷所述數據包是否攜帶有負載IP地址,若是,將所述負載IP地址由Opc
?
client的IP地址替換為轉發設備第二接口的IP地址,并修改校驗和。3.根據權利要求2所述的OPC數據轉發方法,其特征在于,所述對所述數據包進行目的地址轉換的步驟,具體包括:將目的地址由轉發設備第一接口的IP地址修改為Opc
?
server的IP地址。4.根據權利要求3所述的OPC數據轉發方法,其特征在于,所述對所述數據包進行源地址轉換的步驟,具體包括:將源地址由Opc
?
client的IP地址修改為轉發設備第二接口的IP地址。5.根據權利要求1所述的OPC數據轉發方法,其特征在于,根據預設的映射表進行所述源地址轉換和所述目的地址轉換,所述映射表中存儲有Opc
?
client、轉發設備第一接口、轉發設備第二接口和Opc
?
【專利技術屬性】
技術研發人員:王東光,焦穎,
申請(專利權)人:英賽克科技北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。