创建后找不到Pi点
Can't find Pi Point after create
我有一个 C# 应用程序,它使用基于以下代码创建一个新的 Pi 点
PI-AF-SDK-Basic-Samples/CreatePIPointsExample.cs 硕士 · osisoft/PI-AF-SDK-Basic-Samples · GitHub
点似乎创建成功 - 这是在 SMT 中搜索标签后的屏幕截图:
我的问题是,当我的同一个 C# 应用程序搜索新创建的 Pi Point 时,找不到它。
搜索代码如下:
private static List<PIPoint> GetPiPoints(PIServer piServer)
{
var criteria = GetCriteria("61");
var foundPoints = PIPoint.FindPIPoints(piServer, criteria).ToList();
criteria = GetCriteria("63");
foundPoints.AddRange(PIPoint.FindPIPoints(piServer, criteria).ToList());
criteria = GetCriteria("64");
foundPoints.AddRange(PIPoint.FindPIPoints(piServer, criteria).ToList());
return foundPoints;
}
private static List<PIPointQuery> GetCriteria(string location)
{
List<PIPointQuery> criteria = new List<PIPointQuery>();
PIPointQuery whereClause1 = new PIPointQuery(PICommonPointAttributes.Location1, OSIsoft.AF.Search.AFSearchOperator.Equal, location);
PIPointQuery whereClause2 = new PIPointQuery(PICommonPointAttributes.PointSource, OSIsoft.AF.Search.AFSearchOperator.Equal, "o");
criteria.Add(whereClause1);
criteria.Add(whereClause2);
return criteria;
}
所以,我的理解是,这应该找到所有 "location1" 属性值为 61、63 或 61 且 "pointSource" 为 "o" 的点 - 我试过大写和小写 "o"
从屏幕截图中,您可以看到新创建的 "Kuba_99x" 标签就是这种情况,但在搜索中找不到它,尽管有数千个其他现有标签。
请问我哪里出错了?
Location1 在 PI Data Archive 上存储为 Int32。 location
参数需要是 int
而不是 string
。
进一步的问题将在 OSIsoft PI Square 上解决,因为那里也有 post。
Pi 代码实际上很好。问题是,我的代码在选择后过滤新创建的记录。
我有一个 C# 应用程序,它使用基于以下代码创建一个新的 Pi 点 PI-AF-SDK-Basic-Samples/CreatePIPointsExample.cs 硕士 · osisoft/PI-AF-SDK-Basic-Samples · GitHub
点似乎创建成功 - 这是在 SMT 中搜索标签后的屏幕截图:
我的问题是,当我的同一个 C# 应用程序搜索新创建的 Pi Point 时,找不到它。 搜索代码如下:
private static List<PIPoint> GetPiPoints(PIServer piServer)
{
var criteria = GetCriteria("61");
var foundPoints = PIPoint.FindPIPoints(piServer, criteria).ToList();
criteria = GetCriteria("63");
foundPoints.AddRange(PIPoint.FindPIPoints(piServer, criteria).ToList());
criteria = GetCriteria("64");
foundPoints.AddRange(PIPoint.FindPIPoints(piServer, criteria).ToList());
return foundPoints;
}
private static List<PIPointQuery> GetCriteria(string location)
{
List<PIPointQuery> criteria = new List<PIPointQuery>();
PIPointQuery whereClause1 = new PIPointQuery(PICommonPointAttributes.Location1, OSIsoft.AF.Search.AFSearchOperator.Equal, location);
PIPointQuery whereClause2 = new PIPointQuery(PICommonPointAttributes.PointSource, OSIsoft.AF.Search.AFSearchOperator.Equal, "o");
criteria.Add(whereClause1);
criteria.Add(whereClause2);
return criteria;
}
所以,我的理解是,这应该找到所有 "location1" 属性值为 61、63 或 61 且 "pointSource" 为 "o" 的点 - 我试过大写和小写 "o"
从屏幕截图中,您可以看到新创建的 "Kuba_99x" 标签就是这种情况,但在搜索中找不到它,尽管有数千个其他现有标签。
请问我哪里出错了?
Location1 在 PI Data Archive 上存储为 Int32。 location
参数需要是 int
而不是 string
。
进一步的问题将在 OSIsoft PI Square 上解决,因为那里也有 post。
Pi 代码实际上很好。问题是,我的代码在选择后过滤新创建的记录。