[摘要]:
隨著自動(dòng)化技術(shù)的發(fā)展,以及國家對(duì)網(wǎng)絡(luò)安全的重視,申請(qǐng)公網(wǎng)的固定IP變得越來越困難了,那么如何實(shí)現(xiàn)用一臺(tái)固定IP的機(jī)器與多臺(tái)動(dòng)態(tài)IP機(jī)器的通信呢,基于此種情況,紫金橋公司開發(fā)了一種新的連接方式,“逆向通信”技術(shù)來滿足廣大用戶的需求。利用該技術(shù)與“動(dòng)態(tài)加點(diǎn)”功能的完美配合,用戶可以輕松指揮遠(yuǎn)程的任何一臺(tái)工控機(jī)。也就是說,用戶可以坐在辦公室內(nèi)對(duì)目標(biāo)機(jī)器進(jìn)行建點(diǎn)、修改點(diǎn)、重啟目標(biāo)機(jī)器、指揮更新文件等功能。
[關(guān)鍵詞]:紫金橋、逆向通信、組態(tài)軟件、動(dòng)態(tài)加點(diǎn)、遠(yuǎn)程建點(diǎn)、遠(yuǎn)程更新、重新啟動(dòng)
本文介紹的內(nèi)容如下:
1、逆向連接通信功能
2、動(dòng)態(tài)加點(diǎn)功能
3、其它遠(yuǎn)程指揮功能
逆向連接通信功能
一、解決的問題
數(shù)據(jù)源逆向通信解決的是客戶端與服務(wù)器端沒法直接建立連接的問題。我們舉例說明。如下圖所示,圖中上面的節(jié)點(diǎn)C為中心服務(wù)器,有固定IP;S1-Sn為前置數(shù)采機(jī),IP地址為局部IP地址。

C作為中心服務(wù)器負(fù)責(zé)集中采集下面站點(diǎn)中的數(shù)據(jù)。C對(duì)外身份是服務(wù)器,但是在C與S1-Sn組成的節(jié)點(diǎn)中,C為數(shù)據(jù)的請(qǐng)求者,S1-Sn為數(shù)據(jù)的提供者,所以C為客戶端,S1-Sn為服務(wù)器端。
正常情況下,客戶端主動(dòng)與服務(wù)器建立連接,然后向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求信息響應(yīng)客戶請(qǐng)求。
但上述的情況是,客戶端地址是可得到的,而服務(wù)方的地址是未知的。 也就是客戶端得不到服務(wù)方的地址,但是客戶端地址對(duì)服務(wù)器是可見的。逆向連接就是為了解決該類問題而產(chǎn)生的。通過數(shù)據(jù)源的逆向鏈接方式,可以實(shí)現(xiàn)客戶端地址已知,服務(wù)方地址未知的數(shù)據(jù)庫間數(shù)據(jù)通信。
二、逆向通信原理
逆向連接是由服務(wù)器首先向客戶端發(fā)出連接請(qǐng)求,從而建立通信信道,客戶端再利用該信道向服務(wù)器請(qǐng)求數(shù)據(jù),服務(wù)端也是利用該信道回答相應(yīng)客戶請(qǐng)求。請(qǐng)求示意圖如下:

客戶端根據(jù)服務(wù)端的節(jié)點(diǎn)名稱來識(shí)別不同的服務(wù)方。服務(wù)器節(jié)點(diǎn)名稱是在數(shù)據(jù)源定義時(shí)指定的。
下面介紹逆向連接中數(shù)據(jù)源的配置,配置分為服務(wù)器端數(shù)據(jù)源配置與客戶端數(shù)據(jù)源配置。
服務(wù)器端數(shù)據(jù)源配置:
服務(wù)器端數(shù)據(jù)源配置如下圖所示。要啟動(dòng)服務(wù)器向客戶端的逆向鏈接,要勾選下圖中的自動(dòng)連接,并指定本地節(jié)點(diǎn)名稱。注意該名稱不要與其他服務(wù)器中指定的名稱相同。只有遠(yuǎn)程數(shù)據(jù)源,且為網(wǎng)絡(luò)連接方式時(shí)才能在“高級(jí)選項(xiàng)”對(duì)話框中配置自動(dòng)連接和指定本地名稱。本地名稱系統(tǒng)唯一,即該名稱與本機(jī)相關(guān)聯(lián),而不是跟數(shù)據(jù)源相關(guān)聯(lián)。
配置好客戶端與服務(wù)器端數(shù)據(jù)源后,數(shù)據(jù)庫間遠(yuǎn)程數(shù)據(jù)庫連接就會(huì)自動(dòng)建立。

客戶端數(shù)據(jù)源配置:
使用逆向連接,客戶端數(shù)據(jù)源的連接方式要指定為“逆向連接”,如下圖所示。使用逆向連接方式要指定服務(wù)方的節(jié)點(diǎn)名稱。該名稱就是服務(wù)器端配置的“本地節(jié)點(diǎn)名稱”。
注意:如果這里指定的“遠(yuǎn)程節(jié)點(diǎn)名稱”與服務(wù)方的“本地節(jié)點(diǎn)名稱”不一致,將無法建立通信。

簡單應(yīng)用舉例
假設(shè):節(jié)點(diǎn)C的IP地址是192.168.0.101,S1-Sn節(jié)點(diǎn)沒有固定的IP地址。
此時(shí),節(jié)點(diǎn)C要采集S1-Sn節(jié)點(diǎn)的數(shù)據(jù),那么在C中要配置若干代表S1-Sn節(jié)點(diǎn)的數(shù)據(jù)源,以便在數(shù)據(jù)庫點(diǎn)連接時(shí)使用。
具體操作步驟如下:
首先,我們?cè)?/span>S1節(jié)點(diǎn)建立一個(gè)數(shù)據(jù)源,名稱為DS1,并建立兩個(gè)點(diǎn)DS1_A1、DS1_A2。 建立的數(shù)據(jù)源如下圖:

點(diǎn)擊“高級(jí)選項(xiàng)”按鈕,勾選“自動(dòng)連接”,填寫“本地節(jié)點(diǎn)名稱”。

然后,在節(jié)點(diǎn)C建立一個(gè)代表DS1節(jié)點(diǎn)的數(shù)據(jù)源,連接方式選擇“逆向連接”(因?yàn)槲覀儧]法填寫其IP地址,其地址對(duì)站點(diǎn)C是不可見的),輸入遠(yuǎn)程節(jié)點(diǎn)名稱,該名稱是在客戶機(jī)端指定的“本地節(jié)點(diǎn)名稱”,如下圖:

最后,在節(jié)點(diǎn)C中的點(diǎn)組態(tài)內(nèi)建立A1、A2兩個(gè)點(diǎn),并關(guān)聯(lián)節(jié)點(diǎn)S1中的點(diǎn)。如下圖:

到此,逆向連接通信的功能就介紹完了。
動(dòng)態(tài)加點(diǎn)功能
動(dòng)態(tài)加點(diǎn):是指用戶可以在數(shù)據(jù)源通訊正常的情況下,對(duì)目標(biāo)機(jī)器進(jìn)行動(dòng)態(tài)新建點(diǎn)、修改點(diǎn)、刪除點(diǎn)等操作,該操作不需要目標(biāo)機(jī)器重新啟動(dòng)軟件,直接可以進(jìn)行數(shù)據(jù)采集。
注:該功能已經(jīng)被紫金橋公司包裝成向?qū)Х绞?,用戶可以通過向?qū)Э焖偕芍付c(diǎn)類型的動(dòng)態(tài)加點(diǎn)功能。
下面簡單看一下如何通過向?qū)赡M點(diǎn)類型的動(dòng)態(tài)加點(diǎn)功能畫面。
下圖是動(dòng)態(tài)加點(diǎn)向?qū)У倪\(yùn)行界面:

我們選擇“模擬點(diǎn)”,功能畫面選中“全選”復(fù)選框,點(diǎn)擊“下一步”,進(jìn)入完成畫面,如下圖:

點(diǎn)擊“完成”按鈕,就可以在紫金橋開發(fā)環(huán)境中馬上看到剛剛生成的畫面。
生成后的畫面,運(yùn)行效果如下圖:




其它遠(yuǎn)程指揮功能
1、重新啟動(dòng)目標(biāo)計(jì)算機(jī),重啟動(dòng)可以讓紫金橋軟件自動(dòng)運(yùn)行。
2、重新啟動(dòng)目標(biāo)計(jì)算機(jī)中的紫金橋軟件
3、指揮更新目標(biāo)計(jì)算機(jī)中的紫金橋軟件,包括工程畫面。
4、獲取目標(biāo)計(jì)算機(jī)中正在執(zhí)行的進(jìn)程列表(只包括:紫金橋軟件啟動(dòng)的進(jìn)程列表)。
5、獲取目標(biāo)計(jì)算機(jī)的系統(tǒng)狀態(tài)。包括內(nèi)存,磁盤,CPU等占用情況等字段。