資源簡介
OPC客戶端應用程序的C++實現;在Visual C++或C++BUILDER環境中實現OPC客戶應用程序,首先必須從OPC國際基金會官方網站下載OPC頭文件("opcda_i.c"、"opcda.h" 、"opccomn_i.c"、"opccomn.h"),并在Visual C++工程的“Tool”→“Options”→“Directories”加載頭文件。

代碼片段和文件信息
//**************************************************************************
//
//??Copyright?(c)?FactorySoft?INC.?1996-1998?All?Rights?Reserved
//
//**************************************************************************
//
//??Filename???:??ConnectionPoint.cpp
//??$Author????:??Jim?Hansen
//
//??Description:??Callback?class?for?OPC?Data?Access?2.0
//
//
//**************************************************************************
#include?“stdafx.h“
#include?“IAdvsink.h“
//#include?“ConnectionPoint.h“
#include?“OPCClientDoc.h“
CComModule?_Module;??//?just?needed?to?keep?ATL?happy
extern?OPCClientDoc*?theDoc;
//**************************************************************************
//?Called?by?the?server?at?the?update?rate?when?data?changes
STDMETHODIMP?OPCCallback::OnDataChange(
???????DWORD???????Transid
???????OPCHANDLE???grphandle
???????HRESULT?????masterquality
???????HRESULT?????mastererror
???????DWORD???????count
???????OPCHANDLE?*?clienthandles
???????VARIANT???*?values
???????WORD??????*?quality
???????FILETIME??*?time
???????HRESULT???*?errors)
{
//?If?Transid?!=?0?this?is?a?refresh
for(?DWORD?index=0;?index {
if(?SUCCEEDED(errors[index])?)
{
Item*?pItem?=?(Item*)clienthandles[index];
if(?pItem?)
{
pItem->value?=?values[index];
pItem->quality?=?quality[index];
pItem->timestamp?=?time[index];
}
}
}
PostMessage(theDoc->data_hwnd?WM_DATACHANGE?0?0);
return?S_OK;
}
//**************************************************************************
//?Called?by?the?server?to?complete?an?ASyncIO2::Read
STDMETHODIMP?OPCCallback::OnReadComplete(
?DWORD???????Transid
?OPCHANDLE???grphandle
?HRESULT?????masterquality
?HRESULT?????mastererror
?DWORD???????count
?OPCHANDLE?*?clienthandles
?VARIANT???*?values
?WORD??????*?quality
?FILETIME??*?time
?HRESULT???*?errors)
{
ASSERT(?Transid?==?3?);?//?test?only
for(?DWORD?index=0;?index {
if(?SUCCEEDED(errors[index])?)
{
Item*?pItem?=?(Item*)clienthandles[index];
if(?pItem?)
{
pItem->value?=?values[index];
pItem->quality?=?quality[index];
pItem->timestamp?=?time[index];
}
}
}
PostMessage(theDoc->data_hwnd?WM_DATACHANGE?0?0);
return?S_OK;
}
//**************************************************************************
//?Called?by?the?server?to?complete?an?ASyncIO2::Write
STDMETHODIMP?OPCCallback::OnWriteComplete(
??DWORD???????Transid
??OPCHANDLE???grphandle
??HRESULT?????mastererr
??DWORD???????count
??OPCHANDLE?*?clienthandles
??HRESULT???*?errors)
{
ASSERT(?Transid?==?2?);?//?test?only
for(?DWORD?index=0;?index {
if(?FAILED(errors[index])?)
{
Item*?pItem?=?(Item*)clienthandles[index];
PostMessage(theDoc->data_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3645??2006-03-22?10:40??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\ConnectionPoint.cpp
?????文件???????2413??2005-01-14?14:28??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\ConnectionPoint.h
?????文件??????50584??2011-09-29?11:25??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.aps
?????文件???????7989??2011-10-05?05:20??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.clw
?????文件???????5283??2006-03-29?11:56??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.cpp
?????文件???????6418??2006-04-09?19:48??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.dsp
?????文件????????549??2006-03-21?10:00??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.dsw
?????文件???????1438??2006-03-22?21:38??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.h
?????文件?????361472??2011-10-05?10:37??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.ncb
?????文件?????188928??2011-10-05?10:37??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.opt
?????文件????????921??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.plg
?????文件??????21296??2006-04-10?08:55??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\CUS_OPCClient.rc
?????文件?????262310??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CMX_OPCClient.exe
?????文件?????747448??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CMX_OPCClient.ilk
?????文件??????12758??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ConnectionPoint.obj
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ConnectionPoint.sbr
?????文件????3769344??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.bsc
?????文件??????29577??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.obj
?????文件????8600668??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.pch
?????文件????1238016??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.pdb
?????文件??????23720??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.res
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\CUS_OPCClient.sbr
?????文件??????14572??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\GroupDialog.obj
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\GroupDialog.sbr
?????文件??????18115??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\IAdvsink.obj
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\IAdvsink.sbr
?????文件??????80677??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ItemDialog.obj
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ItemDialog.sbr
?????文件??????16438??2011-10-04?22:24??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ItemPropertiesDialog.obj
?????文件??????????0??2011-10-05?02:39??OPC+Client\OPC?Client源碼,可以同時連接多個本地或遠程Server\CUS_OPCClient\Debug\ItemPropertiesDialog.sbr
............此處省略94個文件信息
- 上一篇:遙感圖像拉伸代碼
- 下一篇:車輛管理系統課程設計C++)
評論
共有 條評論