VariableItem

<< Click to Display Table of Contents >>

Navigation:  Интерфейс редактора проекта > Операции в редакторе проекта > Скрипт C# > Объектная модель, классы, их свойства и методы >

VariableItem

Тип VariableItem является базовым типом для Параметра, Параметра программы и Поля структуры.

Унаследован от класса Item.

Общие свойства для всех элементов (класса Item) смотрите в соответствующем разделе.

Свойства и методы, характерные для VariableItem, представлены в таблице:

Название

Значение свойства / Тип возвращаемого значения метода

Описание

Пример использования

Свойства (Properties)

 

ArchiveTemplate

Шаблон архивирования. С помощью данного свойства можно задавать параметры шаблона архивирования.

Методы доступа: get

var arch = (ArchiveTemplateItem)param.ArchiveTemplate;

ArchiveTemplateType

Тип шаблона архивирования. Имя необходимо задавать в виде строки. Если ранее тип шаблона архивирования не был задан, то при обращении к шаблону архивирования (ArchiveTemplate) будет возвращаться null.

Шаблон архивирования можно задать с помощью имени и полного имени шаблона из библиотек, но стоит учесть, что поиск по имени может занять значительное время, так как поиск происходит во всех библиотеках, поэтому рекомендуется использовать полное имя. Также поиск по полному имени необходимо использовать, если у вас есть несколько шаблонов архивирования с одинаковым именем, чтобы гарантировать правильный выбор.

Методы доступа: get/set

  // Привязка шаблона архивирования

param.ArchiveTemplateType = "Библиотеки.Стандартная.Шаблоны архивирования.Шаблон архивирования";

var arch = (ArchiveTemplateItem)param.ArchiveTemplate;

arch.Deadband = "1";

// Мертвая зона

param.ArchiveTemplate.Deadband = "1";

// Максимальный период записи в секундах

param.ArchiveTemplate.MaxWritePeriod = "2";

// Минимальный период записи в секундах

param.ArchiveTemplate.MinWritePeriod = "3";

// Фраг для написания всех значений

param.ArchiveTemplate.WriteAll = false;

// Флаг для написания значений только при изменении

param.ArchiveTemplate.WriteByChange = true;

// Флаг для написания значений только при остановке работы

param.ArchiveTemplate.WriteOnShutdown = true;

DataSource

Определяет источник данных (элемент от которого будут передаваться значения). Если задать в свойстве null, связь будет разорвана.

Методы доступа: get/set

Создание связи для передачи значения из канала в параметр:

var aio = (ChannelItem)RootItemModel.GetItemByFullName("Система.АРМ 1.Протоколы.Modbus TCP.ModbusTCP Device 1.AIO 1");

var attr1 = (VariableItem)RootItemModel.GetItemByFullName("Объекты.Объект 1.Параметр 1");

attr1.DataSource = aio;

Historizing

Необходимость архивирования значений канала.

Методы доступа: get/set

this.WriteConsole("\nHistorizing - " + param3.Historizing);

InitialValue

Начальное значение.

Методы доступа: get/set

param3.InitialValue = "1";

this.WriteConsole("InitialValue - " + param.InitialValue);

Scale

Шкала. С помощью данного свойства можно задавать параметры шкалы.

Методы доступа: get

var scaleAI = (ScaleAIItem)param1.Scale;

ScaleType

Тип шкалы. Необходимо задавать в виде строки: Шкала/Шкала AI/Шкала DI. Если ранее тип шкалы не был задан, то при обращении к шкале (Scale) будет возвращаться null.

Если установить значение свойства в null, шкала элемента будет сброшена.

Тип шкалы можно задать с помощью имени и полного имени шкалы из библиотек, но стоит учесть, что поиск по имени может занять значительное время, так как поиск происходит во всех библиотеках, поэтому рекомендуется использовать полное имя. Также поиск по полному имени необходимо использовать, если у вас есть несколько шкал с одинаковым именем, чтобы гарантировать правильный выбор шкалы.

