專利名稱:數(shù)據(jù)發(fā)送方法、數(shù)據(jù)處理方法及工業(yè)控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以工業(yè)以太網(wǎng)構(gòu)建的大規(guī)模自動化工業(yè)控制系統(tǒng),尤其涉及 工業(yè)控制系統(tǒng)中的數(shù)據(jù)發(fā)送技術(shù)和數(shù)據(jù)處理技術(shù)。
背景技術(shù):
傳統(tǒng)的工業(yè)控制系統(tǒng)包括操作站、控制站和控制網(wǎng),操作站與控制站之 間通過控制網(wǎng)連接,控制網(wǎng)轉(zhuǎn)發(fā)操作站與控制站之間傳輸?shù)臄?shù)據(jù)。操作站收 到控制站廣播的數(shù)據(jù)后,需要對接收到的數(shù)據(jù)設(shè)置時間標(biāo)簽,以便于后續(xù)處 理。 一般來說,設(shè)置的時間標(biāo)簽所標(biāo)明的時刻是操作站設(shè)置時間標(biāo)簽的時刻。 當(dāng)操作站內(nèi)部的處理器比較忙時,可能不會及時處理操作站內(nèi)部的網(wǎng)卡收到 的數(shù)據(jù)。這種情況下,網(wǎng)卡要緩存其收到的數(shù)據(jù)。當(dāng)處理器有能力處理網(wǎng)卡 緩存的數(shù)據(jù)時,再開始處理網(wǎng)卡緩存的數(shù)據(jù)。
但是,發(fā)明人經(jīng)過仔細(xì)研究上述現(xiàn)有技術(shù)后發(fā)現(xiàn)當(dāng)處理器開始處理網(wǎng) 卡緩存的數(shù)據(jù)時,處理器會對在不同時刻到達(dá)網(wǎng)卡的^t據(jù)設(shè)置相同的時間標(biāo) 簽。然而,現(xiàn)有技術(shù)要求,不同時刻到達(dá)操作站的數(shù)據(jù)需要設(shè)置有不同的時 間標(biāo)簽,以便于其他程序處理數(shù)據(jù)。例如,正常情況下,操作站在每一秒都 會收到控制站廣播的數(shù)據(jù),對于每一秒收到的數(shù)據(jù),才喿作站都應(yīng)該設(shè)置用于 標(biāo)明數(shù)據(jù)到達(dá)時刻的時間標(biāo)簽,也就是說,操作站為每一秒到達(dá)的數(shù)據(jù)都設(shè) 置了標(biāo)明數(shù)據(jù)到達(dá)時刻的時間標(biāo)簽。如果處理器對在不同時刻到達(dá)網(wǎng)卡的數(shù) 據(jù)設(shè)置相同的時間標(biāo)簽,那么處理器就只能選擇保留其中的一秒到達(dá)的數(shù)據(jù), 也就是說,處理器要丟棄或覆蓋掉一些具有相同時間標(biāo)簽的數(shù)據(jù)。顯然,這 種情況不利于后續(xù)的凄t據(jù)處理。
發(fā)明內(nèi)容
本發(fā)明提供數(shù)據(jù)發(fā)送方法、控制站、數(shù)據(jù)處理方法、操作站及工業(yè)控制 系統(tǒng),用以避免操作站在處理不同時刻到達(dá)的數(shù)據(jù)的過程中丟掉或覆蓋掉數(shù)據(jù)。
一種數(shù)據(jù)發(fā)送方法,適用于包括控制站和操作站的工業(yè)控制系統(tǒng),控制 站執(zhí)行下述步驟設(shè)置步驟,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播步驟,將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站。
一種控制站,適用于包括控制站和"J喿作站的工業(yè)控制系統(tǒng),所述控制站
包括設(shè)置單元,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播單元,將設(shè)置有所 述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站。
一種數(shù)據(jù)處理方法,適用于包括控制站和操作站的工業(yè)控制系統(tǒng),所述 方法包括操作站連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所述 時間標(biāo)簽是控制站設(shè)置的;操作站根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間 標(biāo)簽,對所述連續(xù)多次接收的數(shù)據(jù)處理。
一種操作站,適用于包括控制站和操作站的工業(yè)控制系統(tǒng),所述操作站 包括接收單元,連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所述 時間標(biāo)簽是控制站設(shè)置的;處理單元,根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的 時間標(biāo)簽,對所述連續(xù)多次接收的數(shù)據(jù)處理。
一種工業(yè)控制系統(tǒng),包括控制站、操作站和控制網(wǎng);控制網(wǎng),轉(zhuǎn)發(fā)控制 站與操作站之間的數(shù)據(jù);控制站,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,并將設(shè) 置有所述時間標(biāo)簽的所述數(shù)據(jù)通過控制網(wǎng)廣播給操作站;操作站,從控制網(wǎng) 連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),并根據(jù)所述連續(xù)多次接 收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連續(xù)多次接收的凝:據(jù)處理。
本發(fā)明與現(xiàn)有技術(shù)相比,至少具有如下優(yōu)點
由于控制站一般都會定時(例如每一秒)向操作站廣播數(shù)據(jù),所以,如 果由控制站對廣播給操作站的數(shù)據(jù)設(shè)置時間標(biāo)簽,那么可以基本避免出現(xiàn)時 間標(biāo)簽相同的數(shù)據(jù)(例如,按照設(shè)置時間標(biāo)簽的時刻^:置時間標(biāo)簽)。這樣, 操作站收到的數(shù)據(jù)攜帶的時間標(biāo)簽都會不同,自然也不會輕易的丟棄或覆蓋 掉一些數(shù)據(jù),有利于后續(xù)的數(shù)據(jù)處理。
同時,多個操作站接收到的相同數(shù)據(jù)都會攜帶相同的時間標(biāo)簽,避免了 同 一個數(shù)據(jù)在不同的操作站上顯示不同的時刻。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明的數(shù)據(jù)發(fā)送方法的流程圖; 圖2為本發(fā)明的控制站的邏輯結(jié)構(gòu)示意圖; 圖3為本發(fā)明的凄t據(jù)處理方法的流程圖; 圖4為本發(fā)明的操作站的邏輯結(jié)構(gòu)示意圖; 圖5為本發(fā)明的工業(yè)控制系統(tǒng)的邏輯結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而 不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作 出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
由于本發(fā)明涉及到工業(yè)控制系統(tǒng),所以下面首先介紹工業(yè)控制系統(tǒng)中的 一些4支術(shù)常識。
工業(yè)控制系統(tǒng)包括控制站、操作站和控制網(wǎng),控制網(wǎng)轉(zhuǎn)發(fā)控制站和操作 站之間的數(shù)據(jù)??刂普疽话銜诿恳幻攵枷虿僮髡緩V播數(shù)據(jù),廣播的數(shù)據(jù)的 形式是數(shù)據(jù)包,數(shù)據(jù)包中包括數(shù)據(jù)的實時值和數(shù)據(jù)的質(zhì)量碼信息。例如,假 設(shè)控制站在第n (n為正整數(shù))秒廣播第n個數(shù)據(jù)包,那么控制站會在第n+l 秒廣播第n+l個數(shù)據(jù)包,在第n+2秒廣播第n+2個凄t據(jù)包,以此類推,在第 n+m ( m為正整數(shù))秒廣播第n+m個數(shù)據(jù)包。再々li殳共設(shè)置1000個位號,一 個位號對應(yīng)一個實時值,那么一個數(shù)據(jù)包中就會有1000個實時值。操作站在 收到控制站廣播的數(shù)據(jù)后,會定期對數(shù)據(jù)進(jìn)行統(tǒng)計,例如統(tǒng)計每個位號的實 時值的變化趨勢等信息。
本發(fā)明既可以從控制站的角度來描述,也可以從操作站的角度來描述, 還可以從工業(yè)控制系統(tǒng)的角度來描述。
首先從控制站的角度來描述。對此,本發(fā)明提供了一種數(shù)據(jù)發(fā)送方法。 這種方法適用于包括控制站和操作站的工業(yè)控制系統(tǒng)。如圖1所示,控制站 執(zhí)行下述步驟
S101:設(shè)置步驟,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽; S102:廣播步驟,將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站。 具體的,時間標(biāo)簽標(biāo)明的時刻可以是控制站設(shè)置時間標(biāo)簽的時刻。例如, 假設(shè)控制站在設(shè)置時間標(biāo)簽時,當(dāng)前時刻為07:00:00,那么設(shè)置的時間標(biāo)簽就
10可以是07:00:00。這里需要說明的是,雖然廣播步驟應(yīng)該在設(shè)置步驟之后執(zhí)行, 但控制站執(zhí)行設(shè)置步驟和廣播步驟的時間間隔非常短,或者說,時間間隔可 以忽略不計,所以,控制站設(shè)置時間標(biāo)簽的時刻也可以認(rèn)為是控制站廣播數(shù) 據(jù)的時刻。
為保證數(shù)據(jù)的實時性,控制站可以釆用以太網(wǎng)用戶數(shù)據(jù)報協(xié)議(UDP, User Datagram Protocol)方式將設(shè)置有時間標(biāo)簽的數(shù)據(jù)廣播給操作站。
上面提到過,控制站可以在每一秒都廣播數(shù)據(jù),所以,控制站可以在每 一秒都執(zhí)行S101和S102。也就是說,控制站可以以1秒為單位,重復(fù)執(zhí)行 S101和S102。例如,控制站在07:00:00廣播攜帶07:00:00的數(shù)據(jù)包,在07:00:01 廣播攜帶07:00:01的數(shù)據(jù)包,以此類推。
上面也提到過,控制站廣播的數(shù)據(jù)的形式是數(shù)據(jù)包,數(shù)據(jù)包中包括數(shù)據(jù) 的實時值和數(shù)據(jù)的質(zhì)量碼信息。在本發(fā)明中,控制站廣播的設(shè)置有時間標(biāo)簽 的數(shù)據(jù)的形式也可以是數(shù)據(jù)包,這樣的數(shù)據(jù)包應(yīng)該至少包括數(shù)據(jù)的實時值、 時間標(biāo)簽和數(shù)據(jù)的質(zhì)量碼信息,其中,質(zhì)量碼信息表明實時值的可靠程度。 另外,與現(xiàn)有技術(shù)相同, 一個數(shù)據(jù)包中包括對應(yīng)所有位號的實時值,例如, 假設(shè)有1000個位號,那么 一個數(shù)據(jù)包中就應(yīng)該有1000個實時值。
由于控制站需要對廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,操作站需要根據(jù)時間標(biāo)簽 處理數(shù)據(jù),所以,時間標(biāo)簽是本發(fā)明的一個很重要的技術(shù)點。為保證控制站 與操作站之間的時鐘同步,可以將一個操作站設(shè)置為時鐘源,控制站和其他 操作站都與時鐘源進(jìn)行時鐘同步。
具體的,在設(shè)置步驟之前,數(shù)據(jù)發(fā)送方法還可以包括同步步驟,控制站 與時鐘源進(jìn)行時鐘同步。這樣,控制站可以以同步后的時鐘為基準(zhǔn),對需要 廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽。
對應(yīng)于上述的數(shù)據(jù)發(fā)送方法,本發(fā)明還提供一種控制站。同樣,這種控 制站也可以適用于包括控制站和操作站的工業(yè)控制系統(tǒng)。如圖2所示,這種 控制站包括設(shè)置單元201,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播單元202, 將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給揭:作站。
具體的,時間標(biāo)簽標(biāo)明的時刻可以是設(shè)置單元201設(shè)置時間標(biāo)簽的時刻。 例如,假設(shè)設(shè)置單元201在設(shè)置時間標(biāo)簽時,當(dāng)前時刻為07:00:00,那么設(shè)置 的時間標(biāo)簽就可以是07:00:00。這里需要說明的是,雖然廣播單元202將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站應(yīng)該在設(shè)置單元201對需要廣播的 數(shù)據(jù)設(shè)置時間標(biāo)簽之后執(zhí)行,但是,設(shè)置單元201執(zhí)行的步驟與廣播單元202 執(zhí)行的步驟之間的時間間隔非常短,或者說,時間間隔可以忽略不計,所以, 設(shè)置單元201設(shè)置時間標(biāo)簽的時刻也可以認(rèn)為是廣^"單元202廣播數(shù)據(jù)的時 刻。
為保證數(shù)據(jù)的實時性,廣播單元202可以采用以太網(wǎng)用戶數(shù)據(jù)^t艮協(xié)議 (UDP, User Datagram Protocol )方式將設(shè)置有時間標(biāo)簽的數(shù)據(jù)廣播給操作站。
上面提到過,控制站可以在每一秒都廣播數(shù)據(jù),所以,在每一秒,設(shè)置 單元201都要對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,廣播單元202都要將設(shè)置有 時間標(biāo)簽的數(shù)據(jù)廣播給操作站。也就是說,設(shè)置單元201和廣播單元202可 以以1秒為單位,重復(fù)執(zhí)行設(shè)置步驟和廣4番步驟。例如,廣4番單元202在 07:00:00廣播攜帶07:00:00的數(shù)據(jù)包,在07:00:01廣播攜帶07:00:01的數(shù)據(jù) 包,以ot匕類4侏。
上面也提到過,控制站廣播的數(shù)據(jù)的形式是數(shù)據(jù)包,數(shù)據(jù)包中包括數(shù)據(jù) 的實時值和數(shù)據(jù)的質(zhì)量碼信息。在本發(fā)明中,廣播單元202廣播的設(shè)置有時 間標(biāo)簽的數(shù)據(jù)的形式也可以是數(shù)據(jù)包,這樣的數(shù)據(jù)包應(yīng)該至少包括數(shù)據(jù)的實 時值、時間標(biāo)簽和數(shù)據(jù)的質(zhì)量碼信息,其中,質(zhì)量碼信息表明實時值的可靠 程度。另外,與現(xiàn)有技術(shù)相同, 一個數(shù)據(jù)包中包括對應(yīng)所有位號的實時值, 例如,假i殳有1000個位號,那么一個數(shù)據(jù)包中就應(yīng)該有1000個實時值。
由于設(shè)置單元201需要對廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,操作站需要根據(jù)時 間標(biāo)簽處理數(shù)據(jù),所以,時間標(biāo)簽是本發(fā)明的一個很重要的技術(shù)點。為保證 控制站與操作站之間的時鐘同步,可以將一個操作站設(shè)置為時鐘源,控制站 和其他操作站都與時鐘源進(jìn)行時鐘同步。這種情況下,本發(fā)明提供的控制站 還可以包括同步單元(圖中未繪示),在設(shè)置單元201對需要廣播的數(shù)據(jù)設(shè)置 時間標(biāo)簽之前,與時鐘源進(jìn)行時鐘同步。這樣,設(shè)置單元201在對需要廣播 的數(shù)據(jù)設(shè)置時間標(biāo)簽時,就可以以同步后的時鐘為基準(zhǔn),對需要廣播的數(shù)據(jù) ^殳置時間標(biāo)簽。
下面再從操作站的角度來描述。對此,本發(fā)明提供了一種數(shù)據(jù)處理方法。 這種方法適用于包括控制站和操作站的工業(yè)控制系統(tǒng)。如圖3所示,這種方 法包括S301:操作站連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所述 時間標(biāo)簽是控制站設(shè)置的;
S302:操作站根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連 續(xù)多次接收的數(shù)據(jù)處理。
上面提到過,控制站可以連續(xù)向操作站廣播攜帶有時間標(biāo)簽的數(shù)據(jù),這 樣,操作站就可以連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)。例如, 控制站在每一秒都向操作站廣播攜帶有時間標(biāo)簽的數(shù)據(jù)包,這樣,操作站在 每一秒都可以接收到控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)包。操作站接收的 數(shù)據(jù)的形式可以是數(shù)據(jù)包,有關(guān)數(shù)據(jù)包的描述可以參見在上述的數(shù)據(jù)發(fā)送方 法和控制站中關(guān)于數(shù)據(jù)包的描述,這里不再贅述。
操作站在連續(xù)多次接收攜帶有時間標(biāo)簽的數(shù)據(jù)后,可以根據(jù)時間標(biāo)簽對 數(shù)據(jù)進(jìn)行多種方式的處理。
例如,如果操作站根據(jù)預(yù)先規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的變化規(guī)律, 檢測到連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中存在空缺的時 刻,則在所述連續(xù)多次接收的數(shù)據(jù)中補充空缺的時刻所對應(yīng)的數(shù)據(jù)。具體的, 預(yù)先規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的變化規(guī)律可以為,每一次接收的數(shù)據(jù)攜 帶的時間標(biāo)簽所標(biāo)明的時刻相對于之前一次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo) 明的時刻增加一秒,也就是說,時間標(biāo)簽所標(biāo)明的時刻是以1秒為單位遞增 的。這種情況下,上述的存在空缺的時刻的表現(xiàn)形式可以為,在連續(xù)多次接 收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中,至少有兩個連續(xù)接收的數(shù)據(jù)攜帶 的時間標(biāo)簽所標(biāo)明的時刻之間的差值超過一秒,也就是說,沒有收到設(shè)置有 其中一秒的時間標(biāo)簽的數(shù)據(jù)。例如,假設(shè)控制站設(shè)置的時間標(biāo)簽的規(guī)律應(yīng)該 是07:00:00、 07:00:01、 07:00:02、 07:00:03、 07:00:04和07:00:05,并假設(shè)操 作站在6秒內(nèi)收到了攜帶07:00:00的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包、攜帶 07:00:02的數(shù)據(jù)包、攜帶07:00:04的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包,顯然, 空缺的時刻應(yīng)該是指07:00:03。當(dāng)然,如果操作站在6秒內(nèi)收到了攜帶07:00:00 的數(shù)據(jù)包、攜帶07:00:04的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包,那么空缺的時 刻就應(yīng)該是指07:00:01、 07:00:02和07:00:03。
在實際應(yīng)用中,操作站可以按照下述方式在連續(xù)多次接收的數(shù)據(jù)中補充 空缺的時刻所對應(yīng)的數(shù)據(jù),即,操作站在連續(xù)多次接收的數(shù)據(jù)中,將空缺的時刻所對應(yīng)的數(shù)據(jù)補充為在所述空缺的時刻之前、且與所迷空缺的時刻相鄰
的時刻所對應(yīng)的數(shù)據(jù)。例如,奪支設(shè)對于位號06,操作站在6秒內(nèi)收到了攜帶 07:00:00的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包、攜帶07:00:02的數(shù)據(jù)包、攜帶 07:00'.04的數(shù)據(jù)包和攜帶07:00'.05的數(shù)據(jù)包,顯然,操作站沒有收到對應(yīng) 07:00:03且對應(yīng)位號06的實時值,這種情況下,操作站可以將對應(yīng)07:00:03 且對應(yīng)位號06的實時值補充為攜帶07:00:02的數(shù)據(jù)包中的對應(yīng)位號06的實 時值。同理,對應(yīng)07:00:03且對應(yīng)其他位號的實時值都可以補充完整。再例 如,假設(shè)對于位號06,操作站在6秒內(nèi)收到了攜帶07:00:00的數(shù)據(jù)包、攜帶 07:00:01的數(shù)據(jù)包、攜帶07:00:04的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包,顯然, 操作站沒有收到對應(yīng)07:00:02和07:00:03且對應(yīng)位號06的實時值,這種情況 下,才喿作站可以將對應(yīng)07:00:02且對應(yīng)^立號06的實時^i補充為攜帶07:00:01 的數(shù)據(jù)包中的對應(yīng)位號06的實時值,將對應(yīng)07:00:03且對應(yīng)位號06的實時 值補充為攜帶07:00:02的數(shù)據(jù)包中的對應(yīng)位號06的實時值,當(dāng)然,攜帶 07:00:02的數(shù)據(jù)包中的對應(yīng)位號06的實時值也是攜帶07:00:01的數(shù)據(jù)包中的 對應(yīng)位號06的實時值。
操作站也可以按照下述方式根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo) 簽、對所述連續(xù)多次接收的數(shù)據(jù)處理,即,操作站如果發(fā)現(xiàn)所述連續(xù)多次接 收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的時間標(biāo)簽,則再檢查在所述相同的時 間標(biāo)簽所標(biāo)明的時刻之前、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時 刻是否空缺;如果空缺,則操作站將所述空缺的時刻所對應(yīng)的數(shù)據(jù)補充為所 述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的最先收到的數(shù)據(jù);如果不空缺,則操作站 刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的最先收到的數(shù)據(jù)。例如,假設(shè)操作 站在6秒內(nèi)收到了攜帶07:00:00的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包、攜帶 07:00:02的數(shù)據(jù)包、兩個攜帶07:00:04的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包, 顯然,有兩個數(shù)據(jù)包的時間標(biāo)簽為07:00:04,而且,空缺的時刻為07:00:03。 這種情況下,操作站可以將兩個攜帶07:00:04的數(shù)據(jù)包中的一個數(shù)據(jù)包作為 對應(yīng)07:00:03的數(shù)據(jù)包,優(yōu)選的,將最先收到的攜帶07:00:04的邀:據(jù)包作為 對應(yīng)07:00:03的數(shù)據(jù)包。再假設(shè),操作站在6秒內(nèi)收到了攜帶07:00:00的數(shù) 據(jù)包、攜帶07:00:01的數(shù)據(jù)包、攜帶07:00:02的數(shù)據(jù)包、攜帶07:00:03的數(shù) 據(jù)包、兩個攜帶07:00:04的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包。這種情況下,
14可以將兩個攜帶07:00:04的數(shù)據(jù)包中的一個凝:據(jù)包刪除,優(yōu)選的,刪除最先 收到的攜帶07:00:04的數(shù)據(jù)包。
操作站如果發(fā)現(xiàn)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的 時間標(biāo)簽,則也可以再沖企查在所述相同的時間標(biāo)簽所標(biāo)明的時刻之后、且與 所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;如果空缺,則操作
的最后收到的數(shù)據(jù);如果不空缺,則」操作站刪除所述相同的時間標(biāo)簽對應(yīng)的 數(shù)據(jù)中的最先收到的數(shù)據(jù)。例如,假設(shè)操作站在6秒內(nèi)收到了攜帶07:00:00 的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包、兩個攜帶07:00:02的數(shù)據(jù)包、攜帶07:00:04 的數(shù)據(jù)包和攜帶07:00:05的數(shù)據(jù)包,顯然,有兩個數(shù)據(jù)包的時間標(biāo)簽為 07:00:02,而且,空缺的時刻為07:00:03。這種情況下,操作站可以將兩個攜 帶07:00:02的數(shù)據(jù)包中的一個數(shù)據(jù)包作為對應(yīng)07:00:03的數(shù)據(jù)包,優(yōu)選的, 將最后收到的攜帶07:00:02的數(shù)據(jù)包作為對應(yīng)07:00:03的數(shù)據(jù)包。再假設(shè), 操作站在6秒內(nèi)收到了攜帶07:00:00的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包、兩 個攜帶07:00:02的數(shù)據(jù)包、攜帶07:00:03的數(shù)據(jù)包、攜帶07:00:04的數(shù)據(jù)包 和攜帶07:00:05的數(shù)據(jù)包。這種情況下,可以將兩個攜帶07:00:02的數(shù)據(jù)包 中的一個數(shù)據(jù)包刪除,優(yōu)選的,刪除最先收到的攜帶07:00:02的數(shù)據(jù)包。
操作站連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)的過程可以包 括操作站存儲每次接收的數(shù)據(jù),其中,對于任意一次接收的數(shù)據(jù)操作站 可以判斷已存儲的數(shù)據(jù)量是否達(dá)到預(yù)先設(shè)置的容量門限;如果操作站判斷出 已存儲的數(shù)據(jù)量達(dá)到了預(yù)先設(shè)置的容量門限,則刪除最早存入的數(shù)據(jù),并根 據(jù)當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間 標(biāo)簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收的數(shù)據(jù);如果操作站判斷 出已存儲的數(shù)據(jù)量未達(dá)到預(yù)先設(shè)置的容量門限,則根據(jù)當(dāng)前接收的數(shù)據(jù)攜帶 的時間標(biāo)簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之間 的先后順序,存儲當(dāng)前接收的數(shù)據(jù)。在實際應(yīng)用中,可能由于時鐘同步等原 因,控制站修改了本地時鐘,這種情況下,控制站廣播的數(shù)據(jù)攜帶的標(biāo)簽在 某個時刻就不能按照一秒的單位遞增。例如,假設(shè)操作站先后收到了 35個數(shù) 據(jù)包,并且存儲了這些數(shù)據(jù)包,這些數(shù)據(jù)包攜帶的時間標(biāo)簽依次為07:00:00、 07:00:01、 07:00:02..... 07:00:34。再假設(shè)預(yù)先設(shè)置的容量門限就是35個數(shù)據(jù)包,這種情況下,當(dāng)操作站再次收到數(shù)據(jù)包后,可以將攜帶07:00:00的數(shù) 據(jù)包刪除,這樣,操作站就可以存儲再次收到的數(shù)據(jù)包。當(dāng)然,操作站也可 以將最早接收的幾個數(shù)據(jù)包一同刪除。另外,正常情況下,操作站再次收到 的數(shù)據(jù)包應(yīng)該是攜帶07:00:35的數(shù)據(jù)包,假設(shè)操作站再次收到的數(shù)據(jù)包是攜 帶07:00:30的數(shù)據(jù)包,此時,操作站可以將原來存儲的攜帶07:00:30的數(shù)據(jù) 包刪除,將再次收到的攜帶07:00:30的數(shù)據(jù)包存儲到原來存儲攜帶07:00:30 的數(shù)據(jù)包的位置。同理,原來存儲的攜帶07:00:31的數(shù)據(jù)包、攜帶07:00:32 的數(shù)據(jù)包、攜帶07:00:33的數(shù)據(jù)包和攜帶07:00:34的數(shù)據(jù)包都將分別被再次 收到的攜帶07:00:31的數(shù)據(jù)包、攜帶07:00:32的數(shù)據(jù)包、攜帶07:00:33的數(shù) 據(jù)包和攜帶07:00:34的數(shù)據(jù)包替換掉。
操作站連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)的過程也可以 包括操作站存儲每次接收的數(shù)據(jù),其中,對于任意一次接收的數(shù)據(jù)如果 操作站判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻在至少一個已存 儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之前,則刪除攜帶的時間標(biāo)簽所標(biāo)明 的時刻在當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之后的數(shù)據(jù);或者, 如果操作站判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存儲的 數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中最靠后的時刻之差超過了預(yù)先設(shè)置的差 值門限,則刪除已存儲的所有數(shù)據(jù)。例如,假設(shè)操作站先后收到了 IO個數(shù)據(jù) 包,并且存儲了這些數(shù)據(jù)包,這些數(shù)據(jù)包攜帶的時間標(biāo)簽依次為07:00:00、
07:00:01、 07:00:02..... 07:00:09。正常情況下,操作站再次收到的數(shù)據(jù)包應(yīng)
該是攜帶07:00:10的數(shù)據(jù)包,假設(shè)操作站再次收到的數(shù)據(jù)包是攜帶07:00:07 的數(shù)據(jù)包,此時,操作站可以將原來存儲的攜帶07:00:07的數(shù)據(jù)包、攜帶 07:00:08的數(shù)據(jù)包和攜帶07:00:09的數(shù)據(jù)包刪除,并且在原來存儲的攜帶 07:00:06的數(shù)據(jù)包之后,存儲再次收到的攜帶07:00:07的數(shù)據(jù)包。再假設(shè),操 作站在先后存儲了攜帶07:00:00的數(shù)據(jù)包、攜帶07:00:01的數(shù)據(jù)包等9個數(shù) 據(jù)包后,再次收到的數(shù)據(jù)包應(yīng)該是攜帶07:00:10的數(shù)據(jù)包,而操作站卻收到 了攜帶07:00:50的數(shù)據(jù)包,這種情況下,可以將原來存儲的9個數(shù)據(jù)包都刪 除。
當(dāng)然,在上述幾個技術(shù)手段中,可能會丟掉一個或多個數(shù)據(jù)包,但是, 這都是在控制站調(diào)整時鐘時發(fā)生的,而并不是經(jīng)常存在的現(xiàn)象。實際上,從
16第 一個以調(diào)整后的時鐘為基準(zhǔn)設(shè)置的時間標(biāo)簽開始,在其后設(shè)置的時間標(biāo)簽 還是會以一秒為單位遞增的,這樣,后續(xù)不會產(chǎn)生丟包的現(xiàn)象。
對應(yīng)于上述的數(shù)據(jù)處理方法,本發(fā)明提供一種操作站。同樣,這種操作 站也適用于包括控制站和操作站的工業(yè)控制系統(tǒng)。如圖4所示,這種操作站
包括接收單元401,連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所 述時間標(biāo)簽是控制站設(shè)置的;處理單元402,根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜 帶的時間標(biāo)簽,對所述連續(xù)多次接收的數(shù)據(jù)處理。 具體的,處理單元402可以有多種實現(xiàn)形式。
例如,處理單元402可以包括第一檢測模塊,根據(jù)預(yù)先規(guī)定的時間標(biāo) 簽所標(biāo)明的時刻的變化規(guī)律,檢測到連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所 標(biāo)明的時刻中是否存在空缺的時刻;補點模塊,如果第一檢測模塊根據(jù)預(yù)先 規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的變化規(guī)律,;險測到連續(xù)多次接收的數(shù)據(jù)攜帶 的時間標(biāo)簽所標(biāo)明的時刻中存在空缺的時刻,則補點模塊在所述連續(xù)多次接 收的數(shù)據(jù)中補充空缺的時刻所對應(yīng)的數(shù)據(jù)。
再例如,處理單元402可以包括第二斥企測才莫塊,4全測連續(xù)多次^接收的 數(shù)據(jù)攜帶的時間標(biāo)簽中是否存在相同的時間標(biāo)簽;第三檢測模塊,如果第二 檢測模塊檢測出所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的時間 標(biāo)簽,則第三檢測模塊檢測在所述相同的時間標(biāo)簽所標(biāo)明的時刻之前、且與 所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;補點模塊,如果第 三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時刻之前、且與所述相同 的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻空缺,則補點模塊將所述空缺的時刻所 對應(yīng)的數(shù)據(jù)補充為所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元401最先收 到的數(shù)據(jù);如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時刻之
刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元401最先收到的數(shù)據(jù)。
再例如,處理單元402可以包括第二檢測模塊,檢測連續(xù)多次接收的 數(shù)據(jù)攜帶的時間標(biāo)簽中是否存在相同的時間標(biāo)簽;第三檢測模塊,如果第二 檢測模塊檢測出所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的時間 標(biāo)簽,則第三檢測模塊檢測在所述相同的時間標(biāo)簽所標(biāo)明的時刻之后、且與 所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;補點模塊,如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時刻之后、且與所述相同 的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻空缺,則補點模塊將所述空缺的時刻所
對應(yīng)的數(shù)據(jù)補充為所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元401最后收 到的數(shù)據(jù);如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時刻之
刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元401最先收到的數(shù)據(jù)。 接收單元401也可以有多種實現(xiàn)形式。
例如,接收單元401可以包括接收模塊,接收控制站廣播的攜帶有時 間標(biāo)簽的數(shù)據(jù);存儲模塊,存儲接收模塊每次接收的攜帶有時間標(biāo)簽的數(shù)據(jù); 對于接收模塊任意一次接收的數(shù)據(jù)存儲模塊判斷已存儲的數(shù)據(jù)量是否達(dá)到 預(yù)先設(shè)置的容量門限;如果存儲模塊判斷出已存儲的數(shù)據(jù)量達(dá)到了預(yù)先設(shè)置 的容量門限,則刪除最早存入的數(shù)據(jù),并根據(jù)當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo) 簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之間的先后順 序,存儲當(dāng)前接收的數(shù)據(jù);如果存儲模塊判斷出已存儲的數(shù)據(jù)量未達(dá)到預(yù)先
存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收的 數(shù)據(jù)。
再例如,接收單元401可以包括接收模塊,接收控制站廣播的攜帶有 時間標(biāo)簽的數(shù)據(jù);存儲模塊,存儲接收模塊每次接收的攜帶有時間標(biāo)簽的數(shù) 據(jù);對于接收模塊任意一次接收的數(shù)據(jù)如果存儲模塊判斷出當(dāng)前接收的數(shù) 據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻在至少 一個已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所 標(biāo)明的時刻之前,則刪除攜帶的時間標(biāo)簽所標(biāo)明的時刻在當(dāng)前接收的數(shù)據(jù)攜 帶的時間標(biāo)簽所標(biāo)明的時刻之后的數(shù)據(jù);或者,如果存儲模塊判斷出當(dāng)前接 收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo) 明的時刻中最靠后的時刻之差超過了預(yù)先設(shè)置的差值門限,則刪除已存儲的 所有數(shù)據(jù)。
需要說明的是,由于上述的操作站中的各個單元及其中的各個模塊都是 虛擬單元或虛擬模塊,并且這些單元或模塊都是對上述的數(shù)據(jù)處理方法中的 步驟虛擬化得到的,所以,這些單元或模塊的相關(guān)描述完全可以參見上述的 數(shù)據(jù)處理方法中的對應(yīng)步驟的相關(guān)描述,這里不再贅述。上面提到過,本發(fā)明可以應(yīng)用在工業(yè)控制系統(tǒng)中。對此,本發(fā)明還提供 一種工業(yè)控制系統(tǒng)。如圖5所示,這種工業(yè)控制系統(tǒng)包括控制站、操作站和
控制網(wǎng)。其中,控制網(wǎng),轉(zhuǎn)發(fā)控制站與操作站之間的數(shù)據(jù);控制站,對需要 廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,并將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)通過控制網(wǎng) 廣播給操作站;操作站,從控制網(wǎng)連續(xù)多次接收控制站廣播的攜帶有時間標(biāo) 簽的數(shù)據(jù),并根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連續(xù)多 次接收的數(shù)據(jù)處理。
上述的工業(yè)控制系統(tǒng)可以包括多個操作站,其中一個操作站可以作為時 鐘源,這個時鐘源可以將時鐘信息提供給控制站和其他操作站,控制站和其 他操作站根據(jù)時鐘源提供的時鐘信息,完成時鐘同步。同步時,可以釆用簡 單網(wǎng)絡(luò)時間協(xié)議(SNTP, Simple Network Time Protocol)。
關(guān)于控制站的描述,可以參見本發(fā)明提供的上述的數(shù)據(jù)發(fā)送方法和控制 站中的相關(guān)描述。關(guān)于操作站的描述,可以參見本發(fā)明提供的上述的數(shù)據(jù)處 理方法和操作站中的相關(guān)描述。這里不再贅述。
在本發(fā)明的所有實施例中,控制站可以是指用于直接與現(xiàn)場通信的I/O處 理裝置。優(yōu)選的,控制站可以在每一秒都廣播攜帶有時間標(biāo)簽的數(shù)據(jù),這樣 可以避免出現(xiàn)漏包現(xiàn)象。
在本發(fā)明的所有實施例中,操作站可以是指用戶使用的終端,例如計算 機。操作站接收到控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)包后,可以解析數(shù)據(jù) 包,并可以對數(shù)據(jù)包中的對應(yīng)所有位號的實時值都設(shè)置這個時間標(biāo)簽,之后, 存儲對應(yīng)所有位號的攜帶有時間標(biāo)簽的實時值。優(yōu)選的,操作站中可以設(shè)置 有數(shù)據(jù)緩存區(qū),這個數(shù)據(jù)緩存區(qū)最多可以存儲每個位號的最新的35個實時值 (相當(dāng)于本發(fā)明提供的上述的數(shù)據(jù)處理方法和操作站中的預(yù)先設(shè)置的容量門 限)。另外,操作站可以定時對數(shù)據(jù)緩存區(qū)中的數(shù)據(jù)進(jìn)行處理,例如,定時統(tǒng) 計每個位號的實時值的變化趨勢。再例如,操作站定時檢查是否存在空缺的 時刻,或者說,檢查時間標(biāo)簽所標(biāo)明的時刻是否是按照1秒連續(xù)增加的,如 果發(fā)現(xiàn)空缺了其中的一秒或幾秒,那么就需要補充空缺的時刻所對應(yīng)的數(shù)據(jù)。
在本發(fā)明的所有實施例中,操作站可以對其數(shù)據(jù)緩存區(qū)中的數(shù)據(jù)進(jìn)行必 要的補點操作,這樣可以基本過濾攜帶有錯誤的時間標(biāo)簽的數(shù)據(jù),極大的保 證了數(shù)據(jù)的正確性。
19在本發(fā)明的所有實施例中,可以將其中的一個操作站作為時鐘源,時鐘 源可以向控制器和其他操作站同步時鐘信息,控制器和其他操作站收到時鐘 信息后,可以調(diào)整本地時鐘。這樣,工業(yè)控制系統(tǒng)中的操作站之間、操作站 和控制站之間、控制站之間都達(dá)到了時鐘同步。
在本發(fā)明的所有實施例中,控制站對廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,這樣, 接收到控制站廣播的數(shù)據(jù)的操作站都獲得了對應(yīng)同 一個數(shù)據(jù)的相同的時間標(biāo) 簽,這樣,無論用戶在哪個操作站上處理數(shù)據(jù),所看到的時間標(biāo)簽都是一致
的。例如,假設(shè)控制站向操作站1 、操作站2和操作站3廣播數(shù)據(jù),在07:00:00, 控制站向操作站1、操作站2和操作站3廣播攜帶有07:00:00的某個數(shù)據(jù)包, 這樣,操作站l、操作站2和操作站3接收的這個數(shù)據(jù)包都攜帶了 07:00:00。 無論用戶在操作站1 、操作站2還是操作站3上處理這個數(shù)據(jù)包,用戶所看到 的這個數(shù)據(jù)包攜帶的時間標(biāo)簽都是07:00:00。
在本發(fā)明的所有實施例中,由控制站對廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽。由于 控制站一般都會定時(例如每一秒)向操作站廣播數(shù)據(jù),所以,如果由控制 站對廣播給操作站的數(shù)據(jù)設(shè)置時間標(biāo)簽,那么可以基本避免出現(xiàn)時間標(biāo)簽相 同的數(shù)據(jù)(例如,按照設(shè)置時間標(biāo)簽的時刻設(shè)置時間標(biāo)簽)。這樣,操作站收 到的數(shù)據(jù)攜帶的時間標(biāo)簽都會不同,自然也不會輕易的丟棄或覆蓋掉一些數(shù) 據(jù),有利于后續(xù)的數(shù)據(jù)處理。
需要說明的是,對于本發(fā)明中的控制站和操作站來說,其中包括的很多 單元及其中的模塊都是虛擬單元和虛擬模塊,即,由計算機語言的語句或語 句組合實現(xiàn)。在實際應(yīng)用中,不同語句的組合實現(xiàn)的功能可以有所不同,這 種情況下,對虛擬單元和虛擬模塊的劃分也可能有所不同。也就是說,本發(fā) 明只是給出了一種虛擬單元和虛擬模塊的劃分方式,在實際應(yīng)用中,本領(lǐng)域 技術(shù)人員可以根據(jù)實際需要而采用不同的虛擬單元和虛擬模塊的劃分方式, 只要保證能夠?qū)崿F(xiàn)本發(fā)明中的控制站和操作站所具有的功能即可。
本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)本發(fā)明提供的方法中的全部或部分 流程,是可以通過計算機程序來指令相關(guān)的硬件來完成的,所述的程序可存 儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的 實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體 (Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普 通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤 飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種數(shù)據(jù)發(fā)送方法,其特征在于,適用于包括控制站和操作站的工業(yè)控制系統(tǒng),控制站執(zhí)行下述步驟設(shè)置步驟,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播步驟,將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站。
2. 如權(quán)利要求1所述的方法,其特征在于,在設(shè)置步驟之前,還包括同 步步驟,控制站與時鐘源進(jìn)行時鐘同步;所述設(shè)置步驟的實現(xiàn)方式為以同步后的時鐘為基準(zhǔn),對需要廣播的數(shù) 據(jù)設(shè)置時間標(biāo)簽。
3. 如權(quán)利要求1所述的方法,其特征在于,所述時間標(biāo)簽標(biāo)明的時刻為控 制站設(shè)置時間標(biāo)簽的時刻。
4. 如權(quán)利要求1所述的方法,其特征在于,所述廣播步驟的實現(xiàn)方式為 控制站采用以太網(wǎng)用戶數(shù)據(jù)報協(xié)議UDP方式將設(shè)置有所述時間標(biāo)簽的所述數(shù) 據(jù)廣播給操作站。
5. 如權(quán)利要求1所述的方法,其特征在于,控制站在每一秒都執(zhí)行所述設(shè) 置步驟和所述廣播步驟。
6. 如權(quán)利要求1所述的方法,其特征在于,設(shè)置有所述時間標(biāo)簽的所述數(shù) 據(jù)為一個數(shù)據(jù)包,所述數(shù)據(jù)包至少包括數(shù)據(jù)的實時值、所述時間標(biāo)簽和數(shù)據(jù) 的質(zhì)量碼信息。
7. —種控制站,其特征在于,適用于包括控制站和操作站的工業(yè)控制系統(tǒng), 所述控制站包括設(shè)置單元,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播單元,將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣纟番給操作站。
8. 如權(quán)利要求7所述的控制站,其特征在于,還包括同步單元,在設(shè)置 單元對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽之前,與時鐘源進(jìn)行時鐘同步;設(shè)置單元在對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽時,以同步后的時鐘為基準(zhǔn)。
9. 一種數(shù)據(jù)處理方法,其特征在于,適用于包括控制站和操作站的工業(yè)控 制系統(tǒng),所述方法包括操作站連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所述時間標(biāo) 簽是控制站設(shè)置的;操作站根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連續(xù)多次 接收的數(shù)據(jù)處理。
10. 如權(quán)利要求9所述的方法,其特征在于,操作站按照下述方式根據(jù)所述連續(xù)多次接收的婆:據(jù)攜帶的時間標(biāo)簽、對所述連續(xù)多次接收的數(shù)據(jù)處理如果操作站根據(jù)預(yù)先規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的變化規(guī)律,檢測到 連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中存在空缺的時刻,則在 所述連續(xù)多次接收的數(shù)據(jù)中補充空缺的時刻所對應(yīng)的翁:據(jù)。
11. 如權(quán)利要求IO所述的方法,其特征在于,所述變化規(guī)律為每一次接 收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻相對于之前一次接收的數(shù)據(jù)攜帶的時 間標(biāo)簽所標(biāo)明的時刻增加一秒;所述存在空缺的時刻的表現(xiàn)形式為在連續(xù)多次接收的數(shù)據(jù)攜帶的時間 標(biāo)簽所標(biāo)明的時刻中,至少有兩個連續(xù)接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的 時刻之間的差值超過一秒。
12. 如權(quán)利要求IO所述的方法,其特征在于,操作站按照下述方式在所述 連續(xù)多次接收的數(shù)據(jù)中補充空缺的時刻所對應(yīng)的數(shù)據(jù)操作站在所述連續(xù)多 次接收的數(shù)據(jù)中,將空缺的時刻所對應(yīng)的數(shù)據(jù)補充為在所述空缺的時刻之前、 且與所述空缺的時刻相鄰的時刻所對應(yīng)的lt據(jù)。
13. 如權(quán)利要求9所述的方法,其特征在于,操作站按照下述方式根據(jù)所 述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽、對所述連續(xù)多次接收的數(shù)據(jù)處理操作站如果發(fā)現(xiàn)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的 時間標(biāo)簽,則再^r查在所述相同的時間標(biāo)簽所標(biāo)明的時刻之前、且與所述相 同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;如果空缺,則操作站將所述空缺的時刻所對應(yīng)的數(shù)據(jù)補充為所述相同的 時間標(biāo)簽對應(yīng)的凝:據(jù)中的最先收到的凝:據(jù);如果不空缺,則操作站刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的最先收 到的數(shù)據(jù)。
14. 如權(quán)利要求9所述的方法,其特征在于,操作站按照下述方式根據(jù)所 述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽、對所述連續(xù)多次接收的數(shù)據(jù)處理操作站如果發(fā)現(xiàn)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中存在相同的 時間標(biāo)簽,則再檢查在所述相同的時間標(biāo)簽所標(biāo)明的時刻之后、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;如果空缺,則操作站將所述空缺的時刻所對應(yīng)的數(shù)據(jù)補充為所述相同的 時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的最后收到的數(shù)據(jù);如果不空缺,則操作站刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的最先收 到的數(shù)據(jù)。
15. 如權(quán)利要求9所述的方法,其特征在于,才喿作站連續(xù)多次接收控制站 廣播的攜帶有時間標(biāo)簽的數(shù)據(jù)的過程包括操作站存儲每次接收的數(shù)據(jù),其 中,對于任意一次接收的數(shù)據(jù)才喿作站判斷已存儲的數(shù)據(jù)量是否達(dá)到預(yù)先設(shè)置的容量門限; 如果操作站判斷出已存儲的數(shù)據(jù)量達(dá)到了預(yù)先設(shè)置的容量門限,則刪除 最早存入的數(shù)據(jù),并根據(jù)當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已 存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收的 數(shù)據(jù);如果操作站判斷出已存儲的數(shù)據(jù)量未達(dá)到預(yù)先設(shè)置的容量門限,則根據(jù) 當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間標(biāo) 簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收的婆:據(jù)。
16. 權(quán)利要求9所述的方法,其特征在于,操作站連續(xù)多次接收控制站廣 播的攜帶有時間標(biāo)簽的數(shù)據(jù)的過程包括操作站存儲每次接收的數(shù)據(jù),其中, 對于任意一次接收的數(shù)據(jù)如果操作站判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻在至少 一個已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之前,則刪除攜帶的時間標(biāo) 簽所標(biāo)明的時刻在當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之后的數(shù) 據(jù);或者,如果操作站判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存 儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中最靠后的時刻之差超過了預(yù)先設(shè)置 的差值門限,則刪除已存儲的所有數(shù)據(jù)。
17. —種操作站,其特征在于,適用于包括控制站和操作站的工業(yè)控制系 統(tǒng),所述操作站包括接收單元,連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù),所述時 間標(biāo)簽是控制站設(shè)置的;處理單元,根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連續(xù) 多次接收的數(shù)據(jù)處理。
18. 如權(quán)利要求17所述的操作站,其特征在于,處理單元包括 第一檢測模塊,根據(jù)預(yù)先規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的變化規(guī)律,檢測到連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中是否存在空缺的時 刻;補點模塊,如果第一檢測模塊根據(jù)預(yù)先規(guī)定的時間標(biāo)簽所標(biāo)明的時刻的 變化規(guī)律,檢測到連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中存在 空缺的時刻,則補點模塊在所述連續(xù)多次接收的數(shù)據(jù)中補充空缺的時刻所對 應(yīng)的tt據(jù)。
19. 如權(quán)利要求17所述的操作站,其特征在于,處理單元包括第二檢測模塊,檢測連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中是否存在相同的時間標(biāo)簽;第三檢測模塊,如果第二檢測模塊檢測出所述連續(xù)多次接收的數(shù)據(jù)攜帶 的時間標(biāo)簽中存在相同的時間標(biāo)簽,則第三檢測模塊檢測在所述相同的時間是否空缺;補點模塊,如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時 刻之前、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻空缺,則補點才莫塊將所述空缺的時刻所對應(yīng)的數(shù)據(jù)補充為所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中 的接收單元最先收到的數(shù)據(jù);如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時刻之前、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻不 空缺,則補點模塊刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元最先收 到的數(shù)據(jù)。
20. 如權(quán)利要求17所述的操作站,其特征在于,處理單元包括第二檢測模塊,檢測連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽中是否存在相 同的時間標(biāo)簽;第三檢測模塊,如果第二檢測模塊檢測出所述連續(xù)多次接收的數(shù)據(jù)攜帶 的時間標(biāo)簽中存在相同的時間標(biāo)簽,則第三檢測才莫塊4全測在所述相同的時間 標(biāo)簽所標(biāo)明的時刻之后、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻是否空缺;補點模塊,如果第三檢測模塊檢測出在所述相同的時間標(biāo)簽所標(biāo)明的時 刻之后、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻空缺,則補點模的接收單元最后收到的數(shù)據(jù);如果第三檢測模塊檢測出在所迷相同的時間標(biāo) 簽所標(biāo)明的時刻之后、且與所述相同的時間標(biāo)簽所標(biāo)明的時刻相鄰的時刻不 空缺,則補點;漠塊刪除所述相同的時間標(biāo)簽對應(yīng)的數(shù)據(jù)中的接收單元最先收 到的數(shù)據(jù)。
21. 如權(quán)利要求17所述的操作站,其特征在于,接收單元包括 接收模塊,接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù); 存儲模塊,存儲接收模塊每次接收的攜帶有時間標(biāo)簽的數(shù)據(jù); 對于接收模塊任意一次接收的數(shù)據(jù)存儲^^莫塊判斷已存儲的數(shù)據(jù)量是否達(dá)到預(yù)先設(shè)置的容量門限; 如果存儲模塊判斷出已存儲的數(shù)據(jù)量達(dá)到了預(yù)先設(shè)置的容量門限,則刪 除最早存入的數(shù)據(jù),并根據(jù)當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與 已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收 的數(shù)據(jù);如果存儲模塊判斷出已存儲的數(shù)據(jù)量未達(dá)到預(yù)先設(shè)置的容量門限,則根 據(jù)當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已存儲的數(shù)據(jù)攜帶的時間 標(biāo)簽所標(biāo)明的時刻之間的先后順序,存儲當(dāng)前接收的數(shù)據(jù)。
22. 權(quán)利要求17所述的操作站,其特征在于,接收單元包括 接收模塊,接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù); 存儲模塊,存儲接收模塊每次接收的攜帶有時間標(biāo)簽的數(shù)據(jù); 對于接收模塊任意 一次接收的數(shù)據(jù)如果存儲模塊判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻在至 少一個已存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻之前,則刪除攜帶的時間據(jù)5或者,如果存儲模塊判斷出當(dāng)前接收的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻與已 存儲的數(shù)據(jù)攜帶的時間標(biāo)簽所標(biāo)明的時刻中最靠后的時刻之差超過了預(yù)先設(shè)置的差值門限,則刪除已存儲的所有數(shù)據(jù)。
23. —種工業(yè)控制系統(tǒng),包括控制站、操作站和控制網(wǎng),其特征在于 控制網(wǎng),轉(zhuǎn)發(fā)控制站與操作站之間的數(shù)據(jù);控制站,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽,并將設(shè)置有所述時間標(biāo)簽的 所述數(shù)據(jù)通過控制網(wǎng)廣播給操作站;操作站,從控制網(wǎng)連續(xù)多次接收控制站廣播的攜帶有時間標(biāo)簽的數(shù)據(jù), 并根據(jù)所述連續(xù)多次接收的數(shù)據(jù)攜帶的時間標(biāo)簽,對所述連續(xù)多次接收的數(shù) 據(jù)處理。
24. 如權(quán)利要求23所述的系統(tǒng),其特征在于,所述工業(yè)控制系統(tǒng)包括多個 操作站,其中一個操作站作為時鐘源,將時鐘信息提供給控制站和其他操作 站,控制站和其他操作站根據(jù)時鐘源提供的時鐘信息,完成時鐘同步。
全文摘要
本發(fā)明提供一種數(shù)據(jù)發(fā)送方法,適用于包括控制站和操作站的工業(yè)控制系統(tǒng),控制站執(zhí)行下述步驟設(shè)置步驟,對需要廣播的數(shù)據(jù)設(shè)置時間標(biāo)簽;廣播步驟,將設(shè)置有所述時間標(biāo)簽的所述數(shù)據(jù)廣播給操作站。本發(fā)明還提供一種控制站、數(shù)據(jù)處理方法、操作站和工業(yè)控制系統(tǒng)。在本發(fā)明中,由控制站對廣播給操作站的數(shù)據(jù)設(shè)置時間標(biāo)簽,操作站收到的數(shù)據(jù)攜帶的時間標(biāo)簽都會不同,這樣,操作站自然也不會輕易的丟棄或覆蓋掉一些數(shù)據(jù),有利于后續(xù)的數(shù)據(jù)處理。同時,多個操作站接收到的相同數(shù)據(jù)都會攜帶相同的時間標(biāo)簽,避免了同一個數(shù)據(jù)在不同的操作站上顯示不同的時刻。
文檔編號G05B19/418GK101515175SQ20091013087
公開日2009年8月26日 申請日期2009年4月16日 優(yōu)先權(quán)日2009年4月16日
發(fā)明者偉 張, 輝 曹, 汪月林 申請人:浙江浙大中控信息技術(shù)有限公司