ModBus и Mach3
Добавлено: 09 авг 2018, 20:09
Покопался в сети и нарыл кучу информации по интересующей меня теме, как управлять шпинделем по 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