今天劍工將帶領(lǐng)控友們制作diy監(jiān)控軟件。前提是這里的組態(tài)軟件是基于excel工具,我想大家都會(huì)在工作中接觸到excel,如果你想快速建立一個(gè)監(jiān)控組態(tài)軟件可以follow me了。
首先你要準(zhǔn)備兩個(gè)軟件,一個(gè)是excel,另一個(gè)就是kepware(opc server可以連接市面上任何),kepware使用測(cè)試版。
1、安裝kepware,這個(gè)和安裝任何軟件都一樣,next下去就可以了。
2、然后打開(kāi)kepware,設(shè)置你要連接plc類(lèi)型和通訊參數(shù)以及內(nèi)存地址。

3、打開(kāi)excel,利用繪圖功能繪制簡(jiǎn)單工藝流程圖,同時(shí)也可以通過(guò)組合圖形繪制出來(lái)罐體,閥門(mén),儀表等。

4、在excel上填寫(xiě)需要?jiǎng)討B(tài)顯示數(shù)據(jù)的io域,并在鄰格寫(xiě)上單位符號(hào)。

5、打開(kāi)excel為了能夠運(yùn)行 excel中的 vba宏腳本,首先需要調(diào)整安全性設(shè)置。在“工具->;宏->;安全性”中,將 excel的安全級(jí)別設(shè)置為啟用宏。

在 excel中創(chuàng)建一個(gè)接口,在 visualbasic 編輯器中的“工具->;引用”中,選中“opc da automation 2.0”組件,使 visualbasic能夠識(shí)別 opc對(duì)象。

創(chuàng)建所需的所有對(duì)象,如:“myopcgroup”對(duì)象 dim: 創(chuàng)建一個(gè)變量 withevents: 這個(gè)對(duì)象可以提供事件(如 datachange) myopcgroup: 對(duì)象名 as opcgroup: 變量類(lèi)型
dim withevents myopcserver as opcserver
dim withevents myopcgroup as opcgroup
dim myopcgroupcoll as opcgroups
dim myopitemcoll as opcitem
sub startclient() ’microsoft excel建立與 opc服務(wù)器的連接;
set myopcserver = new opcserver ’為“myopcserver”對(duì)象分配內(nèi)存;
myopcserver.connect servername, nodename
servername :opc da 服務(wù)器的名稱(chēng)為 "kepopcserverv40"
nodename:運(yùn)行系統(tǒng)的計(jì)算機(jī)名稱(chēng)
set myopcgroupcoll = myopcserver.opcgroups
microsoft excel與 opc服務(wù)器的連接一旦建立,opc組即被創(chuàng)建。這個(gè)通過(guò)集合對(duì)象來(lái)實(shí)現(xiàn);
set myopcgroup = myopcgroupcoll.add(groupname) 創(chuàng)建的組通過(guò)“myopcgroup”變量來(lái)尋址。設(shè)置 myopcgroup.issubscribed = true,以便opc組能夠提供 datachange等事件。
set myopcitemcoll = myopcgroup.opcitems ’創(chuàng)建opc項(xiàng)
myopcitemcoll.additems 2, itemids, clienthandles, serverhandles, errors itemids 存儲(chǔ)在單元格 b1/d1中,把指定的 itemids 傳送給集合對(duì)象
"myopcitemcoll.additems"
private sub myopcgroup_datachange()
在 microsoft excel中,調(diào)用如下用于 opc組事件處理的程序,它是 opc服務(wù)器的datachange 事件,datachange()這個(gè)事件處理程序提供了許多參數(shù),如 itemvalue(opc項(xiàng)的值),客戶端句柄等。通過(guò) datachange事件,當(dāng) opc項(xiàng)的值變化時(shí),數(shù)據(jù)會(huì)自動(dòng)發(fā)送。opc項(xiàng)的當(dāng)前值顯示在單元格 b2/d2中。
private sub worksheet_change()
如果在 microsoft excel的單元格 b3/d2中輸入一個(gè)值,通過(guò)函數(shù)myopcgroup.syncwrite將 opc項(xiàng)寫(xiě)入到 wincc,寫(xiě)入值和服務(wù)器句柄以參數(shù)形式傳遞給此函數(shù)。
sub stopclient()
最后,斷開(kāi)與 opc服務(wù)器的連接。
6、動(dòng)態(tài)數(shù)據(jù)有了以后,就可以完成數(shù)據(jù)監(jiān)視和數(shù)據(jù)報(bào)警,并可以設(shè)置簡(jiǎn)單的數(shù)據(jù)報(bào)警變色,給予操作人員警示。報(bào)警條件是通過(guò)excel的公式變色來(lái)完成的。

7、還可以在excel上的另一個(gè)sheet上放置簡(jiǎn)單的存儲(chǔ)的歷史數(shù)據(jù)和報(bào)警記錄以及需要回寫(xiě)plc的配方數(shù)據(jù)。歷史數(shù)據(jù)可以通過(guò)vba放置定時(shí)器,自定義時(shí)間把實(shí)時(shí)數(shù)據(jù)放在這個(gè)sheet上區(qū)域內(nèi),同理完成報(bào)警記錄。至于回寫(xiě)plc的配方數(shù)據(jù)的方法,見(jiàn)5部分。

8、有了歷史數(shù)據(jù),在excel就可以輕松繪制出來(lái)歷史趨勢(shì)了,就是拖出chart 圖,然后選擇歷史存儲(chǔ)數(shù)據(jù)就可以輕松顯示,如果需要前后拖動(dòng)可以添加數(shù)據(jù)指針。

這樣我們就完成一個(gè)簡(jiǎn)單diy的組態(tài)軟件,通過(guò)這個(gè)過(guò)程大家是不是了解組態(tài)軟件的一些原理。這個(gè)組態(tài)軟件也可以用在臨時(shí)監(jiān)控?cái)?shù)據(jù)和出差調(diào)試時(shí)使用,比較簡(jiǎn)易方便。










