Обучаем новичка программированию ПЛК (kobrik)

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Обучаем новичка

Сообщение CHANt »

kobrik писал(а):у программируемых реле имеются чисто дискретные входы, и смешанные дискретные входы (т.е. дискретно аналоговые)... вот и вопрос что это такое, в инете я и сам могу найти я просто хочу конкретный пример такого сигнала.
В частотниках встречал такое - это когда аналоговый, можно путем конфигурирования "превратить" в дискретный.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

Термин, мягко говоря, не распространенный. Моя версия такая же как у Чанта: дискретно-аналоговый вход - это аналоговый вход, который можно использовать как дискретный. Например, аналоговый вход 0-10 В. При 5 В - единица, при 0 В - ноль. Просто компаратор подключаешь и используешь выход этого компаратора. Примерно так. Сам лишь только слышал о таких входах. АББ, кстати, хвалилось, что в их ПЛК любой аналоговый вход можно использовать как дискретный.

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Обучаем новичка

Сообщение CHANt »

О, вспомнил)) Повсеместно применяется в приборах охранно-пожарной сигнализации (ОПС). Контролируется шлейф на обрыв и КЗ, программа в ОПС учитывает дискретный сигнал 0/1, примерно по принципу описанному Михайло. Так как входа опрашиваются мультиплескором, контроллер ОПС точно выводит адрес неисправного или сработавшего шлейфа (входа). Бывают "извраты", когда кодируется несколько сигналов по одному шлейфу (входу).
Видимо, Зелио, задумывался под широкий спектр задач!

kobrik
Профессионал
Сообщения: 663
Зарегистрирован: 04 ноя 2012, 19:23

Re: Обучаем новичка

Сообщение kobrik »

Михайло писал(а):Термин, мягко говоря, не распространенный. Моя версия такая же как у Чанта: дискретно-аналоговый вход - это аналоговый вход, который можно использовать как дискретный. Например, аналоговый вход 0-10 В. При 5 В - единица, при 0 В - ноль. Просто компаратор подключаешь и используешь выход этого компаратора. Примерно так. Сам лишь только слышал о таких входах. АББ, кстати, хвалилось, что в их ПЛК любой аналоговый вход можно использовать как дискретный.
теперь по подробнее о компараторе...

Степа
Любитель
Сообщения: 98
Зарегистрирован: 21 окт 2012, 10:09

Re: Обучаем новичка

Сообщение Степа »

Михайло писал(а):Конечно, сначала интуитивный подход.
Расстреливать таких учителей. Из пушки и побольше калибром, чтоб точно не выжил.
san писал(а):Проектирование программы должно проходить после понимания азов программирования и конфигурирования ПЛК, и ПЛК ваще. А простенькие задачки уже идут по ходу обучения. Самый простой проект, это после нажатия кнопки включить лампочку. На этом примере можно прйтись через все этапы.
Именно так.
Иначе плохая привычка превратится в характер программирования. И ломать характер потом - очень и очень тяжко.

Желательно каждый проект проводить примерно по такой схеме:
1. Техническое задание. Пусть будет три строчки, но будет ясно написано, что же хочется получить на данном этапе.
Через этот этап многие перепрыгивают, особенно программируя "для себя". Это большая ошибка: как только поставлена более-менее большенькая задача, так появляется риск в процессе работы незаметно уйти в сторону.
2. Решение. Для начала словами, остальное /блок-схемы, UML и т.п./ потом приложится, по мере развития /хотя если уже известно, что это такое, то можно/. При этом рассмотреть все ситуации, помня, что у подброшенной монеты не два состояния - "орел" или "решка", у нее как минимум четыре состояния - "орел", "решка", "на ребро", "повисла в воздухе".
Например, в случае двухкнопочного управления лампой /кнопка 1 включает лампу, кнопка 2 - выключает/, рассмотреть действия при одновременном нажатии двух кнопок, действия при нажатии на кнопку 1 и при горящей лампе и т.п.
В промышленном программировании ситуация "мусор на входе - мусор на выходе" неприемлема в принципе, на выходе в любом случае должен быть корректный набор информации вне зависимости от набора входной информации.
3. Написание программы
4. Тестирование, выявление ошибок и несоответствий заданию, корректировка решения и переход к п.3. Если ошибок и несоответствий не выявлено - проект выполнен.
kobrik писал(а):ребята, я встретился с термином дискретно-аналоговый вход. Кто мне может объяснить подробно о нем?
У ПЛК я такого не встречал...
Одно из двух:
1. Вход, который в зависимости от текущего состояния конфигурационных регистров может быть как аналоговым, так и дискретным входом /а иногда и выходом/. У микроконтроллеров такое почти у всех.
2. Ошибка перевода термина и это обычный аналоговый вход. Скорее всего именно это и есть
kobrik писал(а):теперь по подробнее о компараторе...
Компаратор - сравниватель, если грубо. На вход подаются две величины, выход дискретный 0/1 в зависимости от функции сравнения.

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Обучаем новичка

