Лекция о среднем уровне АСУ ТП: аппаратная часть ПЛК, модули ввода-вывода, удалённая периферия, карты памяти, цикл работы контроллера, типы данных и языки программирования. Разбираются состав корзины, линейки контроллеров Siemens, среда TIA Portal, ПИД-регулирование и обмен данными с панелью оператора.
- 00:03 Средний уровень АСУ ТП и аппаратная часть контроллера
- 12:24 Дискретные модули ввода и вывода
- 28:37 Удалённые корзины ввода-вывода через PROFINET
- 39:24 Применение карты памяти: загрузка, привязка, замена модулей
- 55:44 Механизм таймер в контроллерах
- 66:13 Верхние уровни: оперативное управление, АСУП, ERP
- 88:42 Переменные и типы данных в программировании ПЛК
- 104:18 Связывание элементов и преобразование типов данных в TIA Portal
- 118:30 Функция масштабирования аналогового сигнала
- 130:48 Обмен данными между контроллером и панелью оператора
- ПЛК
- Siemens
- S7-1200
- S7-1500
- S7-300
- S7-400
- TIA Portal
- WinCC
- PROFINET
- PROFIBUS
- Ethernet
- HMI
- SCADA
- FBD
- ОВЕН
Кому полезно: Инженерам АСУ ТП, изучающим средний уровень систем управления и программирование ПЛК
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:03 Итак, сегодня мы с вами рассматриваем средний уровень АСУ ТП тоже базовые элементы базовой основы, построение систем управления. И собственно очень важную прослойку очень, очень важный уровень, а именно средний уровень. Нам предстоит обсудить сегодня и так по порядочку мы с вами. Строим рассуждение, строим рассмотрение задача вокруг 1 и того же вопроса, регулирование технологического параметра. Напоминаю, что на с вами есть датчик, входные данные, есть исполнительный механизм, это управляющее воздействие. Воздействие на процесс и между ними должен быть какой то посредник, который, собственно, решает при том или ином значении сигнала датчика. Значение технологического параметра в данный момент времени, как сильно нужно менять состояние. Исполнительного механизма, ну и, собственно, вот он. Центр принятия решений здесь указано, что регулятор регулятор, это, по сути, сейчас математика и это математика. Где то должна существовать, где то должна выполняться, ну и собственно. Данным устройством, как вы помните, является у нас программируемый логический контроллер. То есть вот он, то есть ПЛК это основа среднего уровня АСУ ТП. Это то устройство, которое выполняет основной объем вычислений в части регулирования.
1:55 Напоминаю, принимает сигналы от датчика, измеряет, обрабатывает, интерпретирует, обсчитывает, формирует управляющее воздействие, сначала рассмотрим. Аппаратную часть контроллера, как он взаимодействует с другими уровнями, в данном случае с нижним уровнем и с верхним какие бывают модули.
2:21 А дальше вспомним, что такое регулятор, как он работает, как вычисляет тот или иной параметр. Итак, задачка, напоминаю, что у нас есть бак. В нем измеряется уровень путем установки гидростатического датчика уровня, и наша задача воздействовать либо на клапан на подаче воды путем изменения. Уровня добавления воды либо воздействовать на клапан на сливе путем изменения расхода на сливе. То есть для того, чтобы больше воды сбрасывать или меньше сбрасывать с целью поддержания уровня в баке?
3:05 Также хочу напомнить вам, что у нас с вами с поля приходит 3 основных типа сигналов, это дискретные сигналы. Ну и, собственно, в поле тоже уходят эти же типы сигналов, то есть. Кнопки концевые выключатели, дискретные датчики, отсутствие наличия потока, допустим, сигнализаторы уровня и точно так же лампы воздействия на механизмы электрической однооборотной. Это все дискретные сигналы, то есть это набор состоянии, включено выключено.
3:48 Есть у нас с вами аналоговые сигналы, те, которые меняются непрерывно, эти аналоговые сигналы мы получаем с датчиков технологических. Параметров, допустим, датчиков давления, датчиков температуры, то есть это тот сигнал, который меняется непрерывно, имеет множество состояний.
4:08 И цифровые сигналы, которые передаются при помощи набора нулей и единиц, то есть цифровых пакетов по цифровым шинам. По полевым шинам передачи данных это уже варианты подключения к так называемым интеллектуальным устройством, то есть тем же самым частотным преобразователем. Мы можем подключиться по цифре к интеллектуальным клапанам задвижкам, ну. И другим устройством, то есть тем, у которых есть внутри микропроцессор, те, которые поддерживают передачу по цифровым интерфейсом, в том числе это умные датчики. Это датчики с цифровым интерфейсом такое тоже сейчас широко применяется.
4:54 Ну и по порядку вспоминаем, что такое контроллер, что такое корзинка, контроллер. Ну, вы ее неоднократно видели. И в данном случае мы рассмотрим следующие основные элементики. Итак, напоминаю, но корзина до следует отметить, что это сленговое название, хотя в принципе при добавлении подобного устройства в проект. В английской терминологии это называется рек, то. То есть это общепринятый термин? Ну, скажем так, немного русифицированный В. В плане удобства восприятия, то есть корзина, это, по сути, набор модулей, находящихся на 1 дин рейке, которая связана между собой задней шиной и формирует. По сути, единый вычислительный блок с целью управления.
6:15 Технологическим процессом, из чего состоит типовая корзина. Вот совершенно типовой обычный проект. У нас с вами в начале корзины устанавливается блок питания. Контроллер, электронное устройство электронному устройству нужен источник электрической энергии. В противном случае он работать не будет соответственно блок. Питания напоминаю, что напряжение питания электронных устройств в системах АСУ ТП это 24 Вольта постоянного тока. Далее у нас с вами идет модуль центрального. Процессора модуль ЦПУ общепринятая, опять же терминология. Вот чаще всего магазин устроим именно так. Блок питания модуль цепу после модуля Цепу идут, так? Назывная интерфейсные модули, вот он 3 интерфейсный модуль. В данном случае он подсвечен фиолетовым цветом, это интерфейсный модуль для полевой шины профи бас.
7:27 Интерфейсные модули обозначаются ЦП, то есть коммуникационные процессоры. Ну, как я уже говорил, коммуникационный процессор нужен для того, чтобы снять нагрузку с основного процессора, то есть разгрузить его в плане общения. С внешним миром, с верхним уровнем, с полевыми шинами, и чтобы процессор занимался модуль ЦПУ, занимался основной своей задачей, а не общением.
7:57 С другими уровнями дальше типовой состав модуль аналогового ввода, а и давайте я немножечко увеличу, чтобы. Было читабельно. Так, сейчас секундочку, небольшие проблемы с трансляцией. Попробуем возобновить. Итак, Модуль АИ, то есть модуль аналогового ввода аналог импорт. Модулек для подключения аналоговых сигналов сигналов с датчиков. Следующий модулек в данной корзине корзина взята просто для примера. То есть примерно такой порядок расположения модулей и используется следующий модулек, это тоже аишка?
9:10 Для подключения РТД напоминаю, что это термометр сопротивления ти си термокопал это термопара. То есть это специальный модуль для подключения датчиков температуры обычная ишка? Чаще всего у большинства производителей может принимать сигналы 4 20 миллиампер. То есть токовые сигналы, стандартные и стандартные сигналы напряжения? Если нам с вами нужно подключить датчик температуры, то есть термометра сопротивления либо термопары, а у них сигнал не сопротив о не напряжение и не ток, то мы с вами используем.
9:51 Специализированный модулек модулек для подключения датчиков температуры. Почему они разделены, но тоже следует отметить, что существуют универсальные модули, которые могут принимать и токовые сигналы, и сигналы напряжения и сигнала от? Датчиков температура от термометров, сопротивления, термопар и так далее. То есть они есть, они производятся, но они более дорогие в плане покупки. Поэтому для того, чтобы оптимизировать цену, нам с вами в ряде случаев проще поставить сколько. Нужно модулей ввода стандартных сигналов токовых или сигналов напряжения. А датчики температуры расключить на специализированные модули, особенно в том случае, когда у вас датчиков температуры не так много, это по цене будет оптимальнее. Однако у некоторых производителей, допустим, таких как Овен отечественных, но еще есть ряд производителей, у них модули всеядные. То есть они по умолчанию такие хорошо это или плохо, но сложно сказать, если цена умеренная, то почему нет?
11:07 Однако, допустим, и того же Авена нет возможности, к примеру, подключать. Ну, для некоторых контроллеров нет возможности подключать датчики. Температуры, но термометра сопротивления по трехпроводной и по четырехпроводной схеме, то есть по схемам, которые более точны, более.
11:29 Предпочтительны для нас дальше, обратите внимание. Следующий модулек типовой, это модуль аналогового вывода АО Аналог Алтуда, то есть модуль для вывода в данном случае. Токового сигнала они тоже чаще всего универсальные, то есть они могут выдавать и сигнал токовый унифицированный типовой 4 20 миллиампер, к примеру, и сигнал напряжения в. Зависие от схемы подключения, допустим, от 0 до 10 вольт или + ты 10 вольт. Ну, если Аишки нам нужны для подключения датчиков, то аошки мы используем для воздействия на. Полевой уровень то, то есть, допустим, для того, чтобы управлять частотным преобразователем для того, чтобы задавать частоту вращения двигателя через частотный преобразователь.
12:24 Ну и оставшиеся 4 модуля совершенно тоже типовые знакомые. Нам 2 модуля Д и в данном случае для примера рассмотрены, то есть дискретные входы и. Для подключения кнопок концевых выключателей и так далее чаще всего еще раз напоминаю это дискретные сигналы с уровнем напряжений 24 Вольта. То есть, если приходит на модуль, 0 это означает не нажата кнопка, это Нолик. Цепь разомкнута если приходит 24 Вольта, то модуль интерпретирует этот сигнал как единичку. Кнопка нажата концевичок замкнут.
13:08 Ну и, собственно, 2 модуля д Ошек, обратите внимание. Кстати, циферка означает количество выходов. То есть 32 выхода, 32 выхода и 2 душки по 16 выходов? Для Собственно, включение выключение нагрузки, включение выключение, ламп управления, механизмами электрическими однооборотными включение выключения насосов. Двигателей и так далее, то есть все то, что воздействует на технологический процесс или все то, что используется в качестве индикации оператору.
13:48 То есть вот такой вот типовой набор модулей у большинства современных контроллеров присутствует? Ну и, собственно, вот этот набор модулей. Мы с вами будем использовать дальнейшем, будем с ним работать, так или иначе, но у нас с вами. Задачка попроще, мы используем Сименс Лого для освоения, поэтому подходы там одни и те же просто контроллер. Более слабый количество модулей, количество типов модулей значительно меньше, все остальное реализовано аналогичным образом.
14:32 Ну, визуально корзина контроллера, вот она изображена слева. Такой контроллер, вы могли видеть в лаборатории. Это старший контроллер у Сименса наиболее современный, наиболее новый, 1500 ну, то есть. Это, наверное, единственный из контроллеров Сименс, у которого есть экранчик. Вот он справа на него выведена диагностическая информация.
15:04 состоянии и так далее, то есть, скажем так, он больше. Сервисный информационный и не используется, для какой то графики визуализации, то есть он, по сути, нужен инженеру для того. Чтобы без компьютера провести какую то первичную диагностику на Сименслога, который вы видели, тоже есть экранчик. Про него мы тоже поговорим, но единственное исключение. Там экранчик, монохромный экранчик, пиксельный, здесь все таки уже жидкокристаллический. Соответственно, немножко поинтереснее картинка, но так или иначе все равно у семя. Слога есть возможность диагностики прямо на дисплее, и, собственно, мы с ней поработаем, она. Ну вот, 1500 в качестве примера просто взят у трехсотки, которые вы тоже видели. У нее дисплейчика нет и никогда не было. Ну и, собственно, не будет, по слухам, любимая линейка с 7 300 это 3 стенд. У нас напоминаю, она у нас в районе 23 года снимается с. Производства, но еще раз повторюсь, это рабочая лошадка, которая очень, очень широко представлен. Ну и, собственно, возникает вопрос, а на что мы ее будем менять, то есть? Вот у нас есть Сименс Лого, который не попал в эту классификацию. Да, это контроллер низшего сегмента для простых задач и есть контроллера более высокого сегмента, который. Вам предстоит освоить на старших курсах. Ну и собственно, что у нас предлагает компания Сименс в части автоматизации и так 1000 200 контроллер, вот он внизу, справа.
16:55 Как раз он появился взамен старому контроллеру 200. Наверняка вы их кое где сможете встретить на предприятии, то есть см 200, его не выпускают. Наверное, лет 6 точно может быть даже больше, но те проекты, которые были реализованы, они работают и. Соответственно, эти контроллеры вы можете встретить. Так вот, на замену двухсотки пришел младший сегмент с 7 1200 то есть относительно новый сегмент, новый контроллер, который покрывает весь объем простых задач и чуть чуть залазит в область задач трехсотки.
17:45 Вообще 12.00 это относительно такой бюджетный контроллер, ну по сравнению с, допустим, 300 и при этом имеет огромный функционал. Поэтому сейчас на предприятиях все чаще локальные системки делаются на 1000 двухсотки, потому что это по. Просто оптимальнее по цене. Трехсотка, как я уже сказал, она была любимой долгое время и достаточно долго останется таковой. Но все таки технологии развиваются, поэтому получается, что на замену трехсотки так или иначе.
18:25 1000 Двухсотка и 1000 500 контроллер, то есть тот самый контроллер с дисплейчиком, то есть он быстрый производительный, функциональный. Более того, у него огромное количество функций для так называемого интернета. Вещей, то есть он поддерживает, допустим, протокол им. КТ описи Юэй сервер, то есть то, что сейчас является мейнстримом в промышленной автоматизации в интернете вещей. Прошу прощения, тут бесперебойник у меня.
19:01 Решил по пищать и так 1500 контроллер? Будет использоваться, используется для сложных задач комплексных 1000 200 для локальных небольших задач для локальных установочек. Ну и, собственно, вершину этой пищевой. Цепочки составляет вот этот вот 400 контроллер. Он у нас лаборатории тоже присутствует, это у нас 8 стенд. Вы его тоже все видели, то есть это самый мощный из всей линейки. Он используется у нас для сложной высоконадежной автоматизации больших технологических систем. То есть это очень мощный контроллер, который в состоянии управлять целым? Цехом крупной технологической линией и способен управлять быстро, эффективно и так далее. Поэтому все, что сложное высоконадежное, высокоответственное, это четырехсотка.
20:02 Более простые задачки в части надежности, но при этом производительный этот еще пятисотка простенькие локальные задачки, это 1000 двухсотка. То есть вот именно такое распределение, ну и Сименслога? Это вспомогательные системы, это ЖКХ и это всякие системы обеспечения. Идем дальше. Ну та же самая корзиночка! Более подробно. Мы с вами уже хорошо рассмотрели здесь. Здесь обратите внимание, Рейл написано вот в новых версиях программного обеспечения. То есть это Рейка, да то есть дин Рейка имеется ввиду?
20:59 По сути, кусок металла, на который смонтированы модули, то есть они стоят рядышком и и связаны между собой как единое целое. Так идем дальше. Более подробно картинка, которая. Которая освещает весь исчерпывающий набор модулей, которые используются. Ну, допустим, у Сименса и это характерно тоже для других производителей, но обратите внимание. Да, блок питания остался, он никуда не делся, причем блок питания у нас.
21:47 Скажем так, Обозначается в 2 основных вариациях. Ну, ПС, это Пауэр Стейшн, то есть, по сути. Станция снабжения электроэнергии, то есть источник электроэнергии, модуль цепу, причем обратите внимание модуль Цепу. Может быть, это тоже повсеместная тенденция? Он сам может нести на своем борту цифровые интерфейсы. То есть интерфейсы для программирования интерфейсе для связи с верхним уровнем интерфейсе интерфейсы для связи с полевым уровнем? То здесь есть и так называемый проффины от зелененький и фиолетовенький профи бас.
22:34 Здесь, когда система небольшая, а контроллер мощный, это можно сделать, когда система сложная. Когда много связей, много коммуникаций, то мы с вами ставим дополнительный коммуникационный. Модуль, вот он ЦМ, ну и, собственно, несколько вариаций коммуникационных модулей существует у Сименса. Их не так много на самом деле, то есть обычно 3 штучки разных типов.
23:00 У других производителей может быть побольше стандартные модули ввода вывода, вот они д и, а и то есть дискретные воды. Аналоговые входы, модельки и модульки вывода до АО. Все типовое, все понятное для того, чтобы получать сигналы и отправлять. Сигналы наружу далее, если у вас корзина длинная корзина состоит из множества модулей, а максимальное количество их. 32 Но чтобы вы понимали, вот еще 500 линейки это появилось не так давно 32 модуля, это примерно полтора метра в высоту.
23:40 То есть это такая очень, очень, очень длинная корзинка, получается, Рейка, поэтому. Банально от этого 1 блока питания не хватает электроэнергии, поэтому мы вынуждены кое где ставить дополнительно модули питания для того, чтобы они снабжали электрической энергии остальные модулечки. Поэтому вы в принципе можете увидеть ситуации, когда у нас существует где то ПС. Опять же модуль питания внутри корзинки он питает все, что правее него. Если шина длинная рейка длинная, продолжается, еще 1 можно поставить и так далее.
24:23 Ну, здесь указано до максимально 2 штучки на шину. Соответственно, часть питает блок питания основной, а часть у нас запитана от дополнительных модулей питания. Ну и, собственно, еще 1 вид модулечков, который не был обозначен в предыдущей картинке в составе корзины, но он приведен здесь. Это так называемые специализированные модули, вот они. Обозначаются они. Буковкой, т. м. Это модули счетчиков, ну имеется в виду быстрый подсчет импульсов. То есть, допустим, если у вас есть какой то датчик, какое то устройство, которое генерирует импульсы? С частотой 1 килогерц и выше то для того, чтобы их подсчитать просто модуля, да и недостаточно. Он не такой быстрый, поэтому ставится специальные быстрые модули.
25:34 К ним можно подключить счетчики, но, простите, подключить какие то источники сигналов, которые быстро меняют свое состояние и посчитать количество изменения этого состояния. Ну, допустим, счетчик электрической энергии с импульсным выходом. То есть вот лампочка на счетчике электроэнергии моргает быстро. Там столько, то импульсов на киловатт час. В принципе, его можно подключить к модую счетчика и дальше просуммировать и посчитать, сколько электроэнергии вы потребляете.
26:09 Ли позиционирование, ну мы с вами вскользь упоминаешь, что есть такая штука. Энкодер, называется энкодер. Это устройство для того, чтобы точнее это даже датчик, используемый для того, чтобы измерить угол поворота либо текущее положение. Выходного вала, там тоже там тоже сигналы меняются. С высокой частотой их нужно обрабатывать специальным образом, то есть там, как правило, 3 сигнала взаимосвязанных выходит для точного определения положения вала. Ну и, собственно, раз они.
26:47 Меняются быстро, то мы используем специальный счетчик, точнее, специальный позиционер, который при помощи быстрых вычислений обрабатывает это все и уже в. Голову модуль Цепу возвращает положение, то есть ЦПУ не занимается обработка вот этих быстрых сигналов. Он уже работает с готовой агрегированной информации.
27:14 Теперь пару слов о интерфейсах. Ну то, что мы с вами обсуждали, то есть интерфейсные модули, полевые интерфейсы и так далее. Посмотрите, пожалуйста, на Слайд, собственно. Когда у нас с вами не хватает модулей в основной корзине, то есть, ну просто закончилось место, закончилось допустимое количество модулей.
27:44 Мы с вами имеем возможность взять и подключить так называемую удаленную периферию или еще 1 корзину, в которой нет своей головы, в которой не выполняет функции. Математических вычислений, то есть задача корзины вот этой, которая справа нарисована только собрать сигналы и отправить их в корзину центрального процесса. Ну и, собственно, собирается она следующим образом. Существует интерфейсный модуль, который отвечает только за то, чтобы сигналы выплюнуть контроллеру и от. Контроллера сигналы принять и выдать их на дискретный или аналоговый вывод, то есть отправить их наружу в виде физики в виде реальных электрических сигналов.
28:37 Модульки они точно такие же, а и Аоды, и до то есть типовые модули ввода вывода, они измеряют сигналы, обрабатывают и в виде кода АЦП возвращает их. В интерфейсный модуль, а он уже по цифровой шине в данном случае зелененькая. Это профинет отправляет их в модуль центрального процессора, который. Считает вот эти корзинки как бы своими родными, как будто бы они стоят с ним рядышком и точно также измеряют сигналы датчиков, зачем это делается, но. Достаточно простая ситуация до, чтобы не покупать 2 контроллера, 2 модуля центрального процесса и ставить их в 2 шкафах, вы можете купить 1 мощный.
29:24 Расположите его в 1 шкафу, завести в него ближайшие датчики. А если у вас технологическая линия, допустим, длинная, то чтобы сэкономить на кабельных линиях, вы можете 2 корзинку вот эту распределенную. Периферию поставить, где то дальше по цеху и свести уже на вот эту корзинку в другой шкаф, сигнальчики. То есть просто это экономия кабельных линий от датчиков, от исполнительных механизмов?
29:53 А устройство между собой, то есть центральный процессор и вот эту удаленную корзиночку связать. По 1 проводу по цифровому интерфейсу, вот и все, то есть и такие ситуации возможны. Далее. Фиолетовый модуль модуль. Шины профибас, но в данном случае вот в том проекте, который я использую в презентации. Этот модулек Используется для Взаимодействия, допустим, с частотными преобразователями для управления частотными преобразователями. У нас с вами в лаборатории этот модулек используется для.
30:53 Тоже управления, частотниками, задвижками и так далее. Так идем дальше. Ну вот более подробно пример дополнительной корзинки в увеличенном формате, вот интерфейс у нее профинет. И вот в данном случае 2 модулечка, а и аналогового ввода и 1 модулечек аналогового вывода. Обратите внимание, здесь появилась надпись Хард.
31:32 Что это означает? Ну, я по моему скользь упоминал, когда мы с вами рассматривали датчики, что датчики бывают интеллектуальными, допустим, датчики давления они. Тоже бывают умными и могут по той же самой токовой петле. Кроме токового сигнала 4 20 Миллиампер передавать еще и цифровой сигнал, то есть. Как бы его прятать за токовым сигналом для того, чтобы сообщать дополнительные параметры, как они себя чувствуют, допустим, и для того, чтобы. Иметь возможность потом настраивать этот датчик удаленно через контроллер. Так вот, как раз такой интерфейс и такой протокол называется Харт.
32:16 Ну и, собственно, очень, очень много современных интеллектуальных датчиков поддерживает данную технологию. Про нее мы с вами поговорим, но, скорее всего, в следующий раз. Когда будем рассматривать шинки шинки полевые, мы тоже рассматриваем, ну очень поверхностно. Мы рассматриваем в рамках среднего уровня, потому что это просто способ связи.
32:47 По поводу пару слов по поводу того, как передается электропитание в корзине. Посмотрите, пожалуйста, на Слайд это для 1000 пятисотки характерно, но ровно то же самое используется в той же трехсотке.
33:08 Для Симен слога там есть свои нюансы, мы тоже про них. Ну, я думаю, что сегодня поговорим. Есть свои нюансы по поводу того, как передается питание, но опять же Сименс Лога. Это такая специфичная линейка, поэтому про нее и будем разговаривать отдельно и так. Как передается питание, в этом случае есть блок питания, то есть Пауэр, Стейшн или Пауэр, модуль. Источник питания на выходе напоминает 24 вольта постоянного тока эти. 24 Вольта мы подключаем к моду дальше, модуль цепу по так называемой задней шине. Сейчас тоже и обсудим, передает питание на остальные модели, то есть мы здесь. Не проводочками вот так вот подключаем питание, а как бы модуль цепу от себя выдает, питание на другие модули через специальное соединение, которое от нас скрыто.
34:03 Если модулей много, то ток по задней шине у нас ограничен, мы там не можем десятки ампер по ней передавать. Поэтому модуль цепу запитывает только часть модулей. Если вдруг модулей много, то мы ставим пауэр Стейшн и уже здесь проводами.
34:27 Тащим напряжение, тащим ток от блока питания до модуля, а дальше уже этот модуль раздает по задней шине питание другим модулечкам. То есть, по сути, это параллельное? Соединение нескольких потребителей просто для того, чтобы проводнички задние шины не нагревались, чтобы не было больших потерь мощностей, чтобы все устройства.
34:53 Снабжались электроэнергией стабильно и качественно. Ну, этот слайд просто информационный в части дисплейчика я уже сказал, что. 1500 Это единственный контроль Русименса, который имеет такой полноценный. Цветной дисплей они бывают 2 типов, маленький 1, 36 дюйма и побольше, 2 и 4 дюйма снизу, как у лога. 1 В 1 Джойстик кнопочка эскейп кнопочка окей, ну и. Собственно, небольшая диагностическая менюшка, которая нужна исключительно для эксплуатации для асушников, чтобы была возможность продиагностировать.
35:47 Дополнительная информация, которая выводится на дисплее. Ну, раз это клавиатура, кстати, у Симен слога тоже есть. Часть этого же функционала дисплей можно заблокировать для того, чтобы несанкционированный доступ отключить, ну и в принципе ну на. Ран, понятно, зеленая полосочка означает, что все хорошо. Контроллер запущен, ну и прочая индикация выводит информацию о том, как себя чувствует модуль центрального процессора. То есть вы бегло можете оценить, что там сломалось, если это сломалось?
36:28 Достаточно важный вопрос в. Части. Карт памяти, которые используются в контроллерах, но визуально вы их могли заметить, тоже на контроллерах у некоторых производителей они как. бы скрыты эти карточки, они под специальной крышечкой, кто то их в явном виде показывает. У Симен слога тоже есть функция подключения карточки.
36:59 Вопрос, зачем эта карточка нужна, ну а давайте по порядочку. Сименслога. Там используется в последних 2 сериях, это 7 и 8 серия карточка типа СД. Хорошо знакомая вам карта, хорошо знакомый вам формат, который у нас победил на рынке. Карт памяти, то есть это обычная с Декарта, такая же, как в телефоне и все менслога. Это из Декарта используется для 2 основных задачек. Это, собственно, архивирование значений, то есть туда можно писать архивы прямо на эту. Карточку в текстовый файл и 2 задача-это программирование контроллера. То есть, в принципе, можно залить алгоритм на карточку, прийти с карточкой, вставить ее в контроллер и контроллеру сказать, чтобы он загрузил алгоритм с карты.
37:59 То есть, по сути, когда у вас нет возможности прийти с ноутбуком, контроллеру нет возможности подключиться у вас в качестве запасного варианта? Появляется возможность карточку использовать как программатор. Это что касается Сименслога, дальше по порядочку 300 серия Сименс. Который вы тоже видели, там используется? К сожалению, это линейка относительно старая, то есть она уже много лет на рынке, там используется не сД. Карта, как мы привыкли, а так называемая ММСИ карта, формат карты немного другой.
38:39 Но она была популярна лет 10 назад, как альтернативный вариант, потом формат СД победил. Ну и, собственно, ММСИ карты сейчас уже просто так не купить магазине, а? Но в Сименсах производит в Сименсах. Использует в своих задачках, то есть там специализированная карточка, которая не читается обычным ноутбуком. То есть там нужен специальный картридер для того, чтобы с ней взаимодействовать?
39:07 1000 200 1500 Линейки имеет на борту классическую сд карту. Ее можно подключить к ноутбуку компьютера, то есть вставив картридер и считать с нее информацию в принципе записать. Зачем нужна с Декарта, но в зависимости от линейки контроллеров посмотрите? То есть можно ее использовать как загрузочную память, то есть контроллер, по сути? Будет с нее загружаться, причем, допустим, вот та же самая 1000 пятисотка вообще без флешки уже работать, нему не может. Ее можно использовать для передачи проекта.
39:44 Здесь точно так же, как программирование через карточку для 1000 двухсотки. Апдейты можно на операционку контроллера поставить, туда можно сохранять документацию. В принципе есть возможность сделать жесткую. Привязку контроллера к конкретной карточке. Но это если вы, допустим, делаете какое то оборудование массово продаете однотипные установки. Технологические комплект нас автоматизации. Если вы не хотите, чтобы кто то туда залез без вашего ведома, не менял оборудование, вы можете сделать? Жесткую жесткую зависимость карточки и модуля Цепу. И соответственно, если модуль цепу сломается, то без вас его никто заменить не сможет.
40:35 Ну и, собственно, как вспомогательная функция, замена модулей без использования программатора. То есть, если карточка жестко не привязана контроллер? Сдох, вы можете его отключить, вытащить карточку, поставить точно такой же контроллер, модуль ЦПУ воткнуть в него старую карточку, запустить питание. Он потянет с нее алгоритм и запустится для тыщу пятисотки. Еще раз говорю, что он не работает без карточки, вообще он загружается с нее, то есть. Это, по сути, его жесткий диск такой. Ну, то же самое обновление операционной системы привязка, дополнительная функция 1000 пятисотки, это архивы, то.
41:17 Ну и то же самая замена модулей без использования программатора, то есть старую флешку. Вытащили в новый контроллер, воткнули точно такое же. Обращаю ваше внимание и запустили, ну, в принципе, трехсотка ведет себя примерно аналогично 1000 двухсотки. То есть флешка нужна и для расширения памяти, и для прочего разного функционала дополнительного? То есть это такой внешний жесткий диск, многофункциональный, но это стандарт. Но это стандартный формат у большинства производителей используется тот же самый подход к работе с флешками. А ну и пару слов о флешках 400 контроллера, который мы сегодня тоже упоминали, который самый большой, который самый мощный, самый надежный там. Используются супер супер специальные флешки, они такие большие широкие. Может быть, кто то помнит, разъем этот назывался или интерфейс Пи Си Эм Си, а это такой широкий разъем. Это аналог старого Айде разъема, который был на старых жестких дисках, ну в старой. До пятнадцатилетней давности до прихода на рынок массового прихода Сата интерфейса был Айдее разъем. И вот как раз компактный вид айда и разъема это и есть писем ся. Вот именно такой формат разъема используется в контроллерах, 400 и там флешки используются. Для опять же увеличение оперативки, к примеру, или как внешний жесткий диск для хранения данных, для архивирования, для обработки данных. Ну и чтобы вы понимали, да то есть, если в новых линейках эти карточки имеют объем, там приличный уже, то есть там.
43:10 Ну как приличный, сейчас он нам смешным. Кажется, это десятки и сотни мегабайт. То для старых систем, то есть для трехсотки карточки имеют объемы несколько мегабайт 8 16 32 и так далее. Точно так же у четырехсотки, но контроллеру много, и не надо, он там фильмы не хранит. Картинки не сохраняет, поэтому там очень оптимизированный алгоритм, который не требует глобальных размеров памяти. Соответственно, там и флешки имеют такие вот компактненькие размерчики.
43:51 Так давайте сделаем небольшой перерыв и продолжим после перерыва. Пару важных моментов касательно того, как работает контроллер для того, чтобы лучше понимать. Как это железяка интерпретирует то, что вы в нее загрузили? Ну, 1 важный момент, да, контроллер? Это совершенно тупая машина, которая выполняет те инструкции, которые вы в нее загрузили, не больше, не меньше, так? Как машина тупая, то этой машине нужно полностью формализовать то, что ей делать в той или иной ситуации. Если вы не формализовали, это то возникнут ситуации неоднозначности, когда машина не знает, как быть.
44:54 При том или ином стечении обстоятельств. Теперь по порядку, как работает эта штука? С точки зрения взаимодействия с внешним миром, с точки зрения взаимодействия с. Полем при обработке сигнала обращаю ваше внимание, что контроллер эта штука дискретная. У нее есть так называемый цикл выполнения программы, работает контроллер следующим образом, напоминаю и так. Контроллер считывает значения входов, то есть, по сути, обращается к модулям ввода и вывода. Простите к модулям ввода и запрашивает у них текущее измеренное значение. То есть нажата не нажата кнопка?
45:51 Какое сейчас давление, какая температура технологического процесса? Контроллер забирает эти значения и помещает в модуль Цепу в область входов, то есть это по сути. Ну, некоторая табличка, некоторая область памяти, где хранится образ, ну, грубо говоря, фотография.
46:17 Того, что сейчас в технологическом процессе, то есть представьте, что модуль ЦПУ просто фотографировать текущее состояние и дальше работает с этой фотографией. Вот как только он взял эту фотографию если что, то вдруг меняется в поле, то он уже это не заметит. То есть он не работает непосредственно с сигналом, он работает с его образом в области памяти, и так он сфотографировал то, что там происходит, и забыл про модули ввода до следующего начала цикла. То есть ему абсолютно все равно, он берет эту фотографию.
47:00 Отправляет в пользовательскую программу пользовательская программа, обрабатывает эту фотографию. Этот образ и в зависимости от того, что пришло на входе, пользовательская программа формирует выход. Область выходов или образ выходов, но, грубо говоря, с точки зрения временных интервалов. Да вот мы потратили на считывание ходов 10 миллиардекунд, грубо много входов, медленная программка с читали, прошло 10 миллиардекунд. Больше мы к входам не обращаемся дальше. Это состояние входов мы отправили в пользовательскую программу, пользовательская программа, к примеру, выполняется 100. Миллисекунд, что это означает, это означает, что к входам мы не обращаемся. То есть вот 10 миллиардекунд прошло, потом прошло еще 100 миллиардекунд.
48:04 После чего. Обработали мы все входа и сформировали. Выходные сигналы мы записываем в область выходов в образы выходов, на это у нас ушло еще. Грубо говоря, 10 Миллисекунд, после чего выходы мы отправляем в модули вывода сигналов. Дискретных и аналоговых, вот только в этот момент поменяется состояние выходов. Если лампочки, допустим, горели, они погаснут, если они были выключены, включатся далее и так считаем 10:110.
48:46 Получается, что в следующий раз мы ко входам обратимся только через 120 Миллисекунд. Вот то, что происходило эти 120 миллиардекунд, нас не касается, мы не обращаем ваше внимание на. То, что происходит, мы сфотографировали и работаем с этой фотографией с выходами. Точно так же мы подсунули фотографии выходов, как должно быть эталон записали это и в следующий. Раз вот это состояние мы изменим только через цикл, то есть мы опять вернулись к входам, сфотографировали в хода, потратили 10 миллиардекунд, обработали новое состояние в ходов. 100 Миллисекунд записали, то есть это означает, что если мы зажгли лампочку, то в следующий раз она погаснет только через 120 Миллисекунд. Ну, к примеру, то есть через время цикла.
49:46 Соответственно, если у вас быстрые процессы, если у вас сигналы меняются очень, очень быстро, то время цикла должно быть маленькое. Если у вас технологический процесс, медленный, вальяжный, неповоротливый, какая нибудь печка, то там время цикла может быть большим, потому что. Температура мгновенная, измениться не может. А если вы управляете каким нибудь роботом или конвейером, то есть какой то мехатронной системой, то там. За Миллисекунды может все очень далеко ускакать, поэтому там время цикла должно быть маленькое. Ну а теперь по поводу стандартных значений? Времени цикла и так в общетехнологических системах в непрерывных производствах мы стараемся с вами использовать цикл не более 100 миллиардекунд.
50:43 То есть этого нам вполне достаточно, если система быстрая, ну. Ну, допустим, мехатроника, какие то роботы либо какие то системы управления двигателями, генераторами и так далее, то там мы с вами используем циклы 10 миллиардекунд и быстрее. То есть 5 миллиардекунд может быть 1 Миллисекунда? Это очень, очень быстрые циклы, это очень много требуется. Возможности контроллера соответственно контроллер должен быть очень мощный, но зато он очень, очень быстро работает, то есть практически в режиме непрерывном. Ну что такое 1 миллиардекунда для человека? Да, это практически незаметно, а вот для двигателя, для технологического процесса это может быть вполне себе ощутимо.
51:41 А вот для той же самой огромной печки какой нибудь металлургической, что такое 1 Миллисекунда? Да ничего, мы за эту 1 миллиардекунду ничего не увидим, ничего мгновенно не поменяется, поэтому там у нас могут. Быть циклы 100 Миллисекунд 500 даже иногда бывает, что 1 секунда, а уж в некоторых отдельных случаях. Ну, по крайней мере, раньше существовали варианты. Когда цикл был 5 секунд, такое тоже возможно было.
52:13 То есть вот такие вот особенности работы контроллера как дискретная система, то есть? Работает циклически циклически, выполняет команду и работает именно с образами входов и выходов, а непосредственно с входом или выходом. Но это в большинстве случаев, но, как всегда, дьявол кроется в мелочах. Поэтому по мере изучения данного оборудования вы рассмотрите другие вопросы. А что делать, если вдруг пока мы где, то вот здесь вот? Болтаемся, здесь произошло, что то страшное есть такое понятие, как прерывание. То есть можно вот это все поставить на паузу, опять сходить к входам, посмотреть, что там и принять решение, ну собственно.
53:05 Ну, собственно, если вы, допустим, там не знаю. Чистите картошку, да, а вас друг по затылку начинает бить, то, наверное, вы отложите картошку, оставив В. Руке ножик, да и будете рассматривать эту ситуацию с другой стороны. То есть сначала решите то, что вас тревожит больше, а потом вернетесь к чистке? Картошки ее дочистите спокойненько и приготовите себе обед. Вот контроллер также, то есть, то есть, спокойно работает, работает, работает, бах ударили. По затылку он пошел, разобрался, кто там хулиганит, потом дальше продолжим. То есть второстепенные задачки ставит на паузу первостепенное, решает?
53:50 Но это решается специальными настроечками специальными механизмами, которые в него тоже заложены в Сименс Лога. Такой функции нет, он простой, он не умеет так 1000 двухсотка трехсотка и выше умеет. Ну и то же самое до более подробно то, что мы обсуждали с вами. То есть контроллер стартует, когда мы на него подали питание или команду перезагрузки подали, он, собственно. Запускается, записывает к себе в память причину перезагрузки. Ну и поехали по порядочку.
54:42 Запустили секундомер, контроллер должен знать, сколько он программу выполняет, считали входа, выполнили основную программу, сформировали выхода. Вернулись обратно, и вот так вот по кругу работаем, работаем, работаем, работаем. Каждый раз каждый цикл запускаем секундомер, потому что ну я же вам говорил про прерывание про эти паузы, которые, допустим, могут затянуться очень сильно. Или, допустим, вы программу неправильно написали, и там есть ситуации, когда она может зависнуть. Ну, допустим, тот же самый цикл Уайл, который вам, наверное. Знакомы или, по крайней мере, в курсе программирования. Вы его изучите, то есть его мы обычно стараемся не применять. Программа зависла счетчик секундомер. Тикает и если секундомер перевалил за максимально возможное значение времени цикла, то контроллер понимает, что он завис и он берет, и сам себя перезагружает.
55:44 Вообще такая подход или такая терминология называется Вотч. Док, то есть сторожевая собака, да и стандартный механизм воч док таймер. Он есть почти у всех микроконтроллеров, контроллеров и так далее. То есть это типовой инструмент, чтобы ничего не зависало?
56:11 Теперь пару слов о том, в чем. Для Сименса разрабатываются программы и с этой средой разработки. Мы с вами будем работать в этом семестре для того, чтобы рисовать визуализацию. Ну, среда разработки для Сименс Лога вам уже хорошо знакомо известно. То есть там у нас логософт комфорт, 8 версия текущая? Мы ее используем для конфигурирования, но еще раз лога это младшая линейка. Для старших линеек С 300 и выше у нас используется другое программное обеспечение, в том числе в том числе это по используется для панели оператор. И так это по называется, но если сокращенно ТИА портал тот или Интеграйтет автомейшен портал, то есть, по сути, это.
57:16 Программное обеспечение, которое в себя вбирает огромное количество модулей. Ну, Яндекс Гоу, наверное, вы слышали? Да вот когда они все сервисы запихали в 1 приложение, вот здесь примерно то же самое. Только Сименс это сделал лет 10 назад.
57:38 Казалось бы, в такой консервативной отрасли, как промышленная автоматизация, где применяются только супер, надежные, проверенные решения. Здесь они, ну и другие производители значительно раньше опередили. Гражданские сервисы, коммерческие в подобном подходе. И так что так, что такое Тиа портал и вообще, что такое концепция тотальной автоматизации? Это когда вы используете единое приложение для решения ряда задач 1? Задача это у нас программирование контроллеров, для них используется подсистема, которая уже очень много. Много лет называется степ, 7 то есть, по сути, это приложение внутри большого приложения, которое используется для программирования контроллеров, в нем разрабатываются программы.
58:42 Для ПЛК визуализация. Делается в программном пакете, который называется Вин Си Си Типовое у Сименса программный пакет для разработки визуализации для операторских станций, то. Есть для компьютеров, для армов, для панелей, оператора и так далее. То есть вот 2 приложение, ну и собственно для конфигурирования частотников приводов? И так далее есть стар драйв, но он же в простонародье сталкер. Смысл концепции тотальной интеграции вы разработали программку, допустим, в степ 7 там. У вас есть набор переменных, вы берете просто вот переменную из списка тянете ее на панель оператора, отпускаете, и она появляется прямо в интерфейсе.
59:39 Точно так же, допустим, из привода у вас есть набор значений. Вы его этот набор значений перетягиваете в контроллер, и у вас появляется перечень. Переменных для общения с приводом, то есть смысл бесшовно интегрировать разные системы в едином программном продукте для сокращения сроков разработки.
1:00:00 Программного обеспечения для повышения удобства и так далее. То есть, когда у вас все компоненты в 1 месте прячутся, вам проще легче и быстрее их настраивать, соединять, ну и обслуживать. В дальнейшем мы с вами в рамках этого курса будем. Использовать только пакет Винсиси для разработки интерфейса операторской станции в виде панельки. Ну, панельки, будем использовать разные и маленькие, которые на 1 стенде у нас установлены и большие, то есть диагональю 9 дюймов и более.
1:00:48 Портал на рынке существует уже, наверное, лет 10, ну и собственно. Появился он как раз в. Эру активного развития ВДДС 8 плиточного интерфейса Виндовс фон. Когда было так далее, то есть тот чудесный период, который ушел в небытие. Но мода на плиточный интерфейс осталось, поэтому, собственно, Сименс, тоже поддавшись новомодному явлению, использовали плиточный интерфейс.
1:01:24 Он не пошел, он в большинстве задач вообще не удобен, поэтому есть возможность вернуться к классическому варианту интерфейса. Виде дерева проекта, то есть совершенно типовой подход для настройки и программирования. В этом все мы с вами поработаем после того, как вы вернетесь к очным занятиям. Ну, в принципе, тенденция положительная, поэтому я думаю, что.
1:01:54 Не так. Долго осталось ждать? Внешний вид среды разработки, пока мы с вами обзорно рассматриваем, потом при разработке интерфейса будем очень, очень подробно это делать. И так внешний вид выглядит следующим образом. То есть дерево проекта слева основные компоненты, здесь контроллеры, панельки, частотники? И так далее все на свете все, что используется у вас в проекте. Основная область там, где разрабатывается алгоритм, собирается корзинка. Рисуется графика справа библиотечки, то есть готовые элементы, готовые компоненты для разработки, для решения той или иной задачки.
1:02:46 Итак, Немножечко подытожим часть информации, которую мы с вами уже обсудили и так смотрите, у нас есть технологический процесс. Ну, обратите внимание, как на картинке он выделен, он выделен синим. Мне подобная классификация очень нравится.
1:03:11 То есть технология считается нулевым уровнем, это трубы? Процессы печки, баки и так далее, это железо. То есть сам техпроцесс дальше 1 наш уровень полевой, вот он датчики, исполнительный механизм, он зелененький. Вот он прячется. То есть это тот уровень, который непосредственно взаимодействует с железом, но при этом уже является частью осушного уровня. То есть той обязательной, необходимой прослойкой для того, чтобы получать сигналы с железа и обратно их транслировать?
1:04:00 То здесь вот он информационный поток, получается, идет снизу вверх, далее взаимодействие железа. И датчиков, понятно, происходит чаще всего за счет чистой механики чистой гидравлики, то есть датчик температуры у нас. Вагин в трубопровод, датчик давления трубой. Приварен к труба трубопроводу или к Баку, в котором он измеряет давление. То есть это прямо физическая связь, прямое воздействие технологического процесса на? На чувствительный элемент датчика.
1:04:43 Как связан датчик и. Средний уровень, но здесь я прошу прощения, видите? Более айтишная классификация. Здесь свернули для нас привычные 2 уровня, а именно уровень контроллеров, уровня СУП и уровень Скада систем как 1. В нашей классификации в классической классификации это 2 уровня, то есть датчики и исполнительные механизмы. Вот они, они к контроллерам привязаны или взаимодействуют с контроллеров либо при помощи. Физики, то есть это электрические сигналы, токовые сигналы, сигналы напряжения, то есть то есть те самые аналоговые дискретные сигналы. То есть это проводочки, которые идут от датчика до контроллера?
1:05:41 И обратно, либо при помощи цифровых интерфейсов, цифровых шин передачи данных. Уровень контроллеров связан с верхним уровнем, он же уровень скада систем, он же уровень операторского интерфейса уже только через. Цифровые линии связи через цифровые шины чаще всего это эзернет. Обращаю ваше внимание, то есть типовая шинка для передачи информации.
1:06:10 Далее. Ну, в данной классификации 3 уровень в общепринятое, это так называемый 4 уровень, это уровень оперативного управления, уровень масс систем мы тоже. Бегло про них говорили, то есть это уже комплексная оценка показателей. То, что мы с вами получили с армов со склада системы и уже обработали. Проанализировали, решили как лучше, ну и самый верхний уровень, уровень АСУ п. уровень автоматизированных систем управления производством либо. Предприятием и уровень ерпи энтерпрайз, ресурс планет, планирование ресурсов предприятия. Вот он, ну, по сути, вот они, 2 связанные между собой.
1:07:00 То есть сколько чего производить, сколько чего закупать, как это все продавать и сколько денежек мы получим, вот такая вот встроенная. Пирамидочка нашего производства получается. Ну а здесь последнее это поставщики и потребители, то есть при необходимости, мы им можем информацию. Выдавать, ну здесь самый простой пример вот этого механизма. Опять же я часто его привожу, это тот же самый Макдональдс, да все, наверное. Представляете, большинство, да, наверное, все были в этом чудесном заведении. То есть вы как потребитель находитесь вот здесь, вот на верхнем уровне?
1:07:43 Формируете заказ через приложение через тот же самый киоск. Мы сейчас автоматизацию берем, да не взаимодействуем с кассиром непосредственно. То есть вы сформировали заказ, этот заказ улетел на уровень оперативного управления? То есть на уровень выполнения вашего заказа, в том числе попал в аналитику? Ваши денежки списались, попали в отчетность куда то сюда для дальнейшего анализа, а сегодня там популярные, допустим. Бургеры, а завтра там не знаю наггетсы. Какие нибудь, то есть сезонность и так далее? Аналитика спроса она вся здесь, и так ваш заказ с уровня потребителя упал на уровень оперативного управления. В зависимости от того, что вы там заказали, этот заказ разделился на несколько технологических подсистем и упали задания на производство. То есть кто то жарит картошку, кто то котлеты для бургеров? И так далее заказ распределился по компонентно компоненты, выполнились, то есть они готовы. Да, а потом мы обратно начинаем заказ собирать. Здесь же вот на уровне процесса заказ собрали из.
1:09:02 То есть системы видят, какой элемент готов? Допустим, там не знаю котлета пожаре, нам можно собирать бургер. Собрали и обратно сформировали информацию на уровень оперативного управления, что заказ готов и собственно. Вам, как потребителю, улетает сообщение в приложении или на экран, что заказ готов, его можно собирать. Это вот на примере Фастфуда самый простой вариант точно так же в технологическом процессе, которая работает. Для конечного пользователя, ну, допустим, автомобилестроения, когда вы заказываете автомобиль с учетом каких то доп опций, то есть выбираете, что вам нужно, что не нужно. Там не знаю, подогрев задних сидений. Дополнительные подушки безопасности и так далее. Этот заказ точно также падает на производство, потом информация возвращается вам. То есть это общепринятый механизм взаимодействия общепринятый механизм интеграции?
1:10:05 Ну и та же самая пирамидка только уже вот в классическом, в привычном понятном виде. То есть уровень поля есть здесь процесс еще ниже датчики, исполнительные механизмы, далее контроллеры? Та самая СутТП, которая была свернута. Предыдущем слайде уровень уровень скада систем операторского интерфейса уровень. Управление производством и уровень ЭР ПИ аналитики. И управление предприятием. То есть вот такая вот стандартная. Типовая пирамидка. Как она выглядит в среде разработки, это самая пирамидка.
1:11:15 На фоне того, что получено в среде разработки. Наложил как раз визуальное представление пирамидки, чтобы вы понимали и так сверху Арм. Это все сделано в теопортале, то есть прямо. Графический редактор взаимосвязей между элементами. Арм. Компьютер да средний уровень, уровень контроллеров, то есть тот самый, это самая корзинка контроллера. И корзинка. Распределенной периферии то, что мы с вами уже обсуждали. Ну и, собственно, поле то, что тоже уже обсуждали частотник.
1:12:11 Как интеллектуальное полевое устройство, ну и вспомогательные шлюзы. Для сбора и передачи данных. Красиво лаконично понятно, то есть, но на самом. На современном этапе развития сред разработки все чаще от нас прячут рутинные, какие то моменты и все больше графических инструментов нам предоставляется для настройки для.
1:12:44 Конфигурирования системки, все вот основные элементы, все взаимосвязи, все это отображено прямо в среде разработки, так? Далее у нас с вами. В рамках данного уровня мы немножечко захватываем алгоритмы, и я бы хотел вам напомнить, как работает регулятор. Для того чтобы еще раз освежить эту информацию и для того, чтобы те, кто еще не до конца понимает, лучше поняли и вообще поняли, как это все происходит. Уже неоднократно это все обсуждалось, но повторение, как говорится, мать учения.
1:13:35 Ну или мать заикания? Мы с вами еще разок рассмотрим данный пример, данная данную структурную схему системы АСУ ТП. Итак, поехали. Структурная схема регулятора с точки зрения основных компонентов. И так напоминаю вам у нас с вами в любом регуляторе есть 2 входных параметра. Сп Сет поинт Уставка, это то значение технологического параметра, куда мы стремимся, то, что хотим получить 250 мм. Уровень воды в баке это наш идеал, это наша цель. Вот у большинства регуляторов у большинства контроллеров в алгоритмах используется именно терминология СП.
1:14:40 То есть сет поинт? 2 Вход, вот он стрелочка внутрь означает вход, ПВ. Процес вэлью или процес Варией был это значение технологического параметра. Это то, что мы получаем с датчика, то есть это сколько сейчас есть идеал, сколько есть сейчас. Этот блочок напоминаю, называется сумматор. В данном случае, если сегмент закрашен, то вход приходит со знаком она. В итоге, что мы с вами получаем и Спя , ПВ, задание, ты текущее значение параметра, то есть мы с вами всегда работаем с разностью.
1:15:32 Мы определяем, насколько далеко мы от идеала. Если разность равна, 0 значит, идеала мы достигли, если разность у нас положительная. То есть уставка больше, чем параметр, это означает, что нужно еще работать, еще увеличивать параметр. То есть добавлять, если у нас разность, разность, отрицательная уставка меньше, чем технологический параметр, значит, мы. Перестарались, значит, много воды в баке нужно убавлять. В итоге ошибка регулирования вот она, но она прямо у некоторых регуляторов так обозначается, как ярлык е р. То есть это раз согласование, это насколько далеко мы ускакали?
1:16:28 + Значит, не доскакали, мать лишнего перескакали. Соответственно, задача любого регулятора, чтобы ошибка у нас была равна 0 все просто. Далее, собственно, сам регулятор, вот он. То есть какой то блок, который выполняет набор математических операций и оперирует? Он как раз с раз согласования регулятор воздействует на исполнительный механизм. Вот он, ну то есть либо открывает его, либо закрывает. В нашей задаче либо наливает воду, либо сливает исполнительный механизм, меняет состояние технологического процесса, то есть меняет количество вещества. Либо количество энергии соответственно объект управления. Вот он переходит в новое состояние и технологический параметр меняется, в какую то сторону. В большую или меньшую в зависимости от того, что мы сделали на новом цикле, мы опять измеряем значение технологического параметра, опять определяем раз. Согласование обрабатываем в регуляторе воздействием на исполнительный механизм, на процесс так далее, пока рассогласование не станет равно, 0 то есть.
1:17:54 Цель, чтобы параметр был равен заданию. Ну и, собственно, перед подробным рассмотрением состава регулятора. Я предлагаю сделать еще 1 перерыв, давайте минут 10. И продолжим. Собственно, пидорегулятор регулятор как компонент системы, по сути, это математика, которая крутится внутри контроллера и нужна для того, чтобы определить величину управляющего воздействия на технологический процесс.
1:18:47 Мы сейчас с вами не лезем, опять же всякие тонкости построения, а рассматриваем общие вопросы реализации систем регулирования. Регулятор состоит фактически из 3 основных звеньев, которые формируют выход регулятора путем выполнения математических операций. Напоминаю, на входе у нас раз согласование. Или ошибка регулирования это самая ошибка отправляется на 3 основных блоков на блок пропорционального звена. Но если попросту, это умножение на некоторый коэффициент.
1:19:34 Пропорциональности и дальше выдача сигнала на сумматор, то есть на сложение с последующим формированием выхода регулятора и интегрирующее звено. Фактически это суммирование. Ошибки, то есть накопление ее, в каком то блоке, в какой то области памяти последующей выдачей на выход и дифференцирующее звено. Фактически это 1 производная, то есть скорость изменения ошибки регулирования. Точно так же величину скорости мы. Отправляем на сумматор и дальше формируем выходное значение. Так вот, регулятор, выход регулятора или принцип работы регулятора строится из совместной работы 3 этих основных элементов, 3 этих основных компонентов или 3 этих математических операций.
1:20:45 По порядку пропорциональное звено, как я уже сказал, это звено, которое фактически умножает величину ошибки. На какой то коэффициент усиления на слайде зеленым изображена? Ошибка регулирования, то есть она изменилась, ступенчато. Ну, допустим, уровень в баке изменился на 1 миллиметр или на 100 мм, то есть скачком, ну, допустим.
1:21:19 Резко увеличился разбор воды в системе. Что сделает пропорциональное звено с коэффициентом 2? Она просто возьмет эту ошибку и умножить на коэффициент усиления. В итоге мы на выходе получим ошибку, которая усилена или ослаблена в зависимости от величины вот этого коэффициента. Если он больше единицы, то мы усиливаем ошибку. Если меньше единицы, то ослабляем, то есть все просто. Обращаю ваше внимание, если ошибка будет равна, 0 то выход пропорционального звена тоже будет равен. 0 То есть, умножив любое число на, простите, умножив 0 на любой коэффициент усиления, мы с вами в итоге получим 0.
1:22:16 Следующий элемент он на слайде был последним. Это дифференцирующее звено. Ну, я здесь немножечко изменил последовательность для того, чтобы было понятно, кто за что отвечает и что делает. Итак, пропорциональное звено просто умножало ошибку на некоторый коэффициент усиления соответственно. Если ошибка равна, 0 то и выход. Пропорционального звена тоже равен, 0 это означает, что пропорциональное звено работает только тогда, когда все плохо, когда есть ошибка. Как только все стало хорошо, ошибки нет, пропорциональное звено перестает работать, потому что у него на выходе 0.
1:22:58 Дифференцирующее звено. Напоминаю это 1 производное от. Ошибки здесь фиолетовым цветом показано изменение ошибки. Как вы видите, это линейное нарастание, то есть, по сути, линейное увеличение ошибки регулирования. Ну, допустим, у нас плавно растет уровень в баке.
1:23:31 Взяв 1 производную, то есть измерив скорость изменения технологического параметра, фактически это угол наклона прямой. Мы с вами получаем на данный в данном случае некоторую константу, то есть у нас. С вами движение равномерное, с постоянной скоростью. В итоге если ошибка меняется быстро, то есть скорость большая, выход блока большой блок сильно влияет на результат вычисления регулятора, если. Ошибка меняется слабо, то есть вялотекущий процесс, то выход дифференцирующего звена маленький. Производная маленькая скорость, маленькая, соответственно, дифференцирующее звено слабо влияет, то есть. Смысл работы диф звена опять же она работает, когда все плохо. Резко, быстро, что то изменилось, дизвено резко, быстро, сильно воздействовало на исполнительный механизм, то есть выплюнула большое значение.
1:24:35 Если ошибка меняется слабо или ошибка, не меняется вообще равна 0 или равна Константе. Выход Див звена будет равен, 0 он перестает работать вообще, то есть. Пропорциональное звено работает, когда все плохо дифференцирующее звено работает, когда все плохо. Соответственно, кто то должен работать, когда все хорошо и собственно.
1:25:01 Единственным или последним элементом в данной системе, который работает, когда все хорошо, ну и когда плохо тоже работает. Является интегрирующее звено. Собственно, интегрирующее звено работает следующим образом. Я уже говорил, что это сумато и так, если у нас ошибка положительная красная линия на графике. То есть ошибка была нулевой, стала положительной сумматор или интегратор прибавляет к своему накопленному значению величину ошибки, то? Есть он с некоторой постоянной времени интегрирования, то есть с какой то периодичностью прибавляет к своему значению выходному значение. Входа, соответственно, выход интегратора плавно равномерно растет в соответствии с величиной ошибки, как только ошибка становится равна. 0 Выход интегратор остается на прежнем значении, потому что фактически интегратор начинает прибавлять 0 к накопленному значению.
1:26:16 Соответственно, значение не меняется накопленное. Соответственно, вот работа звена, то есть ненулевой выход, когда ошибка равна 0. Все другие имеют нулевой выход, когда ошибка равна, 0 как только ошибка стала отрицательной, то есть много воды налили и. Выход интегратора начинает прибавлять. К себе отрицательное число, вот она. Она и, соответственно, начинает падать, то есть убывать за счет того, что прибавляет отрицательное число, значение падает.
1:26:58 До 0 то есть, ну соответственно меньше, чем 0 быть не может. Кран не может закрыться дальше, чем он закрыт, ну и так далее, то есть. То есть вот таким вот образом работает интегратор, накапливает значение ошибки, ну и, собственно, вычитает это самое значение ошибки при отрицательной величине. Ошибочки. Комбинируя сигналы или выходы 3 этих математических блоков, мы с вами получаем выход регулятора. Который еще раз напомню, складывается из суммы пропорционального интегрирующего и дифференцирующего звена. Когда ошибка равна 0 пропорциональное звена, не работает, див звено не работает, работает только. Интегратор вот напрямую, как только ошибка скаканула куда то подключается пропорциональное дифференцирующее звено. Соответственно, выход регулятора увеличивается, ну или уменьшается в зависимости от знака ошибки.
1:28:10 Понятно, что если ошибка отрицательная, да то отрицательное число, умножив на коэффициент усиления, мы получаем тоже ответственное число. Ну и точно так же с производной. Для выполнения математических операций для выполнения математических вычислений очевидно, что нам требуются некоторые переменные, да? Ну, из курса программирования, из курса информатики вы знаете, да что переменная? Фактически это символьное обозначение какого либо параметра, под которой выделяется определенное количество памяти.
1:29:00 Ну, допустим, для дискретного сигнала для сигнала типа бул Булевского до выделяется 1 вид информации, то есть 1 битик. Его вполне достаточно для того, чтобы хранить состояние кнопочки, состояние концового выключателя. Или менять состояние лампочки? То есть 1 бит дискретный сигнал? Для аналоговых сигналов у нас с вами выделяется большее количество памяти. Ну и здесь у нас появляется возможность выбрать конкретный тип данных. Ну и давайте посмотрим.
1:29:48 Что мы с вами здесь можем увидеть на данном слайде, к к примеру? Текущая скорость вращения двигателя. Тип данных Риел, ну что такое тип данных? Риел в контексте программирования контроллеров контексте среднего уровня система СутТП-это числа с плавающей точкой. То есть это привычное нам число с целой и дробной частью, разделенное запятыми и число имеющее знак?
1:30:26 Но мы с вами помним, да что в системе Лога нет чисел с плавающей точкой, нет запятых. Он слишком маленький, он слишком слабенький для работы с данными числами. Ну, чтобы вы понимали, да под такое число у нас выделяется.
1:30:46 В зависимости от задачки. Как правило, 4 Байта, информации, 4 Байта, памяти или так называемые 2 слова, слово это 2 Байта. Код для чисел с плавающей точкой именно столько у нас памяти и выделяется. Поэтому в Лого мы с вами используем другие числа числа типа интеджер, вот они инт или на сленге Инты. Ну, это собственно числа, которые у нас, как правило. Всего 2 Байта вместо 4 но могут быть только целыми. То есть не имеют дробной части, но зато более компактный в 2 раза более компактные, чем числа с плавающей точкой. Ну и из за того, что для них выделено всего 16 бит или 2 Байта, они. Ограничены этим объемом памяти и могут иметь значение. Ну, собственно, вот они точно также всеми слогом. Мы работаем с Интами, и значение у нас ограничено от она 32000 768 до 32000 767.
1:32:05 То есть вот такой вот диапазон? Но и его нам достаточно для большинства наших задач. Так что так? Собственно, вот те самые числа типа интеджер. 2 Байта и как они представлены внутри контроллера? Ну еще раз напоминаю, что контроллер это электронное устройство, это микропроцессорное устройство. Соответственно, она использует двоичные числа у себя внутри для выполнения тех или. Иных операций, а это означает, что там все хранится в виде двоичных данных. Ну и немножечко напомню вам про кодирование десятичных чисел в двоичной системе исчисления. И так пример, вот он десятичное число, давайте я немножечко увеличу.
1:33:13 Гистичное число положительное 662 целое положительное число, попадающее под наш диапазон. От ты 32000 до 32000 и есть еще некоторое исключение, без знаковые целое число. Вот они тогда они у нас болтаются в пределе от 0 до 65535. То есть весь отрезок у нас 65000 значений и так где же прячется? Знак числа в двоичной системе исчисления напоминаю. Он нас прячется в старшем разряде, 15 битик означает знак числа. Если он равен, 0 то знак положительный, если он знает Равен Единичке знак отрицательный.
1:34:00 Собственно, поэтому беззнаковое число имеет больший диапазон. Это + 1 разряд знаковые вот ограничены знаком, а дальше в ту или другую сторону у нас 32000 значений. Ну а дальше банальное кодирование степеней двойки в зависимости от места, где они расположены 2 в 9 + 2 в 7. + 2 В 4 + 2 В 4 + 2 в 2 + 2 в 1 суммируем, получаем классическое дистичное значение, которое представлено в двоичной системе. Как вот 000000 1 и так далее.
1:34:40 Но еще вы можете заметить, когда будете работать с контроллерами, так называемые шестнадцатиричные. Числа обозначаются они. Символом Хекс Шестнадцатиричная система. И чаще всего идентифицируется либо по буковке аж в. В системах программирования либо если мы берем Сименс, то обозначение примерно такое дубль в Ворд. Означает слово решетка, 16 то есть нам явно говорят, что это шестнадцатиричная система. Здесь обратите внимание, 2 решетка, двоичная система и дальше само число.
1:35:30 Ну, собственно, значение умноженное на 16 степени. Все просто. То есть более компактный вид, компактное представление и в ряде случаев она просто удобнее шестнадцатеричное представление числа? Знаковые числа, вот они, то есть наличие отрицательного числа, она 662 занимает старший разряд. Ну и, собственно, кодирование происходит несколько иным образом. В отрицательную сторону. Ну и в Хаксе соответственно тоже. Специальное представление сигнала. Раньше кодирование, декодирование, да мы зачастую выполняли вручную, сейчас той же самой средний теопортал, это все делается в 2 клика. Вы просто меняете систему исчислений, все.
1:36:43 А Специфичным типом данных. Является так называемое двойное целое. Вот она, Дабл Интеджер или сокращенно д. Инд, здесь парадоксально, да она под него выделяется целых. 32 Бита, то есть практически как число с плавающей точкой, ну и делается это для 1 простой цели, чтобы записывать большие целые числа.
1:37:12 Вот он диапазон значений, то есть это уже получается 2. 10000000000000, то есть число, которое позволяет хранить большинство. Технологических параметров в целом виде, если это необходимо. Кодирование абсолютно аналогичное расположение знаков, абсолютно аналогичные, просто число с большим количеством. Памяти, которая под него занято, ну и если при разработке программ для компьютеров мы сейчас уже не особо заморачиваемся до с количеством. Памяти с ее распределением, с тем как мы ее занимаем, то при разработке программ для контроллеров. К счастью, нужно об этом задумываться, то есть. Не нужно городить бесконечное количество переменных занимать большое количество памяти контроллера, это все увеличивает время, это все отдаляет. Работу контроллера от системы реального времени, поэтому внутри сред программирования контроллеров есть специальные механизмы проверки и.
1:38:36 Оценки объема занятой памяти, то есть там нельзя себя вести таким же образом, как при разработке программ для компьютеров. У нас не гигабайты памяти, к сожалению, не гигабайты места, чтобы там все это. Бездумно использовать так пару моментов пару слов о числах типа реал, то есть это числа с плавающей точкой привычные нам понятные нам. Занимают они точно так же 32. Байта, о простите, бита оговорился, а? И нужны для того, чтобы повторюсь кодировать числа с плавающей точки диапазон значений, которые туда можно спрятать. Он на самом деле огромен, обратите внимание, вот ты 3 на 10:38 степени.
1:39:55 И соответственно до значения + 3 на 10 в 38 степени. То есть это огромные числа, которые решают подавляющее большинство задач хранения, обработки информации, технологического процесса, вот. Именно числа типа мы и используем в работе классических регуляторов. Ошибка у нас приходит, типа Реал, то есть это число с плавающей точкой.
1:40:26 Параметр технологически приходит типа риал результат работы регулятора, это значение типа к делу и так далее. То есть мы чаще всего используем Риеллы, затем лишь исключением? Когда не работаем с контроллером лога, который не умеет с этим работать, то есть у него вот 16 бит памяти выделено под переменные, и это ограничение вы никак не преодолеете.
1:40:54 Число здесь кодируется очень замысловато. Ну и я очень вас прошу самостоятельно посмотреть в открытых источниках до той же самой Википедии. Каким образом выполняется кодирование числа типа ел, то есть как нам из двоичного числа? Число с плавающей точкой здесь у нас есть 3 основных сегмента знак. Он точно также в старшем разряде болтается подход здесь, 1 и тот же 0 это положительное число единичка. Отрицательное число экспоненциальная часть числа в начале. Вот она бултыхается и Мантиса, так называемая величина 32 бита. Вот вот как раз декодирование каждой из. частей нам и дает результирующее значение параметра технологического. Потому как если вы не разберетесь в кодировании числа типа реал потом при обработке при отладке. У вас могут возникнуть проблемы с интерпретацией значений, потому что там будет совершенная кракозябра при декодировании из двоичной, допустим, в десятичную и так далее.
1:42:17 После того как мы с вами бегло разобрались с типами данных, мы с вами плавненько переходим к операциям над этими данными. Да, в любом случае любую технологическую систему мы описываем. Как набор параметров на среднем уровне, но в отличие от полевого уровня на среднем решается огромное количество задач, поэтому и объем информации относительно большой получается.
1:42:48 Итак, средний уровень обработка информации, обработка как раз данных, основные типы которых мы с вами обсудили. Посмотрите, пожалуйста, на Слайд. Но для двоичной системы мы используем для двоичных значений, мы используем так называемую Булеву алгебру.
1:43:10 Блоки и или не исключающие, или и так далее. То есть то, что нам понятно то, что нам знакомо, собственно? Собственно, это и изображено на слайде, причем на нескольких языках, программирования основных. Но мы про них еще чуть чуть поговорим, это языки ФБД. И привычный, и понятный нам язык лад, и тот, и тот мы использовали в среде логософт комфорт. В БД мы использовали в большей степени лат, это, по сути, ну, схема электрическая, принципиальная или релейная схема.
1:43:50 Которой мы перевели на язык программирования. Ну как вы уже помните? Блочки мы пишем не сами. Особенно это касается типовых блоков, а мы их просто перетаскиваем из библиотеки. В теопортале она расположена справа Влога, собственно, расположена слева. Мы их перетаскиваем и размещаем в системе, а потом уже устанавливаем вот эти вот связи. Огромное количество комбинаций на Слайде приведено в зависимости различные операции. Мы сейчас не будем в них погружаться, мы более подробно это все еще раз обсудим на практике В. рамках практических занятий для того, чтобы закрепить все нюансы, то есть еще раз вся разработка. Все программирование ведется путем использования библиотечных компонентов с целью.
1:45:04 Обработки последовательной обработки информации в контроле. Ну и вот, собственно, про то, что я говорил в части преобразования типов данных. В теопортале это делается очень легко, очень просто. Обратите внимание, то есть вы прямо можете указывать представление 1 и того же числа в В. Специальной табличке просмотра переменных и система сама вам будет декодировать значение числа, в том числе вы к нему можете обращаться побитого.
1:45:40 То есть прямо говорить, что я хочу увидеть битик с номером 2 0? Хекс Бин Дег. Десятичное число с знаком и. И в принципе, вот он флоттинг поинт, то есть фактически реал. Ну, ну и при разработке алгоритмов, особенно более сложных алгоритмов. Сейчас мы не говорим про лога конкретно, там еще раз у нас жесткое ограничение. Да, по типам данных у нас их там 2 тип данных, булл, булька, двоичное число и тип данных, и тот же все.
1:46:33 В более мощных контроллерах у нас здесь появляется вариатив, вот он достаточно большой, то есть интеджер можно выбрать. Короткое целое двойное целое, ну и так далее. Здесь числа или типы данных отличаются объемом памяти и отличаются способом хранения информации, ну и собственно?
1:47:04 Исчерпывающий перечень основных типов данных. Битовые типы я уже говорил, Бул Булевский, переменный Байт. Это 8 бит, да, Ворд, это 2 Байта де Ворд Даблорд, двойное слово. 4 Байта. Элворт, ну, по сути, длинное слово, это аналог. И чар, это строковый тип данных. Математические данные для хранения чисел. СНТ и так далее, то есть большое количество. Ну, чаще всего мы вот интерелы используем и типы данных, обозначающие время. Ну, тоже, как и для любой среды, программирования, с 5 тайм, тайм, Дейд и так далее. Сложные типы данных, опять же, работа с данными и внутри контроллера есть возможность работать с массивами, и это нормально, как и в любой среде.
1:48:14 Программирования массивы позволяют нам более оптимально хранить информацию, можно работать со структурами. Но это некоторый аналог массива или консолидация группы переменных. Ну, то есть, допустим, есть у вас. регулирующий клапан, у него есть набор параметров, открыт закрыт текущее положение, включить, выключить или открыть, закрыть команды вот эти 5 параметров. Вы можете поместить в структуру и соответственно ее. Потом транслировать, то есть если у вас 100 клапанов, то вы эту самую структуру для 100 клапанов используйте. То есть условно некоторые такой свой комплексный тип данных, некоторый аналог массива получается?
1:49:06 Ну и строка стрим строковые представления данных. Ну, старайтесь, их контроллерах не использовать, потому что строковые типы данных имеют наибольший размер. То есть больше всего требует памяти, и контроллер в принципе не. Рассчитан в явном виде для работы с строками. Пользовательские типы данных, то есть можно придумывать свои так называемый юзер Дефайны, дата тайп, ну а почему нет, да? То есть нужно вам какую то специфичную задачку решить, то, пожалуйста.
1:49:52 Ну и сравнительная табличка Типы данных длина в битах сколько приходится. Примеры переменной, ну и сами переменные. То есть для 1 символа для кодирования 1 символа у нас уходит 8 бит? Все остальное тоже можете увидеть на Слайде. Пока нам эта информация нужна просто для общего понимания. Но то же самое да с переменными типа дата для кодирования времени у нас уходит 32 бита. Ну и тип, Дейд, ин тайм, дата и время, то есть, по сути, год. Часы, минуты секунды, Миллисекунды.
1:50:49 64 Бита у нас уходит для кодирования данного значения. Это все тоже нам в дальнейшем понадобится. Так ну, наверное, это мы с вами пропустим. Подробную информацию о том, как работать с переменными типа время. Как я уже сказал, самые прожорливые, это строковые переменные, вот они объем памяти у нас рассчитывается следующим образом. Это количество символов, + 2 то есть. Допустим, у вас в строке 5 символов, то есть 5 символов + 2 и того 7 умножаем на 8 вот это объем в битах, которые нужно выделить для хранения этого объема данных, ну и.
1:51:40 Ну и максимальное значение это 254 символа, то есть небольшая строчка, все остальное сложные типы данных, массивы, структуры и так далее. Они у нас их размер определяется пользователем, то есть зависимости от того, сколько вы туда значений и поместите. Ну, массив, как правило, это значение 1 типа, допустим, 20 значений типа Интеджер структура, это группа значений разных типов.
1:52:21 Так продолжаем. После того, как мы с вами обсудили, как хранятся данные. Какой объем памяти они занимают, имеется возможность обсудить процесс обработки этих данных? Но за исключением того, что да, нам нужно поместить какую то программу внутрь контроллер вопрос, как эта программа выполняется. Посмотрите, пожалуйста, на Слайд. Итак, у нас с вами есть основной цикл контроллера. Основная программа Ну, для всех линеек Сименс, которая выше, чем Лого, это 300 1200 и так далее, у. Нас основная программа или основной блок называется так называемым организационным блоком или об 1, то есть 1 главный типовой организационный блок.
1:53:27 То есть это то, что выполняется всегда то, что мы с вами уже обсуждали? Считываем входа, обрабатываем программу, вот как раз здесь программа и прячется, формируем выходы как. Как происходит выполнение программы, ну фактически цикл берет данные ДБ, это блок данных, то есть это не база данных, а некоторая область памяти. Где как раз болтаются наши с вами значения образов ходов? Допустим или образа выходов, далее мы берем эти. Данные и обрабатываем в некоторые функции, но функция мы либо вытаскиваем из библиотеки, либо пишем свои. Допустим, функция и это логическое умножение 2 дискретных значений 2 переменных типа. Булл сама функция тоже может иметь вложения некоторые, то есть.
1:54:29 Внутри функции может крутиться какой нибудь функциональный блок, тоже сразу скажу, что функциональный блок отличается от функции тем, что он запоминает значение. Функция это, допустим, а + б подсунули значение, а подсунули значение бы. Она сложила значение, выдала и забыла про это. Функциональный блок запоминает то, что он сделал.
1:54:55 И в итоге получается, что при выполнении программы программа выдает или отдает функции выполнения того или иного действия функция еще кому то? Это значение пересылает, но и так далее, когда все вложения выполнены, потом значение возвращаются обратно и уходит в основной цикл, ну и так далее.
1:55:21 Выполнение программы идет сверху вниз слева направо. То есть по мере того, как вы ее написали, выполняется сначала верхние бочки слева и все ниже и ниже. И возможно ситуация, когда у вас либо очень много вот этих функций, либо очень много вложений. Основной цикл разрастается, становится большим и, соответственно, контроллер выполняет программу долга, контроллер начинает тормозить. Ну и вот типовой пример линейной структуры программы, вот он основной блочок. Мы сначала поработали с насосом, потом поработали с. Клапаном, то есть последовательно обращаемся к тому или иному устройству. Это наиболее, скажем так, предпочтительный вариант реализации.
1:56:23 С точки зрения работы с данными, да у нас функции, как я уже сказал, они не хранят значения между вызовами, что делает функция, то есть блок. Или основной цикл программы вызывает функцию? Функция обращается к данным, то есть забирает эти данные, обрабатывает, возвращает значение она. Может записать эти данные в глобальный блок данных? Ну, глобальный, понятно, он доступен всем, потом следующая функция работает с теми же. Самыми данными либо с предыдущими данными, что ей вернула предыдущая функция, то есть программа выполняется последовательно друг за другом.
1:57:17 Ну и раз уж мы с вами упомянули про глобальные типы данных или глобальные данные вообще в целом, да и локальные данные здесь нужно обсудить. Или упомянуть, чем они отличаются? Ну кто такие глобальные данные, глобальные данные, которые доступны всем, которые доступны отовсюду?
1:57:43 То есть это те данные, которые вы можете вызвать из той или иной функции, то есть взять их, обработать и получить какой то результат? То есть все функции, все элементы системы видят глобальные данные, что такое? Локальные данные или локальные переменные они доступны или хранятся только внутри функционального блока, то есть, по сути, внутри функции. Если хотите и наружу никак не доступны. Ну, простой пример, да, допустим, функция.
1:58:19 Так что так? Какой же тут привезти там простой пример? А ну, допустим, вот функция масштабирования аналогового сигнала. То, что мы с вами уже делали, то есть, по сути, что делает эта функция внутри своей? У нее на входе есть аналоговый сигнал, то есть значение тока, а на выходе она нам выдает. Давление или уровень, но как вы помните, да эта функция же еще делает кучу операций. То есть она из напряжения делает ток из тока давление из давления, уровень и только потом нам возвращает уровень? Вот все вот эти вот перевалки.
1:59:06 Внутри функции они снаружи недоступны, то есть другие алгоритмы, другие функции не могут обратиться и спросить. А сколько у тебя там текущее значение напряжения было? Это все локальные данные, они чаще всего не нужны снаружи, поэтому и называются локальными. То есть только внутри функционального блока или внутри операции хранится?
1:59:32 Будем считать, что они персональные данные теперь по поводу немножечко подробнее по поводу прерываний. То, что мы с вами обсуждали, да на примере про картошку. Вот как раз здесь хорошо, этот вариант иллюстрирует данный слайд, смотрите.
1:59:53 Записали мы значение выходов, считали значение входов, здесь немножко другая последняя. Начали основную программу, вот тут удар по затылку. То есть что то пошло не так, мы с вами останавливаем, ставим на паузу выполнение основной программы и идем обрабатывать вот это событие и какое то аварийное событие, не штатное, не типовое.
2:00:22 Обработали его специальной функцией, вернулись обратно, начали выполнять, выполняем, выполняем все хорошо, потом бах какие то часы нарисованы. Часы означают циклическое прерывание. Ну, допустим, прерывание, которое происходит раз в 10 миллиардекунд, то есть программа контроллера останавливает. Все то есть ставит на паузу и выполняет какую то циклическую программу. Ну, допустим, нужно зажигать или гасить лампочку раз 100 миллиардекунд или в. 10 Миллисекунд, опять же основной блок программы поставлен на паузу. Мы пошли выполнять более приоритетную задачку, и здесь какая ситуация возможна.
2:01:13 Во время вот этого циклического прерывания опять возможно возникновение аварийной ситуации. Это означает, что возникает событие с более высоким приоритетом. Мы ставим циклическое прерывание на паузу и занялись чем то очень, очень важным. То есть пока вы разбирались с ударами по затылку, вам и вдруг загорелось полотенце на плите? Вам уже не до затылка, вы тушите полотенце. На это тоже уходит определенное количество времени. Потом вернулись к вашему обидчику, разобрались с ним и.
2:02:02 Закончили этот процесс, а здесь смотрите, пока вы с полотенцем разбирались. Пришло еще 1 циклическое прерывание, то есть вы вот это закончили с опозданием и потом следующие. Начали сразу же и только после этого вы, когда вот все важное сделали все важные дела. Вы вернулись к основной программе наконец, то ее доделали и вернулись обратно. То есть вот таких вот нештатных ситуаций может быть очень, очень много. Они могут возникать друг за другом или внутри друг друга и, соответственно, время выполнения. Программы может меняться, когда все хорошо, она может выполняться очень, очень быстро, когда все долго оно выполняется. Точнее, когда все плохо, программа выполняется долго.
2:02:53 Ну и собственно. Пример временной диаграммы. Подобных. Ситуации, смотрите, запустили контроллер, вот выполняется основной цикл программы 1. Раз его прокрутили, ну, допустим, он у нас. Ну, грубо говоря, 10 Миллисекунд 2 раз прокрутили. Начали его выполнять 3 раз, возникло циклическое прерывание. Вот оно об 35 так называемое, это означает, что мы основной цикл поставили на паузу, пока это все выполняли.
2:03:34 Выполнили, потом опять вернулись. Понятно, что время вот этого цикла оно стало больше, чем вот этого. Просто потому, что здесь еще появилась дополнительная задачка. Опять же успели сделать? 1 Основной цикл начали еще 1 Потом опять полирование доделали, ну и так далее. В итоге мы получаем с вами время между прерываниями. Вот она, она фиксированная, раз это циклическое прерывание, они аварийные, да она по таймеру. Происходит, а вот время цикла основной программы она плавает, когда то быстро выполняется. Потому что нет ничего внутри прерываний, когда то медленно из за того, что мы тратим ресурсы процессора для решения других задач.
2:04:30 Далее. Немножечко слов про то, как контроллер хранит данные внутри себя. Посмотрите, пожалуйста, у нас Лайт. Есть в современных контроллерах такое понятие, как стандартное хранение информации и оптимизированное хранение информации. Вот 2 примера стандартное хранение информации, вот оно. Ну, вы пишите программу, создаете переменные, создали переменную. Допустим, кнопочка, 1 вот она упала в эту область память. Потом, смотрите, думаете, ага, мне нужен нужна переменная типа Байт? Вот вы ее сделали по мере написания программы, потом дальше вы смотрите такие. А мне еще нужно 2 кнопочки или 2 лампочки добавили.
2:05:32 Но при этом понятно, да что здесь вы ничего не размещали. Здесь все занято, здесь опять куча свободного места. Далее вы решили, что вам нужно переменная типа слова или интеджер, какой то создали интеджер. Он сюда не помещается, потому что ему нужно 2 Байта, соответственно, он начинает. С 4 Байта и 5 занимает, ну ему надо с четного начинаться. Поэтому он не может по серединке, где то оказаться опять куча пустого места, которое уже потом не использовать.
2:06:10 Потом вдруг опять кнопочку, какую то надо стало, потом опять интеджер. В итоге вот вы заняли кучу места под свои задачки, и при этом у вас куча свободного места осталось, которая больше не используете, то есть не оптимально занимаете. Память с точки зрения оптимизации, то есть это, по сути, дефрагментирование жесткого диска. Когда вы оптимально распределяете загрузочку, то есть вы в начале поместили большие данные. Потом поменьше, а потом самые маленькие и сэкономили.
2:06:49 1 Байтик памяти с точки зрения расположения. Если дополнительно оптимизировать этот блок уже вручную, то в принципе вы можете вот сюда свои бульки покидать вот эти значения и соответственно 4 Байта памяти легко высвободить при оптимизации подобной процедуры.
2:07:17 Ну и собственно. Та самая пирамидка тот самый средний уровень, который получает значение с поля, хранит их в виде переменных, обрабатывает их в виде переменных и формирует выходы в то же самое поле в виде переменных.
2:07:43 Так что так? Ну ладно, немножечко слов про систему передачи данных в контроллерах Сименс. Ну, как я уже сказал, существует 2 основных варианта передачи информации, это более современный вариант. Профинет вот он и и классический вариант профибас фиолетовенький. Ну, сравнительная характеристика, она вот приведена справа. В принципе, профинет это сейчас основной современный стандарт.
2:08:18 Который во всех современных системах вы будете применять, вы будете использовать то есть. То есть это аналог компьютерной сети, аналог шины Эзернет для передачи данных между устройствами? Ну а для взаимодействия с полем до с частотничками мы чаще всего используем с вами профибас. Потому потому что это с точки зрения надежности шина более интересная. Она медленнее, она позволяет подключить меньшее количество устройств, но. Ей комфортнее находиться среди железяк, комфортнее находиться среди труб баков баллонов задвижек, поэтому мы ее используем.
2:09:13 Профинет мы чаще всего на уровень оборудования не отправляем на паевой уровень профинет. Мы используем либо внутри связи внутри среднего уровня. Либо для связи среднего уровня и верхнего уровня в системах автоматизации. Вот как раз здесь АРМ связан с контроллером посредством эзернет.
2:09:47 На данном слайде, ну уж совсем обзорно приведен верхний уровень. Про него мы тоже поговорим подробнее на следующих лекциях. Но так или иначе, я еще раз повторюсь, что. Основным современным стандартом является именно использование профинета для горизонтальных связей среднего уровня и для связи среднего уровня и верхнего уровня.
2:10:13 Ну, здесь, собственно, то же самое, но про это подробнее. В дальнейшем мы с вами обсудим. Ну и, собственно, немножечко буквально пару слов по поводу взаимодействия с панелями операторов. Ну, как я уже говорил, да контроллер взаимодействует с. Верхним уровнем посредством посредством чаще всего профинета, то есть промышленного и информацию. Он точно также выдает на верхний уровень посредством.
2:10:48 Цифровых пакетиков, которые улетают, собственно, в панель. Оператор, то есть у нас есть некоторая переменная, мы ее можем передать на панель оператор здесь что следует. Отметить панель оператора устройства для отображения данных оператор Оператор-это человек, человек, пассажир значительно медленнее обрабатывает информацию соответственно.
2:11:16 Высокой частоты обновления данных нам не требуется, поэтому, как правило, мы с контроллера данные запрашиваем. 2 Раза в секунду. 1 Раз в секунду то есть. Не так часто и обновляем их оператора, то есть в принципе более частое обновление, он просто не заметит. Так, ну хорошо, давайте тогда сделаем еще 1 перерывчик и уже более подробно поговорим про Сименслога. В части работы в части построения в части взаимодействия.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.