Tia Portal — Недельный таймер

2020-08-20 Промышленное  2 комментария

Продолжаем знакомство со средой  Tia Portal. На очереди у нас  очередное практическое занятие — создание недельного таймера с заданием необходимых настроек с панели оператора.

Работать таймер будет в двух режимах  — по выбору даты и времени включения и выключения и по дням недели.

Тиа Портал - недельный таймер

Режим 1: Включаем переключатель «по Дате и Времени». Далее вносим в полях необходимые дату и время включения и выключения. Индикатор «Выход сигнала» сигнализирует о том, что включен режим задания на включение-выключение .

Режим 2: Выбираем дни недели (нажав соответствующие переключатели), для которых будем составлять расписание, вносим время включения и выключения на каждый выбранный день. Например, освещение будет включаться на буднях в такое-то время, предположим в 8:00 и выключаться в 17:00, а на выходных оно вообще не должно работать. Поэтому для субботы и воскресенья переключатель остается выключенным.

Ну и кроме того, на этом же экране можно изменить дату и время для ПЛК в знакомом нам уже по прошлой статье окне.

Писать программу для недельного таймера будет на LD (Ladder Diagram) — языке релейно-контактной логики.

Создаем наш функциональный блок Date_Time.

FB Date_Time

В DB «Date_Time_DB» прописываем все необходимые нам теги. Так как их  довольно много, таблицу переменных я здесь приводить не буду. В конце статьи будет выложен pdf файл.

Далее пишем логику работы таймера.

Network 1 Установить время ПЛК

Network 2 Читать время ПЛК

Здесь мы задаем  установку времени ПЛК и чтение системного времени. Для тех, кто читал нашу предыдущую статью Tia Portal — Функциональные блоки, данные логические блоки уже хорошо знакомы.

Network 3

Используем инструкцию T_Comp для  для сравнения реальной даты в ПЛК  с датой включения сигнала. Если #OUT_DATE равна #Date_on, выход принимает значение TRUE.

Тоже самое и с датой выключения сигнала. Если #OUT_DATE равна #Date_off,  на выходе TRUE.

Network 5

Устанавливаем условие, по которому будет срабатывать сигнал на включение  по дате .

Network 6

Так же, как и в случае с датой, сравниваем значение реального времени ПЛК  #OUT_TIME с временем включения #Time_on. Если значение входов IN1 и IN2 совпадают, выход принимает значение TRUE. Аналогично и с временем выключения сигнала.

Network13

Network7

Устанавливаем условие, по которому будет срабатывать сигнал на включение  по времени и общий сигнал.

Переходим к программированию второго режима работы — по дням недели.

Network 8

День недели кодируется целым числом INTEGER: 2 — понедельник, 3 — вторник, 4 — среда, 5 — четверг, 6 — пятница, 7 — суббота, 1 — воскресение

Network 9-10

Network 11

Network 12

Логика работы недельного таймера для дня недели Понедельник у нас готова. По аналогии делаем такие же логические цепочки для остальных дней недели, меняя только необходимые теги. Полностью готовую программу можно посмотреть в pdf файле.

После того, как прописали все оставшиеся дни недели, делаем еще один блок, который будет выдавать либо общий сигнал на выход по дате и времени , либо по дням недели.

Network 37

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

Экран панели недельного таймера

pdf1   ФБ Date_Time — Скачать

Поделиться в соц. сетях

Опубликовать в LiveJournal
Опубликовать в Яндекс

  • nik says:

    Сигнал sGeneral как работает в данной схеме? Отключение происходит каждый час в указанный час каждого дня, а не по дате и часу.

    • admin says:

      Доброе время суток. Спасибо, что обратили внимание, да действительно там была ошибка. Сейчас исправлено. Теперь вроде и по дате и времени срабатывает ( если мы нажимаем switch «по дате и времени»)

Комментарии

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>