吳岫巖
摘要:本文介紹通過(guò)OPC協(xié)議,C#語(yǔ)言客戶端,SQL數(shù)據(jù)庫(kù),ASP.NET語(yǔ)言網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)互聯(lián)網(wǎng)實(shí)時(shí)監(jiān)控生產(chǎn)數(shù)據(jù)的一種思路。
[關(guān)鍵詞]OPC協(xié)議C#SQL數(shù)據(jù)庫(kù)ASP.NET
“互聯(lián)網(wǎng)+”進(jìn)入工業(yè)生產(chǎn)領(lǐng)域,正在加快驅(qū)動(dòng)產(chǎn)業(yè)轉(zhuǎn)型升級(jí)、資源配置、生產(chǎn)管理模式的革新。在互聯(lián)網(wǎng)上隨時(shí)隨地的對(duì)生產(chǎn)情況進(jìn)行監(jiān)視,甚至是在互聯(lián)網(wǎng)上對(duì)生產(chǎn)設(shè)備進(jìn)行控制調(diào)節(jié)正伴隨著智能設(shè)備和5G網(wǎng)絡(luò)的快速發(fā)展進(jìn)入生產(chǎn)企業(yè)。
通過(guò)OPC通訊協(xié)議,將生產(chǎn)現(xiàn)場(chǎng)PLC、DCS等控制系統(tǒng)或上位機(jī)軟件作為服務(wù)端,數(shù)據(jù)服務(wù)器作為客戶端。采集到的數(shù)據(jù)經(jīng)數(shù)據(jù)服務(wù)器發(fā)布至互聯(lián)網(wǎng)。下面對(duì)此過(guò)程進(jìn)行具體介紹。
1OPC數(shù)據(jù)采集
1.1選擇OPC的原因
盡管自動(dòng)控制系統(tǒng)的技術(shù)水平已經(jīng)很高,但其中存在著一個(gè)最主要的弊病是各大公司為了保護(hù)自身的利益,推出的各種型號(hào)系統(tǒng)幾乎都是自己的專利設(shè)備和專利網(wǎng)絡(luò),這就為數(shù)據(jù)共享及數(shù)據(jù)上傳至數(shù)據(jù)服務(wù)器帶來(lái)了困難。采用OPC通訊協(xié)議能夠降低數(shù)據(jù)使用的成本。
1.2OPC服務(wù)器設(shè)置
將自動(dòng)控制系統(tǒng)的上位機(jī)軟件通過(guò)開(kāi)啟OPC服務(wù),并對(duì)上位機(jī)操作系統(tǒng)進(jìn)行系統(tǒng)登錄賬戶和密碼配置、DCOM安全配置、Windows防火墻配置等,便可以將上位機(jī)作為OPC的服務(wù)器使用。
1.3數(shù)據(jù)服務(wù)器的設(shè)置
考慮到系統(tǒng)的通用性、集成性和將來(lái)可擴(kuò)展、可維護(hù)性,系統(tǒng)主要采用微軟公司W(wǎng)indows系列產(chǎn)品進(jìn)行開(kāi)發(fā)。操作系統(tǒng):MicrosoftWindowsServer2008以上;開(kāi)發(fā)平臺(tái):Microsoft.Netframework4.0;開(kāi)發(fā)工具:MicrosoftVisualStudio2015;數(shù)據(jù)庫(kù):MicrosoftSQLServer2008;Web服務(wù):MicrosofIIS6.0及以上;
1.4數(shù)據(jù)庫(kù)的設(shè)計(jì)
MicrosoftSQLServer2008數(shù)據(jù)庫(kù)主要建立三個(gè)表:實(shí)時(shí)數(shù)據(jù)表;歷史數(shù)據(jù)表;采集點(diǎn)描述表。也可以根據(jù)實(shí)際使用情況建表,本文不再贅述。
1.5OPC客戶端設(shè)計(jì)
OPC客戶端采用C#語(yǔ)言進(jìn)行編寫(xiě)。OPC的讀寫(xiě)方式采用異步方式。OPC訪問(wèn)接口方式使用自動(dòng)化接口,并定義了6類對(duì)象:OPCServer對(duì)象、OPCBrowser對(duì)象、OPCGroups對(duì)象、OPCGroup對(duì)象、OPCItems對(duì)象、OPCItem對(duì)象。將需要采集的OPCItem數(shù)據(jù)顯示到OPC客戶端上。
客戶端主要實(shí)現(xiàn)的功能:采集所需的OPC服務(wù)器數(shù)據(jù);將第一次采集到的數(shù)據(jù)插入數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)表;將有數(shù)值變化的數(shù)據(jù)更新到實(shí)時(shí)數(shù)據(jù)表;間隔固定時(shí)間將采集到的數(shù)據(jù)插入歷史數(shù)據(jù)表;刪除歷史數(shù)據(jù)可前一月的數(shù)據(jù)等。
2WEB數(shù)據(jù)發(fā)布
通過(guò)數(shù)據(jù)服務(wù)器安裝IIS,兼作WEB服務(wù)器,WEB數(shù)據(jù)發(fā)布采用B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),平臺(tái)業(yè)務(wù)邏輯及數(shù)據(jù)訪問(wèn)層采用ASP.NET語(yǔ)言開(kāi)發(fā),而頁(yè)面展示層采用html語(yǔ)言。通過(guò)AJAX技術(shù)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新和對(duì)歷史數(shù)據(jù)的訪問(wèn)。
2.1業(yè)務(wù)邏輯及數(shù)據(jù)訪問(wèn)設(shè)計(jì)
業(yè)務(wù)邏輯及數(shù)據(jù)訪問(wèn)使用ASP.NET語(yǔ)言開(kāi)發(fā),通過(guò)ADO.NET訪問(wèn)MicrosoftSQLServer數(shù)據(jù)庫(kù)。添加命名空間System.Data.SqlClient,使用Connection對(duì)象連接數(shù)據(jù)源,使用Command對(duì)象、DataReader對(duì)象操作數(shù)據(jù)庫(kù)。SQL語(yǔ)句跨表訪問(wèn)數(shù)據(jù)庫(kù)的實(shí)時(shí)數(shù)據(jù)表、歷史數(shù)據(jù)表和采集點(diǎn)描述表,實(shí)現(xiàn)讀取數(shù)據(jù)及其描述。
2.2前端頁(yè)面展示設(shè)計(jì)
前端頁(yè)面展示使用HTML語(yǔ)言開(kāi)發(fā),通過(guò)AJAX技術(shù)異步訪問(wèn)后臺(tái),獲取所需數(shù)據(jù)的名稱、ID值和數(shù)值等。并通過(guò)定時(shí)執(zhí)行更新函數(shù),獲取數(shù)據(jù)的最新值。
對(duì)于歷史數(shù)據(jù)的訪問(wèn)則通過(guò)引入Chart.js開(kāi)源圖表工具實(shí)現(xiàn)。AJAX異步訪問(wèn)后臺(tái),SQL語(yǔ)句使用ROW_NUMBER(函數(shù)獲取固定行數(shù)歷史數(shù)據(jù),實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)的分頁(yè)瀏覽。
3互聯(lián)網(wǎng)訪問(wèn)生產(chǎn)數(shù)據(jù)的意義
(1)通過(guò)移動(dòng)互聯(lián)網(wǎng)可以隨時(shí)隨地查看生產(chǎn)實(shí)時(shí)數(shù)據(jù),不再受制于時(shí)間和空間的限制。與以往只能在生產(chǎn)集中控制室里查看生產(chǎn)數(shù)據(jù)相比,提供了巨大的便利性。
(2)采用網(wǎng)絡(luò)瀏覽器的方式查看生產(chǎn)實(shí)時(shí)數(shù)據(jù),不再受瀏覽人數(shù)的限制,傳統(tǒng)監(jiān)控系統(tǒng)在使用使用個(gè)數(shù)上有諸多限制。
(3)通過(guò)OPC技術(shù)能夠匯集不同廠家設(shè)備的生產(chǎn)數(shù)據(jù),打破通訊壁壘,實(shí)時(shí)掌握生產(chǎn)情況,能夠?qū)ιa(chǎn)情況有最全面的了解。
(4)可以遠(yuǎn)程組成專家團(tuán)隊(duì),形成專家系統(tǒng)。經(jīng)專家系統(tǒng)會(huì)診后將會(huì)診結(jié)論進(jìn)行反饋,實(shí)現(xiàn)對(duì)生產(chǎn)設(shè)備裝置進(jìn)行調(diào)節(jié)。傳統(tǒng)只能靠運(yùn)行人員對(duì)設(shè)備進(jìn)行運(yùn)行管理,運(yùn)行人員的水平?jīng)Q定了整個(gè)系統(tǒng)的優(yōu)化程度。有經(jīng)驗(yàn)的運(yùn)行人員可以使生產(chǎn)最優(yōu),而缺乏經(jīng)驗(yàn)的運(yùn)行人員只是保證了生產(chǎn)的安全性。經(jīng)過(guò)遠(yuǎn)程專家系統(tǒng)的分析與優(yōu)化運(yùn)行,能夠找到最優(yōu)的控制方法,提高生產(chǎn)的安全性和生產(chǎn)效率。
(5)可通過(guò)互聯(lián)網(wǎng)直接對(duì)自動(dòng)化控制系統(tǒng)進(jìn)行調(diào)節(jié)控制:通過(guò)設(shè)置合理的安全策略,使具有足夠權(quán)限的人員能夠遠(yuǎn)程控制自動(dòng)化設(shè)備,擺脫場(chǎng)地的束縛。
參考文獻(xiàn)
[1]姜建芳。西門(mén)子S7-300/400PLC工程應(yīng)用技術(shù)[M].機(jī)械工業(yè)出版社,2012.
[2]陸會(huì)明.控制裝置標(biāo)準(zhǔn)化通信-OPC服務(wù)器開(kāi)發(fā)設(shè)計(jì)與應(yīng)用[M].機(jī)械工業(yè)出版社,2010.
[3][美]MatthewMacDonald.MarioSzpuszta.APS.NET高級(jí)程序設(shè)計(jì)(第3版)[M].人民郵電出版社,2009.