Программирование промышленных контроллеров Siemens

Автор Сообщение
#1 / 11.01.2019 09:41
admin

09FTs89usfI.jpg

Siemens занимает 37 процентов мирового рынка автоматизации. Сегодня существует контроллеры 300, 400, 1200, 1500 серии. 300 и 400 серии проверенные, устаревшие, надежные, контроллеры. Уже несколько лет, представители Siemens утверждают что эти серии перестанут выпускать- однако, они выпускаются и еще долго будут выпускаться(мое мнение)

LIoTjz3juqI.jpg

Сегодня будем разбирать программирование 300 и 400 серий. Выглядят оно как на картинке сверху. Заранее оговорюсь, 300 и 400 серии программируются в среде Simatic Step 7, а 1200 и 1500 программируются в TIAPortal.(По пожеланию, кому интересно, могу сделать пост по TIA)

nOtup_zcXvc.jpg

Непосредственно к самому программированию. Для начала нужно сконфигурировать Hardware. Что это такое? Допустим Вам требуется что то автоматизировать, и в зависимости от поставленных задач, выбираете контроллер под определенные задачи из определенной серии. У нас в примере выбран S7 315 2-DP. Иначе говоря мы говорим среде что мы будем писать программу для вот именно такого контроллера к которому по ProfiBus'у подключена децентрализованная периферия(кому нужно, могу подробно сделать отдельный пост). На картинке выше показано что у нас 315 2-DP и к нему подключено 5 корзин и в выделенной корзине, установлены модули 3 Analog Input, 2 Digital Output, 1 Analog Output, 1 CP 341(для подключения к какому устройству по RS485)

На второй картинке в папке Bloks находятся куча блоков. Существуют основные блоки OB, FB, FC, DB, DT, VT которые вы можете создать.

Даже не знаю как проще обьяснить(привет из лиги лени).... Оооооочень грубо говоря, в ОВ1 построчно будет обрабатываться ваша программа. Существует ОВ1,ОВ10-17, ОВ20-23, ОВ30-38, ОВ40-47, ОВ55-57, ОВ60(Если кому надо, напишу отдельно подробно)

FB(функциональный блок)-для удобства, вы можете написать программу в функциональном блоке и вызвать его в OB1. Попробую проще обьяснить- у Вас стоит задача управления 4 одинаковыми насосами. Чтоб 4 раза не писать программу управления для каждого, просто пишите программу управления в функциональном блоке и 4 раза вызываете в OB1 и привязываете соответствующие входы и выходы.

DB- дата блоки, блоки где хранятся данные. Если Вы написали программу, где производите какие то операции над числами, Вам нужно их где то хранить. Вы и указываете номер DB и адрес в нем.

DT, VT- честно, сам не использую, и описывать не буду....(если кому нужно, ... напишу)

xUcJBbq7XmY.jpg

На картинке мой OB1, как вы видите, я вызываю функциональные блоки- привязываю входные ножки и указываю DB. Это сделано на языке программирования FBD(об этом позже)

FhHt3x7Sopw.jpg

Так выглядит мой функциональный блок- язык FBD

Наконец-то добрались к языкам программирования. STL, FBD, LAD- их 3

STL- это язык программирования Список операторов. Мне кажется этот язык больше похож на Ассамблер.

LAD- язык программирования для "электриков", релейные схемы(графический язык)

FBD- язык программирования для "электронщиков" блочные схемы(графический язык)

ixpWf5ywjZM.jpg

Это на языке STL

aVgyCU6L20Q.jpg

Тоже самое, только в LAD

yLvWWWAZVAw.jpg
То же самое, на FBD
Выделим основные моменты:

1) HW

2) Для удобства- нужно заполнить таблицу символов(блин,вспомнил в конце поста)

Смотрите, допустим у Вас 2 насоса, которыми нужно управлять. Вы создали 2 корзины в HW, поставили модуль Analog Input(допустим для контроля вибрации в подшипниках). Когда вы в HW ставите модуль- он автоматически прописывает адреса входов(3 картина). в моем примере 448...463. И в папке S7 Program....в следующем фото

IL_3UCgyQy0.jpg

в этой папке есть таблица символов. Открываем его…

9kHypkUJli8.jpg

Вот, пишем удобный и понятный для Вас символ и прописываем ему адрес. Для Analog Input - PIW ...., для Analog Output - PQW....., для Ditgital Input - I......, для Ditgital Output - Q ....

3) Выбираете удобный для Вас язык программирования и начинаете работать

Понимаю, что все ооочень поверхностно, ну как смог.

Источник: https://pikabu.ru/story/kak_i_obeshchal_programmirovanie_promyishlennyikh_kontrollerov_siemens_5699847

Сообщения: 463