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

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

 

  • В чем отличие блока питания от драйвера для светодиодов: теория и практика, всё что нужно знать
  • Неисправности светодиодных лент и методы их ремонта
  • Инфракрасные системы отопления и инфракрасные обогреватели
  • Как сделать ветрогенератор своими руками
  • Почему мигают светодиодные лампы после выключения? Виноват выключатель с подсветкой!
  • Как выбрать настольную лампу для работы или учёбы
  • 10 интересных проектов для Arduino
  • Электрик  

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


    Язык программирования ПЛК 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.

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

     

    Синтаксис языка 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":

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

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

    Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

    Записывайтесь в онлайн-университет от GeekBrains:

    Факультет Интернет вещей

    Обучение Интернет вещей и современные встраиваемые системы

    Вы сможете:

    • Изучить C, механизмы отладки и программирования микроконтроллеров;

    • Получить опыт работы с реальными проектами, в команде и самостоятельно;

    • Получить удостоверение и сертификат, подтверждающие полученные знания.

    Starter box для первых экспериментов в подарок!

    После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды...

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

    Подробнее здесь: Интернет вещей и современные встраиваемые системы






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

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

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

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

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

    #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»). Хотя он еще не очень популярен, поскольку он требует предварительных знаний программирования.

    Добавление комментария
    Имя:*
    Комментарий:

    Популярные статьи:

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

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

     


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

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

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

    Источник иллюстраций: авторские рисунки и фотографии, электрика на стоковых фото