Страница 3 из 4

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 31 янв 2014, 18:45
Serg
Любой обмен по modbus начинает только мастер и начинает его с ":", а заканчивает контрольной суммой, сразу после этого слейв начинает передавать ответ (если надо). Формат ответа сильно зависит от конкретной реализации, единственное, на что можно надеятся - это то, что он тоже заканчивается контрольной суммой.
В принципе этого достаточно, чтоб написать снифер, который будет раскладывать всё по полочкам, останется только расшифровывать блоки данных. Я б за это не взялся - в данном случае нет гарантии правильной расшифровки, а позволять рулить недешёвым (наверняка) оборудованием непредсказуемому ПО я б не рискнул.
vmarkiv писал(а):вопрос 64-х осевого управления остается
Мне почему-то кажется, что в вашем случае это не сложно. Мне видится такой вариант: на экране схематично нарисована ваша линия, в соотв. местах схемы есть "регуляторы", которые позволяют задавать положения соотв. осей.

Вот для примера экран одного из старых проектов (все элементы схемы интерактивные):
30.01.05 026.jpg (1939 просмотров) <a class='original' href='./download/file.php?id=24174&mode=view' target=_blank>Загрузить оригинал (339.38 КБ)</a>

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 31 янв 2014, 20:12
Impartial
vmarkiv писал(а):Но , все равно , даже если считаю правильно протокол , вопрос 64-х осевого управления остается
Можно ЕМС пересобрать на 60 осей.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 01 фев 2014, 05:27
asutpka
Очень интересная задача, особенно если все тонкости алгоритма поведения системы в целом умещаются в одной голове или на бумаге разумного объёма.
UAVpilot писал(а):Вот для примера экран одного из старых проектов (все элементы схемы интерактивные):
Правильный подход.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 11:01
vmarkiv
Считал Mоdbus протокол , выглядит так :
:010304AF000247
:01030400250000D3
:010304AF000247
:01030400250000D3
:011004B9000204000000002C
:011004B9000230
:010304AF000247
:01030400250000D3
Where :
: - Start byte
01- adress
03 - read funct.
04AF - adress of register 41200
0002 - qt. byte
47- CRC
Главный вопрос в непонятности отображения адреса - по ASCII должно быть 1200 , а в посылке отображение в HEX форме - 04AF - как в Modbus RTU . Мои инженеры вопрос протокола закрыли .

По поводу управления 64 осями присматриваюсь к реализации управления шаговым приводом на базе Arduino Mega Modbus
http://cnc-club.ru/forum/viewtopic.php? ... 86#p106986 , наверное нужно будет сделать в ClassicLadder несколько компонентов и управлять . Главная боязнь у меня - сделать несколько экранов управления по группам - к примеру 4 окна по 16 осей в каждом - как попроще сделать ?

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 11:16
nkp
vmarkiv писал(а):на базе Arduino Mega Modbus viewtopic.php?f=41&t=3803&p=106986#p106986 , наверное нужно будет сделать в ClassicLadder несколько компонентов и управлять . Главная боязнь у меня - сделать несколько экранов управления по группам - к примеру 4 окна по 16 осей в каждом - как попроще сделать ?
у CL своя бтблиотека modbus , здесь - "своя" ...
проверял в работе и первую и вторую...
мое субъективное мнение - проще работать со второй))
---------------
насчет экранов - в Glade Notebook как вариант...

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 11:18
Nick
А что на них будет? Просто 64 оси, или всетаки анимация какая-то и описание с картинками?
И как ими управлять?

попробуй нарисуй, хоть на бумажке, что хочешь увидеть на экране, а мы подскажем, как это сделать.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 11:23
Serg
vmarkiv писал(а):Главный вопрос в непонятности отображения адреса - по ASCII должно быть 1200 , а в посылке отображение в HEX форме - 04AF - как в Modbus RTU .
ModBus не требует строго соответствия передаваемого блока данных какому-то формату. По сути строгое соответствие распостраняется только на 3 байта: старт, адрес и crc. Всё что между ними никого не должно волновать кроме устройства, кому адресован пакет. Посему разработчики могли применить такой формат задания регистра, который им больше понравился.
vmarkiv писал(а):Главная боязнь у меня - сделать несколько экранов управления по группам - к примеру 4 окна по 16 осей в каждом - как попроще сделать ?
Вкладки (tabs)?

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 11:34
vmarkiv
Сделаю эскизы - выставлю для обсуждения . Могу ли я присвоить названия осям X1 , X2 , Y5 и т.д. и потом управлять ими через G код . В TwinCat такое делается

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 12:30
nkp
vmarkiv писал(а):Могу ли я присвоить названия осям X1 , X2 , Y5 и т.д. и потом управлять ими через G код
это для совместимости со старыми файлами программ??
наверно это будет нелегко напрямую решить в емс :thinking:
но можно как вариант рассмотреть G-код с управлением осями M-кодами
можно передавать и аналоговые параметры и цифровые...
если уж крайне важна совместимость со старым начертанием команд - то можно покопать в сторону того же Remap , то есть попробовать заменить команды вида Y2 на команду навроде M64P02
зы
пока это просто необоснованная идея , так что не обессудьте :shock:

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 14:07
Nick
nkp писал(а):это для совместимости со старыми файлами программ??
Можно сделать скрипт, который преобразует
Y2 в M64P02
Кстати, цыфры в названиях осей не вписываются в формат Gкода...

