Программинг микроконтроллеров / [Из песочницы] Программирование ПЛК Siemens на Simatic Step7

в 8:49, , рубрики: plc, siemens, Simatic Manager, плк, метки: , ,

Добрый день! Полазив по Хабру, мною было обнаружено всего несколько топиков, в котором упоминалось бы словосочетание «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.
image

ПЛК включали в себя:

  • модуль центрального процессора (CPU);
  • блоки питания (PS) для питания контроллера от сети переменного или постоянного тока;
  • сигнальные модули (SM), предназначенные для ввода/вывода дискретных и аналоговых сигналов;
  • коммуникационные процессоры (CP), выполняющие автономную обработку коммуникационных задач в промышленных сетях Profibus, Industrial Ethernet и др.;
  • функциональные модули (FM), которые выполняли задачи автоматического регулирования, взвешивания, позиционирования и пр.;
  • интерфейсные модули (IM) для подключения стоек расширения к базовому блоку контроллера.

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

Вся работа ГП машины по максимуму автоматизировалась и крановщику нужно применять минимум усилий для управления оной.

Что из себя представляет Simatic Step 7?

Главной утилитой является Step 7 — Simatic Manager, которая позволяет производить конфигурацию ПЛК и сетей (утилиты HWConfig и NetPro).

image

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

image

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

Программирование ПЛК производится так же с помощью Simatic Manager, обеспечивающий написание программ в трех редакторах:

  • LAD (Ladder Diagram) — релейные диаграммы. Редактор отображает программу в графическом представлении, похожем на электрическую монтажную схему. Логические схемы позволяют программе имитировать протекание электрического тока от источника напряжения через ряд логических условий на входах, которые активизируют условия на выходах. Источником напряжения выступает шина, находящаяся слева.
    Основными элементами являются нормально замкнутые и нормально разомкнутые контакты.

    image

    Соответственно, замкнутые контакты позволяют потоку сигнала протекать через них к следующему элементу, разомкнутые контакты — препятствуют протеканию потока сигнала.
    Логика делится на сегменты, т.н. нэтворки (Network), программа исполняется слева направо и сверху вниз.
    Особенностями редактора LAD является простота в использовании и понимании для начинающих программистов.

  • FBD (Function Block Diagram) — функциональные блочные диаграммы. Этот редактор отображает программу в виде обычных логических схем. Контактов нет, но есть эквивалентные функциональные блоки. В данном редакторе не используется понятие «поток сигнала», как в LAD, его выражает аналогичное понятие потока управления через логические блоки FBD.

    image

    Потоком сигнала называется пусть состояния «1» через элементы FBD. Логика программы вытекает из связей между функциональными блоками, обозначающими команды.
    Графическое представление функционального плана хорошо отражает процесс выполнения программы.

  • STL (Statement List) — список инструкций. Данный редактор дает возможность создавать программы, вводя мнемонические обозначения команд. В этом редакторе можно создавать программы, которые невозможно создать в редакторах LAD и FBD. Программирование в LAD очень похоже на программирование на Ассемблере, несколько специфическое.

    image

    ПЛК выполняет команды в порядке, определяемом программой, сверху вниз, затем начинает сначала.
    С помощью редактора STL всегда можно посмотреть или отредактировать программы, созданные на LAD или FBD, обратное не всегда возможно.

Я работала с самого начала в STL, пробовала LAD, мне показался слишком непонятным и многие вещи таки не удавалась так просто в нем сделать, как в STL. Плюс еще в том, что при загрузке программы в ПЛК, она компилируется в STL и, соответственно, при выкачке ее из ПЛК на программатор она так же представлена в STL.

Вместо заключения

Программирование ПЛК занятие увлекательное, особенно когда это не стенд, а реальное оборудование.
Моя работа заключалась в создании программы на ПЛК для управления всей ГП машины либо отдельных ее частей, а так же загрузке программного обеспечения непосредственно в оборудование и его отладке.
Случалось разное, но работать с железом было очень интересно, хоть и не легко иногда.
А строили мы вот такие ГП машины:
image

image

image

Автор: monushka


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js