Отображение сигналов С1,С2 и С3 на тренде.

Выберем дискретный тренд(см. рис. 107).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 110 Дискретный тренд

И сделаем ему следующие настройки(см. рис. 110).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 111 Настройки дискретного тренда

Настройки для С2 и С3 аналогичны.

Журнал действий оператора.

Рассмотрим на примере задания количества циклов оператором. Чтобы задаваемое оператором количество циклов записывалось в архивы, в канале N1 надо установить соответствующие флаги. Войдем в диалог Каналы объектадля объекта _БАЗА. Для этого дважды нажмем левой кнопкой мыши на его изображении.

Войдем в диалог Реквизитыдля канала N1. Для этого дважды нажмем левой кнопкой мыши на его имени в списке диалога Каналы объекта. В бланке Основныедиалога Реквизитыследует установить флаги СПАДи Отчет тревограздела Архивация, как это показано на рисунке ( рис. 111).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 112 Реквизиты канала

В закладке Границы и обработка определим допустимые количества циклов, которые может задавать оператор(см. рис. 112).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 113 Реквизиты канала

Помимо установки флагов для каналов необходимо указать параметры соответствующих архивов, которые будет вести узел. Эти параметры настраиваются в бланке Архивациядиалога Параметры узла. Чтобы войти в него, перейдем в окно структуры проекта и нажмем правой кнопкой мыши на графическом изображении узла (см. рис. 113).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 114 Параметры узла

Параметры локального архива настраиваются в разделе СПАД. Здесь в поле Имяследует ввести имя файла локального архива, а в поле Объем– размер этого файла в мегабайтах. Зададим имя ARC.rep, а размер, равным 10Мбайтам. При превышении этого объема происходит циклическая перезапись данных.

Для отчета тревог также нужно указать в соответствующем поле имя файла и, если это требуется, путь к нему.

Настройки архивов демонстрируются на следующем рисунке(см. рис. 114).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 115 Параметры узла

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

Далее в редакторе представления данных добавить на экран ActiveX элемент Trace Mode Alarm Viewer(см. рис. 115).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 116 Выбор ActiveX компонентов

После этого в Trace Mode Alarm Viewer будут отображаться задания, которые вводил оператор.

В итоге мы получаем(см. рис. 116).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 117 Визуализация и управление циклограммой на верхнем уровне

В начале было сказано, что в программе (рис.37, с.80) для контроллера была допущена ошибка. Ошибка заключается в следующем: т.к. все блоки программы обрабатываются по порядку в соответствии со своим номером, то при обработке данной программы таймер(ТМР, 9 алгоблок) будет обработан раньше, чем одновибратор(ОДВ 15 алгоблок) и триггер(ТРИ 16 блок). Это значит что сигнал, который останавливает таймер придет после того, как таймер будет обработан и запущен. Следовательно, сигнал С31 успеет выработать логическую единицу на время одного такта контроллера. Для того, чтобы такая ситуация не произошла, необходимо изменить номера алгоблоков следующих алгоритмов: одновибратора(ОДВ 15 блок) и триггера(ТРИ 16 блок) на меньшие, чем у таймера ( 9 алгоблок) или изменить номер алгоблока таймера на больший, чем у одновибратора (ОДВ, 15 алгоблок) и триггера (ТРИ, 16 алгоблок). Программа после изменения нумерации указанных алгоблоков, т.е. без ошибки, представлена ниже ( рис. 117).

Отображение сигналов С1,С2 и С3 на тренде. - student2.ru

Рис. 118 Программа циклограммы шесть без ошибки

Однако, на практике такую программу(cikl117.rem) применять нельзя. Рассмотрим ситуацию на примере управления тремя задвижками соответственно командами С1,С2 и С3. Логическому нулю соответствует закрытое состояние задвижки, а логической единице – открытое состояние задвижки. Допустим, для открытия и закрытия первой задвижки необходимо 5 секунд, для открытия и закрытия второй задвижки необходимо 3 секунды, а для открытия и закрытия третьей задвижки необходимо 4 секунды. Рассмотрим первые пять секунд нашей циклограммы. С первых же секунд работы программы мы имеем С1=0, С2=0, С3=1, т.е. первые две задвижки остаются закрытыми, а третья задвижка должна быть открыта. Но так как время открытия третьей задвижки составляет 4 секунды, а таймер(ТМР 20 блок), который отсчитывает время для изменения команд С1,С2 и С3, не был остановлен на время открытия третьей задвижки, то спустя 1 секунду после открытия третьей задвижки будет сформирована команда по ее закрытию. В итоге мы получим, что технический процесс, которым мы управляем, продлился всего 1 секунду, вместо заданных 5 секунд, что недопустимо. Чтобы избежать этой проблемы, необходимо останавливать таймер(ТМР 20 блок) на время открытия и закрытия задвижек. Основная идея заключается в добавлении таймеров в программу, которые будут отсчитывать время открытия и закрытия каждой задвижки, а также останавливать таймер (ТМР 20 блок) на время открытия и закрытия задвижек. Улучшенная версия программы с остановкой таймера на время отработки команд представлена на рисунке 118.



Наши рекомендации