Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Всем здравствуйте!
Собственно по некоторым причинам возникла необходимость исполнить вот такую конфигурацию. Использовал вот такой usb rs485 адаптер Всё заработало. Но понадобилось к этой же линии rs485 подключить arduino с модулем XY-485. Раньше она подключалась просто по usb и по modbus из mach3 управлялась. По отдельности через rs485 всё работает, но при совместном подключении всё работает только, когда шпиндель выключен. Как только он включается соединение с частотником теряется, а с ардуиной остаётся. Если ардуину отключить, то связь восстанавливается. Причём даже если на адрес ардуины никаких сообщений не идёт, всё равно не работает. Схема подключения такая:
Usb-rs485 - кабель 5 см неэкранированный - частотник - кабель 2 м экранированный (не витая пара) - ардуина. Всё соединено тремя проводами: А, В и GND. Никаких резисторов не ставил, так как, как я понял, их ставят на линиях гораздо большей длинны. Если usb-rs485 поставить ближе к ардуине, то частотник не реагирует даже с выключенным шпинделем.
Пытался менять скорость передачи, конфигурацию serial соединения, адреса, refresh в mach3 - не помогло. Слушал порт сниффером, как только шпиндель включается, то частотник не отправляет ответы. Ардуина при этом отвечает нормально.
Вот конфиг modbus mach3:.
Подскажите, пожалуйста, что можно с этим сделать. И ещё меня устроит решение с подключением ардуины по usb, а частотника по rs485. Можно ли в mach3 подключить два modbus com порта?
Заранее спасибо!
			
			
									
									
						Собственно по некоторым причинам возникла необходимость исполнить вот такую конфигурацию. Использовал вот такой usb rs485 адаптер Всё заработало. Но понадобилось к этой же линии rs485 подключить arduino с модулем XY-485. Раньше она подключалась просто по usb и по modbus из mach3 управлялась. По отдельности через rs485 всё работает, но при совместном подключении всё работает только, когда шпиндель выключен. Как только он включается соединение с частотником теряется, а с ардуиной остаётся. Если ардуину отключить, то связь восстанавливается. Причём даже если на адрес ардуины никаких сообщений не идёт, всё равно не работает. Схема подключения такая:
Usb-rs485 - кабель 5 см неэкранированный - частотник - кабель 2 м экранированный (не витая пара) - ардуина. Всё соединено тремя проводами: А, В и GND. Никаких резисторов не ставил, так как, как я понял, их ставят на линиях гораздо большей длинны. Если usb-rs485 поставить ближе к ардуине, то частотник не реагирует даже с выключенным шпинделем.
Пытался менять скорость передачи, конфигурацию serial соединения, адреса, refresh в mach3 - не помогло. Слушал порт сниффером, как только шпиндель включается, то частотник не отправляет ответы. Ардуина при этом отвечает нормально.
Вот конфиг modbus mach3:.
Подскажите, пожалуйста, что можно с этим сделать. И ещё меня устроит решение с подключением ардуины по usb, а частотника по rs485. Можно ли в mach3 подключить два modbus com порта?
Заранее спасибо!
- xenon-alien
 - Почётный участник

 - Сообщения: 4520
 - Зарегистрирован: 01 янв 2013, 13:13
 - Репутация: 925
 - Настоящее имя: Daniel
 - Откуда: Закарпатская обл. Украина
 - Контактная информация:
 
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Не очень понял о чём вы. Arduino и частотник выступают как slave. В программе ардуино это указано, а частотник, насколько я понимаю, в другом режиме работать и не может. Mach3 - master. У частотника в modbus адрес 1, у ардуины 2. На некоторых модулях rs485 для ардуины есть пин выбора приёма/передачи. XY-485 такого не имеет и автоматически определяет, когда принимать, а когда отправлять. За ссылки большое спасибо, буду пробовать некоторые способы защиты от помех.
И ещё такой вопрос: Есть ли смысл двухметровый кабель поменять на витую пару с экраном? Возможность это сделать есть, но это достаточно трудозатратно и просто так этого делать не хотелось бы.
			
			
									
									
						И ещё такой вопрос: Есть ли смысл двухметровый кабель поменять на витую пару с экраном? Возможность это сделать есть, но это достаточно трудозатратно и просто так этого делать не хотелось бы.
