Просмотр полной версии : ПР200 и частотник Innovert idd751u21b MODBUS
Здравствуйте форумчане, я новичок, в недавнем времени у меня появился Овен ПР200 и частотный преобразователь Innovert IDD751U21B. Хотелось бы управлять частотником через реле по RS - 485 протокол MODBUS RTU, пускать/изменять частоту/останавливать. Адреса регистров узнал, частотник в управление по RS485 перевел, но не могу разобраться в программной среде OWEN Logic, а точнее как записать переменные в регистры частотника. Регистры 8192 - пуск, 8193 - задание частоты. К примеру я хочу записать в регистр 2000H (8192) число 02H (2) через owen logic, но не понимаю как это сделать. Помогите пожалуйста
Ревака Юрий
24.02.2020, 14:19
Здравствуйте форумчане, я новичок, в недавнем времени у меня появился Овен ПР200 и частотный преобразователь Innovert IDD751U21B. Хотелось бы управлять частотником через реле по RS - 485 протокол MODBUS RTU, пускать/изменять частоту/останавливать. Адреса регистров узнал, частотник в управление по RS485 перевел, но не могу разобраться в программной среде OWEN Logic, а точнее как записать переменные в регистры частотника. Регистры 8192 - пуск, 8193 - задание частоты. К примеру я хочу записать в регистр 2000H (8192) число 02H (2) через owen logic, но не понимаю как это сделать. Помогите пожалуйста
Добрый день. Посмотрите пример для ПЧВ ОВЕН, регистры другие, но смысл тот же. https://owen.ru/forum/showthread.php?t=25978
Здравствуйте форумчане, я новичок, в недавнем времени у меня появился Овен ПР200 и частотный преобразователь Innovert IDD751U21B. Хотелось бы управлять частотником через реле по RS - 485 протокол MODBUS RTU, пускать/изменять частоту/останавливать. Адреса регистров узнал, частотник в управление по RS485 перевел, но не могу разобраться в программной среде OWEN Logic, а точнее как записать переменные в регистры частотника. Регистры 8192 - пуск, 8193 - задание частоты. К примеру я хочу записать в регистр 2000H (8192) число 02H (2) через owen logic, но не понимаю как это сделать. Помогите пожалуйста
ПР200 Мастер, частотник Ведомый, регистр 8192 целочисленное значение 2 Пуск ,0 это Стоп. Регистр 8193 это Скорость так-же целочисленное значение надо умножить на 0.1. Пример если отправить значение 353 на регистр 8193 то частотник выдаст частоту 35.3 Гц
Вот только не разобрался как сделать реверс (
ПР200 Мастер, частотник Ведомый, регистр 8192 целочисленное значение 2 Пуск ,0 это Стоп. Регистр 8193 это Скорость так-же целочисленное значение надо умножить на 0.1. Пример если отправить значение 353 на регистр 8193 то частотник выдаст частоту 35.3 Гц
Вот только не разобрался как сделать реверс (
С командами все просто, в инструкции все описано, побитно, комбинацией этих бит формируется число ,которое нужно записать в регистр 2000H . Макрос несложно сделать , на входах которого дискретные сигналы, на выходе целочисленное число, чтоб не вычислять каждый раз значение командного слова для 2000Н.
Evgen Dnepr
14.10.2024, 11:24
С командами все просто, в инструкции все описано, побитно, комбинацией этих бит формируется число ,которое нужно записать в регистр 2000H . Макрос несложно сделать , на входах которого дискретные сигналы, на выходе целочисленное число, чтоб не вычислять каждый раз значение командного слова для 2000Н.
Если не сложно выложите пример макроса здесь!
kondor3000
14.10.2024, 13:19
Если не сложно выложите пример макроса здесь!
Вы как маленький, в каждом втором примере на форуме есть распаковка и упаковка бит в Маску.
Первая же тема с примерами, где есть макросы и ФБ на ST, упаковки и распаковки бит https://owen.ru/forum/showthread.php?t=40336
Могу поделиться примером макроса для другого ПЧВ Instart VCI
Сам макрос
79379
Пример использования:
- в программе
79380
- сетевые переменные, привязанные к конкретному ПЧВ
79381
Описание:
1. из программы поступают команды:
- bSetStart - пуск/стоп ПЧВ
- rSetSpeed_[%] - задание скорости вращения ПЧВ
- bResetAlarm - команда сброса состояния отказа ПЧВ
2. от ПЧВ поступают параметры состояния:
- nCurrentOut - выходной ток ПЧВ
- nRateCurrent - значение рабочего тока (это константа, но удобнее её брать из настроек ПЧВ, чем отдельно вводить в ПР)
- wStateVFD - слово состояния ПЧВ
- wErrorCode - код отказа ПЧВ
3. поступившие команды преобразуются в кодовые слова, передающиеся в ПЧВ (через сетевые переменные)
- wCmd - командное слово управления (пуск/стоп/сброс)
- nSpeed - число, соответствующее требуемой скорости вращения ПЧВ
4. принятые от ПЧВ коды состояний преобразуются в биты состояний:
- bStateStop
- bStateRun
- bStateFault
- wErrorCode
При смене ПЧВ просто заменю макрос (ФБ), привязки к Modbus регистрам, а набор входов и выходов останется без изменений, т.к. управляющей программе больше ничего и не требуется.
Состояния пуск/стоп/отказ принимаю для визуализации.
Рабочий ток ПЧВ (мотора) - для получения выходного тока не только в [А], но и в [%] - заказчик переносит уставки без привязки к мощности конкретного мотора (у заказчика на балансе много станций и насосов разных мощностей, уставки в [%] проще запоминать, чем пересчитывать).
Адреса Modbus регистров беру из таблиц параметров. Часто в РЭ к ПЧВ имеется глава - "Работа с Modbus" - которая содержит таблицу оперативных регистров управления, которые не портят Flash память настроек при частой перезаписи.
Если есть вопросы - задавайте.
В случае конкретно "моего" ПЧВ Instart VCI команда пуск/стоп/сброс формируется не битовой маской, а конкретным числом (enum), поэтому для формирования управляющего слова нужно применять SEL, а не PUTBIT.
Работал по Modbus всего с 3-4 моделями ПЧВ и они все были с перечислением команд, а не масками.
Слово состояния - тут, как повезёт - и маски и перечисления. В Instart VCI - перечисления.
Evgen Dnepr
15.10.2024, 09:28
В моем случае с частотным преобразователем Innovert IPD 79392 мне понадобился реверс. Направление вращение пишется в регистр 8192 во второй и третий бит слова. 79393
Поэтому я сделал преобразование битовой маске дискретных входов 79394
Что бы получить командное слово и отправить его в частотный преобразователь.
В программе будут формироваться только команды (булевы) ПУСК ВПЕРЁД, ПУСК НАЗАД, СТОП, СБРОС. Поэтому я бы рекомендовал всё же вычислить именно эти командные слова, определить приоритет их формирования и реализовать не побитовое, а пословное формирование. Даже, если в инструкции слово управления разделено на несколько полей по два бита.
В результате получите шаблон работы с ПЧВ, который потом сможете применить к другим. А с битовыми масками такого не будет - исхожу из опыта. Переделывал свой макрос под Elhart, Chint, Instart - под команды там именно числа.
Единственно, привязку регистров приходится самостоятельно ручками набирать - шаблоны сетевых устройств на новых ПР не действуют.
Вот пример переделки под Elhart
Команды пуск/стоп лучше давать дискретными выходами ПРа, а частоту можно уже и по modbus. А то в случае выгорания ПРа ваш частотник останется без «руля»
Обычно, ПЧВ имеет настройку - действия при пропадании связи на N секунд. Это и есть защита ПЧВ.
Адреса идентичны с N700E?
Нет, конечно - в примерах другие ПЧВ с другими адресами и другими константами.
Но, имея шаблон, легко заполнить информационные поля - константы.
killdrunk
24.12.2024, 10:16
Могу поделиться примером макроса для другого ПЧВ Instart VCI
Сам макрос
79379
Пример использования:
- в программе
79380
- сетевые переменные, привязанные к конкретному ПЧВ
79381
Описание:
1. из программы поступают команды:
- bSetStart - пуск/стоп ПЧВ
- rSetSpeed_[%] - задание скорости вращения ПЧВ
- bResetAlarm - команда сброса состояния отказа ПЧВ
2. от ПЧВ поступают параметры состояния:
- nCurrentOut - выходной ток ПЧВ
- nRateCurrent - значение рабочего тока (это константа, но удобнее её брать из настроек ПЧВ, чем отдельно вводить в ПР)
- wStateVFD - слово состояния ПЧВ
- wErrorCode - код отказа ПЧВ
3. поступившие команды преобразуются в кодовые слова, передающиеся в ПЧВ (через сетевые переменные)
- wCmd - командное слово управления (пуск/стоп/сброс)
- nSpeed - число, соответствующее требуемой скорости вращения ПЧВ
4. принятые от ПЧВ коды состояний преобразуются в биты состояний:
- bStateStop
- bStateRun
- bStateFault
- wErrorCode
При смене ПЧВ просто заменю макрос (ФБ), привязки к Modbus регистрам, а набор входов и выходов останется без изменений, т.к. управляющей программе больше ничего и не требуется.
Состояния пуск/стоп/отказ принимаю для визуализации.
Рабочий ток ПЧВ (мотора) - для получения выходного тока не только в [А], но и в [%] - заказчик переносит уставки без привязки к мощности конкретного мотора (у заказчика на балансе много станций и насосов разных мощностей, уставки в [%] проще запоминать, чем пересчитывать).
Адреса Modbus регистров беру из таблиц параметров. Часто в РЭ к ПЧВ имеется глава - "Работа с Modbus" - которая содержит таблицу оперативных регистров управления, которые не портят Flash память настроек при частой перезаписи.
Если есть вопросы - задавайте.
Приветствую друг! У тебя в примерах у ПЧВ несколько адресов регистров, в моём ПЧ Innovert всего два адреса регистра, я могу использовать подобный макрос для отправки команд на ПЧ и приёма показаний с ПЧ по двум адресам регистра?
Доброго дня
Не совсем понял вопрос.
Как понимаю, для минимального управления требуется всего 2 регистра - скорость и пуск/стоп.
Но, раз уж залез в ПЧВ через Modbus, то есть смысл вытянуть из него побольше - состояние (работа/останов/авария), текущий ток, рабочий ток, команду сброс аварии (иногда совмещена с регистром пуск/стоп).
Ток считывается не просто так - это дополнительный защитный параметр эквивалент "сухого хода", также это один из критериев перехода в "сон" (ПЧВ Elhart могут не снижать частоту, но снижать ток на холостом ходу). Также, на тех же Elhart при регулировании от ПИД на скорости 50 Гц ток может превышать рабочий на 10-15% - это не хорошо, можно вторым ПИД регулятором снизить ток до превышения на 0-5% (ограничивая=снижая скорость).
Один заказчик хорошо разбирается в насосной и моторной технике - самостоятельно исправлял мои программы заменяя константы формулами зависимостей ток(частота) - говорит, что наблюдал совпадение теоретических характеристик с измеренными и замена на формулы только улучшала функционал программы.
Т.е. по его ТЗ я делал программу, вместе отлаживали, а потом он в ходе эксплуатации с целью улучшения находил зависимости и заменял грубые константы на точные формулы, но сам функционал по ТЗ был готов.
Это всё к тому, что по Modbus можно считать многое - есть смысл сделать заготовку обработки всех нужных параметров сразу. Т.е. я бы предпочёл с каждого ПЧВ считывать/записывать все 6 параметров, которые и ожидает макрос:
- скорость
- команда пуск/стоп/сброс
- код ошибки
- код состояния
- ток
- рабочий ток
А так - да, можно и 2 регистрами обойтись - скорость и команда
Вот статья про подобное использование тока
https://habr.com/ru/companies/wirenboard/articles/856968/
Заказчик использует подобные соображения, но от датчиков сухого хода и перепада давления не отказывается. Т.е. защиты от датчиков дополняются защитами по расчётам на основе относительного тока I/Iрабоч. И функционал ("сон") более устойчиво работает по критериям и частоты и снижения тока.
Рогов Алексей
25.12.2024, 11:22
Хорошая штука, есть шаблон для ПР 200? Я при малых мощностях до 25 кВт мотора ограничивался копеечным реле контроля фаз после контактора и двумя трансформаторами тока. Бюджет 7 тыс. руб. Очевидно, для разных мощностей требуется и разный подход к проектированию устройств допускового контроля.
ПР205 не поддерживает шаблоны, поэтому для тех нескольких частотников, с которыми работал - не делал. Хотя признаю, было бы удобно заменить набор текста на простой клик.
А работать с Wire Bond просто не доводилось. Трансформаторы тока в моём случае не требовались - измерения производил ПЧВ. Хотя алгоритм защит и управления не изменился бы.
Могу поделиться примером макроса для другого ПЧВ Instart VCI
Сам макрос
79379
Пример использования:
- в программе
79380
- сетевые переменные, привязанные к конкретному ПЧВ
79381
Описание:
1. из программы поступают команды:
- bSetStart - пуск/стоп ПЧВ
- rSetSpeed_[%] - задание скорости вращения ПЧВ
- bResetAlarm - команда сброса состояния отказа ПЧВ
2. от ПЧВ поступают параметры состояния:
- nCurrentOut - выходной ток ПЧВ
- nRateCurrent - значение рабочего тока (это константа, но удобнее её брать из настроек ПЧВ, чем отдельно вводить в ПР)
- wStateVFD - слово состояния ПЧВ
- wErrorCode - код отказа ПЧВ
3. поступившие команды преобразуются в кодовые слова, передающиеся в ПЧВ (через сетевые переменные)
- wCmd - командное слово управления (пуск/стоп/сброс)
- nSpeed - число, соответствующее требуемой скорости вращения ПЧВ
4. принятые от ПЧВ коды состояний преобразуются в биты состояний:
- bStateStop
- bStateRun
- bStateFault
- wErrorCode
При смене ПЧВ просто заменю макрос (ФБ), привязки к Modbus регистрам, а набор входов и выходов останется без изменений, т.к. управляющей программе больше ничего и не требуется.
Состояния пуск/стоп/отказ принимаю для визуализации.
Рабочий ток ПЧВ (мотора) - для получения выходного тока не только в [А], но и в [%] - заказчик переносит уставки без привязки к мощности конкретного мотора (у заказчика на балансе много станций и насосов разных мощностей, уставки в [%] проще запоминать, чем пересчитывать).
Адреса Modbus регистров беру из таблиц параметров. Часто в РЭ к ПЧВ имеется глава - "Работа с Modbus" - которая содержит таблицу оперативных регистров управления, которые не портят Flash память настроек при частой перезаписи.
Если есть вопросы - задавайте.
Макрос понравился. Есть вопрос мне нужно задать не скорость вращения, а частоту. Что нужно поправить в макросе? Не могу сообразить, я не программист и поэтому мне очень не просто да и сталкиваюсь я с такими задачами не часто. Мне надо управлять двумя частотниками по Modbus. Сижу изучаю форум буду рад любой помощи.
Мне кажется, что скорость вращения и частота вращения в данном случае - синонимы.
Этот макрос - просто заготовка. Когда подгоняю его под другой ПЧВ - вычисляю новые управляющие слова (данные беру из РЭ), уточняю множитель для преобразования частоты (число из программы в [Гц]) в число для передачи команды, да и другие множители (для тока). Все эти данные есть в РЭ на ПЧВ.
Регистры настраиваю вручную на вкладках настройки Modbus Slave - до сегодняшнего дня не было поддержки шаблонов сетевых устройств у основных для меня ПР205.
В том моём сообщении всё описано, даже добавить нечего.
Я ошибся - в терминах того примера ФБ (макроса) скорость вращения измеряется в [%], а не [Гц].
Подберите множитель, чтобы для входного диапазона из алгоритма программы на входе (от 0 до 50,0) в сетевой переменной формировался требуемый по РЭ для Вашего ПЧВ диапазон значений (чаще всего, от 0 до 5000). И сразу измените текст на входе макроса - замените [%] на [Гц], чтобы не сбивать с толку при программировании.
Прошу прощения, макрос сделал давно, все вычисления в программе выполняются или в [%] или долях от 1 (это почти проценты, только в 100 раз меньше). Поэтому просто забыл о многом и не сразу осознал вопрос.
Тоже в принципе понятно, не понятно как задать частоту не целым числом, а с дробью. Например 12,2?
Пытаюсь на калькуляторе перевести десятичную дробь в шестнадцатеричное число - не получается. Что я не понимаю? Ведь сам преобразователь может устанавливать частоты с долями, и с аналогового входа это легко работает.
Передавайте число 122.
В моём макросе есть преобразование - умножение и float_to_uint. Единственно, у меня множитель был для масштабирования из [%], а не из [Гц] и в моём случае нужно было отправлять совсем другой диапазон значений (был другой множитель).
Чтобы понять работу макроса - попробуйте самостоятельно реализовать всё это масштабирование и формирование команд. Получите почти такое же решение. И будет всё понятно.
В форме макроса оформил по одной простой причине - весь повторяющийся (даже в пределах одной программы) код должен оформляться в подпрограммы - и наглядно и при необходимости исправлять / дорабатывать - тоже в одном месте.
А в "моём" проекте было 4 ПЧВ - подготовка обмена просто "просилась" в макрос. А потом стал заготовку и для других ПЧВ применять и дорабатывать.
Спасибо за ответ и понимание.
Я очень внимательно смотрел на ваш макрос и все преобразования увидел. Большое спасибо. Видимо я не так выразился. Все переменные в шаблонах для записи в ПЧВ, которые я смотрел "целочисленные", они могут быть с "плавающей запятой"?
Если вопрос дурацкий сильно не ругайтесь.
В самом общем виде формат значений может быть как uint, так и real.
Но, по Вашим словам, для конкретного ПЧВ эти параметры передаются в виде целых чисел - вероятно, для уменьшения объёма передаваемых данных.
В таком случае применяется масштабирование. Например, для передачи числа real 12,3 передают uint 123, т.е. умножают на 10.
А также применяют изменение формата чисел - преобразование типа по значению. В среде разработки это элемент [x -> I]. Именно он и размещён после [fmul].
Спасибо, теперь стало понятно.
Доброго дня
Не совсем понял вопрос.
Как понимаю, для минимального управления требуется всего 2 регистра - скорость и пуск/стоп.
Но, раз уж залез в ПЧВ через Modbus, то есть смысл вытянуть из него побольше - состояние (работа/останов/авария), текущий ток, рабочий ток, команду сброс аварии (иногда совмещена с регистром пуск/стоп).
Ток считывается не просто так - это дополнительный защитный параметр эквивалент "сухого хода", также это один из критериев перехода в "сон" (ПЧВ Elhart могут не снижать частоту, но снижать ток на холостом ходу). Также, на тех же Elhart при регулировании от ПИД на скорости 50 Гц ток может превышать рабочий на 10-15% - это не хорошо, можно вторым ПИД регулятором снизить ток до превышения на 0-5% (ограничивая=снижая скорость).
Один заказчик хорошо разбирается в насосной и моторной технике - самостоятельно исправлял мои программы заменяя константы формулами зависимостей ток(частота) - говорит, что наблюдал совпадение теоретических характеристик с измеренными и замена на формулы только улучшала функционал программы.
Т.е. по его ТЗ я делал программу, вместе отлаживали, а потом он в ходе эксплуатации с целью улучшения находил зависимости и заменял грубые константы на точные формулы, но сам функционал по ТЗ был готов.
Это всё к тому, что по Modbus можно считать многое - есть смысл сделать заготовку обработки всех нужных параметров сразу. Т.е. я бы предпочёл с каждого ПЧВ считывать/записывать все 6 параметров, которые и ожидает макрос:
- скорость
- команда пуск/стоп/сброс
- код ошибки
- код состояния
- ток
- рабочий ток
А так - да, можно и 2 регистрами обойтись - скорость и команда
Добрый день.
Такой вопрос можно ли при опросе состояния ПЧВ понять двигатель вращается или стоит (например заклинен)?
kondor3000
06.10.2025, 08:37
Добрый день.
Такой вопрос можно ли при опросе состояния ПЧВ понять двигатель вращается или стоит (например заклинен)?
Для этого читаются параметры частоты вращения, рабочий ток, напряжение и главное коды состояния и ошибок ПЧ
Добрый день.
Такой вопрос можно ли при опросе состояния ПЧВ понять двигатель вращается или стоит (например заклинен)?
Думаю, что в самом общем виде - НЕТ.
Для диагностики при работе с ПЧВ нужно не только отправлять команды, но и принимать состояние:
- реальная скорость вращения (это отдельный регистр)
- регистр флагов состояния (авария, останов, работа)
- регистр ошибок (иногда бывает, что при кратковременном пропадании связи в регистре отличное от нуля значение - код отсутствия связи, но именно аварийного останова при этом нет - время задержки не истекло)
- рабочий ток (выходной ток)
- номинальный ток (чтобы получить выходной ток в % от номинального)
У меня был случай, с которым до конца не разобрался...
Настраивал котёл на лузге, было много проблем с теплотехникой, а теплотехник технично слился и всё легло на меня - расплавление с разрушением топки, программа, КИП, ПНР, разборки по сметам, препирательства с монтажниками, исправления монтажа, инструкции (пусковая, по проверке АБ, по работе с ПО) и другие головняки. В общем, настроил всё кроме одного загадочного момента из-за недостатка времени.
Питающий шнек работал через редуктор от мотора (2,2 кВт) с ПЧВ Delta на постоянной максимальной скорости 50 Гц (т.к. подача лузги менялась дозатором).
Так вот, когда несколько раз шнек заклинил - ПЧВ не сформировал ошибку, т.к. выходной ток (смотрел на дисплее) был около номинального.
Я после первого случая перепроверил настройки двигателя в ПЧВ - соответствовали шильдику. При повторении - не стал спешить освобождать шнек, прошёлся по текущим параметрам - ток и прочее. И не увидел никаких аномалий. И ПЧВ поэтому не сформировал аварийный останов.
К сожалению, не записал и не сфотографировал показания, и работал с ПЧВ по физическому интерфейсу, не наблюдал значения на панели оператора.
Т.е. возможна ситуация, когда ПЧВ не остановит заклинивший мотор.
Но стремиться обрабатывать токи, состояния, ошибки - нужно.
Сергей0308
06.10.2025, 18:11
Тогда Вам не нужно ограничивать ток на уровне номинального и тогда при заклинивании ПЧ сформирует сигнал аварии.
У нас тоже подобное было, транспортёр долго стоял и закис, ПЧ запускается и работает, но аварии нет хотя транспортёр стоит. Короче, такое бывает когда люди настраивают ПЧ не понимая к чему это может привести!
Не совсем понимаю, о чём речь.
Могу приложить фото шильдиков мотора, ПЧВ и все параметры настройки ПЧВ (для наглядности можно открыть программой для ПЧВ Delta - не помню названия).
Подскажите, что не так было.
Специально посмотрел - номинальный ток 5,10 А (совпадает с шильдиком), максимальный ток 120% (по умолчанию в ПЧВ).
Что нужно было менять?
Сергей0308
06.10.2025, 22:05
У вашего ПЧ этот параметр наверно называется порог выходного тока, надеюсь сами разберётесь, я же вам написал в преведущем посте, что нужно сделать, а как, у Вас голова на плечах должна быть или попросите того кто в этом разбирается!
С таким назаванием параметр 2-33
Этот параметр про сигнализацию на одном из дискретных выходов.
Сергей0308
07.10.2025, 01:06
С таким назаванием параметр 2-33
Этот параметр про сигнализацию на одном из дискретных выходов.
Тогда ищите другой параметр, отвечающий за ограничение выходного тока, Вы меня не слышите, я уже писал об этом, Вы наверно понимаете, что если двигатель заклинило, ПЧ должен аварию показать, а не продолжать работать как ни в чём не бывало!
Вот овенские ПЧ, от них двигатель просто запустить проблематично на уставках по умолчанию, всякие ошибки сыпятся!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot