PISDK.PISDK g_SDK;
PISDK.Server piServer ;
PISDK.PIPoint piPoint;
g_SDK = new PISDK.PISDKClass();
piServer = g_SDK.Servers[myServer];
piServer .Open("UID=piadmin;PWD=");
piPoint = piServer .PIPoints[myTag];
//Write to PI using PIValues
PISDK.PIValues pvPIValues;
pvPIValues = new PISDK.PIValues();
pvPIValues.ReadOnly = false;
pvPIValues.Add(null, myValue, null);
piPoint.Data.UpdateValues(pvPIValues, PISDK.DataMergeConstants.dmInsertDuplicates, null);
+++++++++++++++++++++++++++++++++++++
// Write to PI using PIPoint
piPoint.Data.UpdateValue(pvPIValues, null, DataMergeConstants.dmInsertDuplicates, null);
++++++++++++++++++++++++++++++++++++++
// Write to PI using Collective
List<PiTag> piPointList;
double utcDatetime = ah.ConvertDateToUtcSec(DateTime.Now);
this.numPointsUpdated = 0;
string strLimitVal = "";
PISDK.PIPoint piPoint;
Object _ServerName = "MYPISERVER";
foreach (var alarmLimit in piPointList)
{
tagName = alarmLimit.piTagName;
limitValue = alarmLimit.limitValue;
strLimitVal = alarmLimit.strLimitValue;
try
{
PISDK.PISDK piSDK1 = new PISDK.PISDK();
PISDK.Server Srv = piSDK1.Servers[(String)_ServerName];
PISDK.IPICollective Collective = (PISDK.IPICollective)Srv;
if (Collective.IsCollectiveMember)
{
PISDK.CollectiveList ColList = Collective.ListMembers();
PISDK.CollectiveMember ColMember = ColList.get_Item(ref _ServerName);
piServer = Collective.MemberOpen(ColMember, "");
piPoint = piServer.PIPoints[tagName];
piPoint.Data.UpdateValue(strLimitVal, utcDatetime, DataMergeConstants.dmInsertDuplicates, null);
this.numPointsUpdated++;
}
}
}
++++++++++++++++++++++++++++++++++++++
//VB code that works but not able to translate to C#
oCollective = CType(m_oServer, PISDK.IPICollective)
oPoint = Nothing
oPoint = oCollective.PIPoints.Item(strPiTag)
If Not oPoint Is Nothing Then
oPoint.Data.UpdateValue(strVal, dblUTCSecs, DataMergeConstants.dmInsertDuplicates, Nothing)
End If
?打開About-PISDK,點擊緩沖> PI緩沖配置。取消“啟用SDK緩沖”復選框。單擊“保存”
?確保PI緩沖子系統沒有運行(在services.msc中)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/195528.html
標籤:C#
