Я новичок в PI и в поиске событий с помощью AF SDK. Я должен использовать шаблоны для поиска в базе данных PI и получения имен всех атрибутов определенного события. Является ли следующий код правильным способом сделать это? Я считаю, что я правильно подключен к самой базе данных. У меня просто возникают проблемы с базами данных.
List<UnitVariable> namesOfProcesses = new List<UnitVariable>();
using (AFEventFrameSearch search = new AFEventFrameSearch(MyDatabase, "FindEvents", $"Template: 'Event' {processChoice.ProcIdentity}' {unitSelectChoice.UnitIdentity}'"))
{
foreach (AFEventFrame entry in search.FindObjects(fullLoad: false))
{
namesOfProcesses.Add(new UnitVariable(entry.Name, entry.ID));
}
}
return namesOfProcesses;
}
UnitVariables - это просто пользовательский класс со строкой Name и идентификатором guid. На всякий случай я также опубликую код в моей функции подключения, которая подключается к базе данных и возвращает все «события» для начала.
PISystems myPiSystems = new PISystems();
PISystem myPiSystem = myPiSystems.DefaultPISystem;
MyDatabase = myPiSystem.Databases["HWF-OSI-AFD2"];
List<ProcessUnit> namesOfProcesses = new List<ProcessUnit>();
using (AFEventFrameSearch search = new AFEventFrameSearch(MyDatabase, "FindEvents", @"Template: 'Event'"))
{
foreach (AFEventFrame entry in search.FindObjects(fullLoad: false))
{
namesOfProcesses.Add(new ProcessUnit(entry.Name, entry.ID));
}
}
UniversalProcessList = namesOfProcesses;