專利名稱:基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DCS控制系統(tǒng)領(lǐng)域,特別是一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成工具。
背景技術(shù):
分布式控制系統(tǒng)(Distributed Control System, DCS)是隨著現(xiàn)代大型工業(yè)生產(chǎn)自動(dòng)化的不斷興起和過(guò)程控制要求的日益復(fù)雜而應(yīng)運(yùn)而生的綜合控制系統(tǒng)。DCS項(xiàng)目經(jīng)常采用Excel文件及其表單作為項(xiàng)目數(shù)據(jù)載體,從而生成項(xiàng)目所需的大量報(bào)表等。由于各類項(xiàng)目數(shù)據(jù)之間存在著關(guān)聯(lián),例如,由于回路是由若干輸入/輸出點(diǎn)構(gòu)成,那么,Excel文件中記錄回路信息的回路表單與記錄輸入/輸出點(diǎn)信息的輸入/輸出點(diǎn)表單之間是存在關(guān)聯(lián)關(guān)系的。 但是,Excel文件本身并不能識(shí)別DCS項(xiàng)目數(shù)據(jù)內(nèi)部的關(guān)聯(lián),即并不能將不同表單中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)。這樣,DCS工程師就不得不在Excel軟件中進(jìn)行DCS項(xiàng)目數(shù)據(jù)整理的同時(shí),在DCS軟件系統(tǒng)(例如西門子公司的PCS-7系統(tǒng))中針對(duì)DCS項(xiàng)目數(shù)據(jù)編制大量數(shù)據(jù)代碼以進(jìn)行項(xiàng)目數(shù)據(jù)處理,以完成DCS項(xiàng)目的軟件編程,這會(huì)大幅提高項(xiàng)目成本,降低項(xiàng)目執(zhí)行效率,并最終影響項(xiàng)目執(zhí)行質(zhì)量。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提出一種系統(tǒng)和方法,使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用的程序數(shù)據(jù)。根據(jù)本發(fā)明的一個(gè)方面,提供一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng),所述系統(tǒng)包括表單關(guān)系生成模塊、公式定義模塊和結(jié)果表單計(jì)算模塊,其中,所述表單關(guān)系生成模塊,用于根據(jù)預(yù)定規(guī)則,在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系;所述公式定義模塊,用于根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)貝U ;以及所述結(jié)果表單計(jì)算模塊,用于根據(jù)所述表單關(guān)系生成模塊所建立的所述關(guān)聯(lián)關(guān)系和所述公式定義模塊所定義的所述運(yùn)算規(guī)則,對(duì)Excel文件各表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到所述結(jié)果表單。從上述方案中可以看出,該系統(tǒng)可使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用的程序數(shù)據(jù),降低了 DCS項(xiàng)目成本,提高了項(xiàng)目執(zhí)行效率和項(xiàng)目執(zhí)行質(zhì)量。優(yōu)選地,所述表單關(guān)系生成模塊,具體用于根據(jù)預(yù)先定義的規(guī)則,利用Excel可識(shí)別的配置表述在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,其中所述配置表述中至少指示存在所述關(guān)聯(lián)關(guān)系的表單以及存在所述關(guān)聯(lián)關(guān)系的鍵列;所述公式定義模塊,具體用于根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則,其中在所述運(yùn)算規(guī)則中,所計(jì)算的源數(shù)據(jù)來(lái)自Excel文件的不同表單中的鍵列數(shù)據(jù),而目標(biāo)數(shù)據(jù)是利用所述運(yùn)算規(guī)則在所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算之后的計(jì)算結(jié)果,從而形成所述結(jié)果表單;以及所述結(jié)果表單計(jì)算模塊,具體用于根據(jù)所述公式定義模塊所定義的所述運(yùn)算規(guī)則,在作為所述源數(shù)據(jù)的Excel文件的不同表單中的所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算,從而得到所述結(jié)果表單中各鍵列的數(shù)據(jù),在此過(guò)程中,所述結(jié)果表單計(jì)算模塊還根據(jù)所述表單關(guān)系生成模塊所建立的所述關(guān)聯(lián)關(guān)系中確定的不同表單數(shù)據(jù)行之間的對(duì)應(yīng)關(guān)系,逐行計(jì)算出結(jié)果表單中的數(shù)據(jù)。優(yōu)選地,所述源數(shù)據(jù)包括回路表單和/或輸入/輸出點(diǎn)表單。優(yōu)選地,所述關(guān)聯(lián)關(guān)系是指Excel文件不同表單的鍵列的內(nèi)容相同。優(yōu)選地,將所述配置表述存儲(chǔ)在Excel可識(shí)別的文件中,以被Excel識(shí)別和處理。根據(jù)本發(fā)明的另一個(gè)方面,還提供一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成方法,所述方法包括表單關(guān)系生成步驟、公式定義步驟和結(jié)果表單計(jì)算步驟,其中,所述表單關(guān)系生成步驟根據(jù)預(yù)定規(guī)則,在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系;所述公式定義步驟根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則;以及所述結(jié)果表單計(jì)算步驟根據(jù)在所述表單關(guān)系生成步驟中所建立的所述關(guān)聯(lián)關(guān)系和在 所述公式定義步驟中所定義的所述運(yùn)算規(guī)則,對(duì)Excel文件各表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到所述結(jié)果表單。從上述方案中可以看出,該方法可使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用的程序數(shù)據(jù),降低了 DCS項(xiàng)目成本,提高了項(xiàng)目執(zhí)行效率和項(xiàng)目執(zhí)行質(zhì)量。優(yōu)選地,所述表單關(guān)系生成步驟具體根據(jù)預(yù)先定義的規(guī)則,利用Excel可識(shí)別的配置表述在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,其中所述配置表述中至少指示存在所述關(guān)聯(lián)關(guān)系的表單以及存在所述關(guān)聯(lián)關(guān)系的鍵列;所述公式定義步驟具體根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則,其中在所述運(yùn)算規(guī)則中,所計(jì)算的源數(shù)據(jù)來(lái)自Excel文件的不同表單中的鍵列數(shù)據(jù),而目標(biāo)數(shù)據(jù)是利用所述運(yùn)算規(guī)則在所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算之后的計(jì)算結(jié)果,從而形成所述結(jié)果表單;以及所述結(jié)果表單計(jì)算步驟具體根據(jù)在所述公式定義步驟所定義的所述運(yùn)算規(guī)則,在作為所述源數(shù)據(jù)的Excel文件的不同表單中的所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算,從而得到所述結(jié)果表單中各鍵列的數(shù)據(jù),在此過(guò)程中,還根據(jù)在所述表單關(guān)系生成步驟所建立的所述關(guān)聯(lián)關(guān)系中確定的不同表單數(shù)據(jù)行之間的對(duì)應(yīng)關(guān)系,逐行計(jì)算出結(jié)果表單中的數(shù)據(jù)。優(yōu)選地,所述源數(shù)據(jù)包括回路表單和/或輸入/輸出點(diǎn)表單。優(yōu)選地,所述關(guān)聯(lián)關(guān)系是指Excel文件不同表單的鍵列的內(nèi)容相同。優(yōu)選地,將所述配置表述存儲(chǔ)在Excel可識(shí)別的文件中,以被Excel識(shí)別和處理。
下面將通過(guò)參照附圖詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例,使本領(lǐng)域的普通技術(shù)人員更清楚本發(fā)明的上述及其它特征和優(yōu)點(diǎn),附圖中圖I是本發(fā)明具體實(shí)施方式
中基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明具體實(shí)施方式
的DCS項(xiàng)目中一輸入/輸出點(diǎn)表單的界面示意圖;圖3是本發(fā)明具體實(shí)施方式
的DCS項(xiàng)目中一回路表單的界面示意圖4是本發(fā)明具體實(shí)施方式
中進(jìn)行公式定義的表單的界面示意圖;圖5是本發(fā)明具體實(shí)施方式
的DCS項(xiàng)目中一結(jié)果表單的界面示意圖;圖6是本發(fā)明具體實(shí)施方式
中基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成方法的步驟流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。為了得到DCS項(xiàng)目的所需項(xiàng)目報(bào)表,將DCS項(xiàng)目數(shù)據(jù)匯總在Excel文件中。根據(jù)不同的數(shù)據(jù)種類,DCS項(xiàng)目數(shù)據(jù)分別記錄在不同的Excel表單中,而不同表單中的數(shù)據(jù)之間是存在關(guān)聯(lián)關(guān)系的。如果Excel軟件能夠識(shí)別并處理這些關(guān)聯(lián),就可以以這些相互關(guān)聯(lián)的表單為基礎(chǔ),對(duì)各表單中的項(xiàng)目數(shù)據(jù)進(jìn)行運(yùn)算,生成DCS項(xiàng)目所需要的大量中間及結(jié)果表單, 從而在Excel軟件環(huán)境下實(shí)現(xiàn)與DCS軟件系統(tǒng)中編程類似的功能。本發(fā)明正是利用Excel的VBA編程接口,開(kāi)發(fā)了基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)。圖I是本發(fā)明具體實(shí)施方式
中基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)包括表單關(guān)系生成模塊10、公式定義模塊20和結(jié)果表單計(jì)算模塊30。其中,所述表單關(guān)系生成模塊10用于根據(jù)預(yù)定規(guī)則,在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系;所述公式定義模塊20用于根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則;以及所述結(jié)果表單計(jì)算模塊30用于根據(jù)所述表單關(guān)系生成模塊10所建立的所述關(guān)聯(lián)關(guān)系和所述公式定義模塊20所定義的所述運(yùn)算規(guī)則,對(duì)Excel文件各表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到所述結(jié)果表單?;芈沸畔⒑洼斎?輸出點(diǎn)信息是DCS項(xiàng)目的基礎(chǔ)數(shù)據(jù)之一,Excel文件中分別記錄這些信息的回路表單和輸入/輸出點(diǎn)表單也均是DCS項(xiàng)目數(shù)據(jù)中的重要表單之一,它們的數(shù)據(jù)之間是存在關(guān)聯(lián)關(guān)系的。圖2示出了 DCS項(xiàng)目中一輸入/輸出點(diǎn)表單的界面示意圖,圖3示出了 DCS項(xiàng)目中一回路表單的界面示意圖。在下面的具體實(shí)施方式
說(shuō)明中,我們以回路表單與輸入/輸出點(diǎn)表單之間的關(guān)聯(lián)關(guān)系為例,說(shuō)明本發(fā)明具體實(shí)施方式
中系統(tǒng)和方法的功能和操作。下面,我們首先來(lái)介紹具體實(shí)施方式
中基于Excel表單的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)中的各功能模塊(I)表單關(guān)系生成模塊10在Excel文件中,DCS項(xiàng)目用“輸入/輸出點(diǎn)表單(DAT_I0L) ”來(lái)記錄和顯示與輸入/輸出點(diǎn)有關(guān)的信息,該輸入/輸出點(diǎn)表單在本發(fā)明系統(tǒng)的Excel軟件界面中以表單名稱“I0L”表示,如圖2所示。對(duì)于DCS項(xiàng)目表單,將Excel表格中的列稱為“鍵列”,在該IOL表單中具有一名稱為“PT Name”的鍵列。同時(shí)在Excel文件中,DCS項(xiàng)目中用“回路表單(DAT_PTL) ”來(lái)記錄和顯示與回路有關(guān)的信息,該回路表單在本發(fā)明系統(tǒng)的Excel軟件界面中以表單名稱“PTL”表示,如圖3所示。在該P(yáng)TL表單中具有一名稱為“Process TagTagname ”的鍵列。從鍵列中數(shù)據(jù)內(nèi)容來(lái)看,IOL表單中的“PT Name”鍵列與PTL表單中的“ProcessTag Tagname”鍵列的內(nèi)容是相同的,這就是所謂Excel表單之間的關(guān)聯(lián)關(guān)系。但是,由于這些數(shù)據(jù)內(nèi)容在不同表單中是針對(duì)不同目的組織的,因而其內(nèi)容的排列順序是完全不同的。例如,在IOL表單中的“PT Name”鍵列中第m行的數(shù)據(jù)在PTL表單中的“Process TagTagname”鍵列中則可能出現(xiàn)在第η行,而m并不等于η。在具體實(shí)施方式
的表單關(guān)系生成模塊10中,可根據(jù)軟件預(yù)先定義的規(guī)則,在不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,從而在后期的數(shù)據(jù)處理中識(shí)別并處理這種關(guān)聯(lián)關(guān)系。具體地,可利用如下配置表述來(lái)建立上述IOL表單中的“PT Name”鍵列與上述PTL表單中的“Process Tag Tagname”鍵列之間的關(guān)聯(lián)關(guān)系[Linkl]Tablel = PTL ;Table2 = IOL ;key I = DAT_PTL_PT_TAG ; Key2 = DAT_I0L_PT_NAME其中,Tablel和Table2的值分別代表了要發(fā)生關(guān)聯(lián)關(guān)系的表單名稱“PTL”和“I0L”,而keyl和key2的值分別代表了兩個(gè)表單中建立關(guān)聯(lián)關(guān)系的鍵列名稱,其中DAT_PTL_PT_TAG根據(jù)所定義的規(guī)則代表PTL表單中的“Process Tag Tagname (PT_TAG) ”鍵列,而DAT_I0L_PT_NAME根據(jù)所定義的規(guī)則代表IOL表單中的“PTName (PT_NAME) ”鍵列。經(jīng)過(guò)這樣的配置表述,以Excel軟件可識(shí)別的方式說(shuō)明了 IOL表單中的“PT Name”鍵列與PTL表單中的“Process Tag Tagname”鍵列數(shù)據(jù)內(nèi)容相同這種關(guān)聯(lián)關(guān)系。將這樣的配置表述存儲(chǔ)在名為“ReportConfig. ini”的文件中,并可在后續(xù)數(shù)據(jù)處理中被Excel軟件識(shí)別并處理該關(guān)聯(lián)關(guān)系。這樣,本發(fā)明的系統(tǒng)基于關(guān)聯(lián)關(guān)系以外在的方式建立了 Excel文件中多個(gè)DCS數(shù)據(jù)表單的連接,提供了對(duì)跨數(shù)據(jù)表的DCS項(xiàng)目數(shù)據(jù)進(jìn)行處理的可能性。本領(lǐng)域技術(shù)人員可以理解,在上述實(shí)例中用戶基于預(yù)先定義的規(guī)則進(jìn)行了配置表述,從而實(shí)現(xiàn)了表單之間的關(guān)聯(lián)關(guān)系,而該規(guī)則是可以由系統(tǒng)用戶根據(jù)現(xiàn)有技術(shù)中的編程技術(shù)進(jìn)行預(yù)先定義的,該規(guī)則定義本身并非本發(fā)明所關(guān)注的技術(shù)內(nèi)容。(2)公式定義模塊20為了大大簡(jiǎn)化在DCS軟件系統(tǒng)中的編程工作,本發(fā)明具體實(shí)施方式
中的系統(tǒng)基于DCS軟件系統(tǒng)中的數(shù)據(jù)類型,在Excel軟件環(huán)境下實(shí)現(xiàn)DCS項(xiàng)目數(shù)據(jù)的運(yùn)算。為此,則需要利用系統(tǒng)中的公式定義模塊20進(jìn)行運(yùn)算規(guī)則的公式定義。圖4是本發(fā)明具體實(shí)施方式
中進(jìn)行公式定義的表單的界面示意圖。為了了解DCS軟件系統(tǒng)中的數(shù)據(jù)類型,首先將DCS軟件系統(tǒng)中已進(jìn)行編程的一個(gè)簡(jiǎn)單實(shí)例導(dǎo)出為項(xiàng)目文件并將其用Excel軟件打開(kāi),這時(shí)所有的數(shù)據(jù)類型和所對(duì)應(yīng)的項(xiàng)目數(shù)據(jù)就均呈現(xiàn)在Excel表單中。在去除具體的項(xiàng)目數(shù)據(jù)后,就得到了 DCS項(xiàng)目中所需的所有數(shù)據(jù)類型信息,如圖4中的Excel表單第2-4行內(nèi)容所示。根據(jù)DCS項(xiàng)目所需的所有數(shù)據(jù)類型信息,就可以對(duì)如圖2、圖3中所示的Excel表單中的DCS項(xiàng)目數(shù)據(jù)進(jìn)行計(jì)算操作,從而在Excel軟件環(huán)境下進(jìn)行DCS編程工作。具體地,基于圖4表單第2-4行內(nèi)容中表示的DCS數(shù)據(jù)類型信息,可以通過(guò)公式定義模塊20來(lái)定義用于計(jì)算Excel表單各鍵列數(shù)據(jù)的運(yùn)算規(guī)則。在各計(jì)算規(guī)則公式中,所計(jì)算的源數(shù)據(jù)正是來(lái)自Excel文件中的各DCS項(xiàng)目表單,例如圖2中所示的IOL表單或圖3中所示的PTL表單等,中的鍵列數(shù)據(jù),而公式的目標(biāo)數(shù)據(jù)則是利用上述運(yùn)算規(guī)則在上述鍵列數(shù)據(jù)之間進(jìn)行特定運(yùn)算之后的計(jì)算結(jié)果,從而形成DCS項(xiàng)目所需的結(jié)果表單。例如,在圖4所示表單的鍵列“C”中,根據(jù)第2-4行中DCS數(shù)據(jù)所需的數(shù)據(jù)類型信息,公式定義模塊20定義運(yùn)算規(guī)則為“ [DAT_PTL_AS_NAME] ”,該規(guī)則表示運(yùn)算結(jié)果是PTL表單中鍵列AS_NAME中的數(shù)據(jù)本身。在圖4所示表單的鍵列“D”中,根據(jù)第2_4行中DCS數(shù)據(jù)所需的數(shù)據(jù)類型信息,公式定義模塊20定義運(yùn)算規(guī)則為“ [DAT_PTL_PT_TAG]&” | ”&[DAT_PTL_PT_DESC_L1] ”,該規(guī)則表示一種簡(jiǎn)單的邏輯運(yùn)算,具體表示運(yùn)算結(jié)果是將PTL表單的鍵列PT_TAG中的數(shù)據(jù)和PTL表單的鍵列PT_DESC_L1中的數(shù)據(jù)用標(biāo)識(shí)符“ I ”連接。在圖4所示表單的鍵列“E ”中,根據(jù)第2-4行中DCS數(shù)據(jù)所需的數(shù)據(jù)類型信息,公式定義模塊20定義運(yùn)算規(guī)則為“ [<#PV ;DAT_I0L_I0_FUNCTI0N#>DAT_I0L_I0_TAG]&” | ”&”analog input””,該規(guī)則表示另一種邏輯運(yùn)算,具體表示運(yùn)算結(jié)果是將IOL表單的鍵列I0_TAG中符合條件“<#PV ;DAT_I0L_I0_FUNCTI0N#>” 的數(shù)據(jù)行和字符串 “analog input” 用標(biāo)識(shí)符 “ | ” 連接。在圖4所示表單的后續(xù)鍵列中所定義的公式類似,運(yùn)算結(jié)果均為利用DCS項(xiàng)目表單中的鍵列數(shù)據(jù)進(jìn)行特定運(yùn)算之后得到的計(jì)算結(jié)果,從而形成DCS項(xiàng)目所需的結(jié)果表單。根據(jù)DCS項(xiàng)目需求,公式定義模塊20可以定義不同的運(yùn)算規(guī)則和不同的源數(shù)據(jù)過(guò)濾條件,以得到不同用途的結(jié)果表單。本領(lǐng)域技術(shù)人員可以理解,在上述實(shí)例中公式定義模塊20基于預(yù)先定義的語(yǔ)法規(guī)則定義了用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的公式,而該語(yǔ)法規(guī)則是可以由系統(tǒng)用戶根據(jù)現(xiàn)有技術(shù)中的編程技術(shù)進(jìn)行預(yù)先定義的,該語(yǔ)法規(guī)則定義本身并非本發(fā)明所關(guān)注的技術(shù)內(nèi)容。(3)結(jié)果表單計(jì)算模塊30基于表單關(guān)系生成模塊10對(duì)表單間鍵列所建立的關(guān)聯(lián)關(guān)系和公式定義模塊20所定義的各運(yùn)算規(guī)則,結(jié)果表單計(jì)算模塊30就可以對(duì)各DCS表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得至IJ DCS項(xiàng)目的結(jié)果表單。具體地,根據(jù)公式定義模塊20所定義的各運(yùn)算規(guī)則,結(jié)果表單計(jì)算模塊30可在作為源數(shù)據(jù)的表單鍵列數(shù)據(jù)間進(jìn)行運(yùn)算,從而得到結(jié)果表單中各鍵列的計(jì)算結(jié)果。在此過(guò)程中,由于各表單鍵列中均存在多行數(shù)據(jù),而表單關(guān)系生成模塊10對(duì)表單間鍵列所建立的關(guān)聯(lián)關(guān)系則決定了不同表單間數(shù)據(jù)行的對(duì)應(yīng)關(guān)系,這樣,結(jié)果表單計(jì)算模塊30就可以按照該 對(duì)應(yīng)關(guān)系逐行計(jì)算出結(jié)果表單中的全部結(jié)果。如圖5所示,結(jié)果表單計(jì)算模塊30根據(jù)圖4中所定義的運(yùn)算規(guī)則,基于DCS表單中各鍵列的數(shù)據(jù)逐行計(jì)算出了 DCS項(xiàng)目所需的結(jié)果數(shù)據(jù),并以結(jié)果表單形式逐行列出。例如,如圖5表單中第5行所示,在鍵列“C”中,運(yùn)算結(jié)果為PTL表單中鍵列AS_NAME的某行數(shù)據(jù)“AS01”。在鍵列“D”中,運(yùn)算結(jié)果是將PTL表單的鍵列PT_TAG中的該行數(shù)據(jù)“FRC_101A”和PTL表單的鍵列PT_DESC_L1中的該行數(shù)據(jù)“GF104鼓風(fēng)機(jī)流量”用標(biāo)識(shí)符“ I ”連接,最終為“FRC_101A|GF104鼓風(fēng)機(jī)流量”。在鍵列“E”中,由于要對(duì)IOL表單中的數(shù)據(jù)進(jìn)行運(yùn)算,就需要通過(guò)表單關(guān)系生成模塊10所建立的表單關(guān)聯(lián)關(guān)系確定與PTL表單的該行相關(guān)聯(lián)的數(shù)據(jù)出現(xiàn)在IOL的哪一行。確定了 IOL表單的相關(guān)行的行號(hào)之后,根據(jù)所定義的運(yùn)算規(guī)則,如果該行數(shù)據(jù)符合條件“<#PV ;DAT_I0L_I0_FUNCTI0N#>”,則運(yùn)算結(jié)果是將IOL表單中的該行數(shù)據(jù)“FT101A”和字符串“analog input”用標(biāo)識(shí)符“ | ”連接,最終為“FT101A | analoginput”。結(jié)果表單中第5行后續(xù)鍵列中的結(jié)果也分別按照所定義的運(yùn)算規(guī)則計(jì)算,從而得到完整的一行運(yùn)算結(jié)果。根據(jù)上述方法,結(jié)果表單計(jì)算模塊30根據(jù)所定義的運(yùn)算規(guī)則,對(duì)DCS表單中的數(shù)據(jù)進(jìn)行逐行計(jì)算,從而最終得到完整的結(jié)果表單,該結(jié)果表單即為DCS軟件系統(tǒng)中所需的編程數(shù)據(jù)。計(jì)算完成后,系統(tǒng)還可將該結(jié)果表單存為DCS軟件系統(tǒng)可識(shí)別的.csv文件,并將該文件導(dǎo)入DCS軟件系統(tǒng)。DCS軟件系統(tǒng)讀取出例如在圖5中顯示的各行結(jié)果數(shù)據(jù),可根據(jù)DCS軟件系統(tǒng)的現(xiàn)有功能進(jìn)行自動(dòng)系統(tǒng)配置,即完成了 DCS軟件系統(tǒng)中的DCS項(xiàng)目編程工作。本領(lǐng)域技術(shù)人員應(yīng)該理解,在上述系統(tǒng)功能的說(shuō)明中,我們僅以DCS項(xiàng)目中的回路信息和輸入/輸出點(diǎn)信息為例說(shuō)明了本發(fā)明系統(tǒng)的功能。而在實(shí)際的系統(tǒng)操作中,該系統(tǒng)可以處理DCS項(xiàng)目中所有類型的數(shù)據(jù)和所有的Excel表單,其具體實(shí)現(xiàn)方式都是類似的,在此不做贅述。由此可見(jiàn),本發(fā)明具體實(shí)施方式
中的基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)可使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用 的程序數(shù)據(jù),降低了 DCS項(xiàng)目成本,提高了項(xiàng)目執(zhí)行效率和項(xiàng)目執(zhí)行質(zhì)量。下面,我們來(lái)介紹具體實(shí)施方式
中基于Excel表單的DCS項(xiàng)目數(shù)據(jù)生成方法中的步驟流程SlO :表單關(guān)系生成步驟從數(shù)據(jù)內(nèi)容來(lái)看,不同表單中的不同鍵列內(nèi)容有可能是相同的,這就是所謂Excel表單之間的關(guān)聯(lián)關(guān)系。但是,由于這些數(shù)據(jù)內(nèi)容在不同表單中是針對(duì)不同目的組織的,因而其內(nèi)容的排列順序是完全不同的。在表單關(guān)系生成步驟中,可根據(jù)軟件預(yù)先定義的規(guī)則,在不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,從而在后期的數(shù)據(jù)處理中識(shí)別并處理這種關(guān)聯(lián)關(guān)系。具體地,可利用Excel軟件可識(shí)別的配置表述方法來(lái)建立例如IOL表單中的“PT Name”鍵列與PTL表單中的"Process Tag Tagname”鍵列之間的關(guān)聯(lián)關(guān)系,從而說(shuō)明兩個(gè)鍵列間數(shù)據(jù)內(nèi)容相同。將這樣的配置表述存儲(chǔ)在名為“ReportConfig. ini”的文件中,并可在后續(xù)數(shù)據(jù)處理中被Excel軟件識(shí)別并處理該關(guān)聯(lián)關(guān)系。這樣,本發(fā)明的方法基于關(guān)聯(lián)關(guān)系以外在的方式建立了 Excel文件中多個(gè)DCS數(shù)據(jù)表單的連接,提供了對(duì)跨數(shù)據(jù)表的DCS項(xiàng)目數(shù)據(jù)進(jìn)行處理的可能性。S20 :公式定義步驟為了大大簡(jiǎn)化在DCS軟件系統(tǒng)中的編程工作,本發(fā)明具體實(shí)施方式
中的方法基于DCS軟件系統(tǒng)中的數(shù)據(jù)類型,在Excel軟件環(huán)境下實(shí)現(xiàn)DCS項(xiàng)目數(shù)據(jù)的運(yùn)算。為此,在公式定義步驟中進(jìn)行運(yùn)算規(guī)則的公式定義。根據(jù)DCS項(xiàng)目所需的所有數(shù)據(jù)類型信息,就可以對(duì)如圖2、圖3中所示的Excel表單中的DCS項(xiàng)目數(shù)據(jù)進(jìn)行計(jì)算操作,從而在Excel軟件環(huán)境下進(jìn)行DCS編程工作。具體地,基于圖4表單第2-4行內(nèi)容中表示的DCS數(shù)據(jù)類型信息,可以通過(guò)公式定義模塊20來(lái)定義用于計(jì)算Excel表單各鍵列數(shù)據(jù)的運(yùn)算規(guī)則。在各計(jì)算規(guī)則公式中,所計(jì)算的源數(shù)據(jù)正是來(lái)自Excel文件中的各DCS項(xiàng)目表單,例如圖2中所示的IOL表單或圖3中所示的PTL表單等,中的鍵列數(shù)據(jù),而公式的目標(biāo)數(shù)據(jù)則是利用上述運(yùn)算規(guī)則在上述鍵列數(shù)據(jù)之間進(jìn)行特定運(yùn)算之后的計(jì)算結(jié)果,從而形成DCS項(xiàng)目所需的結(jié)果表單。根據(jù)DCS項(xiàng)目需求,在公式定義步驟中可以定義不同的運(yùn)算規(guī)則和不同的源數(shù)據(jù)過(guò)濾條件,以得到不同用途的結(jié)果表單。S30 :結(jié)果表單計(jì)算步驟基于在表單關(guān)系生成步驟中對(duì)表單間鍵列所建立的關(guān)聯(lián)關(guān)系和在公式定義步驟中所定義的各運(yùn)算規(guī)則,在結(jié)果表單計(jì)算步驟中就可以對(duì)各DCS表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到DCS項(xiàng)目的結(jié)果表單。具體地,根據(jù)在公式定義步驟中所定義的各運(yùn)算規(guī)則,在結(jié)果表單計(jì)算步驟中可在作為源數(shù)據(jù)的表單鍵列數(shù)據(jù)間進(jìn)行運(yùn)算,從而得到結(jié)果表單中各鍵列的計(jì)算結(jié)果。在此過(guò)程中,由于各表單鍵列中均存在多行數(shù)據(jù),而在表單關(guān)系生成步驟中對(duì)表單間鍵列所建立的關(guān)聯(lián)關(guān)系則決定了不同表單間數(shù)據(jù)行的對(duì)應(yīng)關(guān)系,這樣,在結(jié)果表單計(jì)算步驟中就可以按照該對(duì)應(yīng)關(guān)系逐行計(jì)算出結(jié)果表單中的全部結(jié)果。計(jì)算完成后,還可將該結(jié)果表單存為DCS軟件系統(tǒng)可識(shí)別的.csv文件,并將該文件導(dǎo)入DCS軟件系統(tǒng)。DCS軟件系統(tǒng)讀取出例如在圖5中顯示的各行結(jié)果數(shù)據(jù),可根據(jù)DCS 軟件系統(tǒng)的現(xiàn)有功能進(jìn)行自動(dòng)系統(tǒng)配置,即完成了 DCS軟件系統(tǒng)中的DCS項(xiàng)目編程工作。由此可見(jiàn),本發(fā)明具體實(shí)施方式
中的基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成方法可使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用的程序數(shù)據(jù),降低了 DCS項(xiàng)目成本,提高了項(xiàng)目執(zhí)行效率和項(xiàng)目執(zhí)行質(zhì)量。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng),其特征在于,所述系統(tǒng)包括表單關(guān)系生成模塊(10)、公式定義模塊(20)和結(jié)果表單計(jì)算模塊(30),其中, 所述表單關(guān)系生成模塊(10),用于根據(jù)預(yù)定規(guī)則,在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系; 所述公式定義模塊(20),用于根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則;以及 所述結(jié)果表單計(jì)算模塊(30),用于根據(jù)所述表單關(guān)系生成模塊(10)所建立的所述關(guān)聯(lián)關(guān)系和所述公式定義模塊(20)所定義的所述運(yùn)算規(guī)則,對(duì)Excel文件各表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到所述結(jié)果表單。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于, 所述表單關(guān)系生成模塊(10),具體用于根據(jù)預(yù)先定義的規(guī)則,利用Excel可識(shí)別的配置表述在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,其中所述配置表述中至少指示存在所述關(guān)聯(lián)關(guān)系的表單以及存在所述關(guān)聯(lián)關(guān)系的鍵列; 所述公式定義模塊(20),具體用于根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則,其中在所述運(yùn)算規(guī)則中,所計(jì)算的源數(shù)據(jù)來(lái)自Excel文件的不同表單中的鍵列數(shù)據(jù),而目標(biāo)數(shù)據(jù)是利用所述運(yùn)算規(guī)則在所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算之后的計(jì)算結(jié)果,從而形成所述結(jié)果表單;以及 所述結(jié)果表單計(jì)算模塊(30),具體用于根據(jù)所述公式定義模塊(20)所定義的所述運(yùn)算規(guī)則,在作為所述源數(shù)據(jù)的Excel文件的不同表單中的所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算,從而得到所述結(jié)果表單中各鍵列的數(shù)據(jù),在此過(guò)程中,所述結(jié)果表單計(jì)算模塊(30)還根據(jù)所述表單關(guān)系生成模塊(10)所建立的所述關(guān)聯(lián)關(guān)系中確定的不同表單數(shù)據(jù)行之間的對(duì)應(yīng)關(guān)系,逐行計(jì)算出結(jié)果表單中的數(shù)據(jù)。
3.根據(jù)權(quán)利要求I或2所述的系統(tǒng),其特征在于, 所述源數(shù)據(jù)包括回路表單和/或輸入/輸出點(diǎn)表單。
4.根據(jù)權(quán)利要求1-3中任意一項(xiàng)所述的系統(tǒng),其特征在于, 所述關(guān)聯(lián)關(guān)系是指Excel文件不同表單的鍵列的內(nèi)容相同。
5.根據(jù)權(quán)利要求1-5中任意一項(xiàng)所述的系統(tǒng),其特征在于, 將所述配置表述存儲(chǔ)在Excel可識(shí)別的文件中,以被Excel識(shí)別和處理。
6.一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成方法,其特征在于,所述方法包括表單關(guān)系生成步驟(SlO)、公式定義步驟(S20)和結(jié)果表單計(jì)算步驟(S30),其中, 所述表單關(guān)系生成步驟(SlO)根據(jù)預(yù)定規(guī)則,在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系; 所述公式定義步驟(S20)根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則;以及 所述結(jié)果表單計(jì)算步驟(S30)根據(jù)在所述表單關(guān)系生成步驟(SlO)中所建立的所述關(guān)聯(lián)關(guān)系和在所述公式定義步驟(S20)中所定義的所述運(yùn)算規(guī)則,對(duì)Excel文件各表單中的數(shù)據(jù)進(jìn)行計(jì)算,從而得到所述結(jié)果表單。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述表單關(guān)系生成步驟(SlO)具體根據(jù)預(yù)先定義的規(guī)則,利用Excel可識(shí)別的配置表述在Excel文件不同表單的鍵列之間建立關(guān)聯(lián)關(guān)系,其中所述配置表述中至少指示存在所述關(guān)聯(lián)關(guān)系的表單以及存在所述關(guān)聯(lián)關(guān)系的鍵列; 所述公式定義步驟(S20)具體根據(jù)DCS所需的數(shù)據(jù)類型,定義用于計(jì)算結(jié)果表單中各鍵列數(shù)據(jù)的運(yùn)算規(guī)則,其中在所述運(yùn)算規(guī)則中,所計(jì)算的源數(shù)據(jù)來(lái)自Excel文件的不同表單中的鍵列數(shù)據(jù),而目標(biāo)數(shù)據(jù)是利用所述運(yùn)算規(guī)則在所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算之后的計(jì)算結(jié)果,從而形成所述結(jié)果表單;以及 所述結(jié)果表單計(jì)算步驟(S30)具體根據(jù)在所述公式定義步驟(S20)所定義的所述運(yùn)算規(guī)則,在作為所述源數(shù)據(jù)的Excel文件的不同表單中的所述鍵列數(shù)據(jù)之間進(jìn)行計(jì)算,從而得到所述結(jié)果表單中各鍵列的數(shù)據(jù),在此過(guò)程中,還根據(jù)在所述表單關(guān)系生成步驟(SlO)所建立的所述關(guān)聯(lián)關(guān)系中確定的不同表單數(shù)據(jù)行之間的對(duì)應(yīng)關(guān)系,逐行計(jì)算出結(jié)果表單中的數(shù)據(jù)。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述源數(shù)據(jù)包括回路表單和/或輸入/輸出點(diǎn)表單。
9.根據(jù)權(quán)利要求6-8中任意一項(xiàng)所述的方法,其特征在于, 所述關(guān)聯(lián)關(guān)系是指Excel文件不同表單的鍵列的內(nèi)容相同。
10.根據(jù)權(quán)利要求6-9中任意一項(xiàng)所述的方法,其特征在于, 將所述配置表述存儲(chǔ)在Excel可識(shí)別的文件中,以被Excel識(shí)別和處理。
全文摘要
本發(fā)明公開(kāi)了一種基于Excel表單關(guān)聯(lián)的DCS項(xiàng)目數(shù)據(jù)生成系統(tǒng)和方法。該系統(tǒng)包括表單關(guān)系生成模塊、公式定義模塊和結(jié)果表單計(jì)算模塊。根據(jù)本發(fā)明技術(shù)方案,可使各類DCS項(xiàng)目數(shù)據(jù)在Excel軟件環(huán)境下有效關(guān)聯(lián),并可直接生成DCS軟件系統(tǒng)可用的程序數(shù)據(jù),降低了DCS項(xiàng)目成本,提高了項(xiàng)目執(zhí)行效率和項(xiàng)目執(zhí)行質(zhì)量。
文檔編號(hào)G06F17/24GK102929853SQ20111044873
公開(kāi)日2013年2月13日 申請(qǐng)日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者胡田田, 張波, 王勇, 尹磊, 盧剛 申請(qǐng)人:上海西門子工業(yè)自動(dòng)化有限公司