Методы доступа: get/set

var param1 = fbAND.FindParameters("Q");    

param1.ScaleType = "Библиотеки.Стандартная.Шкалы.Шкала AI";

param1.Scale.Format = "<формат>";

param1.Scale.Unit = "<единица измерения>";

//Пример настройки шкалы AI:

var scaleAI = (ScaleAIItem)param1.Scale;

scaleAI.DelayTime = 1551;     // Задержка времени отклика

scaleAI.ActiveHi = false;     // Флаг активности высокого порога

scaleAI.UseHi = false;     // Флаг использования высокого порога

scaleAI.Hi = 41;     // Значение высокого порога

scaleAI.HiPriority = 14111;     // Приоритет события высокого порога

scaleAI.RateOfChangePriority = 3533;     // Приоритет события скорости изменения

scaleAI.RateOfChangeText = "rateTex5t";     // Текст события скорости изменения

scaleAI.HiText = "Hi5hi";     // Текст события высокого порога

scaleAI.Hysteresis = "775";     // Гистерезис

//Пример настройки шкалы DI:

var scaleDI = (ScaleDIItem)param1.Scale;

scaleDI.DelayTime = 11;     // Задержка перед обработкой изменения сигнала

scaleDI.EventOff = "Отключено";     // Текст события при отключении

scaleDI.EventOn = "Включено";     // Текст события при включении

scaleDI.EventOffPriority = 199;     // Приоритет события при отключении

scaleDI.EventOnPriority = 201;     // Приоритет события при включении

ValueType

Тип значения параметра.

Методы доступа: get/set

var attr1 = (AttributeItem)RootItemModel.GetItemByFullName("Объекты.Объект 1.Параметр 1");

attr1.ValueType = "SYSTEM_INT_PARAM";

Методы (Methods)

AddLink(AttributeItem)

 

Добавление ссылки на Параметр (передача значений в параметр). Позволяет связать один параметр с другим, чтобы один передавал значение второму. В качестве аргумента задается AttributeItem - параметр, принимающий значения

var channel = (ChannelItem)arm.GetChildByNamePath("Протоколы.DCON 1.Модуль DCON 1.DIO 1");

      var param = (ProgramParamItem)RootItemModel.GetChildByNamePath("Объекты.Объект 3.Ресурсы.Программы.Программа_FBD_1.Параметры.testParam");

      var attribut = (AttributeItem)RootItemModel.GetChildByNamePath("Объекты.Объект 3.test_attribut");

       param.AddLink(attribut);

       attribut.AddLink(channel);

       channel.AddLink(attribut);

   

       param.AddLink(tag); // приём тегом

       attribut.AddLink(tag); // приём тегом

       channel.AddLink(tag); // приём тегом

      /

       tag.AddLink(param);

       tag.AddLink(attribut);

       tag.AddLink(channel);

AddLink(ChannelItem)

 

Добавление ссылки на Канал (передача значений в канал). В качестве аргумента задается ChannelItem - канал, принимающий значения

AddLink(ProgramParamItem)

 

Добавление ссылки на Параметр программы (передача значений в параметр программы). В качестве аргумента задается ProgramParamItem - параметр программы, принимающий значения

AddLink(TagItem)

 

Добавление ссылки на Тег (передача значений в тег). В качестве аргумента задается TagItem - тег, принимающий значения

ChangeType(string)

 

Метод для изменения типа переменной. В качестве аргумента задается Имя нового типа переменной из библиотеки MasterSCADA 4D

param1.ChangeType("INT");

DeleteArchiveTemplateType()

 

Удаление Шаблона архивирования

tag.DeleteArchiveTemplateType();

DeleteScaleType()

 

Удаление Шкалы

tag.DeleteScaleType();

TryAddLink(Item)

 

Попытка добавить ссылку на Item. В качестве аргумента задается элемент (Item), к которому будет создана ссылка

tag.TryAddLink(attribut);