Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 


Схемы подключения | Принципиальные схемы | Электроснабжение
Розетки и выключатели | Автоматы защиты | Кабель и провод | Монтаж электропроводки Ремонт электротехники | Молодому электрику

Электрик Инфо » Программируемые логические контроллеры » Язык программирования ПЛК Structured Text (ST) и его применение
Количество просмотров: 43807
Комментарии к статье: 7


Язык программирования ПЛК Structured Text (ST) и его применение


Большинство современных программируемых логических контроллеров (ПЛК) больше не ограничиваются одним языком программирования.

В настоящее время к наиболее распространенным языкам программирования ПЛК относятся: LD (лестничные диаграммы), FBD (функциональные блоковые диаграммы), СFC (непрерывные функциональные схемы, как вариант языка FBD), SFC (последовательные блок-схемы) и ST (структурированный текст). 

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

ПЛК в шкафу управления

У вас возникли проблемы с чтением и анализом вашей большой программы на языке релейных диаграмм (LD)? Вы предпочитаете печатать на клавиатуре и тем самым воплощать свои творческие идеи программирования в программный код? В таком случае ST - идеальное решение для вас!

Начиная обучение программирования контроллеров чаще всего выбирают первым языком программирования язык релейных диаграмм (LD). Это относительно просто, особенно для тех, кто имеет опыт работы с различным электрооборудованием и схемами на электромагнитных реле и пускателях.

К сожалению, по мере роста приложения ваша программа может стать нечитаемой для других людей. Чтобы это исправить пригодится удобная для анализа структура языка ST (структурированный текст).

Что такое язык ST?

ST (Structured Text) - это язык программирования, определенный в третьем международном стандарте МЭК 61131-3 (IEC 61131-3), который описывает графические и текстовые языки программирования для ПЛК.

В отличие от графических языков программирования, язык ST основан на тексте. В результате он занимает гораздо меньше места, чем графический язык программирования, является самым гибким из всех языков, а логику программы, написанной на ST легче декодировать и понимать.

Сейчас чаще всего функциональные блоки пишутся на языке ST, а основная программа - на графическом языке, например на языке функциональных блоковых диаграмм FBD.

На мой взгляд, ST - один из важнейших языков программирования для программируемых логических контроллеров! Мой опыт показывает, что программа, которую я написал ранее на графических языках, заняла у меня вдвое больше времени, чем написание той же программы на ST.

Язык программирования ПЛК Structured Text (ST) и его применение

Фрагмент программы на языке ST:

Фрагмент программы на языке ST

Преимущества языка ST:

  • простота синтаксиса;

  • большая гибкость;

  • более простой анализ программы;

  • возможность более быстрого программирования.

Если у вас был опыт работы с языками высокого уровня, такими как Pascal или C, вы можете заметить сходство между ними и ST.

Синтаксис ST очень похож на синтаксис языка высокого уровня и включает переменные, условные операторы, циклы. Даже если у вас не было возможности программировать на языках высокого уровня, ST может стать отличным введением в изучение их синтаксиса. Я особенно рекомендую его людям, которые хотят быстро понять принцип обработки программ контроллером ПЛК.

Программа на ST анализируется с первой строки кода. Анализ кода выполняется построчно. Вся операция происходит циклически. В конце последней строки цикл контроллера перезапустится, и программа будет продолжать работать, пока контроллер находится в режиме RUN (выполнение программы ПЛК). То же самое верно для LD, FBD и любого другого языка программирования стандарта МЭК 61131-3.

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

Structured Text // Определение переднего (R_TRIG) и заднего (F_TRIG) фронта сигнала в Codesys:

 

Синтаксис языка ST

Синтаксис языка программирования - это набор правил, определяющих его структуру. В языке ST много двоеточий, точек с запятой и других символов. Каждый символ имеет свое значение. Некоторые из них являются операторами, другие - функциями или переменными.

Международный стандарт МЭК 61131-3, в котором описаны графические и текстовые языки программирования для ПЛК, также стандартизирует типы данных на две категории: элементарные типы данных и производные типы данных.

Элементарные типы данных:

Стандартные типы данных в CodeSys

В языке ST есть несколько основных синтаксических правил. Не обязательно всех запоминать, но запомните самое главное: объявления переменных заканчиваются точкой с запятой, можно использовать прописные и строчные буквы (компилятор не понимает разницу), пробелы между последовательными командами не имеют значения, они используются для улучшения читаемости кода.

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

Основные языковые команды: инструкция присваивания, например a: = b и инструкции. В текстовой форме этот язык включает стандартные функции и функциональные блоки, определенные в стандарте.

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

Важно! Если компилятор видит точку с запятой, то это означает для него конец выражения. Компилятор всегда читает все, пока не встретит точку с запятой, а затем выполняет выражение.

Пример программы управления светофором на языке ST:

 

Пример программы управления светофором на языке ST:

Видеоурок по составлению программы для светофора на ST:

 

Обучение ST

Рекомендую изучать язык ST продвинутым и новичкам!

Лучшая книга по ST на русском языке - Сергей Романов "Изучаем Structured Text МЭК 61131-3"

Сергей Романов – достаточно известная и медийная личность в мире промышленной автоматики. Его книга покрывает практически все аспекты языка ST и включает как доступную информацию из справочных материалов и стандартов, так и множество дополнений из других источников.

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

