В ролике разбираются функции (FC), функциональные блоки (FB) и блоки данных (DB) в среде программирования STEP 7. Показано создание функции, её вызов в организационном блоке, создание функционального блока с привязанным экземплярным блоком данных, а также диагностика ошибки контроллера при обращении к данным блока.
- 00:06 Создание функции и её назначение
- 01:44 Написание логики в функции
- 02:22 Функция не обрабатывается без вызова
- 04:35 Создание функционального блока
- 05:42 Создание экземплярного блока данных
- 07:29 Ошибка контроллера и диагностический буфер
- 09:29 Изменение типа данных и переменных
- STEP 7
- ПЛК
Кому полезно: Инженерам АСУ ТП, изучающим программирование ПЛК в STEP 7
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:06 Здравствуйте, в прошлом видео мы с вами разобрали. Что такое организационные блоки рассмотрели на примере нескольких блоков, попробовали написать простейшую логику в организационном? Блоке 1 в этом видео мы с вами рассмотрим, что такое функции, функциональные блоки и блоки данных. Давайте же попробуем создать функцию для этого жмем пустом месте правой кнопкой мыши.
0:40 Инсертный обжиг и выбираем функцию здесь. Мы задаем имя, оставляем его также ФЦ 1. И меняем язык этой функции на лад. Жмем окей, как мы видим, функция создалась, что же такое функция? Это логический блок без памяти, иными словами, без соответствующего экземпляра блока данных. После обработки функции его выходные параметры содержат рассчитанные значения функции дальнейшее. Использование и сохранение фактических параметров после вызова полностью зависит от пользователя. Давайте попробуем зайти в функцию и написать такой же простейший код. Мы зашли в нашу функцию, давайте здесь также напишем небольшое простое условие.
1:44 Теперь мы выбираем меркер, который обратится к 1 Байту и к нулевому биту этого Байта. Катушки назначаем 1 Байт 1 бит. Жмем сохранить жмем. Жмем загрузить. Программу загрузили. Выходим в онлайн. Видим то, что мы подключились к Онлайну. Но не видим здесь ни зеленой полоски, ни пунктирной линии, также видим то, что ран. Постоянно горит зеленым, то есть в данный момент времени эта функция не обрабатывается. Как я говорил ранее, для начала, чтобы она начала обрабатываться, ее нужно вызвать в. Организационном блоке 1 давайте сделаем это и посмотрим, начнет ли она обрабатываться для того, чтобы перейти в организационный блок. 1 Не выходя в основную программу Жмем Виндоу.
2:57 И внизу мы видим открытые наши блоки, переходим в об 1. Здесь мы создаем с вами новый нетворк жмем правой кнопкой мыши по нетворк 1. И нажимаем инсерт Нетворк, теперь в него нам нужно ставить вызов нашей новой функции. Для этого мы в левом меню опускаемся вниз. Находим меню функциональных блоков раскрываем его. Видим то, что здесь есть наша функция 1. И просто перетаскиваем ее в рабочую область. Вот так выглядит вызов, функции жмем также сохранить.
3:49 Загрузить. Мы вызвали нашу функцию, давайте вернемся теперь к ней и проверим, работает ли она. Как мы видим, после вызова она начала постоянно обрабатываться. Появилась зеленая полосочка и пунктирная линия. Переводим Меркер с адресацией 1 ты0 состояние единицы. Как мы видим, все работает. Давайте теперь посмотрим, что такое функциональный блок, давайте теперь создадим функциональный блок. Также жмем правой кнопкой мыши Инсерт необджект, функциональный блок оставляем название также ФБ 1, меняем язык на лад.
4:54 Жмем окей, функциональный блок, это логический блок с памятью в качестве памяти служит при этом соответствующий функциональному блоку экземпляр блока данных, которым хранятся фактические параметры. И статические данные функционального блока, что имеется ввиду под экземплярным блоком данных внутри функциональный блок? Выглядит также как функция, но давайте его загрузим и теперь перейдем в 1.
5:27 Здесь мы создадим новый нетворк. И попробуем теперь вызвать функциональный блок. Как мы видим, при попытке его вызвать наверху отобразились вопросики. То есть данный момент времени функциональный блок не понимает, откуда ему брать его данные? Для этого мы можем прямо здесь создать блок данных. ДБ, это дата, блок, то есть блок данных, мы называем его ДБ 1. Жмем Энтер Степ 7 нам представляет возможность сразу же создать блок данных, который будет. Привязан к функциональному блоку 1 соглашаемся, сохраняем, загружаем, загрузили нашу программу, перейдем теперь к функциональному блоку и.
6:33 Здесь уже будем писать простейшую логику с обращением к нашему блоку данных. Адресация будет немножко отличаться от меркера в ней. Сначала мы обращаемся к нашему блоку данных, то есть ДБ 1. И после через точку мы уже обращаемся к какому то Байту и биту в этом блоке данных. Мы пишем ДБ Икс 0 30, то есть мы обращаемся к блоку данных номер 1 в нем к Байту 0 к биту 0. Точно так же делаем с катушкой. Жмем сохранить. Жмем загрузить. Мы выходим в основную программу и видим то, что здесь.
7:36 Создался блок данных номер 1 после после загрузки, как мы видим, блок не обрабатывается, и контроллер у нас выпал в ошибку. Давайте посмотрим для того, чтобы посмотреть, в какой ошибке сейчас находится контроллер. Напоминаю, выбираем его жмем правой кнопкой мыши.
7:59 Пили. И модуль информейшн. Переходим в диагностический буфер, и, как мы видим, отображается ошибка, как и говорил ранее по организационному блоку, 121 то есть если. Б бы в данный момент у нас этот блок был не загружен в контроллер, то контроллер у нас сразу же перешел бы стоп ошибку, это просто так. Исправить не получится, потому что блок данных привязан к функциональному блоку при вызове в организационном блоке, то есть функциональном. Блоке внутри мы уже не можем обращаться к данным этого блока данных для того, чтобы ее исправить. Давайте добавим новый блок данных.
8:50 Сделаем его общим, то есть он будет не привязан ни к чему. Загрузим его сразу в программу. И функциональном блоке. Поменяем адресацию, то есть теперь мы обращаемся ко 2 блоку данных. Жмем сохранить, загрузить. Работает, давайте посмотрим, ушла ли ошибка. Как мы видим статус окей, ошибки нету, здесь отображается буфер ошибок, то есть даже если ошибка ушла в. Нем вы можете посмотреть, когда она последний раз было. Давайте зайдем блок данных номер 2. Здесь у нас сейчас отображается тип данных интенджер и.
9:53 Он включает в себя 2 Байта, нам же нужно рассмотреть 2 отдельных бита. Для этого мы тип меняем на буллитовый. И создаем соответственно 2 переменных, как мы видим сейчас они. состоянии, 0 давайте сделаем их единичкой. Мы видим состояние, их изменились, это. Это был небольшой экскурс в среду программирования степ 7. Как вы можете понять, это намного сложнее программирования на Симен слога? Ну и также здесь намного больше возможностей. В следующем видео мы попробуем с вами написать. Пример программы для светофора, а если к этому видео у вас остались еще какие, то вопросы, я думаю, они остались. Задавайте их в комментариях, переходите по ссылкам в описании. Спасибо за внимание, увидимся в следующем видео.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
Приобретая продукты Simatic у нас на сайте — вы поддерживаете создание видеороликов https://iautomatica.ru/catalog-siemen…
Мы будем признательн…