Лекция 9. Программируемые логические контроллеры. Цифровое устройство на языке LD — АСУ ТП: сообщество инженеров

Лекция 9. Программируемые логические контроллеры. Цифровое устройство на языке LD

О чём видео

В ролике продолжается изучение языка LD: по ранее составленной логической формуле и таблице истинности выполняется синтез цифрового устройства в виде релейно-контактной схемы. В среде программирования ПЛК пошагово собирается программа из восьми цепей, объявляются входные и промежуточные переменные, затем проект компилируется и проверяется в режиме эмуляции по таблице истинности.

Что разбирается
  1. 00:07 Постановка задачи синтеза на языке LD
  2. 01:14 Последовательность решения и таблица истинности
  3. 02:47 Логическая формула в совершенной ДНФ
  4. 04:01 Выбор контроллера и объявление переменных
  5. 06:08 Реализация первых цепей с инверсией контактов
  6. 08:52 Сборка цепей 4–6 по формуле
  7. 11:30 Цепи 7–8 и объединение результатов
  8. 14:14 Компиляция проекта и запуск эмуляции
  9. 15:07 Проверка работы по таблице истинности
Оборудование и ПО
  • LD
  • ПЛК

Кому полезно: Инженерам, изучающим программирование ПЛК на языке LD

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:07 Добрый день, уважаемые зрители, мы продолжаем изучение! Программируемых логических контроллеров в рамках данного видео мы продолжим изучение языка программирования. Ландер, да игра, то есть языка ЛД здесь. Мы выполним некоторые упражнения, которые было связано с синтезом цифрового устройства логического устройства. Данную задачу мы уже решали в рамках.

0:38 Из видео до того, как мы изучили основы языка программирования ЛД и данное видео, нужно рассматривать как некоторые упражнения для того, чтобы попрактиковаться в программирование на языке ЛД.

0:59 Связано будет с выполнением той же самой задачи, которую мы решали для синтеза цифрового устройства. Но на языке сифси или что очень похоже на язык в БТ. Для того же упражнения, которое мы выполняли в рамках того видео, мы выполним синтез аналога того цифрового устройства, но на элементах реле на. Контактных схем, ну, в общем, задача поставлен. Давайте я ее зачитаю, нужно выполнить синтез аналога цифрового устройства в виде релейно контактной схемы. На языке ЛД по заданной таблице истинности и реализовать его на базе ПЛК. Решение задачи будем выполнять в следующей последовательности 1 составление. Как известно логической формулы согласно таблице истинности в виде совершенной дезъюнктивной нормальной формы, затем составление функциональной. Схемы цифрового устройства на базе элементов уже релейно контактных схем и реализовать функциональную схему устройства на графическом языке. Программирования ЛД, то есть вот такие шаги. Нам нужно выполнить для того, чтобы решить эту задачу на языке ЛД. Давайте попробуем это сделать в прошлый. Раз это было видео номер, 7 посвященная полка у нас была заодно, вот такая вот таблица. Истинности согласно этой таблице истинности мы должны будем. Построить формулу для синтеза цифрового логического устройства, но это у нас уже было сделано, поэтому я его воспроизведу на следующем слайде.

2:47 То есть согласно таблице истинности логическая формула цифрового устройства в виде совершенной дезъюнктивной нормальной формы будет следующий? Вот такая вот формула у нас было в прошлый раз синтезирована, и это же формула. Соответствует нашей таблице истинности, и теперь нам нужно выполнить реализацию данного цифрового устройства на языке программирования ЛД, используя элементы релейно контактных схем. Давайте выполним это и на языке ЛД.

3:20 Я хочу напомнить, что на языке Си Эф Си. Функциональная схема цифрового устройства была реализована в следующем виде. Вот такая вот графическая программа была написана на си эф Си, что тоже. Соответствует в некоторых программных комплексах языком ФБД. Теперь давайте выполним синтез аналогичного устройства, но уже путем программирования на языке ЛД.

3:57 Теперь давайте реализуем. Синтез нашего цифрового логического устройства на языке ЛД с помощью программного комплекса Кода. Выбираем контроллер, с которым будем работать, задаем его в качестве целевой платформы. Теперь язык программирования будет ЛДМ. Вот у нас панель языка программирования ЛД открываем ресурсы в конфигурации полка сразу. Зададимся и необходимым количеством входных переменных, которые будут связаны с входными каналами контроллера, это переменная х 1 х 2.

4:45 Это болевые переменные х 3. Икс 4 Икс 5 Так Икс, 6 но вообще это уже лишние переменные. Нам нужны только Икс, 1 Икс, 2 х 3 Икс. 4 Ну и естественно нужен выход, Игрик, это выходной канал контроллера Игрик. Теперь необходимое количество задано переменных, так ну пусть остается, идем в. Программу и давайте будем программировать. У нас было 8 логических элементов, и мы реализуем их в 8 цепях отдельных, но для их реализации мне нужны будут промежуточные локальные перемены, которые я объявлю. Давайте я их объявлю через Игорь.

5:43 Игрек 3 Игрек. Естественно, 4 Игрек 5 Игрек 6 Игрик 7. Игрик 8 Но и давайте на всякий случай я задамся еще 1 логической переменной. Которая нам понадобится, это с 11 пусть будет такая переменная. Все эти переменные будут типа бул, это булевые, переменные, логические. Так я их задал в 1 цепи, я реализую 1 Слагаемое в нашей формуле, там у нас 4.

6:33 Входных элемента и 1 обмотка. С каждой из этих переменных будут связаны глобальные переменные х 1 икс 2. Икс 3 3 Икс 4 В обмотку я помещу локальную переменную, и Гликодин туда будет записан наш результат. Инверсию поставлю во все контакты, контакты, потому что в соответствии с формулой в 1 слагаемом у нас все контакты были инверсными, то есть. Контакты будут нормально с замкнутыми, добавляю 2 цепь, где буду реализовывать 2 слагаемое. Которая состоит из логических элементов и.

7:28 Инверсию я расставлю в соответствии с формулой. Так у нас здесь будет инверсия, здесь будет не инверсии, поэтому объявляю переменные, то есть связываю объявленные перемены Икс 1 Икс 2. Икс 3 Икс 4 Икс 3 у нас. Не инверсная, переменная и добавляю обмотку, которую буду связывать с локальной переменной игрек 2. Так добавляю следующую цепь и здесь буду реализовывать уже 3 слагаемое в нашей формуле. Расставлю все контакты так, как это было записано в Формуле.

8:20 И свяжу с ними глобальные переменные х 1. Икс 2 Икс 3 и И переменная Икс 4. Так теперь нам нужен выход, х 2 у нас будет не инверсная, остальные все инверсные. Добавляю обмотку, которую свяжу с переменной уже локальный игрек 3. Так добавляю следующую цепь, 4 и в ней же будет реализована 4 слагаемая из нашей формулы. Мне здесь также нужно будет расставить контакты. И их инверсия будет связана с замкнутостью контактов соответствии с Формулой. Здесь мы добавим переменную икс 1 глобальную ИКС 2.

9:16 Икс 3 Икс, 4 все задано, добавляю обмотку, которую буду связывать с локальной переменной. 4 Теперь добавляем 5 цепь, в которой буду реализовывать 5 слагаемое из нашей формулы. Контакты будут замкнутые либо разомкнуты в соответствии с формулой, связаны эти контакты в том же порядке икс 1 икс 2.

9:53 Икс 3 Икс 4 Проверяем в соответствии с формулой, у нас икс 1 не инверсный контакт, он будет у нас нормально разомкнута Икс 2 Икс Икс. 4 Это инверсные контакты, которые будут нормально замкнутыми. Как мы помним это из логики составления цепей, рояльно контактных цепей на языке ЛД и так все соответствует нашей формуле. Поэтому нам нужно добавить обмотку реле здесь и связать ее с локальной переменной.

10:40 Так игрек 5 Добавляем следующую цепь, в ней также оставляем 4 контакта. В соответствии с Формулой они будут замкнуты также. Связываем их с переменными ИКС 1. Икс 2 Икс 3 И переменной х 4 Нам нужна будет промежуточная переменная игрик, 6 которую мы свяжем с обмоткой реле, и вот так мы и объявляем. Игрик 6 Все добавили, добавляем еще 1 фин7 цепь, которой будем реализовывать 7 слагаемое из нашей формулы. Расставим контакты, как нам нужно, объявим, то есть не объявим, а свяжем ее с переменными. Икс, 1 Икс, 2 Икс, 3 Икс 4.

