TagItem

<< Click to Display Table of Contents >>

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

TagItem

Тип TagItem соответствует элементу Базовый тег.

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

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

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

Название

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

Описание

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

Свойства (Properties)

 

Ancestor

Предок тега (тег, от которого наследуется элемент).

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

var tagItem = (TagItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1.Объект вложенный.Базовый тег 1");
WriteConsole(tagInst?.Ancestor?.FullName);

ArchiveTemplate

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

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

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 aio = (ChannelItem)RootItemModel.GetItemByFullName("Система.АРМ 1.Протоколы.Modbus TCP.ModbusTCP Device 1.AIO 1");

var tag  = (TagItem)RootItemModel.GetItemByFullName("Объекты.Объект 1.Базовый тег 1");

tag.DataSource = aio;

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(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 - тег, принимающий значения

CopyTo(ObjectItem)

TagItem (скопированный объект)

Копирование Тега. В качестве аргумента задается объект, куда будет вставлена копия тега

var objInst1 = (ObjectItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1");

var tagInst = (TagItem)RootItemModel.GetChildByNamePath("Библиотеки.Моя_библиотека.Теги.Тег 1");

var tagInst2 = tagInst.CopyTo(objInst1);

Delete()

 

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

tag.Delete();

DeleteScaleType()

 

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

tag.DeleteScaleType();

InsertInheritorTo(ObjectItem)

TagItem (вставленный наследник)

Вставляет наследника в объект. В качестве аргумента метода задается объект, куда будет вставлен наследник тега

var objInst1 = (ObjectItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1");

var tagInst = (TagItem)RootItemModel.GetChildByNamePath("Библиотеки.Моя_библиотека.Теги.Тег 1");

var tagInst3 = tagInst.InsertInheritorTo(objInst1);

InsertInstanceTo(ObjectItem)

TagInstanceItem (экземпляр тега)

Вставлет экземпляр в объект. В качестве аргумента метода задается объект, куда будет вставлен экземпляр тега

var objInst1 = (ObjectItem)RootItemModel.GetChildByNamePath("Объекты.Объект 1");

var tagInst = (TagItem)RootItemModel.GetChildByNamePath("Библиотеки.Моя_библиотека.Теги.Тег 1");

var tagInst4 = tagInst.InsertInstanceTo(objInst1);

TryAddLink(Item)

 

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

tag.TryAddLink(attribut);