- xenon-alien
 - Почётный участник

 - Сообщения: 4520
 - Зарегистрирован: 01 янв 2013, 13:13
 - Репутация: 925
 - Настоящее имя: Daniel
 - Откуда: Закарпатская обл. Украина
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
slave настроен на 1 и 2?
На сколько помню, то у частотника один адрес должен быть у ардуины другой, что бы не было конфликтов.
На ПЧ точно помню что выставлял 1.
На ардуиновском назначен 2?
В Мач вижу что разное.
А не перехватит ли в таком случае данные на ПЧ, или на оборот?
Для тестов хватает простого кабеля, но витая пара не просто так используется. Можно шуруповёртом сделать, или купить обычный сетевой провод на 4 витых пары с экраном. (у меня сетевая без экрана на одно устройство и A B GND)
Но не нужно забывать, что ПЧ и мотор дает свои помехи, так что фильтра и ферриты надеюсь стоят.
P.S.: Я только чуток знаком с этим способом передачи данных и 2 устройства ещё не подключал.
Надеюсь знатоки поправят, если что не так написал.
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Спасибо большое! Купил 3 вот таких фильтра B82790-C474-N215. Впаял перед каждым из 3 устройств. Помогло, всё работает без сбоев. Кабель на витую пару менять не стал.
Взял из этой статьи.
			
			
									
									
						Взял из этой статьи.
Индуктивные фильтры. Если в линию все же попадают высокочастотные помехи, их можно отсеять индуктивными фильтрами. Существуют специальные индуктивные фильтры, предназначенные для подавления высокочастотных помех в линиях связи. Они последовательно включаются в линию непосредственно у приемников. Например, B82790-S**** фирмы Epcos, выполненный в виде четырехполюсника, через который витая пара подсоединяется к приемнику.
- 
				Kost_irk
 - Мастер
 - Сообщения: 1000
 - Зарегистрирован: 19 июл 2018, 07:46
 - Репутация: 194
 - Откуда: Иркутск
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
В инструкциях к нормальным частотникам есть картинки, какие фильтры и куда ставить, чтобы не загаживать помехами все вокруг. Что там у китайцев - не знаю, но есть предположение, что помехи они вырабатывают намного больше, чем фирмовые изделия. Просто иногда это не особо важно, стоит какой нибудь насос и никакой электроники больше вокруг нет. А витую пару зря не используете, она не просто так придумана и для 485 это родная рабочая среда.
			
			
									
									
						- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
