• 大小: 5.54MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-23
  • 语言: C/C++
  • 标签: OPC  C++  

资源简介

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个文件信息

评论

共有 条评论