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

3、打開excel,利用繪圖功能繪制簡單工藝流程圖,同時也可以通過組合圖形繪制出來罐體,閥門,儀表等。

4、在excel上填寫需要動態(tài)顯示數(shù)據(jù)的io域,并在鄰格寫上單位符號。

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

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

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

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

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

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