Электронная + печатная копия

Только электронная копия

Книга состоит из двух разделов.

Первый – справочный, в нем рассмотрены основные возможности языка ST, приведено описание типов данных, синтаксиса, операторов, условий и циклов. В отличие от материалов, которые можно найти в среде разработки, дано очень подробное описание элементов языка, в книге много примеров, приближенных к реальности, и готовых решений.

Второй раздел, получивший название «Рецепты», посвящен решению определенных задач и применению на практике всех знаний, которые можно почерпнуть из первого раздела. Например, в нем содержатся статьи об обработке аналоговых и дискретных сигналов (как входных, так и выходных), ошибках процессов, о запуске двигателя и др.

Это самая полная информация по языку ST когда либо изданная. 3 года работы, 320 страниц уникального материала собранного автором буквально по крупицам.

Обзор книги:

Оглавление:

Содержание книги

Купить книгу "Изучаем Structured Text МЭК 61131-3":

Электронная + печатная копия

Только электронная копия

Популярные публикации:

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

Подпишитесь на наш канал в Телеграм "Автоматика и робототехника" (современные технологиии, инновации и будущее автоматизации). Нажмите на ссылку ниже и будьте в центре событий в мире автоматики: Автоматика и робототехника 



Поделитесь этой статьей с друзьями:


Другие статьи с сайта Электрик Инфо:

  • Язык функциональных блоковых диаграмм (FBD) и его применение
  • Язык релейных диаграмм LD (Ladder diagram) и его применение
  • Анимированная визуализация технологических процессов в CodeSys
  • Схемы пуска электродвигателя на языке лестничных диаграмм LD для ПЛК
  • Примеры простых программ для ПЛК в CodeSys на языке релейных диаграмм
  • Языки программирования ПЛК и программная платформа автоматизации CoDeSys
  • Использование ОВЕН ПЛК в системах автоматического управления освещением
  • Как Factory I/O можно использовать для изучения программирования контроллер ...
  • Видеокурс по работе с контроллером ОВЕН ПЛК110 в среде CODESYS2.3
  • Программирование микроконтроллеров для начинающих
  • Категория: Программируемые логические контроллеры

    ПЛК, Промышленная автоматизация

      Комментарии:

    #1 написал: Александр | [цитировать]

    ST - это очень мощный язык программирования более высокого уровня, уходящий корнями в хорошо известные языки Ada, Pascal и C.Он содержит все основные элементы современного языка программирования, включая ветвление (IF-THEN-ELSE и CASE OF) и итерационные циклы (FOR, WHILE и REPEAT). Этот язык - отличный инструмент для определения сложных функциональных блоков, которые затем можно использовать в любом другом языке программирования. Использование языка ST идеально подходит для работы с данными, строками, базами данных и для программирования сложных вычислительных алгоритмов. Он подходит для обработки сложных аналоговых сигналов, таких как реализация цифровых фильтров, линеаризация сигнала и сложные алгоритмы управления.

      Комментарии:

    #2 написал: Валерий Барабанов | [цитировать]

    Язык ST очень сильно напоминает Basic и Pascal и его обычно легче понять как новичкам, так и опытным программистам, потому что операторы If-Then-Else, While и Repeat ясно показывают, как работает программа и почему возникают определенные функции. На ST написан код всех стандартных функциональных блоков для графических языков программирования ПЛК. И еще язык ST используется в программах на языке SFC - это графический язык программирования ПЛК, который позволяет кодировать в хронологическом порядке. Конкретный код - это последовательность действий, которые являются отдельными объектами программирования. Выполняются только активная часть кода, затем идет переход к следующему этапу. Внутри отдельных блоков на SFC код обычно пишут на ST

      Комментарии:

    #3 написал: Алекс Йоханссон | [цитировать]

    Этот язык является наиболее подходящим способом программирования, когда мы хотим выполнить циклы (например, «if», «while», «for», «case»). Хотя он еще не очень популярен, поскольку он требует предварительных знаний программирования.

      Комментарии:

    #4 написал: Павел | [цитировать]

    Очень хоршая книга по ST для ПЛК. Долго ждал, когда появится что-то похожее на русском языке. Спасибо!

      Комментарии:

    #5 написал: Сергей Сергеевич | [цитировать]

    ST - это язык программирования более высокого уровня, похожий на Паскаль или Си. Обозначение состоит из последовательности символических инструкций. Тогда одна инструкция представляет собой всю последовательность основных инструкций. Этот язык программирования идеален для работы с данными, строками и базами данных, а также для программирования сложных вычислительных алгоритмов. Таким образом, он очень хорошо подходит для обработки аналоговых сигналов. Напротив, это становится запутанным с большим количеством цифровых сигналов с входов и выходов. Также требуется знание команд и точный синтаксис написания.

      Комментарии:

    #6 написал: Павел Голубев | [цитировать]

    Хорошая книга по  языку ST. Мне понравилась. На русском языке больше ничего более полезного нет. Всем рекомендую!

      Комментарии:

    #7 написал: Павел | [цитировать]

    Шикарная книга. Я долго такую искал.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Введите код: *

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Электрик Инфо на Яндекс Дзен

     

    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки
    Андрей Повный - все статьи автора



    Copyright © 2009-2024 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.