Программирование дискретной задвижки в TIA Portal

Уроки TIA Portal, STEP7 и HMI

 



Содержание уроков


Урок 6
Программирование дискретной задвижки в TIA Portal (продолжение уроков 4-5)

Задание

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

Решение

  1. Создаём функциональный блок "Задвижка" на языке LAD:

    Рис. Создание функционального блока

  2. Декларируем переменные функционального блока:

    Рис. Декларация переменных

    В список входных переменных кроме физических сигналов (Готовность, Открыто, Закрыто) входят команды от других программных блоков: "Команда Авто", "Команда Открыть", "Команда Закрыть".
    Весь HMI объявлен как один вход-выход с типом данных "Damper HMI", физические выходы "Открыть" и "Закрыть" записаны как входы-выходы.

  3. Программа состоит из 17 логических цепочек:

    Рис. Логические цепочки


  4. В первой логической цепочке программируем реакцию на нажатие кнопки "Закрыть фейсплату":

    Рис. Цепочка 1


  5. Во второй логической цепочке программируем реакцию на сигнал "Готовность":

    Рис. Цепочка 2


  6. В третьей логической цепочке программируем условие перехода в автоматический режим:

    Рис. Цепочка 3


  7. В четвёртой логической цепочке программируем импульс перехода в автоматический режим:

    Рис. Цепочка 4


  8. В пятой логической цепочке программируем условие перехода в ручной режим:

    Рис. Цепочка 5


  9. В цепочках 6 и 7 программируем импульсы перехода в ручной и местный режимы:

    Рис. Цепочки 6 и 7


  10. В цепочке 8 программируем условие Аварии концевых выключателей:

    Рис. Цепочка 8


  11. В цепочке 9 программируем условие открытия задвижки:

    Рис. Цепочка 9


  12. В цепочках 10-11 программируем статусы задвижки "Открывается" и "Открыто":

    Рис. Цепочки 10-11


  13. Цепочки 12-13 программируем зеркально цепочкам 9-11

  14. В цепочках 15-16 программируем контроль времени хода задвижки:

    Рис. Цепочки 15-16

    Функция DINT_TIME преобразует уставку времени, введённую через фейсплату в формат времени для IEC-таймера:

    Рис. Функция dint_time


  15. В цепочке 17 на языке STL программируем сброс битов, установленных программными кнопками:

    Рис. Цепочка 17


  16. Создаём функциональный блок – симулятор задвижки:

    Рис. Симулятор задвижки


  17. Создаём блок OB1 из двух логических цепочек:

    Рис. OB1

    Рис. OB1



  18. Запускаем симулятор для новых контроллеров, выбираем S7-1500 и нажимаем кнопку Power:

    Рис. PLC Simulator


  19. Загружаем в симулятор контроллера программу ПЛК:

    Рис. Download to PLC


  20. Запускаем симулятор панели оператора:

    Рис. Start HMI simulation


  21. Управляем задвижкой:

    Рис. HMI Runtime

Домашнее задание

Добавьте ещё три программных входа:

Вход Описание
1 Trip При поступлении сигнала FALSE на этот вход, задвижка переходит в безопасное состояние
2 Safety Выбор безопасного состояния задвижки:
1 – Открыто
0 - Закрыто
3 Ремонт При поступлении сигнала TRUE на этот вход, задвижка переходит в режим "Ремонт", в котором она не реагирует на входы