Первый урок курса по программированию ПЛК Siemens посвящён обзору структуры контроллера. Рассматриваются состав модулей (ЦПУ, ввода-вывода, специализированные, коммуникационные, интерфейсные), циклическое выполнение программы, прерывания и адресация каналов ввода-вывода.
- 00:20 Обзор структуры ПЛК и модулей
- 05:36 Циклическое выполнение программы и образы входов-выходов
- 06:37 Ограничения дискретных входов и специализированные модули
- 13:54 Коммуникационные и интерфейсные модули в структуре ПЛК
- 19:44 Циклическое выполнение программы в ПЛК
- 21:49 Прерывания в контроллере и их обработка
- 30:01 Виды прерываний и опасность совместного доступа к данным
- 36:27 Адресация модулей ввода-вывода
- 39:27 Чтение значения по адресу и присвоение переменной
- 41:53 Системные функции как драйвер для модулей
- Siemens
- PROFIBUS
Кому полезно: Инженерам АСУ ТП, начинающим программистам ПЛК и студентам, изучающим архитектуру контроллеров.
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:00 Ну, все, в принципе, можно можно начинать. Начинать. У нас 1 лекция сегодня обзор структуры ПМК и сказочная с гадостью, что вообще из себя представляет. Необходимо понимать, потому что программирование контроллера это не какая то гипотетическая программа. Это программа взаимодействия с полевым оборудованием, со Скада системами. В общем, поэтому нужно понимать. Какова их структура, вот начнем с полка. Что из себя представляет, как правило, что из себя представляет ПЛК в общем случае, то есть, как правило, модуль ЦПУ.
1:05 Центральный процессор. Центральное процессорное устройство, точнее его обычно раньше называли. Это модуль, на котором и производятся все вычисления, исполняется программа. Собственно, все, что программируем мы именно этот. Модуль типа у контроллера и есть, как правило, какие то дополнительные модули, то есть это различные модули. Там входные дискретных сигналов, выходные дискретных сигналов, ну это, как правило, а и.
1:48 Бывает, специализированные модули, например, модуль там Фит регуляр на задерживается на специализированных моделях или там, например, модуль счета там? Эти модули. Объединены с с центральным процессорным модулем, как правило, по какой либо шины в зависимости от производителя разная марка машины, то есть. Как правило, это последовательное чудо данных встречается параллельную шину, да с. Примером, например, служит линейка контроля ф 7 400. На всех остальных 300 еще 200 наверно на 1000 500 тоже усилился, это последовательный шум в доме.
2:57 То есть каждый модуль он там? Обрабатывает какую то информацию там тоже, видимо, какое то есть логическое устройство, которое обеспечивает. Спящий режим. Да не знаю, не знаю. Не знаю, пока не вижу, как это реально сделать, не знаю я сам. Все, дорогая, то есть какая, то она здесь, Шинда. Почему у нас мало волнует какая из чемоданов? Потому что для программиста ЦПУ этот процесс обмена данными между ЦПУ и различными модулями он скрыт. То есть это происходит, происходит на аппаратном уровне, от нас это скрытая и, как правило.
4:05 Либо она работает там, либо нет. В частности, у ТПУ есть диагностика, которая, например, говорит, что у нас там много варили. Здесь вот настойки намешалась на. Зачем нужны, например, возникнет такой вопрос вроде бы, зачем нам нужны такие модули, как модуль там и калькулятора? Отдельно мы же можем в программе подрегулирования сделать либо модуль счета, модуль счета, он. Получает данные. С частотного сигнала, например, с Нкодера, да и соответственно есть вопросы. А зачем нам отдельный номер, а он нам нужен? Затем, что, когда мы пишем программу в ЦПУ.
4:54 В зависимости от ее размера. Мы можем получать данные входные, какие то, да вот, например, по дискретным ходам. Не так быстро, ну, например, если. Ну, например, если мы написали программу, и она там, например, у нас работает 200. Миллисекунд, нам нужно дискретный сигнал, получается с частотой 10 миллиардекунд. Обновление. Информации в ЦПУ происходит вот наша программа. Обновление происходит. Программа в теплу она крутится циклически, то есть закончилась, началась заново, закончилась, началась заново. То есть это тоже происходит на аппаратном уровне, этот перезапуск нашей программы и когда она закончилась до того, как начаться?
5:55 Здесь формируется образ. Входов. А когда она заканчивается, формируется образ выходов, вот образ выходов отдается на модуле воды, выводы, а образ входов соответственно. Он забирается с модулей в воду. И если мы у нас вся наша программа, например, 100 миллиардекунд, а нам нужно. В ход получать каждый, например, 10 или секунд, то мы уже никак не можем успеть. То есть сигнал будет идти там вот такой, например, да, а? Цикл вашей программы такой, что мы.
6:37 Здесь посмотрели значение, а потом вот здесь посмотрели значение, и вот эти вот всплески мы их не видели. Таким образом, наша программа она просто их не может увидеть соответственно, если это важная информация именно количество импульсов. Для какого то управления или мониторинга, то? Данный подход реализации именно на ЦПУ он не подходит, то есть здесь нужно программа какая то, которая будет меньше, чем вот этот вот шаги дискретного входа. Либо мы должны использовать отдельный модуль, чем, собственно, и отличительные. Эти модули у них свой стоит процессу какой то узкоспециализированный, как правило, и модуль его цикл работы, он независим от цикла работы.
7:40 Нашего главного типа он туда постоянно зашит. Да, да, у него свой там не программа, там именно ну как бы у него есть какая то своя программа. Мы не можем, вся его программа направлена на то, что он ловит. Сигналы и выдает нам уже счетчик в нашу программу, то есть он их считает. Ну да, просто на каком то этапе вот здесь, вот она передает значение, да он нам передает значением. Говорит, я 100 насчитал, например.
8:11 И имея это значение у себя в программе, мы уже можем что то пересчитать. То есть какие то вычисления сделать и так далее то же самое в принципе и что касается модуля или регулирования, бывает, что программа наша. Она довольно долго работает по сравнению с тем, с какой скоростью мы должны и деградировать, поэтому есть такие отдельные модули педагрей.
8:39 Вот как правило, то есть основная особенность вот этих специальных модулей. У них свой процессор, свой независимый цветовой работы, которые, как правило, быстрее их цикл, чем цикл нашей программы. Поэтому их применять. Помимо помимо вот этой внутренней шины данных. Опять же, как правило, есть возможность расширения ввода вывода. Для центрального процессора в виде дополнительных корзин стоит и так далее. Здесь решение у каждого производителя они могут быть разные, но в общем виде это выглядит так, как если это у нас корзина 1 стоит вот в. Ней лежат модуль центральная корзина, где стоит модуль теплу. Как правило, имеет номер, 0 называется нулевая стройка. Наливаю корзину практически у всех производителей. Это так бывает отлично, и там понятно, но это.
9:52 Уже часто. Но, как правило, тоже производители делают возможность создания дополнительных стоек. Куда мы еще можем различных модулей там вставить организовать? Вот вы вот и так далее, и эти модули они соединены либо с ЦПУ, либо с корзиной. Если это корзина, она может быть физическая, как ушная, либо вот у.
10:23 Сименса нет физической картины, 1200 выпущенных из этого. То есть там модуль в модуль втыкаются, а у Шнайдера? Видел корзина, она прям вот железяка, просто и на нее модули модули с лотами. Да, да, да, все понял. И соответственно, Шнайдер, у них от корзины идет интерфейс от корзины в корзине. И уже неважно, какие модули ставят, они все равно будут обмениваться. Расширения там на энное количество стоит пределы расширения на количество строек, как правило, ограничены.
11:05 возможностями центрального процессора, у которого ограниченное адресное пространство, то есть что значит ограниченная пространка. Ну, каждый у нас вход, выход, это определенный набор адресов для контроля.
11:25 Соответственно, каждый цикл в зависимости от его мощности он имеет ограниченное количество адресов. Там надо именно то есть для того, чтобы это намокнуть, мы открываем имал. Идентификация, идентификация, идентификация, идентификация, идентификация, идентификация, идентификация. Вот усилиться, это прям четко. Прописано у Шнайдера немножечко не так. Честно говоря, там там немножечко по другому, там идет ограничение как раз по моему по корзинам, что. Например, модули он там не может больше, там 3 корзин дополнительных имеет, то есть у них какой, то расчет немножко по другому делается корзины. Естественно, ограничены тоже слотами, и мы тоже туда только ограниченное количество модулей можем ставить. Мы, как то они это перекрывают усилием.
12:24 Усиливается это прям вот по адресам. Но что касается специализированных модулей, и у тех, и у других, как правило, есть ограничения на их количество. Почему? Потому что специализированные модули зачастую не прерывание. Для того чтобы передать информацию в теплу и. И соответственно только ограниченное количество прерываний, поэтому и ограниченное количество специализированных модулей. То есть здесь уже не адресное пространство играет роль А. А вот возможности.
13:11 Такого и если Если бы узнать вот у Сименса это можно тоже в каталоге, в каталоге прописаны там ФМ модули. Они называются Факшин, мебель и там обычно стоит 4. Это означает, что этот цикл максимум может работать с 4 фальшивыми модулями с 4 и Калом.
13:40 Да, да вот 5 поставишь, он не сможет работать. Не знаю, что будет либо некорректная работа, либо диагностика сама выдержка. Он не может, ну, но такие ограничения есть. И отдельно можно сказать, что есть такие модули, это коммуникационные они являются не санкшн. Модулями не модулем и воду вывода. Это модули, которые обеспечивают какой то интерфейс, например, интернет интерфейс или Мандасар, то есть это.
14:17 То есть это отдельный тип модуля? Коммуникационная. Который, что предоставляет он, предоставляет информацию, которая. Спили в памяти ЦПУ для каких то внешних абонентов. Вот что делают, как правило, коммуникационный модуль, либо если это. Он позволяет нам записать или считать какую то информацию с этого. Которая поддерживает. И совсем совсем отдельный тип модуля, который тоже, как правило, присутствует важных производителей. Это вариант соединения тоже различных корзин, который идет с помощью интерфейсных модулей.
15:24 Интерфейс не нужен. И от него. Идет интерфейс, какая нибудь шина, я не знаю, там не разу какая. Так что так? Который либо Либо вставлен в корзину. Организуй в корзину, с каким это модулем мы будем? Моделями года вымазаны тоже можете работать, то есть интерфейс не может, то связка такая интерфейс на модули интерфейса нет. Это еще 1 соединение, и вот эти интерфейсные модули это тоже такой отдельный тип. Можно сказать, что у нас есть с модулем ЦПУ модули ввода вывода, да куда входят 3 там, где вот стоит?
16:22 О, а и о различные у нас есть ФМ. Модули специализированные, у нас есть коммуникационные модули. У нас есть интерфейс, в принципе вот это такой часто встречающийся набор вообще. Для программиста и что важно, можно проигнорировать в программе все это таким же образом, как у нас. Реализована схема схемой с тестом должны быть реализованы, так как вендерсов Емберсов. Требует и дишеропроизводителя оборудование, да то есть, чтобы все соединения, там и так далее, все оно должно быть.
17:16 Вот то есть это вот такая структура контроллера, как вообще, что она себя представлена. И может такое отдельно сказать, что это вот это. Физическая структура контроля, это то, что вот корректирует, корректирует наш отдел. Да, да, то, что вы проектируете, мы берем схемы, закидываем их в теопорталы или там веники конфигурируем все это дело.
17:48 Как правило, конфигурируем в номере тоже. Ну да и было там обычно нечего конфигурировать, а в войне бывает, что модулем поддерживает и вольтовые сигналы и милиамперный соответственно. Мы его определяем, какой вольтовый, который мы берем вот. Стараемся обзывать, что тут даже не стараемся. Какое то явление лишнего дня, чтобы модули. Примерно так же не выглядят в среде. Да вот вы в картине какие то с моделями, чтобы их можно. Соответствовала помимо, как она называется схема подключения, то есть, например, там какой.
18:27 Нибудь к нему. Стлу не помогли, а 1, например. Там 2 2 3 далее ничего, чтобы когда у нас что, то не так и. Мы могли вообще понять, что происходит. Программисты проектировщик говорили на 1 языке и 3 модуль там программистов, все остальное начинается проектировщика. Всегда вот чтобы этой путаницы не было как. Раз обязательно в программе, в среде разработки контроллеры модули нужно называть, давать им пользовательское наименование. Такое, как чтобы такое, чтобы можно было четко понять, как он способствует.
19:23 Собственно, вот структура ПМК. Такая маленькая часть с этим делом закладка. Да что у нас по фигуре можно, это были у нас химические структуры. В временем. Внутри у у нас самая главная модуля, который, в общем, то мы не программируем. Посмотрим, что у него внутри.
20:14 Внутри, как в общем, то еще раз повторюсь. Расскажу, то есть внутри модуля ЦПУ программа работает секлеический патруль. Нас есть у нас есть какое то начало нашей программы, неважно такое, да есть ее, конечно. И когда программа доходит до конца, сам циклон таким образом так устроен, у него такая операционная среда. И Производная среда, которая, собственно, перезапускает. Нашу программу заново. То есть вся наша программа всегда циклически выполняется? Если мы здесь напишем там что, то такое переменное и равно и + 1 то у нас в каждом цикле будет. Щеточку не внизу и счетчик свекровь. По сути дела до тех пор, пока современная улитка не переполнится. Но это мы отдельно, чтобы зайдем, было еще до перемен, вот.
21:28 То есть мы пишем 1 строчку, а она циклически выполняет, если мы будем мониторить значение вот этого переменного, и мы будем видеть, что ее значение где то залечили. Так это всего 1 строчка будет очень быстро происходить?
21:49 Помимо всего прочего, в контроллере в ЦПУ. Есть еще и прерывание, как и в обычном. Может и быть. Есть еще и прерывание. Для чего вообще нужны прерывания? Того, чтобы какие то операции. Процессор мог обработать, скажем так, в приоритетном режиме, например. Вот если ты сидишь на компьютере, работаешь, загрузил свой как пакет. YouTube там я не знаю ПС. Все такое прочее, и все это одновременно выполняется. Касперский при этом всех проверяют, естественно, занимает не меньше 50-то ресурсов.
22:46 То Если бы не было прерывания, ты бы нажимал кнопку мышки, она бы куда то там, в очередь, бы встала задач по обработке. Возможно, прошло бы там несколько минут, прежде чем твоя нажатие бы отработалось. Естественно, что в таких условиях зачем такой компьютер, поэтому люди все время придумали соревнования и на нажатие клавиши происходит прерывание. Для контроллера для чего нужны прерывания, тоже? Для каких то специфических событий, которые можно необходимо наиболее приоритетно, быстро сейчас обработать независимо от нашей программы, то есть по факту мы в какой то момент времени?
23:40 Нет, нет, нет, мы не станем фишка прерывания, потому что здесь у нас большая, у нас большая программа, мы не знаем. Мы не можем определить это ну момент времени, какой то она выдвигается. Возникает на аппаратном уровне и происходит так, что наша программа вот здесь восстановилась. А ну, то есть это электрическим сигналом, она просто по факту останавливает программу, передает. Ее отношения на аспектах не может обработку при желании, которое, которая может быть, в том числе и запрограммировано дополнительно, может. Быть не запрограммирована это Сименса, это различные. Вот эти дела, они все называются оба блоками, вот основная программа называется.
24:39 И все это выполняет различные прерывания, имеет другой номер. В сервисе описано есть такое и батарея чистые функции. Чувствую в том, что он просто надевает в 2 частях инфаркт 1. Часть 1 часть другая, и там описан весь перечень любых блоков, для чего они предназначены. Основная часть КБ блоков предназначена на обработку диагностики, например стойкий, какой то модуль вышел из строя. Контроллеру это ЦПУ это определил в машине. Бас перестал отвечать ему модуль, там он не получает с него информацию и и.
25:36 Соответственно, что то нужно сделать так. Как программирование контроллера для промышленности? Как правило, не имеет таких решений типа. Что же мне сделать в этом случае варианта 2 либо продолжить работу с ошибкой? Либо остановите вам привет, кто закончит свою работу. Вот то есть, вот как Сименс работает, он находится обработку при желании. Если он не нашел, то есть мы не закинули это туда блок, и мы с даже пустой приступ ничего нет. Но если он его нашел, он такое дело, что он зашел. То есть это команда для цифру, скажем так, что?
26:32 Мы считаем, что это нужно было обработать. Да, вот произошел, и он возвращается в программу диагностики, пишет ошибка, но продолжает работать, если мы это прерывание. Обработку при желании другой блок сюда не закинули, то прерывание возникает, вон его начинает искать, смотрит. У меня нет такой обработки и переходит в стопку.
26:55 То, естественно, у нас процессе работы модуль бы и какой то вышел, стал тут приходить от него сигнал готовности. Мы без всякого, без всяких обработок, просто говорили, что у нас. Конфигурация подобралась и все и останавливаем его на остановимся. А если бы у нас был блок обработки при желании, то на наш сигнал о том, что блок вышел из строя, мы не приходим.
27:26 Контроллер перейдет сюда, здесь мы можем что то написать программу, какую то да можно написать, но он уже не перейдет. Вот что важно, в некоторых случаях нужно что то переходить стоп. Смотря какой движет зависит от. Нет, тут скорее зависит от самого проекта, но от того, чем мы управляем случаев. Может быть, да, если 1 модуль вышел из строя, все и контроллер должен остановиться. Ну, в каких случаях? Попробуем представить, если у нас модуль есть. Д и в нем есть обратная связь, от какого то агрегата, которым мы управляем и а агрегат, может быть сложным, там с несколькими приводами и так далее.
28:22 Допустим, это вся задача нашего контроля, это, может быть, имеется смысл перевести в стоп, обновить соответственно все выходы и все остановится на линии контроллера. Ну, это это, скажем так, более редкий случай, как правило, все таки. Решение о пере это, то есть как в который я описал. Это перевод системы Безопасное состояние, как правило, все таки перевод системы в безопасное состояние. Мы должны быть, по крайней мере, для хранения должны. Мы должны его безопасно отключить, мы должны безопасную установку нашу, да?
29:03 Погасить либо наоборот было это случае, когда что то должно продолжать работать или включить. Включение. Случай, когда нужно перевести в безопасное состояние, что то, включив это, как правило, на опасных объектах. 1 2 Класса там безопасное состояние подразумевает включение вентилятора. Там насоса щетки такое вот. Ну, это отдельная история про опасное, безопасное состояние, но. Как правило, все таки мы делаем прерывание. Для закидываемых для подработки, чтобы вам не переходить в спорт.
29:58 Переходить сюда. И они разные, например, у Сименса около 100 видов различных по делам. Наиболее там часто вот которые блоки прерывания по выходным строям модули у выхода из строя, например, шины, то есть головного модуля у него, как правило. Есть свои интерфейсы, там профибас, например, или профимовку. Если там он не видел, что Шина не работает, это тоже для желаний может ну понадобиться. Очень много есть, например, при желании от 1 цифры. То есть если ты его закидывает, то когда запускаешь контроллер, он начнет с этого прерывания, а? Только потом твою программу, то есть он посмотрел. Титул посмотрел цикл, понял, что надо делать, а потом вернулся к техническим прочтению программы.
31:00 Какую программу подкидывают какие то еще инициалы, между чем прям прописывали, ну или? Какое то поведение может быть может быть. Описать есть возможность привести в начальное состояние, отодвинуть это может быть, да это. Вот. Ну, то есть и того, у нас есть основная программа, у нас может быть прерывание. Которые возникают нежданно, негаданно. Мы знаем, когда они уникают, то есть они в любой точке исполнения. Соответственно. Опасность при желании и заключается в том, что если у нас есть какая, то область данных, ну так и я знаю, что В.
31:53 Виде какого нибудь ящика? С ячейками танго вот эта область данных, и мы обращаемся к этой области банок и отсюда. В нашем прерывании вот мы раз и написали обработку. Вот и тоже обращаемся к этим данным, то может возникнуть ситуация. Непредвиденная совсем, которые очень сложно отвалить, в чем она заключается, например, и из нашей программы мы не можем ячейку да на такое. Предназначение и из этой программы мы это значим именно и здесь. Мы допустим, в какой то момент анализируем это значение, может получиться так, что мы.
32:51 Мы зашли в условия, например, что у нас и, соответственно, равно единице. Мы зашли в это условие, попали в этот момент. Возникло прерывание, где обработчик прерывания, например, меняет и на число акций становится равным по прописке 3. Соответственно, какая бы ни была наша программа, чтобы не делалось под условием, и равно 1 мы будем делать вложенное, потому что вы неравнодушны. Почему так потому, что пребывание всегда имеет наибольший приоритет, чем вот этот наш блок уговорил цену тоже нашей программы? Они всегда приоритете, поэтому да, может быть, такая ситуация. И соответственно, когда вы будем пытаться отловить эту ошибку, мне себе снимает голову. Это очень тяжело и сложно понять, в чем же дело. Это не главное правило, если мы используем.
34:01 На запись 1 и те же данные при желании и в основной программе, то мы для себя должны сначала определить. Как мы это будем делать, чтобы вот в такой ситуации не возникло? И это может быть так, что, например, либо только из 1 части мы записываем. Либо отсюда мы тебя подпишем, либо только отсюда. Если мы пишем из прерывания, то соответственно менее приоритетная программа. Не может адекватно это значение анализировать. Не может гарантировать, что мы это проанализируем, как не подправила. Вот этот товарищ, он бы 1 пишет данные, а этот канализирует.
34:56 И потом уже встаю куда то в область паники записываю в пустырь. Ничего не надо, вот она и есть, вот маленькая, там область память не. Это уже что, куда сохранить это вопрос именно. Пройдем, но это уже отдельная песня. На основной смысл вообще это как общее правило. Что ли, с переживаниями такая штука может случиться не очень тяжело мыслить? Практически программа может 90 или времени работать нормально, а 10) вводить. Страшно, сильно, страшно, наверное, с этим столкнуться. Вот теперь смотришь, у тебя все красиво написано, и здесь все здорово, а?
35:47 Результат такой, как будто бы наемник чуть не бегает по контроллеру. Поэтому, ну, то есть, нужно быть очень внимательным. Нужно самому продумать правила, как будет меняться и анализироваться. Переменная, которая является общей и для прерывания, и для нашей программы, если мы хотим их связать между собой.
36:14 Так это то, как сама программа да работает в. Правье. Да и в самой программе значит, как все таки мы получаем доступ к нашим интерфейсам к модулеводовывода, ставит вопрос. Да ну, но обычно модули ввода вывода, которые мы все сконфигурировали на стойках, на этих корзинах они.
36:50 Их каналы беспрепятые аналоги и так далее они получают адрес, как правило, адрес пишется вот через процент, и там имеет формат, например, конфликта можно, например. К сожалению. Вот усилимся, вот так и по адресу сигналов усилился. Непонятно, к какому номеру он относится. Относится, но такая проблема в судьбе. Это можно посмотреть снайпер, например, у них адресуется таким образом, что и нужно правильно. Это означает. В корзине Номер в Молдовской области.
37:46 Номер канала Шнайдера у них Шнайдера, они сделали так, что адрес. Рладиона соответствует его расположению в нашей конфигурации, почему все? Это просто. В порядке очередности. Обычно, когда мы конфигурируем модуль, он сразу вот у него есть какой. То смоловство, например, от нулевого адреса там не знаю. 2000 Это, например, область, где мы вставим. Модуль сконфигурировали, и он сразу получил с нулевого адреса, его каналы получили адреса. Стали слушаем, и там дальше идут вот.
38:40 Так потом, где то можно? От робота до 4000 такой потом там могут, а уловить не кричи причину со мной, как бы когда прикидывали. Это вообще не столь главное, это скорее так особенности, потому что всегда можно посмотреть у канала, какой адрес. Нет проблем. Ну и, собственно, обращение. К этим сигналам у нас происходит по адресу мы. Мы говорим, берем значение с этого адреса, кладем в нашу переменную. Ну, самое простое, это наша и поэтому купили медное огромное количество медленно обратно присвоить вот такой пирожок.
39:44 Все и вот таким образом сохранились и говорят значение этого адреса на данный момент. Ну а дальше делаем все это, что хотел, что нам нужно? Модулями, которые нам коммуникационными, там все сложнее и. Не только с инфляционными циклами также с определенными аппаратными функциями самогодцев. Или это это Фул, как мы уже сказали? Может быть, сегодня так так, в принципе, угу. Помимо этого бывает вот так, вот еще будут с рукой бывают и счетчики, и средние сходы, и вот так вот обращение.
40:37 К этим функциям, к этим этим этим причинам данных да оно. Оно происходит через специальную функцию. Вот как у нас на компьютере мы вставили там какой нибудь сбой в поиске и виндовс, видишь, должен быть. Должен иметь драйвер для того, чтобы с ним работать. Вот также у контроллеров у нас есть специальная системная функция. Для работы с какой то? Аппаратная часть по контролю, аппаратная часть. Самодиагностика. Какие вот функции, то есть мы, это уже нужно будет смотреть в описании библиотеки. В принципе, в такие как самого блокнота вообще, как им надо использовать, все есть на английском, я помню.
41:42 Есть гипнок, подтягивает таким образом, ибо переводчик тоже в помощь. Соответственно, обращение к этим функциям происходит через системные функции, ну, например, да? Можно сделать, например, допустим, у нас там есть такой Мосбасс в Ростове. Который на контроле или что из себя представляет? На борту в ношении у нас 50 там человек. Она нужна послать запрос на Барс получить ответ. Здесь специальная такая то функция, то есть берем за область нашего ЦПУ С.
42:44 Нарисуем всех наших сутул, со своей действует наша программа и вот в. Специальная системная функция для работы с этим образом, как правило, усилитель представляется это факт вместе с молодым. Обеспечиваем нам вот этот интерфейс. Вот тебе вопрос. Закидываем и говорим куда закидывать, то есть высаживаем идентификатор модули у детей для кота, подсунули сюда. И это солнце, как она работает, ну не знаю. То есть по факту это для этого она, по сути, как драйвер, она выполняет наше задание. Отправляем на модуль, модуль получает задание, выполняет. Его и возвращает обратно куда то в контроль данные циклу. Да он здесь вот возвращает, а системная функция, имея доступ к какой то специализированной памяти, да то есть это как то.
43:51 Это не так, на самом деле происходит. Имеет доступ, возвращает эти данные. Нам уже в нашу программу, то есть мы говорим вот эта функция. Отправьте мне место на 1 и на 2 лицо, она передает задание нам. По неизвестному алгоритму на вот этот модуль формирует задание единицу и отправляет его в машине. Видно, кто то принял, кто то принял, да это ответ, например.
44:29 И ответ также возвращается обратно в туалет. В какую то специализированную, да то тоже по своему каналу кладется, складется в память, а этот сюда смотрит и потом нам отдает. И да все, для чего такое все вскрытие? Потому что если мы начнем использовать вот эти вот аппараты, заливаем как есть, можно туда залезть. Вызывать их, например? Обрабатывать построенные так далее Уорвика. Вероятно, что у нас наше программное обеспечение будет небезопасна, и больше никто не сможет дать.
45:14 Что однажды мы придем к завышанию циклу? Поэтому есть такие функции драйвера. Которые обеспечивают, скрывают от нас весь этот сложный интерфейс. Аппараты, как она там все работает в в принципе. Я думаю, кто программировал там в Виндовс и подключения различных устройств и общие принципы они понятными, как это происходит и в контроле. Тут люди чудес нет, это тоже компьютер.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
🔗 Программирование ПЛК Siemens. Урок 1. Обзор построения структуры ПЛК.