Курсовая работа: Разработка модуля для контура управления tic-104
Value3.SetTagName (Pt.Name)
Set Alias = Controller.PIAliases.Item(“Mode”)
Set Pt = Alias.DataSource
Value9.SetTagName (Pt.Name)
EndSub
Предположим, что нам потребовались дополнительные контроллеры (на работающих предприятиях обычно очень много контроллеров). Мы воспользуемся дополнительными точками-имитаторами и создадим еще 9 модулей контроллеров. Приведенный код легко соответствующим образом модифицировать, либо можно воспользоваться инструментом конфигурирования. После того, как контроллеры созданы, мы добавим элемент управления "pick list" (список выбора) к экрану PI ProcessBook. При загрузке экрана мы будем добавлять ссылки на все контроллеры.
Масштабируемость и иерархия . Для того, чтобы использовать несколько контроллеров в одной группе, необходима масштабируемость. Масштабируемое решение состоит в том, чтобы организовать модули в более глубокую иерархию. Начиная с контроллеров и двигаясь "вверх", мы построим всю иерархию в соответствии со следующим подходом.
Масштабируемость (PIHeadingSets ) . Модульная база данных PI обеспечивает механизм для присвоения имен категориям и задания рекомендуемого уровня в иерархии. Каждой категории можно присвоить PIHeading (заголовок). Объекты типа PIHeading группируются в объект PIHeadingSet. Поскольку не существует ограничений на схемы иерархий, то нет и ограничений на количество объектов PIHeadingSet, которые можно сконфигурировать. Мы реализуем указанные группировки путем создания набора заголовков (heading set) и добавления 6 заголовков. Эти заголовки используются идентификации или присвоения меток модулям в данной схеме. Представим набор заголовков в виде таблицы:
Вот VB-код, который конфигурирует набор заголовков для данной схемы:
Private Sub cmdCreateHeadingSet_Click()
Dim Srv As Server
Dim HeadingSet As PIHeadingSet
Dim Heading As PIHeading
Set Srv = Servers.DefaultServer
Srv.Open
Set HeadingSet = Srv.PIModuleDB.PIHeadingSets.Add(“S-88 Equipment”, “S 88 equipment for example”)
Set Heading = HeadingSet.PIHeadings.Add(“Enterprise”, “S-88 Equipment definition”, 1)
Set Heading = HeadingSet.PIHeadings.Add(“Site”, “S-88 Equipment definition”, 2)
Set Heading = HeadingSet.PIHeadings.Add(“Area”, “S-88 Equipment definition”, 3)
Set Heading = HeadingSet.PIHeadings.Add(“Line”, “S-88 Equipment definition”, 4)
Set Heading = HeadingSet.PIHeadings.Add(“Unit”, “S-88 Equipment definition”, 5)
Set Heading = HeadingSet.PIHeadings.Add(“Controller”, “S-88 Equipment definition”, 6)
End Sub
Объект PIHeading имееттрисвойства: name (имя), description (описание) и level (уровень). Имя обязательно должно быть уникальным внутри набора заголовков. Уровень указывает желаемую позицию в иерархии; причем чем меньше это число, тем выше объект находится в иерархии. Свойство level (уровень), однако, не задает жестко иерархию.
Иерархия оборудования . Мы создадим иерархическую модель оборудования, начиная с самого верха иерархии и продвигаясь вниз к модулям. Контроллеры будут являться частью модуля. Поскольку один и тот же модуль может существовать в нескольких позициях иерархии, нет необходимости заново создавать каждый контроллер или перемещать контроллеры. Мы создадим новую иерархию и затем поместим контроллеры в соответствующие модули. Метод PIModules выполняет эту задачу..
Далее приведен блок VB-кода, где мы создаем модули более высокого уровня, а затем добавляем контроллеры в модуль. Метод insert (вставить) позволяет сделать ссылку на существующий контроллер в коллекции PIModules другого модуля.
Dim Enterprise As PIModule
Dim Site As PIModule
Dim Area As PIModule