Сообщение CHANt »

Изначально - http://ru.wikipedia.org/wiki/%D0%9A%D0% ... 0%BE%D1%80
В средах программирования контроллеров почти тоже самое, только можешь сравнивать переменные на: равно, не равно, больше, меньше. На выходе дискретная переменная.
Ох, Степа уже написал! Сорри))

kobrik
Профессионал
Сообщения: 663
Зарегистрирован: 04 ноя 2012, 19:23

Re: Обучаем новичка

Сообщение kobrik »

Михайло писал(а):Термин, мягко говоря, не распространенный. Моя версия такая же как у Чанта: дискретно-аналоговый вход - это аналоговый вход, который можно использовать как дискретный. Например, аналоговый вход 0-10 В. При 5 В - единица, при 0 В - ноль. Просто компаратор подключаешь и используешь выход этого компаратора. Примерно так. Сам лишь только слышал о таких входах. АББ, кстати, хвалилось, что в их ПЛК любой аналоговый вход можно использовать как дискретный.
ясно, значит как я понял, на каждом аналоговом входе установлен компаратор, который проверяет уровень сигнала. Данный компаратор настраивается на определенный уровень (к примеру если сигнал 12 мА, то компаратор выдает на выходе 1, а если меньше то 0)при подключении кабеля идушего от полевого устройства. Если я чтото не правильно понял плииз поправьте, буду благодарен.

Степа
Любитель
Сообщения: 98
Зарегистрирован: 21 окт 2012, 10:09

Re: Обучаем новичка

Сообщение Степа »

kobrik писал(а):ясно, значит как я понял, на каждом аналоговом входе установлен компаратор, который проверяет уровень сигнала. Данный компаратор настраивается на определенный уровень (к примеру если сигнал 12 мА, то компаратор выдает на выходе 1, а если меньше то 0)при подключении кабеля идушего от полевого устройства. Если я чтото не правильно понял плииз поправьте, буду благодарен.
Немного не так.
Компаратор - однобитный аналого-цифровой преобразователь /это вы правильно поняли/.
На аналоговый вход ставится не однобитный, а несколько более мощный АЦП: 8, 12, 14 или 16 бит /больше бит в АЦП общего назначения мне как-то не попадалось/. Самый простой и самый медленный АЦП - АЦП последовательного приближения. Состоит из компаратора, ЦАП и регистра последовательного приближения: состояние регистра подается на вход ЦАП, выход ЦАП подается на один из входов компаратора, на второй вход подается измеряемый сигнал. Алгоритм работы 8-битного АЦП:
1. Регистр последовательного приближения (РПП) сбрасывается в нуль.
2. Начинаем с самого старшего бита /i=7/ // биты считаются с нуля, потому 8-битный АЦП имеет старшим битом бит 7
3. Устанавливается бит i РПП.
Если выход компаратора равен 1, то переходим к следующему биту: i=i-1
Если выход компаратора равен 0, то обнуляем бит i и переходим к следующему биту: i=i-1
4. После восьмого шага в регистре последовательного приближения уровень текущего сигнала.
Как-то так в общем...
Немного об АЦП вот тут рассказано...

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

Степа писал(а):Расстреливать таких учителей. Из пушки и побольше калибром, чтоб точно не выжил.
Ты сам-то как научился? По Дейкстра и Кнуту сразу первую программу написал? :) Или UML сначала изучил? Правильно так: "Hello, world!" попробовать сделать, это и есть интуитивный метод освоения азов программирования или новых команд (если язык новый изучается).
Степа писал(а):Немного не так.
Не путай компаратор с АЦП.
kobrik писал(а):Данный компаратор настраивается на определенный уровень (к примеру если сигнал 12 мА, то компаратор выдает на выходе 1, а если меньше то 0)при подключении кабеля идушего от полевого устройства.
ИМХО. Назначение дискретно-аналоговых входов - прикрывание задницы криворуких разработчиков, которые забыли заказать резервные дискретные входа, зато зачем-то взяли кучу аналоговых входов :)

Степа
Любитель
Сообщения: 98
Зарегистрирован: 21 окт 2012, 10:09

Re: Обучаем новичка

Сообщение Степа »

Михайло писал(а):Ты сам-то как научился? По Дейкстра и Кнуту сразу первую программу написал? :) Или UML сначала изучил? Правильно так: "Hello, world!" попробовать сделать, это и есть интуитивный метод освоения азов программирования или новых команд (если язык новый изучается).
Вот очень плохо, что я длительное время интуитивно осваивал программирование. Теперь очень трудно ломать старые привычки...
Почему-то, если строят дом, то нормально смотрится строитель с чертежом будущего строения. А программист с чертежом будущей программы почему-то считается анахронизмом. Странно, да?
Михайло писал(а):Не путай компаратор с АЦП.
Никто ничего не путает: компаратор есть однобитный АЦП - его выход показывает не больше ли значение сигнала на входе 1 сигнала на входе 2.
Михайло писал(а):ИМХО. Назначение дискретно-аналоговых входов - прикрывание задницы криворуких разработчиков, которые забыли заказать резервные дискретные входа, зато зачем-то взяли кучу аналоговых входов :)
Я думаю, там все таки ошибка перевода термина. Аналоговый вход там, с аналого-цифровым преобразователем. В общем-то дискретно-аналоговый вход: на физическом входе аналоговый сигнал, а внутри ПЛК - вполне себе дискретная величина:
Дискре́тность (от лат. discretus — разделённый, прерывистый) — свойство, противопоставляемое непрерывности, прерывность.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

Ладно, не мусорим в теме. :)

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

kobrik
Задание такое:
Есть три кнопочных выключателя SB1 "Вперед", SB2 "Назад" и SB3 "Стоп". С их помощью нужно управлять тележкой, которая ездит между двумя точками. Тележка приводится в движение от электродвигателя с преобразователем частоты. Включением реле K1 преобразователь частоты запускает двигатель и он перемещает тележку на медленной скорости. Если включить одновременно реле K1 и K2, то преобразователь разгонит тележку до быстрой скорости. Если при этом включить реле K3, то тележка поедет в обратном направлении. Короче, K1 - "Пуск", K2 - "Быстро", K3 - "Реверс".
На пути следования тележки расположены путевые выключатели SQ1...SQ4. В исходном положении тележка находится в положении SQ1. При нажатии кнопки "Вперед" тележка движется быстро в направлении путевого выключателя SQ4. По пути включается выключатель SQ3, на котором необходимо перейти на медленную скорость и на выключателе SQ4 остановиться. При нажатии кнопки "Назад" тележка также движется быстро в обратном направлении, пока не сработает выключатель SQ2, на котором необходимо переключиться на медленную скорость. На выключателе SQ1 тележка должна остановиться.
В любом случае и в любом положении при нажатии кнопки "Стоп" тележка должна безусловно остановиться.

Нужно:
1. Выбрать ПЛК под эту задачу
2. Начертить схему подключения
3. Написать программу

Можешь задавать вопросы по особенностям работы кнопок, путевых выключателей, преобразователя частоты и по технологическому процессу.

Степа
Любитель
Сообщения: 98
Зарегистрирован: 21 окт 2012, 10:09

Re: Обучаем новичка

Сообщение Степа »

Михайло писал(а):Тележка приводится в движение от электродвигателя с преобразователем частоты.
На это можно не обращать внимания - лишняя информация.
В вопросе управления движением тележки достаточно этого:
Михайло писал(а):K1 - "Пуск", K2 - "Быстро", K3 - "Реверс".
Михайло писал(а):Нужно:
1. Выбрать ПЛК под эту задачу
2. Начертить схему подключения
3. Написать программу
Нужно:
1. Выбрать ПЛК
2. Начертить схему подключения
3. Подготовить описание алгоритма
4. Написать программу

Так будет правильнее...

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

Степа писал(а):Так будет правильнее...
Как сможет. Обучение не бывает правильным, оно бывает успешным.

Аватара пользователя
san
Специалист
Сообщения: 117
Зарегистрирован: 13 окт 2012, 17:17
Откуда: Киев
Контактная информация:

Re: Обучаем новичка

Сообщение san »

kobrik писал(а):ребята, я встретился с термином дискретно-аналоговый вход. Кто мне может объяснить подробно о нем?
Надо было спросить у автора на форуме ШЕ или в комментах к уроку. Для Зелио это всего навсего вход, который можно использовать либо как аналоговый (по моему 0-10В), либо как дискретный (0/24В). Как он там реализован, особо никого не должно волновать.

kobrik
Профессионал
Сообщения: 663
Зарегистрирован: 04 ноя 2012, 19:23

Re: Обучаем новичка

Сообщение kobrik »

Михайло писал(а):kobrik
Задание такое:
Есть три кнопочных выключателя SB1 "Вперед", SB2 "Назад" и SB3 "Стоп". С их помощью нужно управлять тележкой, которая ездит между двумя точками. Тележка приводится в движение от электродвигателя с преобразователем частоты. Включением реле K1 преобразователь частоты запускает двигатель и он перемещает тележку на медленной скорости. Если включить одновременно реле K1 и K2, то преобразователь разгонит тележку до быстрой скорости. Если при этом включить реле K3, то тележка поедет в обратном направлении. Короче, K1 - "Пуск", K2 - "Быстро", K3 - "Реверс".
На пути следования тележки расположены путевые выключатели SQ1...SQ4. В исходном положении тележка находится в положении SQ1. При нажатии кнопки "Вперед" тележка движется быстро в направлении путевого выключателя SQ4. По пути включается выключатель SQ3, на котором необходимо перейти на медленную скорость и на выключателе SQ4 остановиться. При нажатии кнопки "Назад" тележка также движется быстро в обратном направлении, пока не сработает выключатель SQ2, на котором необходимо переключиться на медленную скорость. На выключателе SQ1 тележка должна остановиться.
В любом случае и в любом положении при нажатии кнопки "Стоп" тележка должна безусловно остановиться.

Нужно:
1. Выбрать ПЛК под эту задачу
2. Начертить схему подключения
3. Написать программу

Можешь задавать вопросы по особенностям работы кнопок, путевых выключателей, преобразователя частоты и по технологическому процессу.

Так, наверное начнем с того, что входы у контроллера дискретные: SB1 "Вперед", SB2 "Назад" и SB3 "Стоп". Выходы тоже K1 - "Пуск", K2 - "Быстро", K3 - "Реверс". что значит путевые переключатели? Как я понял это датчики, определяющие положение включателей (т.е. определяют нахождение тележки), так же я первый раз слышу о двигателе с преобразованием частоты. Извините что я так поздно пишу, я бываю на работе...

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

kobrik писал(а):что значит путевые переключатели? Как я понял это датчики, определяющие положение включателей (т.е. определяют нахождение тележки), так же я первый раз слышу о двигателе с преобразованием частоты.
Все правильно: путевые выключатели - это "научное" название концевиков или конечных выключателей и он действительно представляют собой дискретные входы. На самом деле это механические датчики, у которых от нажатия рычага замыкается НО контакт и размыкается НЗ контакт.
Преобразователь частоты... В это вникать не надо, но хотя бы представление иметь стоило бы: это такой электронный блок, который по командам от реле К1, К2, К3 изменяет частоту вращения асинхронного двигателя.
Ждем от тебя перечисление входов и выходов ПЛК.

kobrik
Профессионал
Сообщения: 663
Зарегистрирован: 04 ноя 2012, 19:23

Re: Обучаем новичка

Сообщение kobrik »

Как я понял в для организации такой системы управления нужен ПЛК, который имеет как минимум 7 дискретных входов для: SB1 "Вперед", SB2 "Назад" и SB3 "Стоп" а также SQ1...SQ4; и 3 выхода: K1 - "Пуск", K2 - "Быстро", K3 - "Реверс". Исправьте если не правильно рассуждаю. Плиииз помогите с уровнями сигналов входов и выходов.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка

Сообщение Михайло »

Ну все правильно. Считай, список согласован. Напряжение 24 В постоянного тока. ПЛК на твой выбор. Документацию находишь сам.

kobrik
Профессионал
Сообщения: 663
Зарегистрирован: 04 ноя 2012, 19:23

Re: Обучаем новичка

Сообщение kobrik »

Я не понял условие после которого тележка будет двигаться на быстрой скорости.

Ответить