PI VC开发代码实例

#include <atlbase.h>
#import "pisdkcommon.dll" no_namespace
#import "piTimeServer.dll" no_namespace
#import "pisdk.dll" no_namespace


//获取点的描述
void GetTagDescriptor(_bstr_t bServer, _bstr_t bTagName, _variant_t &vDesc)

{

try

{

// navigate through the PISDK

IPISDKPtr pSDK(__uuidof(PISDK));

ServersPtr pServs = pSDK->GetServers();

ServerPtr pServ = pServs->GetItem(bServer);

PIPointsPtr pPts = pServ->GetPIPoints();

PIPointPtr pPt = pPts->GetItem(bTagName);

PointAttributesPtr pAtts = pPt->GetPointAttributes();

PointAttributePtr pDesc = pAtts->GetItem(_bstr_t("descriptor"));

vDesc = pDesc->GetValue();

}

// Check for errors thrown by smart pointers

catch(_com_error e)

{

_tprintf(_T("Error %x occurred. Message was %s\n"), e.Error(), (char *)e.Description());

}

// Check for non COM errors being thrown

catch(...)

{

_tprintf(_T("Non-COM error"));

}

}
//获取点的值
void GetTagValue(_bstr_t bServer, _bstr_t bTagName, _variant_t &vValue)

{

try

{

CTime dtStart,dtEnd;
//BoundaryTypeConstants btType;


// navigate through the PISDK

IPISDKPtr pSDK(__uuidof(PISDK));

ServersPtr pServs = pSDK->GetServers();

ServerPtr pServ = pServs->GetItem(bServer);

PIPointsPtr pPts = pServ->GetPIPoints();

PIPointPtr pPt = pPts->GetItem(bTagName);

_PIDataPtr pData = pPt->GetData();

_PIValuePtr pValue = pData->GetSnapshot();

vValue = pValue->GetValue();

}

// Check for errors thrown by smart pointers

catch(_com_error e)

{

_tprintf(_T("Error %x occurred. Message was %s\n"), e.Error(), (char *)e.Description());

}

// Check for non COM errors being thrown

catch(...)

{

_tprintf(_T("Non-COM error"));

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值