PDA

Просмотр полной версии : Проблема с записью регистров в ПР200 по протоколу ModBusRTU



BRB.Inc
29.10.2021, 21:58
Всем привет! Объясню в чем заключается проблема. Есть ПР200-220.2.2 и есть преобразователь частоты фирмы Кастон FVD500. На работе поставили задачу с помощью ПР200 сделать управление через интерфейс RS-485 преобразователем частоты. Саму программу логики то я написал в OwenLogic, но столкнулся с проблемой в плане сетевых переменных. Как вбить регистры от Кастона в Овен Лоджик. В инструкции к преобразователю частоты указаны регистры в HEX формате, я их перевожу в формат DEC и пытаюсь забить в переменные, но OwenLogic выдает ошибку, да и значения в DEC формате большеваты. Может кто получше разбирается в сетевых переменных и как вбить регистры правильно для записи и чтения параметров с ПЧ. Приложу инструкцию к теме. Необходимы параметры: Пуск ПЧ, Задание,Считывание состояния привода, тобишь частота фактическая, ток, обороты.

kondor3000
29.10.2021, 23:26
Всем привет! Объясню в чем заключается проблема. Есть ПР200-220.2.2 и есть преобразователь частоты фирмы Кастон FVD500. На работе поставили задачу с помощью ПР200 сделать управление через интерфейс RS-485 преобразователем частоты. Саму программу логики то я написал в OwenLogic, но столкнулся с проблемой в плане сетевых переменных. Как вбить регистры от Кастона в Овен Лоджик. В инструкции к преобразователю частоты указаны регистры в HEX формате, я их перевожу в формат DEC и пытаюсь забить в переменные, но OwenLogic выдает ошибку, да и значения в DEC формате большеваты. Может кто получше разбирается в сетевых переменных и как вбить регистры правильно для записи и чтения параметров с ПЧ. Приложу инструкцию к теме. Необходимы параметры: Пуск ПЧ, Задание,Считывание состояния привода, тобишь частота фактическая, ток, обороты.

Адрес регистра управления 0х7000, в DEC будет 28672.
Для записи надо прибавлять ещё 0х8000, в DEC будет + 32768
Как раз я эту ошибку и совершил, надо ПР перевести в режим Мастер, тогда и адреса можно назначить 0-65535. И проконтролировать, что частотник в режиме слейв.
Если я правильно понял, в регистре P30.09 должен быть 0.

dan75
29.10.2021, 23:28
На что ругается Logic, и что значит "большеваты"? Допустимый диапазон адресов для целочисленных регистров 0-65535. У частотника максимально возможный адрес 0x700A(hex), т.е. 28682(dec). Насколь понимаю это руководство, фактическая частота находится в параметре 27.00. Адрес регистра складывается из этих двух цифр: 27(dec)=1b(hex), 00(dec)=00(hex). Получилось 1b00(hex)=6912(dec). Этот регистр и нужно читать с помощью ПР200. Только полученное значение надо будет перевести в формат float и разделить на 100. Аналогично с выходным током: номер параметра 27.06, адрес регистра 1b06(hex) или 6918(dec). Полученное значение делить на 10.

melky
29.10.2021, 23:29
kondor3000 при чем тут регистры ПР и регистры другого устройства где ПР Мастер ?

dan75
29.10.2021, 23:31
Похоже с ПР 200 у вас ничего не выйдет, адрес регистра управления 0х7000, в DEC будет 28672, а у ПР сетевые регистры ограничены от 512 до 575. Вам нужен ПЛК.
А для записи надо прибавлять ещё 0х8000, в DEC будет +32768, это например уже 61440.

Сетевые регистры ограничены (512-575) в режиме слейва. И это адреса ячеек памяти ПР. А при управлении частотником ПР будет мастером. И обращаться он будет к адресам в памяти частотника.

kondor3000
29.10.2021, 23:37
melky, dan75 ну да , забыл, тогда можно если ПР мастер) исправлюсь)))

BRB.Inc
30.10.2021, 19:28
Спасибо за объяснения. Буду пробовать!

BRB.Inc
30.10.2021, 19:29
Совершенно верно, но толтко и в режиме мастера и слейва он мне дает ошибку, а точнее восклицательный знак и указывает что максимально допустимое значение 60...чего то. Доберусь до рабочего компьютера скину скрины

BRB.Inc
30.10.2021, 19:34
Адрес регистра управления 0х7000, в DEC будет 28672.
Для записи надо прибавлять ещё 0х8000, в DEC будет + 32768
Как раз я эту ошибку и совершил, надо ПР перевести в режим Мастер, тогда и адреса можно назначить 0-65535. И проконтролировать, что частотник в режиме слейв.
Если я правильно понял, в регистре P30.09 должен быть 0.

Частотник переведен в режим слейва. Проблема с регистрами. Не правильно понял как их забивать и правильно перевести с НЕХ в DEC. Ну ответов было много, буду пробовать.

BRB.Inc
30.10.2021, 19:37
На что ругается Logic, и что значит "большеваты"? Допустимый диапазон адресов для целочисленных регистров 0-65535. У частотника максимально возможный адрес 0x700A(hex), т.е. 28682(dec). Насколь понимаю это руководство, фактическая частота находится в параметре 27.00. Адрес регистра складывается из этих двух цифр: 27(dec)=1b(hex), 00(dec)=00(hex). Получилось 1b00(hex)=6912(dec). Этот регистр и нужно читать с помощью ПР200. Только полученное значение надо будет перевести в формат float и разделить на 100. Аналогично с выходным током: номер параметра 27.06, адрес регистра 1b06(hex) или 6918(dec). Полученное значение делить на 10.

А для чего делить на 100 и на 10 можете подробней написать?

kondor3000
30.10.2021, 20:31
А для чего делить на 100 и на 10 можете подробней написать?

Когда получите значение, тогда поймете, например ток 53 ( целочисленное), переводите во Float (с плавающей запятой) делите на 10.0, получаете 5.3 А

BRB.Inc
30.10.2021, 21:19
Благодарю!

BRB.Inc
25.11.2021, 18:16
Написал тех поддержке данного частотного преобразователя. Они ответили так, что параметр 40.10. первые числа мы умножаем на 256 и прибавляем вторые. Пример: 40*256=10240 DEC и прибавляем 10, в итоге регистр получается 10250 DEC. Тоже самое со специальными адресами частотника 7000HEX, но там ещё нужно bit-ы отправлять на данный регистр. То бишь 0 бит это стоп, 1 бит это пуск, 2 бит это реверс и т.д. Забил регистры как они сказали и все заработало. ПР200 был в сети мастером, а частотник слейвом. Ответил в теме так, может быть кому нибудь надо будет