PDA

Просмотр полной версии : Подключение ПЛК73 и частотного преобразоватля по RS-485



Евгений56849
28.02.2025, 18:23
Добрый день! Скажу сразу, в программировании ПЛК73 я на "Вы" и с поклоном. Необходимо подключить ПЛК73 к частотному преобразователю через RS-485 и передавать команды на преобразователь через Modbus. Читал инструкции, смотрел видео по подключению других ПЛК через RS-485, но это не сильно помогло, так как конфигурации ПЛК разные и последовательность подключения отличается. Подскажите пожалуйста, как решить поставленную задачу? Что почитать? Может сможет кто-то по шагам рассказать как это делается, буду очень признателен!

melky
28.02.2025, 18:26
В ПЛК63/73 мастер только через библиотеки.
Примеры должны быть на сайте.

Евгений56849
28.02.2025, 18:36
В ПЛК63/73 мастер только через библиотеки.
Примеры должны быть на сайте.

Я знаю что есть библиотеки для подключения к частотному преобразователю "овен", но мой таковым не является. Или существуют универсальные библиотеки для подключения большинства преобразователей?

melky
28.02.2025, 19:04
Modbus мастер имеется ввиду, в принципе мастер на этих ПЛК только через либы. Конфигурация на этих ПЛК только для слейва.

kondor3000
28.02.2025, 19:11
Я знаю что есть библиотеки для подключения к частотному преобразователю "овен", но мой таковым не является. Или существуют универсальные библиотеки для подключения большинства преобразователей?

Через биб-ку ПЛК как мастер подключается к любому прибору, главное правильно указать параметры сети, слейв адрес прибора и адреса регистров.
Тут почти все ссылки, что вам нужны, берите пример по Модбас на языке ST https://owen.ru/forum/showthread.php?t=39524&p=438047&viewfull=1#post438047

И даже почти готовый проект https://owen.ru/forum/showthread.php?t=39524&p=443204&viewfull=1#post443204

Евгений56849
07.03.2025, 17:19
Попробовал использовать материалы из ваших ссылок. Экспериментировал с программой записи по Modbus, но не смог разобраться с таким моментом: в программе поочередно устанавливаются значения для передачи

0: (* функция 06 - запись параметра типа Int в прибор с адресом 2 в регистр 0*)
send1_modbus(
Enable:=enabl , (* разрешение работы блока *)
Mode:=MB_RTU , (*режим передачи*)
DevAddr:=2 , (*адрес*)
RegAddr:=06 , (*регистр*)
Value:=0001, (*значение переменной, которое надо передать*)
ComHandle:= Settings.Port, (*номер сом-порта*)
TimeOut:=TimeOut , (*таймаут T#50ms*)
Complete=>cmpl , (* скопировать признак завершения операции *)
Exception=>err ); (* скопировать регистр ошибок *)

Но в руководстве по эксплуатации частотного преобразователя указана следующая форма обращения к нему по modbus rtu:

Режим RTU
Команда, отправленная в инвертор:
01 03 21 00 00 01 8Е 36 , где
01 - адрес инвертора
03 - команда чтения
21 00 - адрес параметра
00 01 - количество данных
8Е 36 - контроль CRC

Подскажите пожалуйста, в случае использования данной библиотеки каким образом осуществляется указание данных параметров для передачи их на ПЧ?

kondor3000
07.03.2025, 17:46
Если вы читаете, то и берите блок для чтения, адреса регистров и адрес слейва вы можете задать прямо в блоке. Начните с чтения 82347 из примера
Адрес регистра переводится из HEX в DEC калькулятором (в режиме программист) 2100 -это 8448.
01 - адрес инвертора и 03 - команда чтения так и останутся 1 и 3
Если адреса подряд, например 8448, 8449, 8450, то можно считать сразу 3 регистра (и более), поставив кол-во регистров 3 (и более).

Если записываете, блок для записи. Чтение и запись надо разнести по шагам CASE.