11:54 И добавим обмотку реле, который свяжем с логической переменной. Нас же локальная переменная добавляем последнюю. Цепь, в которой будет реализовано последнее 8 слагаемое, которое будет состоять из. Контакта вот в такой вот конфигурации. Икс 1 Икс 2 Икс 3 Икс 4 Ну и соответственно нам нужна будет обмотка реле, которая будет связана с локальной переменной 8. Все основные 8 слагаемых у нас организованы, теперь результаты этих 8 слагаемых будут должны между собой складываться с помощью монтажного. Или для этого нам нужны параллельные контакты? Добавляю я параллельных контактов ровно, 8 сколько было у нас слагаемых, где в 8 параллельных контактах мы разместим 8 переменных. Игрик 1 от Игрик 1 до Игрик, 8 давайте мы их расставим, Игрик 2.

13:21 Игрек 4 Теперь переменная игрек 5. Игрек 6 Игрек 7 И переменная 8 Результат, ну то есть это все результаты наших промежуточных вычислений и этот результат параллельных о переменных мы сохраним переменную. С 11 которая будет связана с обмоткой в данной 9 цепи. Ну и теперь эту переменную с 1 ее статус мы передадим с помощью этого контакта.

14:06 На выход выходной канал контроллер, который будет связан с глобальной переменной игрек. Все вроде у нас все в соответствии с формулой собрано, остается только сохранить проект, давайте назовем проект некоторым именем. И сохраним нашу программу, теперь выполним компиляцию, откомпилируем, ошибок нет. В режиме эмуляции соединяемся с контроллером. Запускаем его, и мы видим, что уже все контакты, как будто бы замкнутые. Сработала переменная и Гликодин, которая передает свое значение в выкрик переменную на выход, меняю статус.

14:56 Переменный меняется аналогичным образом, уже и канал контроллера соответствующий, да? Теперь нам нужно поменять соответствии с таблицей истинности некоторые значения, допустим, переменных. Производие с х 2 каналом давайте запишем, это и уже сработал. Сработала 4 цепь, которая также. Передает свое значение переменная с 1. Теперь давайте замкнем Икс 2 Икс 3 запишем, мы видим, что в данном случае сработал. 1 Контакт поменяли, то есть убрали статусы в 1 цепи. Мы видим, что значение переменной игрек равно и.

15:55 Логическому 0 Теперь вроде все работает, ну давайте замками Икс. 2 Икс, 4 то есть поменяем их статусы, и мы видим, что сразу сработала промежуточная. Переменная Игрик, 6 но все равно это означает, что переменная Игрик будет включена. Она будет в состоянии логической единицы, что соответствует.

16:22 Еще раз таблицы истинности. Вот таким вот образом у нас реализуется. Полнофункциональная схема, которая была ранее создана на языке си эф Си, она также реализуется аналогичным образом на языке ЛД. В рамках данного видео мы убедились, что все языки в принципе равнозначны друг другу. В данном случае мы видим, что программа реализованная. На языке си Эф Си полностью функционально и на языке ЛД, но здесь нужно учитывать специфику каждого языка мег программирования.

17:14 Но тем не менее на языке ЛД мы создали полный аналог того цифрового устройства, которое было. Задано нам по условиям задачи. Всем спасибо за внимание, я надеюсь, что данное видео было полезным. Ставьте лайки, подписывайтесь на канал всем успехов.

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Данное видео представляет собой упражнение, в котором показаны приемы реализации логических цифровых устройств в ПЛК на языке программирования Ladder Diagram (LD). Показана реализация логического устройства в виде совершенной дизъюнктивной нормальной формы, которая моделируется через релейно-контактные схемы на языке LD в ПЛК.

00:00 — Начало
00:05 — Задача о синтезе цифрового логического устройства на LD
02:22 — Таблица истинности и формула устройства
03:19 — Реешение задачи на языке CFC
03:5

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх