在項(xiàng)目的開(kāi)發(fā)過(guò)程中,用戶(hù)的需求總是多種多樣,有些用戶(hù)的主要需求是高效、準(zhǔn)確的實(shí)時(shí)數(shù)據(jù),采用紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)即可滿(mǎn)足需求。但在某些以報(bào)表生成、打印為主要內(nèi)容的項(xiàng)目中,用戶(hù)的主要需求是由很多靜態(tài)的數(shù)據(jù)形成的報(bào)表。這時(shí),如依然采用紫金橋的實(shí)時(shí)數(shù)據(jù)庫(kù),既在組態(tài)時(shí)浪費(fèi)大量的時(shí)間,又無(wú)法突出實(shí)時(shí)數(shù)據(jù)庫(kù)數(shù)據(jù)采集穩(wěn)定、高效、準(zhǔn)確等優(yōu)點(diǎn)。
這時(shí),我們會(huì)同時(shí)的用到紫金橋組態(tài)軟件與關(guān)系數(shù)據(jù)庫(kù),來(lái)完成項(xiàng)目的開(kāi)發(fā)過(guò)程,這樣既完美的結(jié)合了紫金橋組態(tài)軟件強(qiáng)大的實(shí)時(shí)數(shù)據(jù)采集、處理等功能,又合理的利用了關(guān)系數(shù)據(jù)庫(kù)易使用且在存儲(chǔ)靜態(tài)數(shù)據(jù)時(shí)的穩(wěn)定、可靠等諸多優(yōu)點(diǎn)。
那么,如何利用紫金橋組態(tài)軟件和關(guān)系數(shù)據(jù)庫(kù)進(jìn)行項(xiàng)目的開(kāi)發(fā)呢?
利用關(guān)系數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)時(shí),需在前置機(jī)或服務(wù)器上安裝關(guān)系數(shù)據(jù)庫(kù)軟件,關(guān)系數(shù)據(jù)庫(kù)軟件有很多種,如:access、MySql、SQL Server系列、Oracle系列等等,針對(duì)現(xiàn)場(chǎng)的實(shí)際需要選擇合適的數(shù)據(jù)庫(kù)才是最合理的。選擇合適的關(guān)系數(shù)據(jù)庫(kù)進(jìn)行安裝并建立數(shù)據(jù)庫(kù)后,根據(jù)現(xiàn)場(chǎng)實(shí)際的需要建立所用到的數(shù)據(jù)表。在需求的數(shù)據(jù)量小、數(shù)據(jù)類(lèi)型少時(shí),推薦使用Access數(shù)據(jù)庫(kù),如數(shù)據(jù)量較多、數(shù)據(jù)種類(lèi)繁多時(shí),則需用到SQL Server數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)量特別巨大、數(shù)據(jù)需經(jīng)大量處理時(shí),推薦使用Oracle數(shù)據(jù)庫(kù)。
在使用關(guān)系數(shù)據(jù)庫(kù)時(shí),首先,我們先利用紫金橋組態(tài)軟件來(lái)采集現(xiàn)場(chǎng)的PLC來(lái)獲取實(shí)時(shí)數(shù)據(jù),或通過(guò)人工錄入的方式獲取生產(chǎn)數(shù)據(jù),再以紫金橋組態(tài)軟件為平臺(tái),通過(guò)編寫(xiě)SQL語(yǔ)句,將實(shí)時(shí)數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)中的靜態(tài)表中,形成靜態(tài)數(shù)據(jù),以完成數(shù)據(jù)的存儲(chǔ)。如下圖所示:

這種方式只適合在紫金橋組態(tài)軟件和關(guān)系數(shù)據(jù)庫(kù)都安裝在同一臺(tái)計(jì)算機(jī)上,而且數(shù)據(jù)量小、數(shù)據(jù)類(lèi)型少、數(shù)據(jù)傳輸量不多的項(xiàng)目,推薦使用Access數(shù)據(jù)庫(kù)。
如現(xiàn)場(chǎng)數(shù)據(jù)來(lái)源復(fù)雜,有多臺(tái)計(jì)算機(jī)安裝有紫金橋組態(tài)軟件時(shí),為了保證數(shù)據(jù)的統(tǒng)一性,則需要一臺(tái)服務(wù)器單獨(dú)安裝關(guān)系數(shù)據(jù)庫(kù),這種條件下,可以使用SQL Server數(shù)據(jù)庫(kù)。但假設(shè)發(fā)生網(wǎng)路斷路,數(shù)據(jù)就無(wú)法添加至關(guān)系數(shù)據(jù)庫(kù)中,繼而就破壞了數(shù)據(jù)庫(kù)的完整性,造成了數(shù)據(jù)的缺失。
我們可以利用紫金橋組態(tài)軟件可以和多個(gè)關(guān)系數(shù)據(jù)庫(kù)同時(shí)進(jìn)行通訊的功能和SQL Server數(shù)據(jù)庫(kù)之間可以互相通訊的功能,來(lái)防止這種數(shù)據(jù)的缺失。
在所有前置機(jī)和服務(wù)器上都安裝SQL Server數(shù)據(jù)庫(kù),如下圖所示:
在紫金橋組態(tài)軟件運(yùn)行的過(guò)程中,將所獲取的實(shí)時(shí)數(shù)據(jù)儲(chǔ)存至前置機(jī)上的SQL Server數(shù)據(jù)庫(kù)中,再間隔一段固定的時(shí)間通過(guò)調(diào)用事先編寫(xiě)好的SQL Server存儲(chǔ)過(guò)程,將所有前置機(jī)SQL Server數(shù)據(jù)庫(kù)中的數(shù)據(jù)上傳至服務(wù)器中的SQL Server數(shù)據(jù)庫(kù)中,以保證數(shù)據(jù)的統(tǒng)一性、完整性。
使用紫金橋組態(tài)軟件,可以非常方便的和各種關(guān)系數(shù)據(jù)庫(kù)進(jìn)行通訊,而且利用紫金橋組態(tài)軟件中的各種驅(qū)動(dòng),可以方便快捷的采集現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù),通過(guò)紫金橋組態(tài)軟件這樣一個(gè)開(kāi)放的開(kāi)發(fā)平臺(tái),既可以處理實(shí)時(shí)多變的現(xiàn)場(chǎng)數(shù)據(jù),還可以存儲(chǔ)靜態(tài)的關(guān)系數(shù)據(jù),保證數(shù)據(jù)的完整性。
根據(jù)實(shí)際情況合理的使用不同類(lèi)別的數(shù)據(jù)庫(kù),不僅可以減少總體的開(kāi)發(fā)時(shí)間,更重要的是可以滿(mǎn)足用戶(hù)的真正需求,實(shí)現(xiàn)合作共贏的目的。
|