工業(yè)用實(shí)時(shí)數(shù)據(jù)庫接口方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線網(wǎng)絡(luò)監(jiān)測(cè)技術(shù)領(lǐng)域,具體涉及一種工業(yè)用實(shí)時(shí)數(shù)據(jù)庫接口方法。
【背景技術(shù)】
[0002]自從集散控制系統(tǒng)(DCS)/出現(xiàn)以來,工業(yè)自動(dòng)控制領(lǐng)域全面推廣集散控制系統(tǒng)。由于現(xiàn)場的控制系統(tǒng)(DCS / PLC / FCS)以及各種智能儀器設(shè)備通常出自不同的廠商,設(shè)備相互問的通信非常復(fù)雜,應(yīng)用程序開發(fā)商和計(jì)算機(jī)硬件廠家需要為不同的設(shè)備編寫大量的I / O驅(qū)動(dòng)程序,同樣的設(shè)備需要針對(duì)不同的應(yīng)用軟件分別編寫驅(qū)動(dòng)程序才能被各個(gè)應(yīng)用軟件使用,軟件復(fù)用程度低;現(xiàn)場設(shè)備和實(shí)時(shí)數(shù)據(jù)庫之間數(shù)據(jù)的互操作性差、通信不穩(wěn)定;不同廠商以及不同設(shè)備的驅(qū)動(dòng)程序的接口不一致,應(yīng)用程序需要為不同的設(shè)備驅(qū)動(dòng)程序開發(fā)相應(yīng)的接口,這導(dǎo)致了應(yīng)用程序隨新設(shè)備類型的加入而結(jié)構(gòu)急劇復(fù)雜化,不便于軟件功能的擴(kuò)展和程序的維護(hù)。
【發(fā)明內(nèi)容】
[0003]針對(duì)上述問題,本發(fā)明要解決的技術(shù)問題是提供一種使企業(yè)的信息化系統(tǒng)能夠?qū)崟r(shí)、高效運(yùn)行的工業(yè)用實(shí)時(shí)數(shù)據(jù)庫接口方法。
[0004]本發(fā)明的工業(yè)用實(shí)時(shí)數(shù)據(jù)庫接口方法,它包含實(shí)時(shí)數(shù)據(jù)庫與DCS接口的OPC技術(shù)、實(shí)現(xiàn)接口的方法、實(shí)時(shí)數(shù)據(jù)庫的OPC配置、P1-API的接口設(shè)計(jì)、P1-SDK的接口設(shè)計(jì);
所述的OPC技術(shù)規(guī)范定義一組接口規(guī)范,包括OPC自動(dòng)化接口(Automat1nInterface)和客戶化接口(CustomInterface)兩個(gè)部分,在硬件供應(yīng)商和軟件開發(fā)商之間建立了一套完整的接口規(guī)則,只要遵循這套規(guī)則,數(shù)據(jù)交換對(duì)兩者來說都是透明的,硬件供應(yīng)商無需考慮應(yīng)用程序的多種需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實(shí)質(zhì)和操作過程。OPC大大改進(jìn)了過程控制系統(tǒng)的開放性和互操作性,符合OPC規(guī)范的軟、硬件已被廣泛的應(yīng)用,OPC已經(jīng)成為工業(yè)控制領(lǐng)域數(shù)據(jù)交互的事實(shí)標(biāo)準(zhǔn)。
[0005]所述的實(shí)現(xiàn)接口的方法主要通過OPC的方法來實(shí)現(xiàn);實(shí)時(shí)數(shù)據(jù)庫通過OPCClient軟件連接到DCS的OPC Server,通過OPC Client的配置DCS將數(shù)據(jù)傳遞到實(shí)時(shí)數(shù)據(jù)庫Server,實(shí)現(xiàn)數(shù)據(jù)交換;實(shí)時(shí)數(shù)據(jù)庫與應(yīng)用程序進(jìn)行數(shù)據(jù)交換的方法主要有:利用數(shù)據(jù)庫提供的API接口函數(shù)開發(fā)能被應(yīng)用程序直接調(diào)用的接口程序;利用實(shí)時(shí)數(shù)據(jù)庫的可視化對(duì)象SDK,引用實(shí)時(shí)數(shù)據(jù)庫的服務(wù)器、點(diǎn)、值等對(duì)象開發(fā)接口程序,并可以由此開發(fā)數(shù)據(jù)庫的管理軟件;參照OPC的方法,按照OPC的方式訪問支持OPC的實(shí)時(shí)數(shù)據(jù)庫。
[0006]PI提供了 P1.0PCINT作為OPCClient軟件用于OPC數(shù)據(jù)交換,配置的步驟如下:在服務(wù)器中增加接口機(jī)的IP,在服務(wù)器上各點(diǎn)配置OPC位號(hào),在接口機(jī)上安裝PI—API軟件與OPCClient軟件,增加服務(wù)器的IP和機(jī)器名,配置接口機(jī)連接到TPS的OPCServer接口文件。
[0007]所述的P1-API的接口設(shè)計(jì)包含以下步驟:1、設(shè)置服務(wù)器的函數(shù);
2、用戶登錄函數(shù),UserName是用戶名,Password是密碼,支持空密碼。登錄后可以獲得對(duì)數(shù)據(jù)的檢索權(quán)限和修改權(quán)限;
3、斷開與Server之間的連接,如果不斷開,就可以影響其它用戶的數(shù)據(jù)檢索;
4、查詢點(diǎn)的ID;在P1-API中,所有對(duì)點(diǎn)的操作都是基于ID進(jìn)行的;
5、查詢點(diǎn)的類型;在卩1中,點(diǎn)的類型有intl6,int32,float32,float64,string,digital,前五個(gè)分別對(duì)應(yīng)于C中的int,long,foat,double,char數(shù)組,digital是單獨(dú)的類型;
6、查詢一個(gè)整型值;
7、查詢一個(gè)實(shí)型值;
8、查詢多個(gè)整型值;
9、查詢多個(gè)實(shí)型值;
10、向數(shù)據(jù)庫中寫入一個(gè)整型值;
11、向數(shù)據(jù)庫中寫入一個(gè)實(shí)型值;
12、向數(shù)據(jù)庫中寫入一組整型值;
13、向數(shù)據(jù)庫寫入一組實(shí)型值。
[0008]所述的P1-SDK的接口設(shè)計(jì)包含以下步驟:
(1)連接數(shù)據(jù)庫;
(2)斷開連接;
(3)在已經(jīng)連接的Server中,檢索到StrName的點(diǎn),返回該點(diǎn)的snapshot的值;
(4)取得某點(diǎn)在輸入時(shí)刻的值;
(5)取得某點(diǎn)在輸入間隔內(nèi)的所有值;
(6)向Server插入某點(diǎn)在輸入時(shí)刻的新值;
(7)刪除某點(diǎn)在輸入時(shí)刻的值;
(8)查詢多個(gè)點(diǎn)在輸入時(shí)刻的值;
(9)向Server寫入多個(gè)點(diǎn)在輸入時(shí)刻的值;
(10)增加新點(diǎn);
(11)刪除點(diǎn);
(12)重命名點(diǎn):
(13)改變點(diǎn)的屬性:
本發(fā)明的實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)為先進(jìn)控制和實(shí)時(shí)優(yōu)化技術(shù)提供了一個(gè)數(shù)據(jù)平臺(tái)。實(shí)時(shí)數(shù)據(jù)庫實(shí)時(shí)采集過程數(shù)據(jù),監(jiān)控系統(tǒng)運(yùn)行狀態(tài),保障生產(chǎn)的平穩(wěn)運(yùn)行;保存歷史數(shù)據(jù),反應(yīng)生產(chǎn)過程的規(guī)律;通過優(yōu)化軟件實(shí)時(shí)調(diào)整工藝參數(shù),保障過程的最優(yōu)運(yùn)行;對(duì)影響產(chǎn)量及質(zhì)量的關(guān)鍵過程參數(shù)進(jìn)行監(jiān)控;通過軟測(cè)量等軟件對(duì)產(chǎn)品的質(zhì)量數(shù)據(jù)和利潤進(jìn)行在線分析,及早發(fā)現(xiàn)產(chǎn)品問題,提高產(chǎn)品產(chǎn)量及質(zhì)量,提高經(jīng)濟(jì)效益。實(shí)時(shí)數(shù)據(jù)庫作為連接生產(chǎn)過程系統(tǒng)與企業(yè)綜合自動(dòng)化系統(tǒng)的橋梁,在實(shí)時(shí)控制和管理控制一體化上發(fā)揮著重要的作用,為企業(yè)綜合自動(dòng)化系統(tǒng)的開發(fā)與應(yīng)用提供了一個(gè)理想的平臺(tái),使企業(yè)的信息化系統(tǒng)能夠?qū)崟r(shí)、尚效的運(yùn)行。
【具體實(shí)施方式】
[0009]本【具體實(shí)施方式】采用以下技術(shù)方案:它包含實(shí)時(shí)數(shù)據(jù)庫與DCS接口的OPC技術(shù)、實(shí)現(xiàn)接口的方法、實(shí)時(shí)數(shù)據(jù)庫的OPC配置、P1-API的接口設(shè)計(jì)、P1-SDK的接口設(shè)計(jì);
所述的OPC是一個(gè)與廠商無關(guān)的軟件數(shù)據(jù)交換標(biāo)準(zhǔn)接口和規(guī)程,利用微軟公司的COM / DCOM組件對(duì)象技術(shù),為工業(yè)控制領(lǐng)域提供了一種標(biāo)準(zhǔn)的c / s數(shù)據(jù)訪問機(jī)制,實(shí)現(xiàn)了一套標(biāo)準(zhǔn)的COM接口,即OPC接口。任何一個(gè)OPC客戶都可以連接到由一個(gè)或多個(gè)供應(yīng)商提供的OPC服務(wù)器上。只要工業(yè)自動(dòng)化軟件符合OPC規(guī)范,它不需要做任何修改就能一致地訪問所有的OPC服務(wù)器實(shí)現(xiàn)的硬件驅(qū)動(dòng)程序。OPC技術(shù)規(guī)范定義一組接口規(guī)范,包括OPC自動(dòng)化接口(Automat1nInterface)和客戶化接口(CustomInterface)兩個(gè)部分,在硬件供應(yīng)商和軟件開發(fā)商之間建立了一套完整的接口規(guī)則,只要遵循這套規(guī)則,數(shù)據(jù)交換對(duì)兩者來說都是透明的,硬件供應(yīng)商無需考慮應(yīng)用程序的多種需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實(shí)質(zhì)和操作過程。OPC大大改進(jìn)了過程控制系統(tǒng)的開放性和互操作性,符合OPC規(guī)范的軟、硬件已被廣泛的應(yīng)用,OPC已經(jīng)成為工業(yè)控制領(lǐng)域數(shù)據(jù)交互的事實(shí)標(biāo)準(zhǔn)。
[0010]所述的實(shí)現(xiàn)接口的方法主要通過OPC的方法來實(shí)現(xiàn)。實(shí)時(shí)數(shù)據(jù)庫通過OPCClient軟件連接到DCS的OPC Server,通過OPC Client的配置DCS將數(shù)據(jù)傳遞到實(shí)時(shí)數(shù)據(jù)庫Server,實(shí)現(xiàn)數(shù)據(jù)交換。實(shí)時(shí)數(shù)據(jù)庫與應(yīng)用程序進(jìn)行數(shù)據(jù)交換的方法主要有:利用數(shù)據(jù)庫提供的API接口函數(shù)開發(fā)能被應(yīng)用程序直接調(diào)用的接口程序;利用實(shí)時(shí)數(shù)據(jù)庫的可視化對(duì)象SDK,引用實(shí)時(shí)數(shù)據(jù)庫的服務(wù)器、點(diǎn)、值等對(duì)象開發(fā)接口程序,并可以由此開發(fā)數(shù)據(jù)庫的管理軟件;參照OPC的方法,按照OPC的方式訪問支持OPC的實(shí)時(shí)數(shù)據(jù)庫。
[0011]實(shí)時(shí)數(shù)據(jù)庫的OPC配置中DCS系統(tǒng)與實(shí)時(shí)數(shù)據(jù)庫之間通過OPC方式進(jìn)行數(shù)據(jù)交換。項(xiàng)目中DCS系統(tǒng)是HoneywellTPS系統(tǒng),TPS通過接口機(jī)連接到PI Server。接口機(jī)上安裝Honeywell公司的LCNP4卡與DCS相連,另一塊以太網(wǎng)卡與PI相連。接口機(jī)實(shí)現(xiàn)了 DCS與PI的連接,通過接口機(jī)上OPC的配置就可以把HoneywellTPS控制系統(tǒng)的相應(yīng)數(shù)據(jù)采集到PI系統(tǒng)中。
[0012]PI提供了 P1.0PCINT作為OPCClient軟件用于OPC數(shù)據(jù)交換,配置的步驟如下:在服務(wù)器中增加接口機(jī)的IP,在服務(wù)器上各點(diǎn)配置OPC位號(hào),在接口機(jī)上安裝PI—API軟件與OPCClient軟件,增加服務(wù)器的IP和機(jī)器名,配置接口機(jī)連接到TPS的OPCServer接口文件。
[0013]所述的P1-API的接口設(shè)計(jì)包含以下步驟:1、設(shè)置服務(wù)器的函數(shù),ServerName是服務(wù)器的名稱,當(dāng)存在多個(gè)服務(wù)器時(shí),本函數(shù)可以選擇連接到那個(gè)服務(wù)器,當(dāng)服務(wù)器設(shè)置成功時(shí),返回O并提示設(shè)置成功,否則返回.1,并且提示失敗的原因(系統(tǒng)錯(cuò)誤或者服務(wù)器名稱錯(cuò)誤或者連接錯(cuò)誤);
3、用戶登錄函數(shù),UserName是用戶名,Password是密碼,支持空密碼。登錄后可以獲得對(duì)數(shù)據(jù)的檢索權(quán)限和修改權(quán)限。當(dāng)?shù)卿洺晒r(shí),返回O并提示該用戶的權(quán)限(讀寫或者只讀),失敗時(shí)返回一 I并提示失敗的原因(系統(tǒng)錯(cuò)誤或者用戶名稱或者密碼錯(cuò)誤或者連接有問題)。
[0014]3、斷開與Server之間的連接,如果不斷開,就可以影響其它用戶的數(shù)據(jù)檢索。
[0015]當(dāng)斷開成功時(shí),返回O并提示斷開成功信息,否則返回一 I并提示失敗的原因(如系統(tǒng)錯(cuò)誤)。
[0016]4、查詢點(diǎn)的ID。ID是一個(gè)點(diǎn)的最重要的屬性。在PI—API中,所有對(duì)點(diǎn)的操作都是基于ID進(jìn)行的,所以本函數(shù)是以下所有函數(shù)的基礎(chǔ)。PointName是查詢的點(diǎn)的名稱。當(dāng)查詢成功時(shí)返回該點(diǎn)的ID值,ID是>=1的整數(shù),當(dāng)查詢失敗時(shí),返回I并提示失敗的原因(系統(tǒng)錯(cuò)誤或者該點(diǎn)不存在或者網(wǎng)絡(luò)連接有問題)。
[0017]5、查詢點(diǎn)的類型。在 PI 中,點(diǎn)的類型有 intl6,int32,float32,float64,string,digital,前五個(gè)分別對(duì)應(yīng)于C中的int, long,foat, double,char數(shù)組,digital是單獨(dú)的類型,類似枚舉類型。在對(duì)點(diǎn)進(jìn)行檢索時(shí),必須先知道該點(diǎn)的類型,才能存取該數(shù)值。PointName是查詢點(diǎn)的名稱。接口函數(shù)中,intl6與int32均被存儲(chǔ)為long型,float32與float64均被存儲(chǔ)為double類型。當(dāng)查詢成功時(shí)返回點(diǎn)的類型,O表示long或者string型,I表示double型,2表示digital型。否則返回1,并提示失敗的原因(系統(tǒng)錯(cuò)誤或者該點(diǎn)不存在)。
[0018]6、查詢一個(gè)整型值。PointName是查詢點(diǎn)的名稱,Value是整型變量的地址指針,用于返回?cái)?shù)據(jù)。在使用該函數(shù)前,需先確定點(diǎn)的類型。查詢成功時(shí)返回O并在Value中存儲(chǔ)整型值,否則返回.1并提示失敗的原因(點(diǎn)不存在或者系統(tǒng)錯(cuò)誤)
7、查詢一個(gè)實(shí)型值。PointName是查詢點(diǎn)的名稱,Value是實(shí)型變量的地址指針,用于返回?cái)?shù)據(jù)。在使用該函數(shù)前,需先確定點(diǎn)的類型。查詢成功時(shí)返回O并在Value中存儲(chǔ)實(shí)型值,否則返回一I并提示失敗的原因(點(diǎn)不存在或者系統(tǒng)錯(cuò)誤)。
[0019]8、查詢多個(gè)整型值。