И это дейтсвительно так. Когда шпиндель вращается у меня по vga монитору бегут полосы зернистые. Восприятию информации не мешает, но сам факт.
А витую пару не тяну, потому что провод в гофре с другими сигнальными проводами. И протянуть новый провод вместо старого тяжело и рискованно. Конечно, если буду когда-нибудь электронику переделывать, то на витую пару поменяю (причины переделывать есть: много колхозинга, так как первый раз подобное собирал, и есть много отступлений от проекта. Например, изначально была usb mach3 плата. Потом поменял на lpt, а она не такая по размеру, и распиновка у неё другая, поэтому пришлось обрезать и наращивать провода. Выглядит это всё ужасно). Ну а вообще пока работает, трогать, скорее всего, не буду. Огромное спасибо всем за ответы.
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Напишу, пожалуй, инструкцию, как прикрутить управление частотником yalang yl620 из mach3 по modbus rs485 (Старт-стоп, направление, частота и обратная связь об ошибках и выдаваемой частоте). Когда делал сам, нашёл только конфиг под linuxcnc да и то на английском. Плагин под Huynyang тоже не подошёл.
Обращаю внимание, что перед этим частотник и mach3 были настроены на управление по ШИМ. Соответственно все непоказанные далее настройки выставлены для ШИМ.
Итак, подойдёт любой usb-rs485 адаптер, у которого помимо A и B контактов есть еще "-" или "COM". Я пробовал его не подключать - не работает. Также нужны 2 фильтра B82790-C474-N215. Подключаются по такой схеме: В качестве кабеля использовал самодельный витой кабель без экрана длиной 20 см (Взял 3 провода, зажал в шуруповёрт и свил плотную косу с шагом миллиметров в 5). Контакт А подключается к контакту А, B к B, а минус или Com к Com на частотнике.
Далее нужно поменять настройки частотника (подробное описание всех настроек есть в инструкции к частотнику):
P00.01 = 3 //Источник сигналов старт-стоп (3 - modbus rs485)
P03.00 = 3 //Скорость порта (3 - 9600Bps)
P03.01 = 1 //Адрес частотника в modbus
P03.02 = 2 //Формат данных rs485 (2 - 8 bit data, 1 stop bit, no parity; он же 8N1 или 8-1-N)
P07.08 = 5 //Источник частоты (5 - modbus rs485)
Далее настройка mach3.
Нужно включить modbus plugin. Заходим в Config->ports and pins->Port setup and axis selection(первая вкладка). Ставим галочки на ModBus InputOutput Support и ModBus PlugIn Supported.
В этом же окне идём в spindle setup и отмечаем, как на картинке. Dwell такой большой, так как он потом будет останавливаться в brain по достижению частотником заданной частоты. То есть dwell будет работать именно столько, сколько нужно.
Сохраняем настройки (Config->Save Settings...) и выходим и перезагружаем mach3.
Затем идём в Function Cfg's->Setup Serial ModBus Control.
Всё выставляем как на скрине Только Port Num (это номер COM порта usb-rs485 адаптера) может быть не такой, как у меня. Посмотреть можно в диспетчере устройств.
Жмём Apply, а потом Ok.
Скачиваем, распаковываем и brain файл помещаем в папку mach3/brains. (Mach3 обычно лежит на диске C://) потом идём в Operator->Brain Control...
Выбираем VFD.brn, ставим галочку на enabled и жмём reload all brains. Вроде всё. Теперь частотник будет запускаться, останавливаться и брать частоту из mach3. Ещё при любой ошибке частотника в mach3 будет нажиматься E-stop.
Буду благодарен за конструктивную критику, с удовольствием исправлю ошибки.
Также прилагаю таблицу с modbus адресами частотника и их назначением. почему-то в инструкции с оф. сайта производителя её нет, а в бумажной версии из комплекта она есть.
			
			
													Обращаю внимание, что перед этим частотник и mach3 были настроены на управление по ШИМ. Соответственно все непоказанные далее настройки выставлены для ШИМ.
Итак, подойдёт любой usb-rs485 адаптер, у которого помимо A и B контактов есть еще "-" или "COM". Я пробовал его не подключать - не работает. Также нужны 2 фильтра B82790-C474-N215. Подключаются по такой схеме: В качестве кабеля использовал самодельный витой кабель без экрана длиной 20 см (Взял 3 провода, зажал в шуруповёрт и свил плотную косу с шагом миллиметров в 5). Контакт А подключается к контакту А, B к B, а минус или Com к Com на частотнике.
Далее нужно поменять настройки частотника (подробное описание всех настроек есть в инструкции к частотнику):
P00.01 = 3 //Источник сигналов старт-стоп (3 - modbus rs485)
P03.00 = 3 //Скорость порта (3 - 9600Bps)
P03.01 = 1 //Адрес частотника в modbus
P03.02 = 2 //Формат данных rs485 (2 - 8 bit data, 1 stop bit, no parity; он же 8N1 или 8-1-N)
P07.08 = 5 //Источник частоты (5 - modbus rs485)
Далее настройка mach3.
Нужно включить modbus plugin. Заходим в Config->ports and pins->Port setup and axis selection(первая вкладка). Ставим галочки на ModBus InputOutput Support и ModBus PlugIn Supported.
В этом же окне идём в spindle setup и отмечаем, как на картинке. Dwell такой большой, так как он потом будет останавливаться в brain по достижению частотником заданной частоты. То есть dwell будет работать именно столько, сколько нужно.
Сохраняем настройки (Config->Save Settings...) и выходим и перезагружаем mach3.
Затем идём в Function Cfg's->Setup Serial ModBus Control.
Всё выставляем как на скрине Только Port Num (это номер COM порта usb-rs485 адаптера) может быть не такой, как у меня. Посмотреть можно в диспетчере устройств.
Жмём Apply, а потом Ok.
Скачиваем, распаковываем и brain файл помещаем в папку mach3/brains. (Mach3 обычно лежит на диске C://) потом идём в Operator->Brain Control...
Выбираем VFD.brn, ставим галочку на enabled и жмём reload all brains. Вроде всё. Теперь частотник будет запускаться, останавливаться и брать частоту из mach3. Ещё при любой ошибке частотника в mach3 будет нажиматься E-stop.
Буду благодарен за конструктивную критику, с удовольствием исправлю ошибки.
Также прилагаю таблицу с modbus адресами частотника и их назначением. почему-то в инструкции с оф. сайта производителя её нет, а в бумажной версии из комплекта она есть.
					Последний раз редактировалось ralex2304 17 авг 2021, 22:15, всего редактировалось 1 раз.
									
			
									
						- xenon-alien
 - Почётный участник

 - Сообщения: 4520
 - Зарегистрирован: 01 янв 2013, 13:13
 - Репутация: 925
 - Настоящее имя: Daniel
 - Откуда: Закарпатская обл. Украина
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Нестыковочка... Как пара может иметь три провода?
Земляной провод не "прививают".
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Прошу прощения. Сейчас поправлю. Хоть и не прививают, зато выглядит эстетично. Никаких проблем нет. Работает замечательно
			
			
									
									
						- 
				Kost_irk
 - Мастер
 - Сообщения: 1000
 - Зарегистрирован: 19 июл 2018, 07:46
 - Репутация: 194
 - Откуда: Иркутск
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Добавлю еще момент: подключать землю чатотника на вывод адаптера 485 не совсем правильно и чревато выжиганием порта usb. Лучше взять отдельный провод не маленького сечения (от 1.5) и соединить земли компьютера и частотника. В идеале все это должно подключаться к нормальному заземлению, но если нету - то хотя бы так.
При этом A/B 485 подключаются нормальной а не трехпроводной витой парой. Если так сделать, возможно фильтры не понадобятся. По крайнем мере у меня работает, правда не мач и не совсем китай.
			
			
									
									
						При этом A/B 485 подключаются нормальной а не трехпроводной витой парой. Если так сделать, возможно фильтры не понадобятся. По крайнем мере у меня работает, правда не мач и не совсем китай.
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Нормальное заземление есть, а частотник и комп вообще к одной розетке подключены (провод везде 1.5). Но все же, если отключить землю, то связь не совсем обрывается, а начинает сбоить и некоторые сообщения до частотника не доходят.
Может быть это из-за сетевого ЭМИ фильтра, который перед частотником стоит?
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Вряд ли. Ардуина, которая от этого же компа питается и к этому же rs485 подключена и без земли нормально работает, то есть земля с адаптером у них общая
			
			
									
									
						- xenon-alien
 - Почётный участник

 - Сообщения: 4520
 - Зарегистрирован: 01 янв 2013, 13:13
 - Репутация: 925
 - Настоящее имя: Daniel
 - Откуда: Закарпатская обл. Украина
 - Контактная информация:
 
- 
				b612q
 - Новичок
 - Сообщения: 15
 - Зарегистрирован: 27 окт 2024, 22:21
 - Репутация: 0
 - Настоящее имя: Dmitry
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Помогите.ralex2304 писал(а): ↑17 авг 2021, 17:38 инструкцию, как прикрутить управление частотником yalang yl620 из mach3 по modbus rs485
Не работает.
Сделал вроде всё по инструкции.
Оба светика на адапере быстро моргают.
Тест на чтение 8200 проходит, выдаёт цифру 0800 в шестнадцатиричном варианте.
В тесте ошибки нет,
е-стоп не срабатывает,
шпиндель не включается.
Как я понимаю 0800 означает какую-то ошибку уже где-то в частотнике ?
Через плагин тоже связь вроде есть, но тоже шпиндель не запускается, а вместо этого срабатывает е-стоп.
Мне интереснее запустить вариант со штатным modbus-ом, поскольку я планирую повешать на него ещё ардуинку.
- 
				ralex2304
 - Новичок
 - Сообщения: 20
 - Зарегистрирован: 15 авг 2020, 16:30
 - Репутация: 3
 - Настоящее имя: Александр
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Поле действительно отвечает за ошибки, но внятного списка ошибок я не нашёл. Если считать, что значения соответсвтуют тем, что на экране частотника возникают, то это ошибка термистора. Но я не понял как обозначается отсутствие ошибок, так как 0 это тоже ошибка. Возможно 0800 это отсутствие ошибок
Проверить вообще можно через программы, которыми можно вручную слать в модбас команды. У меня получалось запускать частотник оттуда. Какая конкретно программа была уже не вспомню. Сами команды описаны в файле, который я в конце инструкции прикрепил
- 
				b612q
 - Новичок
 - Сообщения: 15
 - Зарегистрирован: 27 окт 2024, 22:21
 - Репутация: 0
 - Настоящее имя: Dmitry
 - Контактная информация:
 
Re: Управление китайским инвертором Yalang YL-620 по rs485 modbus из mach3
Странно. Такой вроде девайс не маленький и популярный, а доков ноль
и софт минимальнейший. Никаких тебе библиотек, ни чего.