Курсовая работа: Разработка модуля для контура управления tic-104
Tic104.PIAliases.Add “Derivative”, pts(6)
Tic104.PIAliases.Add “Mode”, pts(7)
EndSub
Теперь в нашем распоряжении имеется модуль, представляющий контур управления tic-104. Добавим этот модуль к модулю Controllers в целях улучшения организации модулей. Соответствующие точки PI связаны с модулем при помощи коллекции псевдонимов. Обычно, имеются и другие данные, которые требуется связать с контроллерами - например, номер модели производителя, ссылка на базу данных с технической информацией (maintenance database), а также информация по тонкой настройке (tuning). С этой целью, у каждого PIModule имеется коллекция PIProperties. Коллекция PIProperties может использоваться для хранения любых пользовательских данных или данных приложения вместе с модулем.
Свойства модуля (PI Properties) . Коллекция PIProperties является иерархической коллекцией данных, связанных с модулями. Эта коллекция является местом, где хранятся данные о модуле. Коллекция PIProperties является коллекцией объектов типа PIProperty. Объект PIProperty имеет свойства Name (имя), Value (значение), а также свою собственную коллекцию PIProperties. В качестве Value можно использовать практически любую переменную типа VARIANT-- строки, числа, даты, хранимые процедуры, и даже двоичные объекты, например, изображения. Коллекции данных могут быть связаны с каждым объектом типа PIProperty при помощи коллекции PIProperties.
Итак, добавим к контроллеру дополнительные данные. Мы собираемся добавить информацию о производителе и некоторую информацию по настройке. Что касается производителя, мы добавим имя компании, адрес, номер модели и серийный номер. В качестве информации по настройке, мы укажем дату выполнения настройки, имя технолога и некоторые комментарии. Эти данные можно добавить непосредственно в коллекцию PIProperty модуля. Но поскольку PIProperties поддерживает создание иерархии, мы можем добавить эти данные более удачным с организационной точки зрения образом, для чего мы создадим две записи типа PIProperty -- одну для данных о производителе, другую - для данных о настройке. Затем мы добавим данные в соответствующие коллекции свойств. Вот код на Visual Basic, который выполняет описанные действия:
Private Sub CreateTheProperties()
Dim MfgData As PIProperty
Dim InstallationData As PIProperty
Dim Prop As PIProperty
Set Srv = PISDK.Servers.DefaultServer
Srv.Open (“uid=piadmin”)
Set Controllers = Srv.PIModuleDB.PIModules.Item(“Controllers”)
Set Tic104 = Controllers.PIModules.Item(“tic-104”)
Set MfgData = Tic104.PIProperties.Add(“Manufacturer Data”)
Set InstallationData = Tic104.PIProperties.Add(“Installation Data”)
Set Prop = MfgData.PIProperties.Add(“Name”, “Acme Controller, Inc.”)
Set Prop = MfgData.PIProperties.Add(“Model”, “ABC-4331”)
Set Prop = MfgData.PIProperties.Add(“Serial Number”, “102938475”)
Set Prop = InstallationData.PIProperties.Add(“Technician”, “John Doe”)
Set Prop = InstallationData.PIProperties.Add(“Comments”, “No problem.”)
EndSub
Интеграция с приложением . Теперь у нас имеется модуль, представляющий контроллер tic-104; мы можем легко обратиться к соответствующим временным рядам и метаданным. Но такая структура не имела бы особого практического значения, если к ней не могло бы обращаться приложение. Имеется много различных путей использования этих данных; например, они могут потребоваться приложению, которое предназначено для оценки состояния и технического обслуживания контроллера. Будущие версии PI ProcessBook будут поддерживать работу с Модульной базой данных PI; однако, уже сейчас мы можем работать с ModuleDataBase (MDB) в PI ProcessBook при помощи VisualBasicApplication (VBA). Мы начнем с рассмотрения исходного экрана ProcessBook для tic-104 и усовершенствуем его таким образом, чтобы он мог выполнять загрузку из модуля.
Прежде всего, мы отобразим данные о производителе и об установке в экране PI ProcessBook. PI ProcessBook является OLE-контейнером, поэтому мы можем добавить два элемента управления ListView к этому экрану, и загрузить свойства (рисунок 4.4). Вот VBA-код, который поставляет данные в два элемента управления ListView и в экран PI ProcessBook:
Option Explicit
Dim Srv As Server
Dim Controllers As PIModule
Dim Controller As PIModule
Private Sub Display_Open()