Tia Portal — язык программирования SCL. Часть1

2021-08-09 Промышленное  Один комментарий

В данной статье рассмотрим основы программирования в Tia Portal  на примере  структурированного языка управления SCL (Structured Control Language), являющегося высокоуровневым текстовым языком, основанным на языке PASCAL.

Данный язык поддерживает типовые операторы программирования, такие как присвоение (: =), математические функции (+ для сложения, — для вычитания, * для умножения,  / для деления), а также использует стандартные операторы языка PASCAL, такие как IF-THEN-ELSE, CASE, REPEAT-UNTIL, GOTO и RETURN. Другие инструкции для SCL, такие как таймеры и счетчики, соответствуют LAD и FBD инструкциям.

Начнем мы изучение SCL с простых логических операций и математических выражений и сравним их с программированием на языке LADDER.

Ниже на рис. приведен пример FB блока на LAD, состоящий из пяти Network, в которых выполняются простые логические и математические операции, в том числе один таймер. Создадим подобный блок на языке SCL.

Tia Portal. Язык программирования SCL

Создаем в программе новый функциональный блок и в раскрывающемся списке выберем SCL в качестве языка программирования.

Tia Portal SCL

Таблицу тегов будем использовать ту же самую, что и для LAD.

Начнем с самой простой задачи – логической операции AND. Значение TRUE на i1 и i2 активирует выход q1.

Для написания программы на SCL необходимо запомнить синтаксис команд — переменная всегда начинается с кавычек или #, двоеточие разделяет инструкции,  = присваивает результат. Разницы между строчными и прописными символами нет. При вводе переменных, достаточно ввести первый символ и TIA Portal автоматически  предложит выбрать переменную из раскрывающегося списка.

Комментарии в программе указываются с помощью двойной косой линии – слеша.

Напомню, что каждая строка должна заканчиваться точкой с запятой. Во второй строке оператор RETURN после косой черты указывает на конец программного блока, достаточно удалить эти косые черты и ПЛК не выполнит следующие строки программы. Это удобно при отладке программы.

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

Переходим ко второму сегменту. В данном случае, выход будет активен, если значение хотя бы одного из входов (i1 или i3) выражения в скобках будет принимать значение TRUE и нет сигнала на входе i2.

Далее из меню основных инструкций добавим таймер с задержкой выключения — TOF. Параметры таймера указываются в скобках.

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

В следующей строке напишем  простое математическое выражение «А умноженное на В равно С». Если необходимо, вместо умножения можно использовать и другие операторы – сложение, вычитание, деление, сравнения и т.д.

Наконец, еще одно выражение «A + B = C», на этот раз с использованием временных переменных в функциональном блоке. В последней строке используется  команда RETURN, то есть конец программного блока.

Наши последние несколько строк, написанных на SCL, заменили эти два сегмента программы LAD.

В принципе, это вся программа на  SCL, которая представляет собой аналогичную программу на LAD, согласно первому рисунку в статье.

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

В следующем уроке мы продолжим изучение SCL и рассмотрим работу с детекторами фронтов, счетчиками.

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

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

  • Влад says:

    Жду продолжение

Комментарии

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>