Язык программирования ПЛК 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 и включает как доступную информацию из справочных материалов и стандартов, так и множество дополнений из других источников.

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

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

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

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

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

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

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

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

Обзор книги:

Оглавление:

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

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

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

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

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

EnglishRussianUkrainian