Такую запись Y2 100 linuxcnc воспримет как Y2100 или Y 2100. Вообще, вроде как можно писать

Код: Выделить всё

G 0 1 Y -  1  1 .  123 
#а станок выполнит просто 
G01Y-11.123 

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 14:30
vmarkiv
Сгруппировал моторы , оказалось 20 групп с количеством двигателей от 1 до 8 .
Делать 20 экранов с независимыми осями x y z a b c в каждой группе и отдельно делать управляющую программу на группу ?

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 14:53
Nick
Как вообще выглядит вся УП?
Можешь пример прислать?
Группы работают по отдельности и при этом в одно и тоже время работает только 1 группа?

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 15:18
vovafed
а внутри групп двигатели должны синхронно управлятся или каждый по отдельности

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 15:42
vmarkiv
Примерный вид файла во вложении , где-что стоит - неизвестно . Позиционировать желательно отдельно по группам , или все вместе , так-как при позиционирование по отдельности осей время перестройки будет слишком большим . На ось примерно 20 секунд . 20 х 64 ... Рабочий уснет ...

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 15:52
Impartial
vmarkiv писал(а):Могу ли я присвоить названия осям X1 , X2 , Y5 и т.д. и потом управлять ими через G код .
G код подразумевает построение пространственно-временной траектории для одной точки. На мой взгляд в данном случае такое управление применить нельзя. Скорее всего в оригинальном контроллере управления шаговыми двигателями уже реализованы функции формирования траекторий, а управление только задает по модбасу следующую необходимую позицию следуя заложенной циклограмме. Вот с этой циклограммы работы линии и нужно начинать. Дальше все само станет на свои места.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 16:09
vmarkiv
В принципе так , программное позиционирование 64-х осей с поиском " 0 " -вых точек и возможностью ручного перемещения , индикация всех положений

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 16:58
Impartial
Следуя этому предположению нужно включать по модбасу контроллеры и искать команды и ответы на вопросы:
Как задать команду установки в "0" оси.
Как задать команду перемещения в позицию.
Как прочитать текущую позицию.
Как узнать состояния концевиков.
...
Проще, конечно, найти доки на контроллеры управления поскольку из описания модбаса это не вытащить. Модбас только регламентирует протокол, а наборы регистров и их функционал это дело разработчиков конкретного железа.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 17:04
vmarkiv
Тогда вопрос другой стороной - Нужен самодельный MODBUS контроллер шагового двигателя c выходным протоколом step\dir .

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 17:36
Impartial
А как собирать информацию с концевиков, которых наверняка на линии немеряно? Нужно точно определить характеристики такого контроллера. Ему придется формировать скоростную траекторию, считать текущую позицию, определять пропуски шагов, обрабатывать сигналы концевиков, а не только формировать степ/дир. И выбрать золотую середину между количеством контроллеров и количеством степ/дир в каждом тоже не простая задачка.
В итоге получится то, что сейчас в наличии только документированное. Что проще и дешевле - найти доки на то что есть или ввязываться во все тяжкие связанные с разработкой, решать Вам.
Может проще отремонтировать неисправный головной контроллер. Не сгорел же он дотла.

Re: 64-х осевое управление шаговыми двигателями

Добавлено: 06 фев 2014, 17:51
vmarkiv
Вот и пробую выбрать правильный путь , не нужно было бы 360 входных сигналов и 200 выходных - использовал для шаговых проводов Arduino и перерисовывал бы Линукс . А возобновить главный , генерирующий перемещения , контроллер не могу - НЕТ его . Ручное управление рабочее , заказчику этого мало