ModBus и Mach3
- vala
- Почётный участник
- Сообщения: 490
- Зарегистрирован: 08 окт 2013, 21:01
- Репутация: 258
- Откуда: Latvia
- Контактная информация:
ModBus и Mach3
Покопался в сети и нарыл кучу информации по интересующей меня теме, как управлять шпинделем по ModBus. За пару вечеров разобрался что к чему, естественно что не во всём досконально.
Далее описание того как я это реализовал.
Имеем ПЧ Е100 и преобразователь с RS 232 на RS485 (свисток). Эти железки могут быть любыми, но ПЧ должен поддерживать связь по RS485. Далее необходимо найти нужную информацию в мануале частотника. Находим адреса интересующих нас регистров
500H; 502H; 503H
Это адреса регистров откуда будут читатса данные о состоянии ПЧ.
Преобразуем начальный адрес 500H из hex в dec - 1280, это нужно Mach3.
С адреса 502H читаетса частота (две цыфры после запятой читаютса в месте как целое число)
900H; 901H
Это адреса регистров для управления частотником. Начальный адрес также преобразуем в dec число - 2304.
Присвоим адрес частотнику - 1, так как он у нас подчинённый .
Как соединить комп с частотником через свисток расказывать не буду, там и так всё ясно.
Желательно скачать и установить QModBus http://qmodbus.sourceforge.net/ .
Перед тестированием необходимо изменить настройки в частотнике.
P0-055 на 1 ( адресс частотника)
P0-056 на 2 (скорость передачи данных, ставте какую хотите)
P0-057 на 0 (1 start bit, 8 data bit, no parity sheck, 1 stop bit)
У меня свисток сидит на COM1
Запускаем и конфигурируем QModBus. Запускаем частотник и кнопкой “send” делаем опрос.
Меняем потенцыометром частоту, включаем и выключаем шпиндель и т. д., делаем опросы.
Если цыферки и знаки в окне Bus Monitor меняютса, значит всё в порядке (свисток свистит частотник откликаетса). Закрываем QModBus.
Теперь меняем параметры управления частотником.
P0-000 на 2 (вид комуникацыи по вводу команд)
P0-002 на 6 (вид комуникацыи по изменению частоты)
Далее настраиваем Mach3 для работы с частотником.
Запускаем Mach3 и активируем комуникацыю по ModMus и делаем рестарт Mach3.
Открываем “Function Cfg’s” - “Setup Serial ModBus Control” и указываем которыми регистрами пользоватса.
Создаём две группы регистрацыи:
CFG#0 - для считывания данных
CFG#1 - для управления частотником если есть желание можно нажать кнопку “Test ModBus” или закрываем окно и рестарт Mach3.
Далее приступаем к созданию мозгов. Для этого открываем в меню “operator” - “ Brain Editor” и пишем название нами создаваемых мозгов. Сперва создаём долю (lobe) для считывания частоты. В следующем окне в меню “Commands” выбераем “Add”. В окне “Add Input” выбераем “ModBus”. В поле адреса пишем 2 (адрес регистра 502H) а в поле
CFG# пишем 0 (группа считывания данных) и активируем радио кнопки как на скрине. Получаем результат. Кликаем на новой рамке чтобы она стала зелёной. Продолжаем - “Commands” - “Add Input”, в окне “Input Lobe” выбераем “Formula”. Чтобы узнать число оборотов пишем формулу - А*0.6 Результат. Активируем созданную формулу и закрываем долю выбирая “DRO’s”
ставим галку на доступ к номеру и записываем 1100. Результат. Продолжаем по такому же алгоритму.
Генерируем новую долю(lupu) для включения шпинделя. В окне “Add Input” выбераем “LEDs”, там выбираем” LED11 Spindle ON” который контролирует Mach3. Далее добавляем “No Operation” и закрываем долю(lupu) терминатором “ModBus” как показанно на скрине (почему настройки такие, кому интересно - разберётесь) . Результат. Генерируем новую”Lupu” для управления изменением частоты. В окне “ Add Input” выбераем “DROs”, там выбераем “202- Spin RPM - Overden” что тоже контролируетса Mach3. Далее “Imput Lobe”- “No Operation” и “Imput Lobe” - “Formula”. Записываем А/0.6 и закрываем долю(lupu) терминатором “ModBus” как показанно на скрине. Для смены направления вращения.
Новая “Lupa” и терминатор Для считывания силы тока
Новая “Lupa”, формула - А/10
и терминатор, результат сохраняем. Рестарт Mach3.
Открываем меню”Operators”- “Brain Control” перезагружаем ”Reload All Brains” и отмечаем “Enabled”, вибираем “ WievBrain” Запускаем шпиндель, меняем обороты и наблюдаем за изменениями в окне “BrainWiev” Теперь шпиндель управляется по “взрослому”.
Для того чтобы видеть обороты шпинделя и силу тока в окне Mach3 необходимо редактировать скринсет.
За граматику не пинайте, школу кончал пол века назад, да и писанина не моё.
В основном материал от сюда http://www.ubit-rc.de/en/modbus.php
Далее описание того как я это реализовал.
Имеем ПЧ Е100 и преобразователь с RS 232 на RS485 (свисток). Эти железки могут быть любыми, но ПЧ должен поддерживать связь по RS485. Далее необходимо найти нужную информацию в мануале частотника. Находим адреса интересующих нас регистров
500H; 502H; 503H
Это адреса регистров откуда будут читатса данные о состоянии ПЧ.
Преобразуем начальный адрес 500H из hex в dec - 1280, это нужно Mach3.
С адреса 502H читаетса частота (две цыфры после запятой читаютса в месте как целое число)
900H; 901H
Это адреса регистров для управления частотником. Начальный адрес также преобразуем в dec число - 2304.
Присвоим адрес частотнику - 1, так как он у нас подчинённый .
Как соединить комп с частотником через свисток расказывать не буду, там и так всё ясно.
Желательно скачать и установить QModBus http://qmodbus.sourceforge.net/ .
Перед тестированием необходимо изменить настройки в частотнике.
P0-055 на 1 ( адресс частотника)
P0-056 на 2 (скорость передачи данных, ставте какую хотите)
P0-057 на 0 (1 start bit, 8 data bit, no parity sheck, 1 stop bit)
У меня свисток сидит на COM1
Запускаем и конфигурируем QModBus. Запускаем частотник и кнопкой “send” делаем опрос.
Меняем потенцыометром частоту, включаем и выключаем шпиндель и т. д., делаем опросы.
Если цыферки и знаки в окне Bus Monitor меняютса, значит всё в порядке (свисток свистит частотник откликаетса). Закрываем QModBus.
Теперь меняем параметры управления частотником.
P0-000 на 2 (вид комуникацыи по вводу команд)
P0-002 на 6 (вид комуникацыи по изменению частоты)
Далее настраиваем Mach3 для работы с частотником.
Запускаем Mach3 и активируем комуникацыю по ModMus и делаем рестарт Mach3.
Открываем “Function Cfg’s” - “Setup Serial ModBus Control” и указываем которыми регистрами пользоватса.
Создаём две группы регистрацыи:
CFG#0 - для считывания данных
CFG#1 - для управления частотником если есть желание можно нажать кнопку “Test ModBus” или закрываем окно и рестарт Mach3.
Далее приступаем к созданию мозгов. Для этого открываем в меню “operator” - “ Brain Editor” и пишем название нами создаваемых мозгов. Сперва создаём долю (lobe) для считывания частоты. В следующем окне в меню “Commands” выбераем “Add”. В окне “Add Input” выбераем “ModBus”. В поле адреса пишем 2 (адрес регистра 502H) а в поле
CFG# пишем 0 (группа считывания данных) и активируем радио кнопки как на скрине. Получаем результат. Кликаем на новой рамке чтобы она стала зелёной. Продолжаем - “Commands” - “Add Input”, в окне “Input Lobe” выбераем “Formula”. Чтобы узнать число оборотов пишем формулу - А*0.6 Результат. Активируем созданную формулу и закрываем долю выбирая “DRO’s”
ставим галку на доступ к номеру и записываем 1100. Результат. Продолжаем по такому же алгоритму.
Генерируем новую долю(lupu) для включения шпинделя. В окне “Add Input” выбераем “LEDs”, там выбираем” LED11 Spindle ON” который контролирует Mach3. Далее добавляем “No Operation” и закрываем долю(lupu) терминатором “ModBus” как показанно на скрине (почему настройки такие, кому интересно - разберётесь) . Результат. Генерируем новую”Lupu” для управления изменением частоты. В окне “ Add Input” выбераем “DROs”, там выбераем “202- Spin RPM - Overden” что тоже контролируетса Mach3. Далее “Imput Lobe”- “No Operation” и “Imput Lobe” - “Formula”. Записываем А/0.6 и закрываем долю(lupu) терминатором “ModBus” как показанно на скрине. Для смены направления вращения.
Новая “Lupa” и терминатор Для считывания силы тока
Новая “Lupa”, формула - А/10
и терминатор, результат сохраняем. Рестарт Mach3.
Открываем меню”Operators”- “Brain Control” перезагружаем ”Reload All Brains” и отмечаем “Enabled”, вибираем “ WievBrain” Запускаем шпиндель, меняем обороты и наблюдаем за изменениями в окне “BrainWiev” Теперь шпиндель управляется по “взрослому”.
Для того чтобы видеть обороты шпинделя и силу тока в окне Mach3 необходимо редактировать скринсет.
За граматику не пинайте, школу кончал пол века назад, да и писанина не моё.
В основном материал от сюда http://www.ubit-rc.de/en/modbus.php
Последний раз редактировалось vala 08 янв 2019, 04:15, всего редактировалось 3 раза.
- nickoass
- Мастер
- Сообщения: 248
- Зарегистрирован: 15 сен 2014, 21:38
- Репутация: 23
- Настоящее имя: Николай
- Откуда: Киров
- Контактная информация:
Re: ModBus и Mach3
Спасибо за подготовку мануала по этой щепетильной теме. Многм будет очень кстати.
Сам было озадачился этим вопросом не так давно. По крупицам собирал информацию везде. Все заработало. Доработал немного интерфейс Mach3, добавил индикаторы в которых отображается ток, частота, температура из частотника, передаваемые по модбасу. Ещё хочу собрать на ардуино измеритель температуры охлаждающей жидкости шпинделя и по модбасу закидывать их на индикацию в Mach3. Мануал писать на эту тему было лень.
Сам было озадачился этим вопросом не так давно. По крупицам собирал информацию везде. Все заработало. Доработал немного интерфейс Mach3, добавил индикаторы в которых отображается ток, частота, температура из частотника, передаваемые по модбасу. Ещё хочу собрать на ардуино измеритель температуры охлаждающей жидкости шпинделя и по модбасу закидывать их на индикацию в Mach3. Мануал писать на эту тему было лень.
- savo
- Мастер
- Сообщения: 282
- Зарегистрирован: 14 янв 2015, 14:12
- Репутация: 66
- Настоящее имя: Александр
- Откуда: Кострома
- Контактная информация:
Re: ModBus и Mach3
На "шнайдере" такой мозг не скорее всего не заработает.
- nickoass
- Мастер
- Сообщения: 248
- Зарегистрирован: 15 сен 2014, 21:38
- Репутация: 23
- Настоящее имя: Николай
- Откуда: Киров
- Контактная информация:
Re: ModBus и Mach3
Почему не заработает ? Главное нащупать те регистры в которые нужно класть информацию запуска останова и скорости.
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 20 янв 2017, 13:23
- Репутация: 39
- Настоящее имя: Вячеслав
- Контактная информация:
Re: ModBus и Mach3
Номера OEM DRO были выбраны чисто случайно ( 1100 и 1200) или в этом есть какой то смысл?.
Тема была бы полностью закрыта если сюда приписать пример настройки вывода информации.
Т.е. мы считали параметры с частотника. Как их вывести на экран?
Тема была бы полностью закрыта если сюда приписать пример настройки вывода информации.
Т.е. мы считали параметры с частотника. Как их вывести на экран?
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 20 янв 2017, 13:23
- Репутация: 39
- Настоящее имя: Вячеслав
- Контактная информация:
Re: ModBus и Mach3
И в брайнах похоже ошибка.
Сигналы переменных включения шпинделя и направления вращения транслируются в один и тот же бит в частотнике. Чего в принципе быть не может.
Сигналы переменных включения шпинделя и направления вращения транслируются в один и тот же бит в частотнике. Чего в принципе быть не может.
- vala
- Почётный участник
- Сообщения: 490
- Зарегистрирован: 08 окт 2013, 21:01
- Репутация: 258
- Откуда: Latvia
- Контактная информация:
Re: ModBus и Mach3
Так оно и есть, вот ту надо записать 1.msl272 писал(а):И в брайнах похоже ошибка.
Сигналы переменных включения шпинделя и направления вращения транслируются в один и тот же бит в частотнике. Чего в принципе быть не может.
- dr.elek72
- Новичок
- Сообщения: 6
- Зарегистрирован: 02 фев 2020, 21:40
- Репутация: 3
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
Спасибо автору за очень полезную информацию по настройке ModBus в Mach3.
Сегодня получилось настроить управление для китайца H100. Mach3 который высылают китайцы с али (Mach3VersionR3.041) оказался нерабочим в плане ModBus - ошибка CRC пакета данных ModBus.
Установка более свежей версии все ОК.
Вопрос знатокам по теме - как сделать останов/авар.стоп при потере связи с частотником (ошибке ModBus)?
Upd: Народ напишите кто нибудь автору этой темы в личку чтобы заглянул в эту ветку, сам пока еще не дорос .
Надеюсь он обладает необходимыми сведениями.
Сегодня получилось настроить управление для китайца H100. Mach3 который высылают китайцы с али (Mach3VersionR3.041) оказался нерабочим в плане ModBus - ошибка CRC пакета данных ModBus.
Установка более свежей версии все ОК.
Вопрос знатокам по теме - как сделать останов/авар.стоп при потере связи с частотником (ошибке ModBus)?
Upd: Народ напишите кто нибудь автору этой темы в личку чтобы заглянул в эту ветку, сам пока еще не дорос .
Надеюсь он обладает необходимыми сведениями.
- dr.elek72
- Новичок
- Сообщения: 6
- Зарегистрирован: 02 фев 2020, 21:40
- Репутация: 3
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
To vala спасибо за ответ в ЛС.
Вопрос собственно был по mach3, как обработать событие polling timeout на Com порте если таковое имеется в mach3.
В настройках модбас (у mach3) есть частота чтения параметров и timeout, но я обрываю rs485 и estop не происходит.
А насчет регистров - прежде чем обрабатывать их значения необходимо точно знать данные достоверные или нет.
polling timeout = false -> data valid := true
Upd: еще короче polling timeout -> Estop
Вечером съезжу к другу которому настраивал mach3, проверю что происходит при разрыве rs485 с данными от частотника, количество оборотов и ток которые я вывел на панель.
Если обнуляются то с этим можно еще жить и использовать в необходимых целях.
Вопрос собственно был по mach3, как обработать событие polling timeout на Com порте если таковое имеется в mach3.
В настройках модбас (у mach3) есть частота чтения параметров и timeout, но я обрываю rs485 и estop не происходит.
А насчет регистров - прежде чем обрабатывать их значения необходимо точно знать данные достоверные или нет.
polling timeout = false -> data valid := true
Upd: еще короче polling timeout -> Estop
Вечером съезжу к другу которому настраивал mach3, проверю что происходит при разрыве rs485 с данными от частотника, количество оборотов и ток которые я вывел на панель.
Если обнуляются то с этим можно еще жить и использовать в необходимых целях.
Последний раз редактировалось dr.elek72 04 фев 2020, 16:31, всего редактировалось 2 раза.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ModBus и Mach3
Если приняты/переданы, то достоверные - об этом сам протокол позаботится.dr.elek72 писал(а):А насчет регистров - прежде чем обрабатывать их значения необходимо точно знать данные достоверные или нет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- dr.elek72
- Новичок
- Сообщения: 6
- Зарегистрирован: 02 фев 2020, 21:40
- Репутация: 3
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
Доехал до местонахождения станка, что получилось.
Mach R3.043.053
Китайский Mach3VersionR3.041 - при тесте модбас - ошибка CRC.
Upd: В документе http://www.homanndesigns.com/pdfs/Using ... _Mach3.pdf на который есть так же ссылка с Machsupport написано следующее:
при истечении таймаута чтения данных происходит просто переход на чтение след.регистра - таймаут - след и т.д.
Соответственно данные уже не обновляются - то есть недостоверны... quality item := bad.
Mach R3.043.053
Проверка обработки ModBus в Mach3 (для просмотра содержимого нажмите на ссылку)
Брайн у меня пока из всего пула данных читает и выводит на экран кол-во оборотов и силу тока, ну еще конечно устанавливает частоту, старт и cw.
Если у Вас это не так напишите версию вашего mach3 и что происходит с данными при обрыве rs485.Китайский Mach3VersionR3.041 - при тесте модбас - ошибка CRC.
Upd: В документе http://www.homanndesigns.com/pdfs/Using ... _Mach3.pdf на который есть так же ссылка с Machsupport написано следующее:
при истечении таймаута чтения данных происходит просто переход на чтение след.регистра - таймаут - след и т.д.
Соответственно данные уже не обновляются - то есть недостоверны... quality item := bad.
-
- Новичок
- Сообщения: 9
- Зарегистрирован: 09 дек 2019, 22:59
- Репутация: 2
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
Помогите с настройкой, привод dzb200, свисток USB-RS485. Какое значение вписывать в "# of Registers" И правильно ли вывод заполнен вывод адресов ??
-
- Новичок
- Сообщения: 9
- Зарегистрирован: 09 дек 2019, 22:59
- Репутация: 2
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
Не внимательно прочитал мои вопросы, я там задал вопрос какие значение в эти пункты вписывать.vala писал(а):
- vala
- Почётный участник
- Сообщения: 490
- Зарегистрирован: 08 окт 2013, 21:01
- Репутация: 258
- Откуда: Latvia
- Контактная информация:
Re: ModBus и Mach3
Полагаю, что определить количество нужных вам регистров вы способны и сами.Intenso_Sergey писал(а):Не внимательно прочитал мои вопросы, я там задал вопрос какие значение в эти пункты вписывать.vala писал(а):
-
- Новичок
- Сообщения: 9
- Зарегистрирован: 09 дек 2019, 22:59
- Репутация: 2
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
Если б мог не задавал вопрос, я не понял за что они отвечают, количество команд на определенный адрес?vala писал(а):Полагаю, что определить количество нужных вам регистров вы способны и сами.
- vala
- Почётный участник
- Сообщения: 490
- Зарегистрирован: 08 окт 2013, 21:01
- Репутация: 258
- Откуда: Latvia
- Контактная информация:
Re: ModBus и Mach3
Из группы с начальным адресом 1000H вы будете как я понял задействовать два регистра, значит пишите 2.
-
- Новичок
- Сообщения: 9
- Зарегистрирован: 09 дек 2019, 22:59
- Репутация: 2
- Настоящее имя: Сергей
- Контактная информация:
Re: ModBus и Mach3
А для частоты 1 ?там значение от 0 до 10000 ?vala писал(а):значит пишите 2
А по этим настройкам всё так ??
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 20 янв 2017, 13:23
- Репутация: 39
- Настоящее имя: Вячеслав
- Контактная информация:
Re: ModBus и Mach3
Как показала практика полностью управлять частотником по модбасу слишком рискованно в плане безопасности.
Наилучшее решение - это отправлять и получать данные по модбасу, а для включения использовать все таки контакт релюшки с платы контроллера.
При таком решении все работает абсолютно корректно.
Наилучшее решение - это отправлять и получать данные по модбасу, а для включения использовать все таки контакт релюшки с платы контроллера.
При таком решении все работает абсолютно корректно.
-
- Новичок
- Сообщения: 1
- Зарегистрирован: 06 май 2020, 10:28
- Репутация: 0
- Настоящее имя: Александр
- Контактная информация:
Re: ModBus и Mach3
Здравствуйте, помогите, пожалуйста, не могу решить задачу по синхронизации осей на токарном станке.
Вкратце опишу свою проблему: имеется двухосевой токарный станок, управляемый mach3 через контроллер PLC230EU от purelogic и всё меня в нём устраивает, кроме того, что не могу резьбу на нём нарезать. Установил на шпиндель сервопривод, настроил на 0+10В - наткнулся на проблему с отсутствием возможности mach3 получать информацию от энкодера сервопривода; настроил на step/dir - оказалось, что mach3 не поддерживает синхронизацию осей или я чего-то не понимаю, однако заставить всю эту схему нормально работать у меня не получилось. Пожалуйста, помогите, кто может!!!
Вкратце опишу свою проблему: имеется двухосевой токарный станок, управляемый mach3 через контроллер PLC230EU от purelogic и всё меня в нём устраивает, кроме того, что не могу резьбу на нём нарезать. Установил на шпиндель сервопривод, настроил на 0+10В - наткнулся на проблему с отсутствием возможности mach3 получать информацию от энкодера сервопривода; настроил на step/dir - оказалось, что mach3 не поддерживает синхронизацию осей или я чего-то не понимаю, однако заставить всю эту схему нормально работать у меня не получилось. Пожалуйста, помогите, кто может!!!