TagInstanceItem

<< Click to Display Table of Contents >>

Navigation:  Приложения > Автоматизированная разработка проектов >

TagInstanceItem

Тип TagInstanceItem соответствует элементу Экземпляр тега.

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

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

Свойства и методы TagInstanceItem представлены в таблице:

Название

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

Описание

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

Свойства (Properties)

Ancestor

Предок тега (тег, на который ссылается экземпляр).

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

var tagInst = (TagInstanceItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1.Папка 1.Объект 1.Базовый тег 1");

WriteConsole(tagInst?.Ancestor?.FullName);

ArchiveTemplate

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

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

var arch = (ArchiveTemplateItem)tag.ArchiveTemplate;

ArchiveTemplateType

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

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

var tag = newObject.AddTagBase("tag");

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

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

var arch = (ArchiveTemplateItem)tag.ArchiveTemplate;

arch.Deadband = "1";

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

tag.ArchiveTemplate.Deadband = "1";

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

tag.ArchiveTemplate.MaxWritePeriod = "2";

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

tag.ArchiveTemplate.MinWritePeriod = "3";

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

tag.ArchiveTemplate.WriteAll = false;

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

tag.ArchiveTemplate.WriteByChange = true;

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

tag.ArchiveTemplate.WriteOnShutdown = true;

DataSource

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

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

var objTagInst = (TagInstanceItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1.Целый тег 1");

      var ai1 = (ChannelItem)RootItemModel.GetChildByNamePath("Система.АРМ 1.Протоколы.OPC UA.AIO 1");

      var ai2 = (ChannelItem)RootItemModel.GetChildByNamePath("Система.АРМ 1.Протоколы.OPC UA.AIO 2");        

       

      WriteConsole($"Текущий objTagInst.DataSource: {objTagInst.DataSource?.Name ?? "null"} \n\n");

      WriteConsole($"Текущий ai2.DataSource: {ai2.DataSource?.FullName} + и ai1.DataSource: {ai1.DataSource?.FullName}");

       ai1.DataSource = objTagInst;

       ai2.DataSource = objTagInst;

      WriteConsole($"Текущий ai2.DataSource: {ai2.DataSource?.FullName} + и ai1.DataSource: {ai1.DataSource?.FullName}");

       objTagInst.DataSource = ai1;

       objTagInst.DataSource = ai2;

      WriteConsole($"Текущий ai2.DataSource: {ai2.DataSource?.FullName} + и ai1.DataSource: {ai1.DataSource?.FullName}");

DisableExecution

Отключить исполнение.

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

tagInst.DisableExecution = true;

Historizing

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

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

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

Scale

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

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

var scaleAI = (ScaleAIItem)tag.Scale;

ScaleType

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

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

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

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

var tag = (TagItem)newObject.AddTagBase("tag");        

//Работа с тегами и шкалами

//Для настройки шкалы тега используются следующие параметры:

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

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

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

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

var scaleAI = (ScaleAIItem)tag.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)tag.Scale;

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

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

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

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

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

Методы (Methods)

AddLink(ChannelItem)

 

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


AddLink(TagInstanceItem)

 

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

AddLink(TagItem)

 

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

AddLink(VariableItem)

 

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

tagInst.AddLink(variableItem);

Delete()

 

Удаление элемента

tag.Delete();

DeleteArchiveTemplateType()

 

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

tagInst.DeleteArchiveTemplateType();

DeleteScaleType()

 

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

tag.DeleteScaleType();

ResetHistorizing()

 

Сброс необходимости архивирования к унаследованному или дефолтному значению.

tagInst.ResetHistorizing();

TryAddLink(Item)

 

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

tag.TryAddLink(attribut);