Ⅰ OpC 伺服器變數怎麼導出
機器人脈沖信號就可以導出。
通過外部自動啟停,復位機器人的信號需要在示教器里配置。
路徑:登陸用戶組「SafetyMaintenance」許可權---配置---外部自動運行---把輸入端和輸出端的信號配置完成。
Ⅱ 如何實現(OPC——組態王——SQL server資料庫)使用組態王通過OPC讀取然後將數據寫入server,請高手指教
1.創建opc服務端,並啟動opc服務端。i
2.打開組態王開發,創建與opc伺服器的連接。如何創建連接請參考手冊。創建與opc服務端的連接的時候組態王會自動列出可用的opc。
3.創建組態王變數以讀取opc的數據。這一步很關鍵。變數名自己取,變數類型選擇io字元串或io整數,這個看你opc發過來的是什麼數據類型,按實際選擇。連接設備選擇你的創建的opc伺服器連接。寄存器會自動列出,按照實際選擇。數據類型按實際選擇。
4.組態王創建了與opc連接的變數後,組態王就可以對變數進行操作了,你就可以把變數通過組態王命令語言寫進資料庫了。
5.資料庫操作得先創建記錄體。
6.說太多如果沒有基礎也很難搞懂,組態王有很詳細的幫助,多看手冊會大有幫助。
Ⅲ OPC伺服器
用程序的動態數據交換(DDE)》相關章節部分
裡面有組態王與EXCEL,VB等應用程序的通訊和數據交換
VC沒搞過,示常式序我用VB6.0調試過,能運行!!
先參照一下,VB的吧!!
VB訪問組態王的數據
在本例中,假設VB訪問「組態王」的數據,VB作為客戶程序向「組態王」請求數據。「組態王」通過OMRON驅動程序從下位機採集數據,VB又向「組態王」請求數據。數據流向如下圖所示。
在「組態王」中定義設備
在工程瀏覽器中,從左邊的工程目錄顯示區中選擇「設備」,然後在右邊的內容顯示區中雙擊「新建」圖標,則彈出「設備配置向導」(設備的配置請參見第六章 I/O設備管理,在這里比如建立了OMRON的PLC),已配置的設備的信息總結列表框如圖18.19所示。
圖18.19 利用設備安裝向導定義設備
定義的連接對象名為OMRON(也就是連接設備名),定義I/O變數時要使用此連接設備。
在「組態王」中定義I/O變數
在工程瀏覽器左邊的工程目錄顯示區中,選擇「資料庫\數據詞典」,然後在右邊的目錄內容顯示區中用左鍵雙擊「新建」圖標,彈出「變數屬性」對話框,在此對話框中建立一個I/O實型變數。如圖18.20所示。
圖18.20 組態王定義IO變數
變數名設為FromViewToVB,這個名稱由工程人員自己定義。項目名為OMRON.HR001。選擇「允許DDE訪問」選項。變數名在「組態王」內部使用,項目名是供VB引用的,連接設備為OMRON,用來定義伺服器程序的信息,已在前面定義。
創建畫面
在組態王畫面開發系統中建立畫面test1,如圖18.21所示。
圖18.21 組態王中輸出變數
為文本對象「%%%%%」設置「模擬值輸出」動畫連接如圖18.22所示。
圖18.22 組態王為變數輸出建立動畫連接
選擇菜單「文件\全部存」,保存畫面。選擇菜單「資料庫\主畫面配置」,將畫面test1設置為主畫面。
運行可視化編程工具Visual Basic
繼續使用上一節的例子,設計Form1如圖18.23所示。
圖18.23 VB中建立窗體和控制項
編制Visual Basic程序
雙擊Form1窗體中任何沒有控制項的區域,彈出「Form1.frm」窗口,在窗口內書寫Form_Load子常式,如圖18.24所示。
圖18.24 VB中為控制項建立與組態王變數的連接
生成可執行文件
在VB中選擇菜單「File\Save Project」保存修改結果。選擇菜單「File\Make Exe File」生成vbdde.exe可執行文件。激活OMRON驅動程序和「組態王」運行系統TouchVew。在Visual Basic菜單中選擇「Run\Start」運行vbdde.exe程序。窗口Form1的文本框Text2中顯示出變數的值。如圖18.25所示。
圖18.25 VB接收組態王的數據
運行可視化編程工具Visual Basic
選擇菜單「File\New Project」,顯示新窗體Form1。設計Form1,將窗體Form1的LinkMode屬性設置為1(source),如圖18.13所示。
圖18.13 VB中建立窗體和控制項
修改VB中窗體和控制項的屬性:
窗體Form1屬性:LinkMode屬性設置為1(source);LinkTopic屬性設置為FormTopic,這個值將在「組態王」中引用。
文本框Text1屬性:Name屬性設置為Text_To_View,這個值也將在「組態王」中被引用。
生成vbdde.exe文件
在Visual Basic菜單中選擇「File\Save Project」,為工程文件命名為vbdde.vbp,這將使生成的可執行文件默認名是vbdde.exe。選擇菜單「File\Make EXE File」,生成可執行文件vbdde.exe。
在「組態王」中定義DDE設備
在工程瀏覽器中,從左邊的工程目錄顯示區中選擇「設備\DDE」,然後在右邊的內容顯示區中雙擊「新建」圖標,則彈出「設備配置向導」(DDE設備的配置請參見第六章 I/O設備管理),已配置的DDE設備的信息總結列表框如圖18.14所示。定義I/O變數時要使用定義的連接對象名VBDDE(也就是連接設備名)。
圖18.14 組態王中定義DDE設備
在工程瀏覽器中定義新變數
定義新變數,變數名為FromVBToView,項目名設為伺服器程序中提供數據的控制項名,此處是文本框Text_To_View,連接設備為VBDDE。「變數屬性」對話框如圖18.15所示。
圖18.15 組態王中定義IO變數
新建組態王畫面名為test,如圖18.16所示。
圖18.16 組態王中輸出來自VB的數據
為對象「#####」設置「模擬值輸出」的動畫連接,如圖18.17所示。
圖18.17 組態王中為變數輸出建立動畫連接
設置完成後,選擇菜單「文件\全部存」。選擇菜單「資料庫\主畫面配置」,將畫面test設置為主畫面。DDE連接設置完成。
執行應用程序
在VB中選擇菜單「Run\Start」,運行vbdde.exe程序,在文本框中輸入數值。運行組態王,得到VB中的數值。如圖18.18所示。
圖18.18 組態王中為變數輸出建立動畫連接
如果畫面運行異常,選擇TouchVew菜單「特殊\重新建立未成功的DDE連接」,連接完成後再試一
Ⅳ 高分懸賞:opc sever,opc client,opc da關於OPC的疑問,opc伺服器和客戶端完成opc的寫入和讀取
個人理解:
舉個簡單的例子吧。比如我公司用的ABB DCS,有專門的上位機軟體Digivis,可以實現現場數據讀和寫;同時,這個DCS也提供了OPC訪問介面,我們自己也做了一個OPC Client也實現了對現場數據的讀和寫。
1、如果沒有ABB DCS的底層驅動(原生組態軟體),是無法實現PC與現場硬體的通訊的,那就不會有OPCServer了。
2、先有了ABB DCS的原生軟體,將現場數據採集過來,然後在將這些數據通過OPC Server發布出去。
又比如Siemens S7 200的PLC,你能直接連接其OPC么?不能。因為它根本沒這個介面。你得需要先使用Wincc與PLC建立連接,然後通過Wincc的OPCServer將數據發布出來,你才能使用OPC Client與該PLC通訊。OPC的出現就是為了解決我們用戶訪問各類控制器而提供的一個標准介面,它避免了用戶去編寫各類復雜甚至加密了的底層驅動。 其實組態王什麼的工控軟體,它就是編寫了各類底層通訊驅動,所以,只有OPC Client是不行的。
Ⅳ 從opc伺服器取數據,現在遇到的問題是opcquickclient 可以連接上伺服器,卻取不到數據,求大神解答,謝謝
DCOM配置問題,
opcquickclient不需要opcenum ,而服務需要配置opcenum及DCOM配置,請確認opcenum是否正常啟動以及DCOM是否正確
Ⅵ opc伺服器是什麼是硬體還是軟體啊!!麻煩知道的內行幫忙解釋解釋~~
opc既不是硬體也不是軟體。OPC是一種通訊規范,OPC基金會組織規定的一套規范,按照這個規范去把程序寫出來,包括一個OPC伺服器程序和一個OPC客戶端程序,只要是按規范寫的,不管是誰寫的,就能保證OPC伺服器能被OPC客戶端訪問。
opc伺服器向下可以讀取設備的數據,比如PLC、DCS等等,但這部分OPC規范是不管的,只要廠家用任意介面任意方法把設備數據讀到就OK,然後OPC伺服器程序把這些讀到的數據按規范要求開放在網路上,其他任意OPC客戶端程序,可以遠程瀏覽這些數據,並選擇讀取這些數據中需要的。
(6)opc如何導出伺服器擴展閱讀
OPC的工作原理
OPC以OLE/COM機製作為應用程序的通信標准,而OLE/COM是一種客戶端/伺服器模式,具有語言無關性、代碼重用性、易於集成性等優點。
OPC伺服器中的代碼確定了伺服器所存取的設備和數據、數據項的命名規則和伺服器存取數據的細節,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
客戶應用程序僅須使用標准介面和伺服器通信,而並不需要知道底層的實現細節。通過OPC伺服器,OPC客戶既可以直接讀寫物理VO設備的數據,也可操作SCADA,DCS等系統的埠變數(只要該系統提供OPC服務)。
Ⅶ OPC伺服器如何獲取數據
3)資料庫伺服器上安裝Microsoft SQL2000中文版資料庫軟體,用來儲存整個污水廠重要的歷史數據,通過iFIX3.5與Microsoft SQL 2000的通訊來讀取歷史數據。單獨
Ⅷ opc伺服器 ex5裡面的數據怎麼樣可以備份
企業備份伺服器資料庫的數據一般有四種方式:
資料庫文件直接拷貝,如果不是頻繁的讀寫長期佔用,可以直接拷貝資料庫目錄源文件,另行保存一份即可。
資料庫管理程序備份,比如phpmyadmin,有導出為.sql的備份文件格式,或者其他管理工具,都可以連接到資料庫然後導出備份。
如果在本機操作,還可以使用腳本制定計劃任務,定時執行腳本復制備份。
使用雲備份系統,搭建雲資料庫雲備份,全時間自動備份。
Ⅸ 如何開發OPC Server
一.准備工作:
下載opc基金會的OPC Proxy DLL然後按照說明進行安裝。這些動態庫是opc程序運行所必須的。
1. 將下列文件拷貝至要運行OPC伺服器和OPC客戶端的機器上的SYSTEM32目錄下
opcproxy.dll C:\WINDOWS\system32
opccomn_ps.dll C:\WINDOWS\system32
opc_aeps.dll C:\WINDOWS\system32
opchda_ps.dll C:\WINDOWS\system32
aprxdist.exe C:\WINDOWS\system32
opcenum.exe C:\WINDOWS\system32
2. 注冊這些 dll 文件
REGSVR32 opcproxy.dll
REGSVR32 opccomn_ps.dll
REGSVR32 opc_aeps.dll
REGSVR32 opchda_ps.dll
3. 如果在windows 系統(\WINDOWS \system32)目下不存在actxprxy.dll,運行aprxdist.exe
4. 安裝 opcenum.exe
opcenum /regserver
二.opcserver開發
1. 新建vc工程。比如建一個控制台工程。在工程中包含如下頭文件
#include "opcda.h"
#include "opc_ae.h"
#include "WTOPCsvrAPI.h"
#include "WtOPCsvrEXTapi.h"
以上頭文件在例子程序中都能找到,拷貝到自己的工程下。
WTOPCsvrAPI.h是開發包動態庫提供的導出函數文件。裡面有每個函數的具體說明,調用的時候看一下說明。
2. 在.cpp中定義一個GUID這個guid是用來標識opcserver的唯一id可以通過操作系統的工具生成,也可以編一個。格式如下。
const GUID
CLSID_OPCSimSvr = {0x99b8f472, 0xc037, 0x11d2, {0x80, 0xb8, 0x0, 0x60, 0x97, 0x58, 0x58, 0xbe}};
3. 在工程中加入對WtOPCSvr動態庫的連接。
WTOPCsvr動態庫的有關文件都在之前的例子包裡面能找到。
WTOPCsvr.lib WTOPCsvr.dll是對應lib和dll
4. 初始化
(1)調用UpdateRegistry()函數完成注冊。下面是一個調用參考例子代碼
BOOL COPCSimSvrApp::InitInstance()
{
TCHAR szTokens[] = _T("-/ ");
CString HelpPath;
CString SvrName, SvrDescrip;
int i;
HelpPath = AfxGetApp()->m_pszHelpFilePath;
i = HelpPath.ReverseFind('\\');
HelpPath = HelpPath.Left(i+1);
HelpPath += "OPCSIMSVR.EXE";
//
// Self-Registration code
// (look for cmdline options to register & unregister server)
//
SvrName = "WinTECH.OPCServer";
SvrDescrip = "WinTECH Software OPC Server Simulator";
CString tempCmdLine(m_lpCmdLine);
LPTSTR lpszToken = _tcstok(tempCmdLine.GetBuffer(1), szTokens);
while (lpszToken != NULL)
{
if (_tcsicmp(lpszToken, _T("UnregServer"))==0)
{
UnregisterServer ((BYTE *)&CLSID_OPCSimSvr, SvrName);
return (FALSE);
}
else if (_tcsicmp(lpszToken, _T("RegServer"))==0)
{
UpdateRegistry ((BYTE *)&CLSID_OPCSimSvr,
SvrName,
SvrDescrip,
HelpPath);
return (FALSE);
}
lpszToken = _tcstok(NULL, szTokens);
}
(2)調用InitWTOPCsvr完成開發包dll初始化。
以上兩個步驟不可顛倒。
5. 創建item
這里的item是伺服器所有的item,這些item通過opc庫戶端能瀏覽到。創建item的函數為CreateTag().
Opc有兩種地址空間形式:扁平和多層結構的。
比如調用創建的點為item1、item2、item3.這類結構就是扁平的。各個點類似與文件系統中的文件。
比如調用創建的點為test.item1、test.item2、test.item3這種點名,開發包會自動形成多層的點結構。Test類似與文件系統中的文件夾,item類似與文件系統中的文件夾下的文件。扁平式和多層結構在客戶端瀏覽點名時體現。
多層結構的點名之間默認是用「.」分隔。為了簡單可以將我們的opcserver設計為扁平結構。
創建一個點時會返回一個handle用來標識這個點。我們程序需要自己建立這個handle和資料庫中保存設備實時值的對應關系。這部分可以參考例子代碼。
6. 建立一個定時器採集設備數據
定時從資料庫中取得各個handle對應的item的值。然後比較各個item的值是否和上一次讀取的值有變化,如果有變化調用UpdateTagToList放入對應的隊列。開發包會自動將變化的值送到客戶端。
大致流程為
(1) 從資料庫中採集一遍所有點的實時值。
(2) 調用StartUpdateTags()
(3) 循環讀取每個item在資料庫中的數據,和上一次讀取到的進行比較。如果有變化調用UpdateTagToList()
(4) 最用調用EndUpdateTags()完成所有item的更新。
7. 客戶端控制
客戶端寫tag的值的時候,在opcserver是通過一個回調函數來響應的。
在伺服器端必須調用EnableWriteNotification()來指定寫值的回調函數。回調函數的格式為:
typedef VOID (CALLBACK* WRITENOTIFYPROC)(HANDLE, VARIANT*, DWORD*);
然後在回調函數內部實現從HANDLE指定的tag寫到具體的控制設備對應的變數中。
8. 其它常用函數
RequestDisconnect()一般在opcserver在關閉時調用,用來通知客戶端opcserver自己要關閉。
NumbrClientConnections()用來計算當前有多少個客戶端連接到了opcserver
UninitWTOPCsvr()程序退出時清理
SetVendorInfo()設置廠商信息
三.opc客戶端測試
下面以本機opcquickclient.exe為例說明伺服器和客戶端之間的應用關系。
1. 運行opcquickclient.exe
2. 點擊edit->new server connection 菜單。彈出server properties對話框。從中展開opc data access server version 2.0.會瀏覽到本機安裝的所有opcserver。選中我們自己開發的opcserver,點擊確定。完成與伺服器的連接
3. 點擊edit->new group 用默認值添加組。
4. 點擊edit->new item 彈出如下對話框。(下圖是一個多層結構地址空間的例子,單層的更簡單)選中左側的某個父節點,右側會顯示出各個子tag。選中要向opcserver查詢的tag,點擊add leaves。然後點擊ok
5. 在客戶端主界面上能看到剛才要查詢的tag。它會自動跟隨opcserver端數據的變化而變換。
6. 右鍵要控制的tag,在菜單中選擇同步寫或者非同步寫(一般建議用非同步,避免阻塞客戶端的正常運行)。鍵入要寫入的值。查看設備上是否動作。從而檢驗opcserver是否編寫的正確。
Ⅹ 庫卡控制器中 OPC UA 伺服器如何導出
機器人$conf_mess(脈沖信號)就可以復位。
通過外部自動啟停,復位機器人的信號需要在示教器里配置,路徑:
登陸用戶組「Safety Maintenance」許可權---配置---外部自動運行---把輸入端和輸出端的信號配置完成。