Большинство современных программируемых логических контроллеров ( ПЛК ) больше не ограничиваются одним языком программирования.
В настоящее время к наиболее распространенным языкам программирования ПЛК относятся: 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.
Фрагмент программы на языке ST :
Преимущества языка ST:
простота синтаксиса;
большая гибкость;
более простой анализ программы;
возможность более быстрого программирования.
Если у вас был опыт работы с языками высокого уровня, такими как Pascal или C, вы можете заметить сходство между ними и ST.
Синтаксис ST очень похож на синтаксис языка высокого уровня и включает переменные, условные операторы, циклы. Даже если у вас не было возможности программировать на языках высокого уровня, ST может стать отличным введением в изучение их синтаксиса. Я особенно рекомендую его людям, которые хотят быстро понять принцип обработки программ контроллером ПЛК.
Программа на ST анализируется с первой строки кода. Анализ кода выполняется построчно. Вся операция происходит циклически. В конце последней строки цикл контроллера перезапустится, и программа будет продолжать работать, пока контроллер находится в режиме RUN (выполнение программы ПЛК). То же самое верно для LD , FBD и любого другого языка программирования стандарта МЭК 61131-3.
Если вы раньше программировали другие микропроцессорные системы, вы знаете, что для выполнения цикла выполнения программы необходимо реализовать бесконечный цикл. При программировании ПЛК вам не нужно беспокоиться о реализации бесконечного цикла для выполнения программы. ПЛК сделает за вас это автоматически.
Structured Text // Определение переднего (R_TRIG) и заднего (F_TRIG) фронта сигнала в Codesys:
Синтаксис языка ST
Синтаксис языка программирования — это набор правил, определяющих его структуру. В языке ST много двоеточий, точек с запятой и других символов. Каждый символ имеет свое значение. Некоторые из них являются операторами, другие — функциями или переменными.
Международный стандарт МЭК 61131-3 , в котором описаны графические и текстовые языки программирования для ПЛК, также стандартизирует типы данных на две категории: элементарные типы данных и производные типы данных.
Элементарные типы данных:
В языке ST есть несколько основных синтаксических правил. Не обязательно всех запоминать, но запомните самое главное: объявления переменных заканчиваются точкой с запятой, можно использовать прописные и строчные буквы (компилятор не понимает разницу), пробелы между последовательными командами не имеют значения, они используются для улучшения читаемости кода .
Основные элементы языка ST — это выражения и команды. Выражения предоставляют значения, соответствующие указанному типу данных. Они состоят из операторов и операндов. Операнд может быть переменной, константой, функцией или другим выражением.
Основные языковые команды: инструкция присваивания, например a: = b и инструкции. В текстовой форме этот язык включает стандартные функции и функциональные блоки, определенные в стандарте.
Все среды разработки программ для ПЛК оснащены компилятор ами , которы е перевод ят ваш программный код в машинный код. Компилятор анализирует данный язык программирования. Если синтаксис неверен, компилятор сообщит об ошибках.
Важн о ! Если компилятор видит точку с запятой, то это означает для него конец выражения. Компилятор всегда читает все, пока не встретит точку с запятой, а затем выполняет выражение.
Пример программы управления светофором на языке ST:
Видеоурок по составлению программы для светофора на ST:
Обучение ST
Рекомендую изучать язык ST продвинутым и новичкам !
Лучшая книга по ST на русском языке — Сергей Романов «Изучаем Structured Text МЭК 61131-3»
Сергей Романов – достаточно известная и медийная личность в мире промышленной автоматики. Его книга покрывает практически все аспекты языка ST и включает как доступную информацию из справочных материалов и стандартов, так и множество дополнений из других источников.
Книга написана достаточно простым языком, который будет понятен даже читателям без профессионального образования в сфере программирования. Оформление книги тоже способствует удобному восприятию информации.
Книга состоит из двух разделов.
Первый – справочный, в нем рассмотрены основные возможности языка ST, приведено описание типов данных, синтаксиса, операторов, условий и циклов. В отличие от материалов, которые можно найти в среде разработки, дано очень подробное описание элементов языка, в книге много примеров, приближенных к реальности, и готовых решений.
Второй раздел, получивший название «Рецепты», посвящен решению определенных задач и применению на практике всех знаний, которые можно почерпнуть из первого раздела. Например, в нем содержатся статьи об обработке аналоговых и дискретных сигналов (как входных, так и выходных), ошибках процессов, о запуске двигателя и др.
Это самая полная информация по языку ST когда либо изданная. 3 года работы, 320 страниц уникального материала собранного автором буквально по крупицам.
Обзор книги:
Оглавление:
Купить книгу «Изучаем Structured Text МЭК 61131-3»:
Информация, опубликованная на данном веб-сайте, представлена исключительно в ознакомительных целях, за применение этой информации администрация сайта ответственности не несет.
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…