Simatic s7 1200 программа для программирования
Добрый день, хабровчане! Полазив по Хабру, мною было обнаружено всего несколько топиков, в котором упоминалось бы словосочетание «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.
Вместо заключения
Программирование ПЛК занятие увлекательное, особенно когда это не стенд, а реальное оборудование.
Моя работа заключалась в создании программы на ПЛК для управления всей ГП машины либо отдельных ее частей, а так же загрузке программного обеспечения непосредственно в оборудование и его отладке.
Случалось разное, но работать с железом было очень интересно, хоть и не легко иногда.
А строили мы вот такие ГП машины:
STEP 7 Basic является программным продуктом единой среды разработки, позволяющей:
- использовать однородную среду разработки для решения любых задач автоматического управления;
- обеспечивать поддержку всех фаз жизненного цикла систем автоматизации;
- использовать единый набор сервисных служб для поддержки единой концепции оперативного управления и мониторинга, конфигурирования аппаратуры, организации промышленной связи, диагностики и т.д.
STEP 7 Basic содержит широкий спектр инструментальных средств для работы с программируемыми контроллерами SIMATIC S7-1200 и базовыми панелями операторов SIMATIC.
Он позволяет выполнять:
- конфигурирование и настройку параметров аппаратуры;
- конфигурирование систем промышленной связи;
- программирование контроллеров на языках LAD (Ladder Diagram), FBD (Function Block Diagram) и SCL (Structured Control Language);
- конфигурирование базовых панелей операторов SIMATIC;
- тестирование, выполнение пуско-наладочных работ и обслуживание готовой системы.
Пакет обеспечивает оптимальное взаимодействие систем проектирования контроллера и человеко-машинного интерфейса на основе:
- полного слияния в одной программной среде инструментальных средств программирования контроллера и конфигурирования аппаратуры человеко-машинного интерфейса;
- общего управления всеми данными проекта;
- использования встроенной среды WinCC Basic для разработки приложений человеко-машинного интерфейса на основе базовых панелей операторов SIMATIC.
К основным достоинствам пакета можно отнести:
- Поддержку всеобъемлющей концепции использования библиотек для многократного использования любых компонентов проекта.
- Поддержку интеллектуальных механизмов Drag & Drop для передачи данных между различными редакторами для программируемых контроллеров и приборов человеко-машинного интерфейса.
- Наличие единой базы данных проекта с однородным набором символьных имен.
- Быстрый доступ к любым задачам автоматизации, включая интерактивную работу с системой автоматизации и ее диагностики.
- Простое графическое конфигурирование аппаратуры и сетевых структур в среде одного редактора.
- Наличие простого и интуитивно понятного интерфейса пользователя для обеспечения доступа к различным вариантам отображения информации и редакторам.
- Наличие высокоэффективного редактора для разработки программ контроллеров.
Документация:
Комплектующие Siemens в г. Ростов-на-Дону в наличии и под заказ
Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не написать заодно заметку, постаравшись приблизить решение задачи к боевым условиям.
Собственно говоря, сами немцы эту тему давно осветили:
Смотрите этот пример, он сделан очень толково, с визуализацией, диалогами и квестами и возможностью расширить прикладную программу до опроса множества ПЧ V20 по нескольким интерфейсам (S7-1200 позволяет установить в свою корзину до 4 портов RS-485/422). Пример сделан очень хорошо и очень педантично. Вопросов коммуникаций по протоколу Modbus TCP я уже касался ранее, они есть на Хабре.
Поэтому некоторые нюансы я повторно объяснять не буду, просто сразу напишу, как стоит делать правильно и удобно с моей точки зрения конкретно в случае опроса V20. Первоначальная настройка преобразователя частоты описана в документации, в том числе и в сопутствующей документации к вышеуказанному примеру. Вынесем лишь важные для нас пункты в качестве вводных.
Адрес подчиненного устройства модбас в сети: 1
Регистры хранения подчиненного устройства для чтения:
40110 ZSW «Слово состояния»
40111 HIW «Текущая скорость»
Регистры хранения для записи:
40100 STW «Слово управления»
40101 HSW «Задание скорости»
Параметр частотника «Telegram off time (ms)» P2014[0] рекомендую оставить по умолчанию, равным в 2000 мс (2 секунды), хоть пример и рекомендует снизить эту величину до 130 мс. Конкретно к протоколу Modbus это замечание не относится, разумеется, просто у меня при таймауте в 130 мс, ПЧ терял связь и выдавал ошибку Fault 72.
С частотником разобрались. Теперь о моей конфигурации ПЛК. Это S7-1214 с коммуникационным модулем 1241 под RS-485/422:
Среда программирования Step 7 V15.1 Update 4, версия прошивки CPU — 4.3.
Итак, приступим. Для опроса подчиненных устройств с контроллера Simatic нам необходимо применить два функциональных блока: Modbus_Comm_Load (единовременно, только для конфигурации коммуникационного процессора) и Modbus_Master (циклически для чтения и/или записи регистров/катушек). Поэтому в программе экземпляр FB Modbus_Comm_Load у нас будет встречаться только один раз, а экземпляр Modbus_Master — несколько раз, но с разными входными параметрами, в зависимости от адреса подчиненного устройства, типа читаемых данных и их количества, а так же направления передачи данных (чтение или запись). Обращаю ваше внимание, что для одного коммуникационного процессора (а их в системе может быть очень много) у вас не может быть больше одного экземпляра каждого блока данных.
С моей точки зрения весь обмен удобнее завернуть в один внешний функциональный блок, а сам блок, с учетом необходимости разбирать данные, реализовать на текстовом языке SCL. Поэтому создаем в проекте функциональный блок с именем ModbusMasterV20 на языке SCL. Сразу после создания открываем его свойства и снимаем настройку «оптимизированный доступ», т.е. используем стандартный доступ. Личный опыт показал, что использование оптимизированного доступа рано или поздно приведет к ошибкам работы блока Modbus_Master и невозможности обмена. Это связано с порядком, в котором переменные идут в объявленной структуре данных, при стандартном доступе порядок соответствует заданному в программе, при оптимизированном — система сама «раскидывает» переменные, как сочтет нужным.
Объявляем следующие входные переменные
Init (Bool) — инициализация коммуникационного процессора, ее необходимо выполнить один раз перед началом обмена
PORT (PORT) — аппаратный идентификатор коммуникационного процессора
BAUD (UDINT) — скорость обмена по порту
STOP_BITS (USINT) — количество стоповых бит «кадра»
PARITY (USINT) — четность, где 0 — нет четности, 1 — odd, нечет, 2 — even, чет
В статической области переменных так же прописываем переменную с именем Step и типом UInt, она отвечает за «номер опроса» или «шаг работы алгоритма»
Так же в статической области объявляем экземпляры ФБ для работы по протоколу Modbus RTU
Строки программы, отвечающие за инициализацию обмена.
По флагу инициализации выставляем номер шага 1. Следующие строчки очень важны для работы
Тут мы задаем значения статических переменных экземпляра ФБ Modbus_Comm_Load, которые отвечают за «физику» передачи. Не понимаю, почему немцы поместили эти важные конфигурационные параметры в статическую область, а не в область входов. Дело в том, что они (переменные) все описаны во встроенной справке. Беда лишь в том, что большинство ленивых жоп новичков до этого пункта справку не читает, а потом тратят несколько часов, а то и дней, пока не найдут ответ. А справка-то, вот она:
Переменная MODE отвечает за режим, в котором будет работать коммуникационный процессор. Как видно из справки, для RS-485 надо явно выставить 4. Значение по умолчанию 0, от этого большинство ошибок у программистов.
STOP_BITS — количество стоповых бит.
Далее следует вызов блока настройки коммуникационного интерфейса Modbus_Comm_Load. Про параметр PORT (аппаратный идентификатор) будет рассказано чуть ниже. Параметры BAUD и PARITY — скорость и четность — приходят на вход «внешнего» блока данных, куда мы и завернули весь обмен. А вот параметр MB_DB интересен. На этот вход надо подать структуру типа P2P_MB_BASE, которая находится в области статических переменных экземпляра функционального блока Modbus_Master. Этот экземпляр в нашем «большом» функциональном блоке уже объявлен, привожу скриншот:
Следующая часть: функциональный блок приступает к циклическому обмену.
Я сразу «заворачиваю» обмен в CASE, чтобы не переписывать код в дальнейшем, но пока мы ограничимся чтением слова состояния и скорости ПЧ, т.е. прочитаем два регистра хранения.
Давайте посмотрим на вызов блока Modbus Master повнимательнее:
MB_ADDR — адрес подчиненного устройства Modbus RTU. В моем случае адрес частотника = 1.
MODE — направление передачи данных, 0 — чтение, 1 — запись
DATA_ADDR — адрес интересуемых нас данных. В моем случае необходимо прочитать два регистра хранения (поэтому первая цифра 4), начиная со 110го. В протоколе Modbus (что RTU, что TCP) очень часто возникает путаница в понятиях «адрес» и «номер». И очень часто производитель оборудования эту путаницу добавляет в свою систему. Вот смотрите. Мы должны прочитать 2 регистра, начиная с адреса 40110. Для чтения регистров хранения в протоколе Modbus используется функция с номером 3. Именно 3 будет передаваться в телеграмме Modbus. А в качестве адреса в телеграмме будет передаваться не 40110, а 109. Связано это с тем, что код функции уже содержит описание области данных. А в самой телеграмме мы передаем не адрес, а номер требуемого регистра или катушки. И эта нумерация идет не с единицы, а с нуля. Сейчас я работаю именно с адресами и режимом (чтении или запись), поэтому мне достаточно указать то, что я нашел в документации. Если же в вашем устройстве будет указано «входной регистр номер 0 содержит текущий статус устройства», то вам на вход DATA_ADDR необходимо будет подать 30001. Так же имейте в виду, что из-за частой путаницы с номерами и адресами, иногда эта адресация съезжает на «единицу», поэтому не бойтесь экспериментировать. Если вместо полезных данных по запросу 16ого регистра вам прилетает полная чехарда, не имеющая ничего общего с документацией, прочитайте 15ый регистр. Не помогло? Опрашивайте 17ый. Более подробно с материалом необходимо ознакомиться опять же во встроенной справке.
DATA_LEN — количество читаемых регистров, их 2
DATA_PTR — указатель на область памяти, куда необходимо «положить» результат чтения регистров. Собственно, это те данные, которые мы прочитали и необходимо подсказать функциональному блоку, куда эти данные надо записать. С моей точки зрения самый удобный способ в этом случае — это объявить в области STAT неименованную структуру должного размера. Поля структуры мы объявляем, в зависимости от самих читаемых данных, ведь это могут быть и наборы бит, и вещественные числа (расположенные в двух соседних регистрах). И нам еще повезет, если порядок байт в слове и слов в двойных словах контроллера и подчиненного устройства совпадут, иначе нам еще потребуется осуществить сдвиги байт/слов.
В данном случае я счел уместным объявить структуру из двух слов и скормить ее на вход FB:
ZSW — слово состояния (так оно называется в документации на ПЧ)
HIW — скорость вращения двигателя
После вызова блока мастера, необходимо проанализировать успех или неуспех его выполнения. В принципе, на этом скриншоте в комментариях уже все написано:
В случае успешного чтения необходимо полученные сырые данные как-то разобрать или переложить в другую область, и перейти к следующему опросу (у нас пока только один опрос, так что мы остаемся на шаге №1). При ошибке чтения данных минимальный разумный ход — выставить где-нибудь флаг недостоверности и перейти к другому опросу.
Пока оставляем прием данных без обработки, компилируем и грузим программу, смотрим на результат. Кстати, обращаю еще внимание на один факт. Поскольку мы работаем, завернув системные вызовы в свой функциональный блок, то любое изменение «своего» ФБ с последующей загрузкой ПЛК, будет нарушать обмен в связи с переинициализацией экземпляра нашего ФБ. Например, будет уходить в ноль значение «шага обмена». Да и внутренние статические переменные коммуникационных вызовов тоже пострадают. Самый простой способ — стоп и старт контроллера. В боевом проекте это опасно, поэтому там на вход Init я бы подал еще одну переменную и поднимал ее самостоятельно после изменений в коммуникациях. Пока же боремся с остановом обмена простым стоп-стартом ПЛК.
Добавляем вызов нашего функционального блока в OB1 и грузим CPU:
Переменная FirstScan имеет значение «истина» при первом цикле выполнения программы OB. Она назначается операционной системой ПЛК автоматически, ее применение настраивается в свойствах CPU.
Port. Это значение смотрим в проекте Step 7, аппаратная конфигурация:
Остальные параметры касаются скорости, четности и количества стоповых бит. Загружаем контроллер и смотрим, что нам приходит в ответ на единственный циклический запрос, открыв экземпляр нашего ФБ:
В слове состояния что-то есть, скорость равна нулю. Открываем документацию и смотрим состав слова состояния ZSW:
Low enabled в примечаниях означает инверсию. К примеру, бит №15, перегрузка частотника, возникает, когда этот бит равен 0, а в нормальном состоянии приходит значение 1. Посмотрим на это слово состояния в watch table и посмотрим, какие его биты выставлены, а какие — нет, оценим общее состояние ПЧ:
Тут нам везет, порядок байт в словах совпадают. Если вкратце, то видно, что ПЧ не готов, не включен, и сейчас активен сигнал аварии (fault, бит №3).
Далее я попытался разложить слово состояния в биты состояния, заменив WORD на структуру из бит, но что-то явно пошло не так.
Если посмотреть внимательно, то в таком представлении нулевой и первый байты явно не на своих местах. В общем, вопрос порядка следования информации в зависимости от того или иного представления — он всегда важный и требует вдумчивости. Получил на этом этапе облом, я решаю вернуться к хранению внутри нашего ФБ только сырых данных, а удобочитаемый для человека формат представления информации перенести куда-нибудь во внешний глобальный блок. Добавляю в проект блок данных DataV20:
После чего задумываюсь, убираю из имен переменных окончание Inv и дописываю функциональный блок:
Теперь в глобальном блоке данных у нас находятся статусные биты преобразователя частоты без какой-либо инверсии:
Думаю, что сразу в блок данных надо вписать переменную типа Real, которая будет содержать текущие обороты двигателя. Текущие обороты приходят от ПЧ в виде определенного численного кода, и мы вольны трактовать этот код, как нам удобнее. Допустим, что хочу трактовать этот код, как Герцы, поданные на двигатель.
Пока не будем пересчитывать коды в физические величины и перейдем к следующему шагу — к записи слова управления и задания частоты. Вернемся к обработке текущей скорости чуть позже.
Обратимся к документации и посмотрим состав слова управления частотным преобразователем:
Знаете, мне, откровенно говоря, лень писать все эти переменные в глобальном интерфейсном блоке данных. В моей практике управление простыми технологическими процессами с применением преобразователей частоты ограничивалось командами включить, квитировать аварию и дать задание скорости. Поэтому, пойдем на поводу моей лени и в блоке данных V20Data пропишем всего лишь бит включить, бит квитировать и задание частоты в формате Real.
Изменю алгоритм на шаге №1, при успешном или неуспешном завершении опроса сделаю переход на шаг №2.
Добавим еще локальную структуру ФБ, которая содержит слово управления и слово задания скорости:
Дорабатываю программу обмена. Не забываем, что при изменении переменных функционального блока, после загрузки изменений в ПЛК происходит его переинициализация, посему надо выполнять стоп/старт CPU.
Параметры функционального блока модбас в данном случае отличаются от первого вызова. Разумеется, у нас тут другой адрес регистра. А так же отличается режим (MODE), он равен 1, так как в данном случае данные не читаются с частотника, а записываются в него. Разумеется, указатель на область данных так же другой.
Обратите внимание, что некоторые биты слова управления я принудительно выставляю в истину, другие — в ложь. Всего два бита управления (включить и квитировать) доступны для внешней программы. Необходимое значение бит управления я вычитал в документации примера. Разумеется, это указано и в документации на сам преобразователь частоты. Изучая исходный пример, я обратил внимание, что если частотнику отдавать «пустое» (все биты выставлены в ноль) слово управления, то это подчиненное устройство модбас возвращает ошибку Invalid data. Однако, в этом примере я пробовал слать полностью «пустое» слово управления, и V20 принимал его. Однако, некоторые биты управления, все равно, должны быть установлены. К примеру, если снять бит «Control by PLC», то запускаться ПЧ не будет. RTFM, как говорится!
Теперь пора перейти к регистру, который отвечает за задание скорости (ну и сразу же к регистру, который отображает текущую скорость). Из исходного примера я понял, что этот регистр меняет свое значение в пределах от 0 до 16384. Это же мельком нашел и в документации. Пока не будем делать никаких переводов величин, и зададим ПЧ максимальную скорость жестко прямо в программном коде.
Откроем наш блок данных DataV20 и выставим команду «пуск»:
V20 запустился и работает, судя по индикации своего экранчика, на максимальной скорости, т.е. на 50 Гц. Давайте посмотрим еще сырые данные его скорости, которые приходит по modbus.
Значит, пришло время доработать шаг №1 обмена (перевести коды скорости в герцы), ну и шаг №2 в части обратного преобразования, герцы в численное значение задания скорости. «Математика» самая простая, без проверок на достоверность и выход за диапазон, хотя все это не помешает.
После загрузки изменений откроем блок данных DataV20 и поуправляем частотником из него.
Даем задание 25 Гц, даем пуск и наблюдаем за появлением сигнала Running и текущей скоростью.
Все регистры, которые можно считать с V20, описаны в документе по ссылке.
Судя по описанию регистров, есть и другие способы управления, но нас сейчас интересует не это. В моей практике с преобразователей частоты еще частенько просили считать ток(и), напряжение(я), мощность, детализацию ошибок и т.д. Давайте последуем этой старой-доброй традиции и считаем дополнительно вот эти параметры, а так же переведем их в понятное представление:
Параметры, разумеется, могут быть любыми, но предположим, что заказчику очень хочется именно эти. Я не буду подробно описывать процесс программирования и сразу покажу результат.
В принципе, мотор маленький, крутится без нагрузки, поэтому значения похожи на достоверные. Тем не менее, задача стоит в демонстрации считывания данных, поэтому будем считать наличие хоть каких-либо «цифры» за огромный технологический прорыв. Итак, вы уже заметили, что я добавил читаемые параметры в блок данных DataV20. Дополнительно был доработан функциональный блок коммуникаций:
Читаются (mode = 0) четыре регистра хранения по адресу 40025. Результат помещается во внутренний статический массив [0..4] of WORD. Далее эти слова переводятся в формат Real и помещаются во внешний блок данных в результате несложных преобразований.
Ну, и напоследок остается проанализировать качество связи. Ведь не зря же на каждом шаге после выполнения ФБ Modbus_Master смотрю его флаги DONE или Error (кстати, эти флаги имеют значение «истина» только на протяжении одного вызова после успешного или неуспешного выполнения запросы, в остальное время — ложь). Для этого я объявил массив из булевых переменных
Массив размерностью три, по количеству запросов Modbus. Соответственно, если на шине будет 10 частотников, по три запроса к каждому, то размерность этого массива, как и количество «шагов» алгоритма, будет равно 30. Ну, и в конце каждого опроса, при анализе флагов, наконец, прописываем присвоение флагам значения.
Будем считать, что частотник стабильно обменивается информацией с ПЛК, когда все три запроса к нему выполнены успешно. Поэтому самая последняя строчка нашего функционального блока будет такой (предварительно добавим булевую переменную Connected в блоке данных DataV20):
Поговорим сегодня про контроллеры, в частности про Siemens SIMATIC S7-1200, их особенности, аппаратные средства, добавление аппаратной конфигурации в Tia Portal.
Siemens SIMATIC S7-1200
Контроллеры данного семейства являются, пожалуй, наиболее востребованными из всей линейки SIMATIC, благодаря своей универсальности, функционалу и приемлемой цене. Конечно, по своим возможностям, они уступают SIMATIC S7-1500, но здесь решающую роль играет цена - у S7-1200 она на порядок ниже. А для большинства задач их функциональных возможностей вполне достаточно.
Данную серию поддерживают все версии Tia Portal, включая Lite - упрощенную версию, работающую только с контроллерами данного семейства.
Контроллер S7-1200 имеет модульную структуру, представляющую набор различных компонентов.
Центральный процессор CPU
Основой всей системы является процессорный модуль CPU (Central Processing Unit), который отвечает непосредственно за обработку, хранение данных, выполнение программы.
Данное семейство представлено 5 моделями центральных процессоров, различающихся производительностью, количеством входов-выходов, объемом памяти.
Кроме того, эти модели имеют несколько различных модификаций - DC/DC/RLY с напряжением питания = 24 В, дискретными входами = 24 В, дискретными выходами релейного типа, DC/DC/DC с напряжением питания = 24 В, дискретными входами и дискретными выходами 24 В на основе транзисторных ключей, AC/DC/RLY с напряжением питания ~115/230 В, дискретными входами 24 В, дискретными выходами релейного типа.
Также их отличительной особенностью является возможность подключения определенного количества дополнительных сигнальных модулей. Так например CPU 1211 не поддерживает такую возможность, для CPU 1212 таких модулей может быть только 2, а для остальных моделей - 8.
Стоит отметить наличие у всех моделей процессоров встроенного Web-сервера, позволяющего просматривать различную информацию о подключенном контроллере с помощью ПК или смартфона, через обычный Web-браузер.
Можно задействовать ее в качестве внешней загрузочной памяти для процессорного модуля, для обновления встроенного программного обеспечения, для копирования программ во внутреннюю память устройства. Кстати, S7-1500 не имеют встроенной загрузочной памяти и без Memory Card не работают.
Сигнальные модули SM
Для расширения возможностей процессора применяются сигнальные модули (SM - Signal Modules) и сигнальные платы (SB - Signal Boards). Они позволяют задействовать в случае необходимости дополнительные дискретные (DI, DQ) и аналоговые (AI, AQ) входа и выхода.
Также есть сигнальные модули измерения температуры, специально для подключения термопар и термосопротивлений. В частности это модуль SM 1231 Thermocouple для термопар и SM 1231 RTD для термосопротивлений.
Кроме того, могут быть задействованы технологические модули SM 1278 4xIO-Link Master, работающие и как сигнальный модуль, и как коммуникационный. Каждый модуль позволяет подключить до 4 устройств IO Link.
Для работы с тензометрическими датчиками в системах взвешивания, измерения силы и прочих измерительных задачах применяются модули SIWAREX WP231. В отличии от всех предыдущих модулей, он имеет возможность работать как с CPU по стандартной внутренней шине, так и без него, например с HMI панелями, через Ethernet (Modbus TCP/IP) или RS 485 (Modbus RTU). У модуля SIWAREX имеется собственное ПО для настройки и обслуживания SIWATOOL V7, но при этом он может быть легко интегрирован в Tia Portal.
Коммуникационные модули CM
Коммуникационные модули (CM - Communications Modules ) и коммуникационные процессоры (CP - Communications Processors) существенно расширяют возможности контроллера в построении промышленных сетей.
Линейка коммуникационных устройств включает в себя ряд модулей, обеспечивающих обмен данными по сетям:
Модули CM1242-5 (slave) и CM 1243-5 (master) позволяют использовать контроллеры в сетях PROFIBUS DP для построения систем распределенного ввода-вывода. Для S7-1200 возможно подключение до трех таких модулей. Каждый модуль, в свою очередь, способен обслуживать до 32 ведомых DP-устройств (в качестве ведомых DP могут выступать частотные преобразователи, распределительные станции ET-200, контроллеры S7, другие различные устройства).
Модули CM 1241 и платы CB 1241 обеспечивают обмен данными через PtP (Point-to-Point) соединение на основе интерфейсов RS-232 или RS-485 и с поддержкой протоколов Modbus RTU и ASCII, а также USS (Протокол обмена данными между контроллером и приводами серий MICROMASTER и SINAMICS).
Модули CM 1243-2 используются для подключения контроллеров S7-1200 к сетям AS-Interface (Actuator Sensor Interface) в качестве ведущего сетевого устройства. Позволяют подключить к контроллеру до 62 ведомых устройств в сети ASI.
Процессоры CP 1242 и 1243 позволяют интегрировать S7-1200 в системы телеуправления и поддерживают обмен данными через мобильные беспроводные сети GSM и LTE.
Подключение модулей контроллера
Подключение модулей между собой осуществляется по внутренней шине. Сделано, кстати, очень удобно - достаточно установить процессор на DIN рейку, снять крышку соединителя, установить сигнальный модуль и перевести шинный соединитель в положение влево. И все, сигнальный модуль с процессором надежно зафиксированы между собой.
Добавление S7 1200 в проект Tia Portal
После создания проекта в STEP 7 необходимо добавить наш контроллер в конфигураторе устройств. Делается это на вкладке Devices&networks - Add new Devices
Здесь нам представлены все доступные в данной версии программы модели CPU. Выбираем нашу модель CPU 1214C DC/DC/Rly и в раскрывающемся списке находим серийный номер процессора. Справа мы видим его описание, версию, вверху можно ввести имя устройства, которое будет отображаться в проекте. Нажимаем кнопку Add .
Если по каким-то причинам вы не можете точно идентифицировать свою модель, то можно выбрать в списке Unspecified CPU 1200 (Неопределенный CPU). Tia Portal сам должен определить вашу модель, главное чтобы контроллер был подключен к компьютеру.
В рабочей области открывшегося окна появится изображение выбранного нами CPU. Что мне например нравится, визуально сделано все реалистично.
На вкладке Properties можно сконфигурировать различные параметры нашего контроллера - IP адрес, по умолчанию он не задан, поведение цифровых и аналоговых выходов, когда ЦПУ находится в режиме STOP, быстродействующих счетчиков (HSC), генераторов последовательных импульсов (PTO) и широтно-импульсной модуляции (PWM), поведение контроллера при запуске системы, время цикла и многие другие параметры.
Далее, если это необходимо, добавляем модули расширения. Делается это простым перетаскиванием модуля из каталога Hardware catalog на рабочую область.
Таким образом, мы добавили все необходимые модули контроллера в проект. Наша аппаратная конфигурация готова, можно переходить к программной части, но это уже отдельная история.
SIMATIC STEP 7 (TIA Portal) continues the success story of SIMATIC STEP 7. With SIMATIC STEP 7 (TIA Portal), you can configure, program, test, and diagnose the Basic, Advanced and Distributed Controllers of all generations, whether PLC- or PC-based, including software controllers.
TIA Portal newsletter
SIMATIC STEP 7 Software
SIMATIC STEP 7 Options
The comprehensive engineering tool for configuring and programming all SIMATIC controllers
STEP 7 (TIA Portal) helps you perform your engineering tasks intuitively and efficiently. Thanks to its integration in TIA Portal, STEP 7 offers transparency, intelligent user navigation, and straightforward workflows in every work and programming step. Functions such as drag & drop, copy & paste, and Auto Complete make work much quicker and easier.
SIMATIC STEP 7 offers maximum user-friendliness, regardless of whether you‘re a beginner in the engineering field or already have many years of experience. For new users, the engineering is easy to learn and apply, whereas for experts, it’s fast and efficient.
Reduced engineering times
Thanks to integrated functions and graphical configuration.
Fast commissioning
With efficient error localization, thanks to integrated system diagnostics, real-time trace, and high-performance online functions.
Short downtimes
Thanks to easy remote maintenance and diagnostics with web server and teleservice.
Investment security
With reusable components, libraries, and compatibility.
The integrated engineering package for complex controller tasks
SIMATIC STEP 7 Engineering Software
SIMATIC STEP 7 in TIA Portal is the comprehensive engineering tool for configuring and programming SIMATIC controllers, whether PLC- or PC-based.
SIMATIC STEP 7 Professional (TIA Portal) can be used to configure, program, test, and diagnose all generations of SIMATIC controllers.
SIMATIC STEP 7 Basic (TIA Portal) is the price-optimized subset of STEP 7 Professional software that can be used both for engineering the SIMATIC S7-1200 Basic Controllers and for configuring the SIMATIC HMI Basic Panels, because WinCC Basic is part of the software package.
The central editor for configuring hardware and networks
You can configure an entire plant using a single graphical editor. The editor offers three views to ensure clear division of tasks. The network view shows graphical connections between devices, the device view shows the parameterization and configuration of the individual devices, and the topology view shows the actual interconnection of PROFINET devices.
Network view
The network view enables the configuration of plant communication. The communication links between individual stations are displayed graphically and very clearly.
It’s possible to obtain a combined view of all network resources and components, link resources using drag & drop, and much more.
Device view
The configuration of racks and assigning of addresses etc. is performed in device view. All devices are represented in a photo-realistic way. When zoomed to at least 200%, IOs are displayed with the symbolic names or addresses.
Useful functions are buffering of configured hardware modules and reuse with module clipboard, automatic readout of available hardware, full text search in the hardware catalogue with optional filtering.
Topology view
For PROFINET networks, the topology view offers the option of showing which ports are interconnected and communicating with one another during ongoing operation.
By identifying, displaying, and monitoring the physical connections between devices on PROFINET IO, administrators can easily monitor and maintain even complex networks.
Powerful programming editors for efficient engineering
SIMATIC STEP 7 (TIA Portal) provides powerful programming editors for programming SIMATIC S7 controllers. These editors offer functions such as drag & drop, project-wide cross-reference lists, Auto Complete, etc., and enable the efficient creation of user programs.
Programming editors adapted to tasks and workflows provide the basis for the intuitive STEP 7 (TIA Portal) operating concept. Embedding the different editors in a common working environment ensures that all the data is available to users on a consistent basis and guarantees an overview of the project data at all times.
LAD and FBD
Graphical programming with Ladder and Function Block Diagram
STEP 7 (TIA Portal) supports graphical programming languages and, in this way, ensures a significant increase in engineering efficiency when programs are created.
The user-friendly, fully graphical LAD and FBD editors offer excellent clarity and fast navigation in the block editor, thanks to features such as opening and closing entire networks, showing and hiding symbols and addresses, convenience functions, and a calculate box that permits the direct entry of formulas with SIMATIC S7-1200 and S7-1500.
Programming of complex algorithms
The Structured Control Language (SCL) corresponds to the textual high-level language ST (Structured Text) defined in the IEC 61131-3 standard and fulfills base-level and reusability-level requirements according to PLCopen.
SCL is particularly suitable for the high-speed programming of complex algorithms and arithmetic functions as well as for data processing tasks. The S7-SCL Editor offers features such as aids for structuring code, slicing for fast access to tag parts, exchange options, and much more.
Statement List as a textual programming language*
The Statement List (STL) textual programming language enables the creation of hardware-level runtime and memory-optimized user programs.
Users are supported by a host of new user-friendly editing functions, including intelligent selection of symbols from PLC tags, databases, and local tags, a clear presentation of even complex program code, and various other convenience functions.
*(No support for STEP 7 Basic)
GRAPH (SFC)
Programming of sequencers*
Sequential Function Chart (SFC) is used for describing procedures with alternative or parallel sequencers. The sequencers are configured and programmed quickly and clearly in a standardized display mode (according to IEC 61131-3, DIN EN 61131). The process is described graphically and divided into individual steps with a manageable range of functions. Thanks to numerous convenience functions, sequencers can be easily and flexibly structured. In addition, online functions provide considerable time savings, particularly during the commissioning phase.
*(No support for STEP 7 Basic.)
Efficient error analysis, fast commissioning, and reduced downtimes
System diagnostics is an integral part of STEP 7 and does not require an additional license. In the engineering phase, diagnostics is conveniently activated with just one click. When new hardware components are introduced, the diagnostic information is updated automatically via the engineering system (HWCN).
Thanks to a real-time trace function, all user programs can be precisely diagnosed and optimized and, with the aid of online functions, a great deal of information can be retrieved and exchanged and projects updated.
Diagnostics
System diagnostics outputs all relevant information on existing errors in the system. This information is automatically packaged in messages containing the following elements:
- Module
- Message text
- Message status
Efficient error analysis and rapid error localization using the new uniform display concept are available for the new controllers. The new uniform display concept enables identical visualization of error messages in TIA Portal, on HMI, on the web server, and on the display of the new CPU (S7-1500 only) as plain text information.
Benefits of integrated system diagnostics:
- No programming of system diagnostics required
- Rapid error localization
- Automatic updating of system diagnostics if hardware configuration is changed
- Transparent status messages for controllers, peripherals, and drives (motion control messages)
- System diagnostics activated as standard for the new SIMATIC controllers
- System diagnostics also available for S7-1500 controllers in the STOP operating mode
Integrated real-time trace functions
The real-time trace functions for SIMATIC controllers enable precise diagnosis and optimization for all user programs. You can easily identify sporadic events in the system during commissioning and maintenance by visualizing the entire process using a real-time trace.
The trace functionality offers:
- Recording of up to 16 different signals
- Up to 4 independent trace jobs simultaneously
- Various trigger options
- Two windows: analog and binary signals (logic analyzer)
- Versatile zoom, cursor, and measuring functions
- Export of measurements (e.g. for user-specific processing)
Online functions
STEP 7 (TIA Portal) supports numerous online functions:
- Online with just one click: display of operating status, diagnostic overview in the project tree, and online/offline comparison on the block level
- Rapid transmission of all changes in the program with consistent download
- Offline/offline project comparison
- Download in RUN
- Upload of hardware configuration from existing controllers with hardware detect
- Complete software project upload to empty PG
- Rapid service without an existing project (with hardware detect and software upload)
The intelligent solution for technology tasks
Together with TIA Portal, integrated and scalable SIMATIC Technology automation solutions save valuable engineering time and guarantee maximum efficiency and flexibility.
Motion Control for S7-1500
The scalable and flexible motion functionality integrated in the SIMATIC S7-1500 supports the control of centrally or decentrally connected drives (analog and digital). PLCopen blocks are available for programming.
Motion control technology objects (TOs) can be used for programming typical functions such as positioning (absolute and relative), speed control, referencing, and support for absolute encoders, and for testing and reusing them as often as desired. In addition to the control tasks, these technology objects include the communication with the converter and its parameterization.
High-speed counter – for SIMATIC S7-1500 controllers
The high-speed counter for S7-1500 controllers enables the configuration, commissioning, and diagnosis of counter applications such as:
- Counter behavior and limits
- Comparative values and results
- Control and feedback bits
The high-speed counter is intended for use with various modules (TM Count/TM PosInput):
- Counter modules with numerous functions
- Precision control of counter functions with onboard DI
- Rapid response to events with onboard DQ
- Functions for measuring frequency, period duration, speed
- 24 V counter inputs for tracks A, B, N
- 5 V differential signal inputs (RS422) A, B, N
- 2 or 3 digital inputs; 2 digital outputs with 24 V
Integrated PID control – for all SIMATIC controllers
The following functions are available in STEP 7 (TIA Portal) for implementing continuous, discrete (pulse width modulation), and step controllers and for easy commissioning, thanks to automatic controller setting:
PID Compact (S7-1200/1500)
Continuous PID controller with analog or pulse width-modulated output and automatic tuning
PID 3-Step (S7-1200/1500)
Specialized step controller for integrating actuators (e.g. valves) with automatic tuning
PID Basisfunktionen (S7-1500, S7-300/400, WinAC)
Straightforward PID statement for continuous or discrete control tasks (CONT_C, CONT_S, etc.).
Hardware requirements
Siemens recommends SIMATIC Field PG programming devices as a powerful and rugged platform for STEP 7 Engineering Software, especially when an engineering station is also used for the commissioning, servicing, and maintenance of the automation system.
However, any PC that meets the following requirements can be used.
Supported Operating systems (64 Bit only)
- Windows 7 Home Premium SP1*
- Windows 7 Professional SP1
- Windows 7 Enterprise SP1
- Windows 7 Ultimate SP1
Windows 10 (64-bit)
- Windows 10 Home Version 1809, 1903*
- Windows 10 Professional Version 1809, 1903
- Windows 10 Enterprise Version 1809, 1903
- Windows 10 IoT Enterprise 2015 LTSB
- Windows 10 IoT Enterprise 2016 LTSB
- Windows 10 IoT Enterprise 2019 LTSC
Windows Server (64-bit)
- Windows Server 2012 R2 StdE (full installation)
- Windows Server 2016 Standard (full installation)
- Windows Server 2019 Standard (full installation)
*only for Basic Edition
**not for "STEP 7 Basic/Professional and WinCC Professional"
Compatibility Tool
The Compatibility Tool is a function provided by the Siemens Industry Online Support with which you can select compatible software products or check the compatibility of existing configurations.
SIMATIC STEP 7 Safety Engineering Software
All configuration and programming tools required for generating a safety-oriented program are integrated into the STEP 7 user interface and use a common project structure. Using the SIMATIC STEP 7 Safety Basic or STEP 7 Safety Advanced (TIA Portal) option, you can also take advantage of all the benefits of the TIA Portal for your fail-safe automation. To use this option package, a valid SIMATIC STEP 7 Basic or STEP 7 Professional license is required.
STEP 7 Safety is the seamless integration of safety in TIA Portal. However, safety-oriented programs can still be generated using STEP 7 and Distributed Safety. Programs created with STEP 7 Distributed Safety can be migrated to TIA Portal at any time.
Читайте также: