5.5 Работа с блоками
Редактор блоков позволяет создавать и тестировать блоки для процессоров SIMATIC S7-300 на языке контактных схем (LAD), функциональных блоков (FBD) и на языке операторов (STL).
С помощью этих языков программирования можно последовательно создавать и редактировать отдельные блоки. Помимо создания программы, т.е. создания и редактирования логических блоков, блоков данных, типов данных, определяемых пользователем, можно воспользоваться дополнительными функциями для программирования, тестирования и запуска программы:
- Программирование с использованием символьных имен;
- Чтение статусной информации и текущих данных процессора. Это можно сделать с помощью команды меню «Module Information» (меню Options [Параметры]);
- Просмотр и изменение режима работы процессора (меню Options [Параметры]);
- Сброс памяти процессора;
- Установка и отображение времени и даты процессора (команда CPU Settings [Установки ЦПУ] в меню Options [Параметры]);
- Наблюдение за исполнением отдельных логических блоков (тестирование программ);
- Поддержка мультиэкземплярности, т.е. экземпляр блока данных может содержать данные нескольких функциональных блоков;
- Работа с таблицей объявления переменных.
Выбрать язык программирования для создания блока можно в диалоговом окне «New block [Новый блок]». Изменить язык программирования блока можно даже, когда блок открыт (закладка Properties [Свойства]). Программа может быть написана на одном из языков, представленных в таблице 5.3. Таблица 5.3 – Языки программирования блоковЕсли блок не содержит ошибок, то для него может быть выбран язык отображения. Для отображения тех частей программы, которые не могут быть представлены на выбранном языке, используется язык операторов. 5.5.1 Языки программированияКонтактный план (LAD) – это графический язык программирования, основные элементы которого соответствуют элементам коммутационной схемы (см. рисунок 5.3). Участки коммутационной схемы такие, как замкнутые или разомкнутые контакты, объединяются в сегменты. Область кода логического блока состоит из одного или нескольких сегментов. Рисунок 5.3 – Пример сегментов на языкеLAD В языке функциональных блоков (FBD) для записи логических выражений используются графические логические символы булевой алгебры (см. рисунок 5.4). Сложные функции, например математические функции, могут быть записаны с помощью логических блоков. Рисунок 5.4 – Пример сегмента на языкеFBDЯзык операторов (STL) – это текстовый язык, схожий с машинным кодом (см. рисунок 5.5). Каждый оператор соответствует шагу, выполняемому процессором. Несколько операторов могут быть объединены в сегмент. Рисунок 5.5 – Пример сегментов на языкеSTL5.5.2 Работа с библиотеками блоков Библиотеки используются для хранения повторно используемых программных компонентов SIMATIC S7. Например, стандартные библиотеки Step 7 Lite, которые содержат системные и стандартные функции для контроллеров семейства S7-300. После вызова команды меню View [Вид] → Libraries [Библиотеки] стандартные библиотеки становятся доступны автоматически. Они находятся в правой части окна на закладке «Blocks [Блоки]». Вы можете переключаться между закладками Commands [Команды] и Blocks [Блоки]. В Step 7 Lite существуют следующие библиотеки блоков:
- Блоки функцийIEC: блоки для функций IEC, например, таких как редактирование даты и времени, редактирование строк, работа с командами сравнения, выбор максимального и минимального значений;
- Организационные блоки: стандартные организационные блоки (ОВ);
- БлокиPID-регулирования: функциональные блоки (FB) для PID-регуляторов;
- Блоки преобразованияS5-S7: блоки для преобразования программ STEP 5;
- Системные функциональные блоки: системные функции (SFC) и системные функциональные блоки (SFB);
- Блоки преобразованияTI—S7: стандартные функции, которые могут использоваться в общем случае.
5.5.3 Создание логических блоков Логические блоки (ОВ, FB, FC) состоят из таблицы объявления переменных и области кода, а также наделены свойствами. Во время программирования редактируются следующие части блока (см. рисунок 5.6):
- Таблица объявления переменных. В таблице объявления переменных определяются параметры и локальные, специфичные для данного блока переменные;
- Область кода. В области кода пишется код блока, который будет обрабатываться программируемым контроллером. Код блока состоит из одного или нескольких сегментов;
- Свойства блока. Свойства блока содержат дополнительную информацию, например, метку времени или путь, которые определяются системой. Также здесь можно определить собственные данные, например, имя автора блока, номер версии и т.д.
Рисунок 5.6 – Пример программирования логических блоков на языкеSTL При открытии логического блока появляется окно, в верхней части которого находится таблица объявления переменных, а в нижней – область кода (область операторов) (см. рисунок 5.7). Рисунок 5.7 – Пример таблицы объявления переменных и области кода на языкеSTL5.5.4 Структура таблицы объявления переменных Таблица объявления переменных содержит следующие поля: адрес переменной (Address), тип объявления (Declaration), символьное имя (Name), тип данных (Type), начальное значение (Start value) и комментарий (Comment). Каждая строка соответствует объявлению одной переменной. Описание полей таблицы объявления переменных приведено в таблице 5.4. Таблица 5.4 – Поля таблицы объявления переменных5.5.5 Структура области операторов В области операторов определяется последовательность действий для логического блока, вводятся соответствующие операторы в сегменты в зависимости от языка программирования. После того как оператор был записан, редактор блока проводит синтаксическую проверку, все ошибки выделяются курсивом и красным цветом. Как правило, область операторов логического блока состоит из сегментов, которые, в свою очередь, состоят из списка операторов. В области операторов можно редактировать имя блока, комментарии к блоку, название сегмента, комментарии к сегменту и строки операторов внутри сегментов (см. рисунок 5.8). Рисунок 5.8 – Структура области операторов на языкеSTL С помощью команды View [Вид] → Display with [Отображать с] → Comments [Комментарии] можно включать и отключать отображение серых полей комментариев.
Программирование ПЛК Siemens на Simatic Step7
Добрый день, хабровчане! Полазив по Хабру, мною было обнаружено всего несколько топиков, в котором упоминалось бы словосочетание «Simatic Step 7». Хочу поделиться с Вами небольшой частью информации, накопленной мною за все время работы с программируемыми логическими контроллерами, и показать, что из себя представляют ПЛК, оболочка и что мне приходилось на них строить.
Данный пост содержит общую ознакомительную информацию о программировании ПЛК Siemens.
Введение
Устроилась я в эту фирму еще на 5м курсе института. К слову, образование мое к программированию относится весьма косвенно и было это больше увлечением. Познания мои на тот момент ограничивались курсом Delphi и весьма базовым Ассемблером. Компания занималась (да и занимается) проектированием, строительством и обслуживанием грузоподъемных машин, таких как погрузчики, портальные, козловые, мостовые и прочие краны. К ГП машинам мое образование имело еще меньше отношения. Поэтому я решила попробовать. 🙂
Программируемые логические контроллеры Siemens
ПЛК фирмы Siemens — это промышленные контроллеры и используются для автоматизации технологических процессов. У нас, в частности, использовались для автоматизации работы грузоподъемных машин.
Simatic включает в себя несколько линеек ПЛК — Simatic S5 и Simatic S7. В свою очередь линейка Simatic S7 содержит семейства S7-200, S7-300, S7-400 и S7-1200.
Чаще всего мы использовали ПЛК семейств S7-300 и S7-400, для которых компанией Siemens было разработано собственное программное обеспечение Simatic Step 7.
- модуль центрального процессора (CPU);
- блоки питания (PS) для питания контроллера от сети переменного или постоянного тока;
- сигнальные модули (SM), предназначенные для ввода/вывода дискретных и аналоговых сигналов;
- коммуникационные процессоры (CP), выполняющие автономную обработку коммуникационных задач в промышленных сетях Profibus, Industrial Ethernet и др.;
- функциональные модули (FM), которые выполняли задачи автоматического регулирования, взвешивания, позиционирования и пр.;
- интерфейсные модули (IM) для подключения стоек расширения к базовому блоку контроллера.
Кроме этого, к ПЛК через сеть Profibus подключалось большое количество ведомых устройств, таких как частотные преобразователи, приводы, абсолютные/инкрементные энкодеры и пр.
Вся работа ГП машины по максимуму автоматизировалась и крановщику нужно применять минимум усилий для управления оной.
Что из себя представляет Simatic Step 7?
Главной утилитой является Step 7 — Simatic Manager, которая позволяет производить конфигурацию ПЛК и сетей (утилиты HWConfig и NetPro).
В процессе конфигурации определяется состав оборудования, способы подключения, используемые сети, адреса, выбираются настройки для используемых модулей. Готовая конфигурация загружается в ПЛК, что так же является настройкой оборудования.
Утилиты конфигурации позволяют осуществлять диагностику оборудования, обнаруживать аппаратные ошибки или неправильный монтаж.
- LAD (Ladder Diagram) — релейные диаграммы. Редактор отображает программу в графическом представлении, похожем на электрическую монтажную схему. Логические схемы позволяют программе имитировать протекание электрического тока от источника напряжения через ряд логических условий на входах, которые активизируют условия на выходах. Источником напряжения выступает шина, находящаяся слева.
Основными элементами являются нормально замкнутые и нормально разомкнутые контакты.
Я работала с самого начала в STL, пробовала LAD, мне показался слишком непонятным и многие вещи таки не удавалась так просто в нем сделать, как в STL. Плюс еще в том, что при загрузке программы в ПЛК, она компилируется в STL и, соответственно, при выкачке ее из ПЛК на программатор она так же представлена в STL.
Вместо заключения
Программирование ПЛК занятие увлекательное, особенно когда это не стенд, а реальное оборудование.
Моя работа заключалась в создании программы на ПЛК для управления всей ГП машины либо отдельных ее частей, а так же загрузке программного обеспечения непосредственно в оборудование и его отладке.
Случалось разное, но работать с железом было очень интересно, хоть и не легко иногда.
А строили мы вот такие ГП машины: