Доброго Вам дня, уважаемые читатели!
Сегодня у нас с вами практический пример!
Подключим ПР205 к частотному преобразователю ПЧВ1 от Овен, по RS485, используя протокол ModBus RTU.
А ещё:
- Выведем параметры ПЧВ на дисплей ПР205
- Сделаем минималистичную Визуализацию на СП270, подключенную к ПР205 по RS485
- Подключим ПЛК150 к ПР205 по ModBus TCP, и передадим данные аналогового входа ПЛК на ПР. В качестве «датчика», подключенного к AI1 ПЛК, будем использовать эмулятор аналогового сигнала 0-10 Вольт.
Перед тем как начнем, предлагаю вспомнить то, чем мы занимались ранее:
Посмотрели на прибор ОВЕН ПР205, и кратко «прошлись» по его особенностям:
Подключили различные датчики к Дискретным и Аналоговым входам\выходам:
Настроили связь с различными приборами используя встроенные в ПР205 интерфейсы – Ethernet и RS485:
Начнем с простого!
Вспомним как нам передать данные Аналогового входа AI1 ПЛК150 на ПР205 используя протокол ModBus TCP.
Настраиваем связь ПЛК-ПР. ПР будет Master, ПЛК – Slave:
Ничего замысловатого в этом нет, всё это описывалось ранее.
Ну а теперь переходим к более интересному, сложному!
Все файлы по данной статье находятся тут (описание, макросы и проекты ПР).
Теория.
Адресация ПЧВ.
Частотный преобразователь, по сути своей, такой же прибор, как и другие, работающие по протоколу ModBus. У него с завода есть настроенные адреса регистров, которые описаны в инструкции пользователя (полный документ прикреплен в ссылке чуть выше). Давайте посмотрим на регистры, которые сегодня будут использоваться:
Все остальные параметры, не вижу смысла переносить из инструкции, откройте ПДФ файл, в нем 12 страниц.
Что нам с вами потребуется для управления и мониторинга:
- Регистр 49999 (ModBus, использовать далее по умолчанию будем именно ModBus). По адресу этого регистра находится «Командное слово». Командное слово – это параметры управления, Стар\Стоп, Реверс, Быстрая остановка и т.д..
- Регистр 50009. Регистр, записывая данные в который, мы управляем заданием, в нашем случае изменяем скорость вращения асинхронного двигателя.
- Регистр 50199 – это регистр слова состояния, в нем хранится информация о текущем состоянии ПЧВ. Ошибки, работа, выход на заданную скорость и т.д..
Разберем регистр 49999 более подробно.
Данный регистр состоит из 2-ух байт, напомню вам, каждый байт – 8 бит.
Грубо говоря, возьмите 16 клеточек тетради, каждая клетка это 1 бит, и в него можно записать, или из него можно прочитать 0 или 1.
Для большего понимания можно воспользоваться калькулятором (в режиме программист). Нужно конвертировать BIN в DEC:
Бит 0 - 00000001 – 1
Бит 1 - 00000010 – 2
Бит 2 - 00000100 – 4 (Торможение постоянным током\Нет торможения)
Бит 3 - 00001000 – 8
Бит 8 - 10000000 – 128
Или
Бит 0-1-2 - 00000111 – 7
Бит 0-1-4-8 - 10010011 – 147
Это были примеры с 1 байтом, соответственно, когда у вас 2 байта, 0 и 1 будет 16:
Бит 8-16 - 1000000010000000 – 65792
С сутью преобразования думаю понятно?
Что мы с вами видим из скриншота выше? Например, при записи в 6-ой бит логической 1-цы, должен произойти запуск двигателя, 6-ой бит отвечает за запуск и остановку двигателя.
00000000 00100000 – вот так выглядит полный регистр 49999 при записи в 6-ой бит 1-цы. (Байты могут быть не в том порядке что я указал, бывает второй Байт идёт на первом месте, а ещё бывает так, что байты помимо того что переставлены местами, ещё и идут в от конца к началу, но это совсем другая история)
Точно по такому же принципу работают и другие 2 регистра, с небольшими отличиями, из одних регистров мы информацию читаем, а в другие регистры, информацию записываем.
Есть ещё регистры, из которых можно и читать и в них же записывать – это регистры конфигурации, более подробно о них можно почитать в инструкции. Если кратко, то всё что вы можете делать с Панели оператора (ЛПО), можно так же делать удаленно, через регистры, например записывая в конфигурацию мощность используемого двигателя. В инструкции указан формат данных, регистр, возможность конфигурирования, и коэффициент преобразования, 3-тий скриншот. В формате данной статьи мы это затрагивать не будем!
Практика.
После теоретического вступления, переходим к практическим реализациям.
Вообще, в менеджере компонентов уже имеется макрос для работы с ПЧВ, и его можно использовать, он так же прикреплен по ссылке выше. Но использовать готовый макрос, без понимания его работы – неправильно! Т.к. знать надо всю суть обмена данными между ПЧВ и ПР.
Разберем данный макрос более детально, и запустим, при его помощи двигатель:
На втором скриншоте внутренняя логика макроса. Суть простая, преобразуем каждый бит в конкретное число, если на нулевом бите 1 – значит это число 1, если на 7-ом бите – число 128.
Если мы с вами НЕ ВЫПОЛНЯЕМ остановку по «Торможение постоянным током», тогда записываем в 2 бит 1-цу.
Если в тот же момент мы НЕ ВЫПОЛНЯЕМ «Быстрый останов», тогда и в 4-ый бит так же надо записать 1-цу!
Единица в 2 бите – это число 4, а единица в 4-ом бите – 16. Складываем 16+4, получаем 20. Но для запуска двигателя нам с вами не достаточно этого, нужно ещё кое что указать, по первому скриншоту вы можете наблюдать то, что нужно для запуска АД (асинхронного Двигателя, в моём случае).
Логика простая, 2 бит - Торможение постоянным током. Хотим мы при запуске тормозить постоянным током? Нет конечно, мы же стартуем, а не останавливаемся, следовательно, выполняя указания инструкции, ставим в 2-ой бит 1-цу – «Нет торможения постоянным током». И так далее с каждым пунктом.
При сложении всех необходимых пунктов получаем число 1148. В принципе, достаточно записать это число на прямую в регистр 49999 для запуска АД.
Но АД не начнет вращение, по причине того, что у нас нет задания!
Задание задается от 0 до 16384 (16383), о чем в инструкции мало того, что не сказано напрямую, ещё и сказано с ошибкой! Это значение перекочевало в «частотники» ОВЕН от Данфос, который дает разъяснения, что и почему (В инструкции у данфос скорость задается до 4000, а у ОВЕН почему-то до 4999, это ошибка, т.к. и у ОВЕН и у данфос, максимальная скорость 4000, или 100%, а если ещё более точно, то 4000=100%):
Значение задания скорости передачи по шине. Значение задания скорости передается в преобразователь частоты как относительное значение в процентах. Значение пересылается в виде 16-битного слова; в целых числах (0–32767) значение 16384 (4000 в 16-ричномформате) соответствует 100 %. Отрицательные числа форматируются с помощью двоичного дополнения. Текущая выходная частота (MAV) масштабируется таким же образом, как и задание по шине."
Т.к. нам удобно задавать скорость в %, преобразуем 16383 от 0 до 100% с помощью простой математики.
Вот и всё что есть в этом макросе. Его можно дополнять, или уменьшать, как вам будет удобно.
А ещё, для более наглядного понимания, я сделал макрос слова состояния, и вывел его в качестве сигнальных ламп на дисплей ПР205. Макрос так же прикреплен к всем файлам.
Данные на СП270 передаются через RS485, настройки которого описаны в предыдущей записи.
Ну что, а теперь давайте посмотрим, как это работает?
Вот, наверное, и всё на сегодня. Ничего сложного в управлении частотным преобразователем нет, главное разобраться в сути передачи данных. И большим подспорьем в этом вопросе является знание принципа работы протокола ModBus, как формируется посылка\пакет (она же frame). Почитать про различные протоколы и интерфейсы, и о многом другом, можно в книге Денисенко В.В. - Компьютерное управление технологическим процессом, экспериментом, оборудованием.
Книга написана не очень доступно, и, возможно, потребуется прочитать её 2 раза. Но в ней вы сможете найти много интересного, советую!
Что ещё осталось не рассказанным? Осталось совсем немного – работа ПР205 с OwenCloud и ПРМ. Именно про это и будет 5-ая часть моих рассказов про ПР205.
Если у вас есть вопросы, если что-то нужно дополнительно осветить, напишите в комментариях, с радостью продолжу писать про ПР205 - первый среди лучших!
До новых встреч, друзья! Пусть ваша жизнь будет наполнена добротой и любовью! Мир всем!
Пока!
P.S. Нашли ошЫибки - дайте знать, спасибо!