Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Система команд сервоконтроллера
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
Страницы: 1, 2, 3, 4
_Pasha
Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится. Думаю, может лучше подмножество G-кода огранизовать? Кто из сервостроителей имеет свое мнение на сей счет? Только не надо Siemens и т.п. цитировать - немножко уровень полулюбительский должен остаться. В идеале хочется, чтобы в конце обсуждения появился некий маленький "стандартик" на систему команд и применяемые интерфейсы и протоколы. Или организую RS-274D, если это никому не интересно. 
haker_fox
Цитата(_Pasha @ Feb 16 2009, 21:23) *
Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится.

Вы имеете в виду эти странные Dir & Step? Если речь о них, то я тоже не могу их назвать удобными, т.к. никакой полезной инфой с сервой не обменяешься. Ни конфиги принять/передать, ничего.
Цитата(_Pasha @ Feb 16 2009, 21:23) *
Думаю, может лучше подмножество G-кода огранизовать?

Беглое знакомство с G-кодом говорит, что он скорее предназначен для программирования уже готовой системы, например станка. А серва это лишь периферия ЧПУшного оборудования. Кстати, подобная проблема обсуждалась в моей ветке по приводу, вот только плохо помню, где она. Но там пришли к выводу, что можно (и я реализовал, кроме I2С) сделать два интерфейса: RS-232 и I2C. Первый для сервисного обслуживания, т.е. для работы "на столе" потестировать, настроить, что не исключает подключение по нему и к системе более выского ранга. Второй - как раз ориентирован для работы в системе. Над протоколом I2C, к сожалению пока еще все не думал, так вышло( Но как основу хотел покопать протокол на www.openservo.com . Там тоже серва по I2C управляется.
Цитата(_Pasha @ Feb 16 2009, 21:23) *
очется, чтобы в конце обсуждения появился некий маленький "стандартик" на систему команд и применяемые интерфейсы и протоколы.

Всеми четырьмя лапами за!!!) Все равно это прорабатывать придеться в будущем. Почему бы не заняться сейчас?!
Цитата(_Pasha @ Feb 16 2009, 21:23) *
Или организую RS-274D, если это никому не интересно.

Ну что Вы, интерес есть!

Что касается меня, то я придерживаюсь пока двух интерфейсов, как написал выше.
Интерфейс для RS-232 создан по образу одного из микрочиповских аппноутов. Т.е. примерно это я ввожу в терминалке:
Цитата
$ m 250

Где доллар - приглашение командной строки сервы.
m - задать вручную значение PWM.
250 - непосредственное значение. Все подтверждается ENTERом. Редактирование не возможно. Т.к. программа сервы это не поддерживает.
Все остальные команды в подобном стиле. Например * позвояет посмотреть все текущие настройки сервы (параметры ПИДа, заданной скорости и тд). В общем, все пока примитивненько. Но общими силами может быть и получится что-то? Очень надеюсь на это!!!

Паша, респект!
evgeny_ch
Цитата(_Pasha @ Feb 16 2009, 17:23) *
Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится. Думаю, может лучше подмножество G-кода огранизовать? Кто из сервостроителей имеет свое мнение на сей счет?
...
В станках G-код преобразуется (скажем постпроцессором) в команды контроллера.
Долго и нудно описывать, назову группы.
Калибровка привода.
Отображение состояния.
Включение/выкл. функций.
Сброс, запись, чтение, сохранение, ожидание.
Тестовые.
Знач. параметров двигателя, энкодера, регуляторов.
Величина и тип перемещения.
Ввод программы, загр. прогр. в EEPROM, старт программы.
И пр. мелочи. biggrin.gif
_Pasha
Цитата(haker_fox @ Feb 16 2009, 18:40) *
Паша, респект!

smile.gif до респекта далеко еще. Думается, надо для начала определить, какая скорость передачи будет считаться нормальной. Вариант "чем больше тем лучше" не нужен совершенно. К чему привязаться? К длительности сервоцикла? Вроде слишком избыточно. Я возможность изменения настроек в процессе выполнения команды ("на лету") никогда не разрешаю ни в одном своем моторном девайсе. Надо поменять - остановился и поменял. Хотя, было один раз - наступил на свои же грабли. Но к серваку то же: никаких настроек на лету. Только команды. А какое должно быть минимальное время между командами ?

Цитата(evgeny_ch @ Feb 16 2009, 18:55) *
В станках G-код преобразуется (скажем постпроцессором) в команды контроллера.

Т.е напрямую G-код на контроллер сервака никогда не поступит? "В команды контроллера" - слишком расплывчатое определение. Интересно, насколько это стандартизовано.
arisov
А зачем всё это? Для полулюбительского уровня мне кажется уже достаточно G-code. Другое дело – интерфейс. Для самодельщиков-ЧПУшников актуально будет управление через USB или ТСР, т.к. LPT «отходит». И ориентироваться надо, на мой взгляд, на самую популярную программу Масh3.
evgeny_ch
Цитата(_Pasha @ Feb 16 2009, 19:01) *
...
Т.е напрямую G-код на контроллер сервака никогда не поступит? "В команды контроллера" - слишком расплывчатое определение. Интересно, насколько это стандартизовано.
Нет смысла передавать G-код в контроллер, это снизит быстродействие.
Хост (PLC, например) транслирует G-код в команды контроллеров (!) привода.
Насчет стандартов не знаю, я же бывший. biggrin.gif
_Pasha
Цитата(haker_fox @ Feb 16 2009, 18:40) *
как основу хотел покопать протокол на www.openservo.com

Кстати, я большой противник регистров, их адресов и прочей низкоуровневой шелухи. Только команды. Например, для "тупокрутилок" асинхронных двигателей у меня такое:
Код
Адрес устройства
Размер блока данных
Адрес вызывающего
Команда мастера или статус слейва (слейв - привод)
Опциональные данные (ограничены макс длиной блока - 4байта)
CRC8 типа как у DS18B20

А команды:
Код
0x00 - сводка о состоянии привода (набор параметров программируется)
0x01.. 0x7F пространство команд чтения параметров
0x80 - программируется содержимое, выдаваемое командой 0x00
0x81..0xFE пространство команд записи параметров
0xFF - резерв, какой-нить HELP по поводу того или иного параметра. Например 0xFF 0x00 привод выдаст "GET_BRIEF"

Меняются версии, контроллеры, вместо простенького пульта компьютер... протокол изменять надобности нет.

Цитата(arisov @ Feb 16 2009, 19:08) *
И ориентироваться надо, на мой взгляд, на самую популярную программу Масh3.

Да-да-да. Есть такое подозрение smile.gif Только хоцца и объять необъятное и определить нужный людям уровень универсальности.
haker_fox
Цитата(arisov @ Feb 16 2009, 23:08) *
А зачем всё это?

Вопрос риторический, ответа не имеет... Ведь и elm-chan когда-то создавался...
Цитата(arisov @ Feb 16 2009, 23:08) *
актуально будет управление через USB или ТСР

TCP, пожалуй, тяжеловато да и монстрообразно для привода. Хотя при современном спектер недорогих армов вполне. Но речь идет об интерфейсе не системы ЧПУ, где эти интерфесы как раз, а о серве. Где можно применить дешевый AVR или PIC, но поднять USB или TCP на их бортах дело тяжелое, да и зачем?
Цитата(arisov @ Feb 16 2009, 23:08) *
т.к. LPT «отходит».

Есть еще RS-232. И дешевые конвертилки RS-232<->USB. Поэтому (ИМХО) RS-232 забывать не стоит)
arisov
А какой смысл применения своих команд, если это никакой прогой не будет поддерживаться? Возможно это пригодиться только единицам.
_Pasha
TCP не надо: поголовно никто ставить не будет, а в качестве опции - вот, мосты всяческие ETHERNET<->RS-485. А потом, возможно, придется двигаться в сторону RTP (все равно рано или поздно к этому придут) - это уж точно ни в какой  АВР не влезет smile.gif
arisov
Цитата(haker_fox @ Feb 16 2009, 18:27) *
Есть еще RS-232. И дешевые конвертилки RS-232<->USB. Поэтому (ИМХО) RS-232 забывать не стоит)

Дешёвые конвертилки на FT232 почему «отваливаются» с сервоконтроллером, при чём не только у меня. biggrin.gif
http://kazus.ru/forum/topics/14286.html

И здесь http://forum.rcdesign.ru/f41/thread40981-5.html#post1037070 начиная с сообщения №165
haker_fox
Цитата(arisov @ Feb 16 2009, 23:29) *
А какой смысл применения своих команд, если это никакой прогой не будет поддерживаться? Возможно это пригодиться только единицам.

А как быть с физическим интерфейсом? Или он не будет особой роли играть, главное команды? Этот уровень, я тоже сейчас до шел до этого, нужно пытаться делать совместимым с чем-нибудь стандартным, но не особо навороченным, возможно со своими подмножествами.

Как все-таки по поводу Rs-232 для подключения к кому, чтобы можно было из терминалки с приводом пообщаться? Ведь не всегда под рукой будет спецсофт, да стойка ЧПУ, а вот комп с примитивным терминалом обычно есть... (ИМХО). Да и для матлаба такой интерфейс, наверно больше подходит. Я вот сейчас пытаюсь в матлаб со своего привода данные гнать, для моделирования... RS-232 в этом деле как раз кстати: простота, куча примеров в инете... и тп.
arisov
Цитата(haker_fox @ Feb 16 2009, 18:41) *
...Как все-таки по поводу Rs-232 для подключения к кому, чтобы можно было из терминалки с приводом пообщаться?...

Если уж с терминальной программой «отваливается», то чё уж тогда говорить о непосредственном управлении.
haker_fox
Цитата(arisov @ Feb 16 2009, 23:36) *
Дешёвые конвертилки на FT232 почему «отваливаются» с сервоконтроллером, при чём не только у меня. biggrin.gif
http://kazus.ru/forum/topics/14286.html

И здесь http://forum.rcdesign.ru/f41/thread40981-5.html#post1037070 начиная с сообщения №165

Бегло прочел. Там говорят что нужен оптрон. Так в моем приводе силовая L298 уже оптронами отделена от цифры... Может быть поэтому ничего не отваливается, правда я долго не тестировал. Кстати, тут много споров было по поводу оптронов. Может быть ответ тут, в этой ветке?)

Цитата(arisov @ Feb 16 2009, 23:44) *
Если уж с терминальной программой «отваливается», то чё уж тогда говорить о непосредственном управлении.

Так я и не предлагаю RS-232 для непосредственного управлениея unsure.gif Ну а "отваливание" нужно решать. Интерефейс-то из за этого игнорироваться не должен rolleyes.gif
arisov
Вот Screen из Mach.
haker_fox
Цитата(arisov @ Feb 16 2009, 23:47) *
Вот Screen из Mach.

Там я LPT вижу и что-то еще, связанное с TCP?
___________
OFF: у меня тут уже полночь почти пришла. Завтра на учебу и работу рано. Хочется, конечно, поучавствовать, но надо спать идти. Не хочу спать на парте перед лектором)
Завтра днем посмотрю, что получится из обсуждения.
Всем успехов!
arisov
Можно выбирать тип интерфейса (протокола) LPT или TCP Modbus, например. Производители оборудования (сервоконтроллеров) обычно дополняют Mach различными плагинами для согласования.
Rst7
Цитата
TCP не надо: поголовно никто ставить не будет, а в качестве опции - вот, мосты всяческие ETHERNET<->RS-485.


Можем скооперироваться. У меня как-раз тут рояль завалялся - недорогой мост Modbus Over Serial Line <-> Modbus Over TCP. Можем с модбаса переточить на что-нибудь другое.
arisov
_Pasha а это будет коммерческая разработка или OpenServo?
Duhas
в принципе могут быть актуальны задание ускорения, времени выполнения перемещений и тд... в обратку отдавать факты перегруза по току и прочие казусы...
arisov
Это уже не любительский получается. А в любительских задание ускорения, времени выполнения перемещений и т.д. выполняется в управляющей программе обработки, обратная связь – единственный сигнал ServoError объединяющий несколько ошибок (рассогласование позиции, большие и долгие перегрузки по току и т.п.) подается снова в управляющую программу. В управляющей программе при поступлении этого сигнала (по отдельному входу) происходит экстренная остановка.
Любителям всех этих наворотов, как я понял не надо. Им даже концевиков ограничения хода не надо, т.к. они тоже предусмотрены в некоторых программах.
Любителям надо НЕДОРОГОЙ, надёжный сервоконтроллер с максимальной частотой (энкодер) 100-150кГц, напряжением питания серводвигателя – до 150В, мощностью – до 1кВт. С регулируемой защитой по току. И как я уже писал желательно с интерфейсом согласования USB, т.к. многие сейчас переходят на ноутбуки (один комп – несколько станков).
Rst7
Цитата
И как я уже писал желательно с интерфейсом согласования USB, т.к. многие сейчас переходят на ноутбуки (один комп - несколько станков).


А мне кажется, что "нечто over TCP" с физикой в виде Ethernet будет самое оно - объединяй в одной сети сколько надо приводов, а по помехоустойчивости и дальности эзернет на голову выше USB.
arisov
Конечно было бы ещё лучше, просто выше писали о сложностях при этом.
evgeny_ch
Цитата(_Pasha @ Feb 16 2009, 19:01) *
...
"В команды контроллера" - слишком расплывчатое определение. Интересно, насколько это стандартизовано.
Покопался в доках, можно почитать, как стандартизуют ПО для ПЛК.
Программирование ПЛК: языки МЭК 61131-3 и возможные альтернативы.
Некоторые конторы указывают на соответствие своих языков пр. сервоконтроллеров этому стандарту.
Rst7
Цитата
Конечно было бы ещё лучше, просто выше писали о сложностях при этом.


В каждый контроллер смысла засовывать Ethernet в полулюбительском варианте конечно нет. Но оконцовывать контроллер интерфейсом USB тоже не есть гуд - врядли ему будет хорошо работаться в "горячей" (с точки зрения ЭМС) зоне. А выполнив физику в виде 485го интерфейса и дополнительный мост в TCP - это, как мне кажется, будет самая пися золотая. Мост могу организовать. Весьма дешево. И решится вопрос с зависанием FT232 (к сожалению, вынужден констатировать, что один из моих знакомых, занимающийся модулями телеуправления, хотя и имеет в ассортименте выпускаемой продукции конверторы 485-USB, применять их не рекомендует. Хотя у него профессиональные разработчики, но справиться с зависаниями фтэшки не смогли)
Огурцов
* гуд!
* RS-274D на уровне приводов избыточен и неудобен
* I2C совсем неподходит, RS232 просто не подходит - есть прекрасные RS485/RS422 или CAN. После долгих мучений с выбором я остановился на RS422, как наиболее отвечающему всем ограничениям
* терминалка с одной стороны хорошо, но с другой - сильно ограниченный и незащищенный способ обмена с девайсом. Но нет ничего проще, чем написать свою терминалку, с формированием команд в пакетах
* скорость 9600, дефолтовая для конфигурирования, и выше, для работы. Я остановился на 1 MBit - на столе вроде бы работает
* задирать сервоциклы я (бы) не стал, иначе и arm не хватит, а хотелось бы остановиться на народном avr
* интерфейс со стороны компа USB/ETHERNET/RS232/LPT - в порядке убывания
* Масh3 нужен далеко не всем
* Modbus слишком неудобный протокол. Под Масh3 лучше бы иметь свой протокол и свой плагин
* навороты любителям не нужны, это точно, но любители могут подрасти
* в интерфейсах начинал описание своего протокола Slp, но никто не поддержал. Если все же интересно, то в процессе разработки уже появились некоторые изменения
* все имхо
_Pasha
Цитата(arisov @ Feb 16 2009, 19:36) *
Дешёвые конвертилки на FT232 почему «отваливаются» с сервоконтроллером
Тему ниасилил ввиду большого объема. К тому же FT232 ни разу не того. PL2303 немножко юзал. А FTшки на слуху отдельно от матюков не употребляются.

Цитата(Rst7 @ Feb 16 2009, 20:10) *
Можем скооперироваться. У меня как-раз тут рояль завалялся
Про рояль знаю, т.к. слежу за Вашими постами с большим интересом.  Изначально была мысль "дружить девайсами" smile.gif, но вначале хоть запущу то, что наваял. Завтра... ой, уже сегодня  платы приедут! В общем, кажется, впереди нас ждет, извините, невыпитое море водки.smile.gif

Цитата(arisov @ Feb 16 2009, 20:24) *
_Pasha а это будет коммерческая разработка или OpenServo?

Начнем Open, потом, когда появятся "фишечки" (если появятся), тему плавно прикроем, чтоб уже кормила заинтересованных фигурантов smile.gif как, впрочем и должно все развиваться. Имхо.

Цитата(evgeny_ch @ Feb 16 2009, 23:19) *
 языки МЭК 61131-3 Некоторые конторы указывают на соответствие своих языков пр. сервоконтроллеров этому стандарту.

Громоздко несколько. Надо подумать...

Цитата(Огурцов @ Feb 17 2009, 00:49) *
* в интерфейсах начинал описание своего протокола Slp, но никто не поддержал. Если все же интересно, то в процессе разработки уже появились некоторые изменения
Конечно, интересно! Только ссылку киньте, пожалуйста, а то за Вашими деяниями как-то не слежу. Пока не было интереса. По поводу выбора RS-422 vs RS-485, прошу Вас высказаться подробнее, почему именно 422 рулит?

Цитата(arisov @ Feb 16 2009, 22:47) *
Любителям надо НЕДОРОГОЙ, надёжный сервоконтроллер с максимальной частотой (энкодер) 100-150кГц, напряжением питания серводвигателя – до 150В, мощностью – до 1кВт. С регулируемой защитой по току.

Спасибо за взвешенные цифры.
haker_fox
Цитата(arisov @ Feb 16 2009, 23:59) *
Можно выбирать тип интерфейса (протокола) LPT

По-моему слишком архаичен.
dpss
До создания своего собственного физического интерфейса и системы команд привода предлагаю рассмотреть и обсудить уже существующие решения , которые используют большие компании. По моему проще приспособится к готовому стандарту чем изобретать свой собственный велосипед. Возможно это будет несколько дороже и сложнее , но у такого варианта есть и преимущества. Ваш привод (и другая перефирия) будет совместим с оборудованием которое выпускает большая фирма, можно использовать готовый "верхний" софт , который пишет , отлавливает баги и сопровождает не один - два человека а целая коорпорация. Какими свойствами должен обладать кандидат?
Относительно низкая стоимость реализации физического интерфейса.
Гальваническая развязка.
Легкая масштабируемость и переконфигурация.
Защита от помех, сбоев и зависаний.
Автоопределение типов устройств (у каждого должен быть свой паспорт).
Высокая скорость.
Доступная и полная информация описывающая интерфейс, примеры и готовые решения.
Доступный (возможно после некоторого "лечения"), удобный и часто обновляемый "верхний" софт.

Для начала предлагаю рассмотреть EtherCAT, Sercos, PROFINET.
slog
Ну вы тут наобсуждали. Аж волосья встают от ужасов. А для чего нужен этот сервоконтроллер и что он из себя представляет как-то забыли упомянуть, надо именно от этого и плясать. Вы бы сначала посмотрели как сделано в других готовых системах. Прежде чем изобретать чего-то. G-код к серво вообще никакого отношения не имеет, это другой уровень. Его даже вспоминать тут неуместно. Если не устраивает древний +/-10в или step-dir смотрите цифровые уже существующие решения EtherCAT, Sercos. И как у ведущих ЧПУ-строителей сделано. Ваш самодельный интерфейс ни с чем не совместимый вряд ли кому-то будет нужен, вы же не Siemens чтобы протолкнуть свой интерфейс. Выше уже была мудрая идея - приспособиться к существующему стандарту.

IMHO EtherCAT весьма перспективно. Но это не для простых "серво". Для простых достаточно и step-dir.
haker_fox
Цитата(dpss @ Feb 17 2009, 12:50) *
Ваш привод (и другая перефирия) будет совместим с оборудованием которое выпускает большая фирма, можно использовать готовый "верхний" софт , который пишет , отлавливает баги и сопровождает не один - два человека а целая коорпорация. Какими свойствами должен обладать кандидат?

Интересно, а есть ли различие в плане интерфейса привода станка и привода робота? Хотелось бы не только на привод станка ориентироваться.

Цитата(slog @ Feb 17 2009, 13:52) *
А для чего нужен этот сервоконтроллер и что он из себя представляет как-то забыли упомянуть, надо именно от этого и плясать.

Это действительно упущение, хотя выше и предполагалось
Цитата
Любителям надо НЕДОРОГОЙ, надёжный сервоконтроллер с максимальной частотой (энкодер) 100-150кГц, напряжением питания серводвигателя – до 150В, мощностью – до 1кВт. С регулируемой защитой по току.

Но надо детализировать.
Цитата(slog @ Feb 17 2009, 13:52) *
Ваш самодельный интерфейс ни с чем не совместимый вряд ли кому-то будет нужен, вы же не Siemens чтобы протолкнуть свой интерфейс. Выше уже была мудрая идея - приспособиться к существующему стандарту.

Так идеи протолкнуть интерфейс вроде бы и не ставилось.
Просто EtherCAT и другие предложенные базируются на ETHERNET, как я понял. Довольно таки монстрообразно. Хотелось бы на AVR-подобные МК уложиться. С другой стороны на AVRке серьезный привод вряд ли можно сделать. Получается, что мы хотим создать что-то среднего класса.
По поводу стандартного интерфейса: можно ведь создать при необходимости переходник наш_интерфейс<->что_то_стандартное. А вот команды может быть можно и ближе к распространенным стандартным взять.
arisov
Вот здесь похожее обсуждалось http://www.cnczone.com/forums/showthread.php?t=42373
Iptash
Step-dir это самый простой и надежный интерфейс, сам делаю на этом(от ЦАПа отхожу). Но это под ЧПУ реального времени. А под Windows это плохо работает
(у меня), поэтому видимо выход как раз допустим M команды типа <М96.1000> - повернуть вал двигателя на 1000 импульсов датчика. Это особенно подходит
для роботов и манипуляторов, где простой командой можно повернуть "руку" на определенный угол. А также это нужно, что-бы программировать сам привод допустим P командами и практически не нужны встроенные пульты на блоках управления. Все же не соглашусь, что в реале не нужно изменять какие ли бо параметры. Как раз таки параметры типа разгон торможение и т.п. удобнее на "ходу" регулировать и для опытного электронщика методика настройки из книги не нужна, он это на "глаз" сделает и под конкретное железо. А RS-422, я согласен, рулит. Не знаю, мое мнение на счет
МК. Все же лучше применять 16 разрядные МК, типа dsPIC30/33 да и по цене они не намного дороже, и переферия мощная и все есть.
Огурцов
Цитата(_Pasha @ Feb 16 2009, 22:58) *
чтоб уже кормила

Ой )

Цитата(_Pasha @ Feb 16 2009, 22:58) *
Только ссылку киньте

http://electronix.ru/forum/index.php?showt...495&hl=slp*

Цитата(_Pasha @ Feb 16 2009, 22:58) *
По поводу выбора RS-422 vs RS-485, прошу Вас высказаться подробнее, почему именно 422 рулит?

Минимум, не болит голова с переключениями прием-передача, блокировкой шины, снижением трафика и совместимостью с rs232.
_Pasha
Цитата(slog @ Feb 17 2009, 09:52) *
А для чего нужен этот сервоконтроллер

Если не устраивает древний +/-10в или step-dir смотрите цифровые уже существующие решения EtherCAT, Sercos. И как у ведущих ЧПУ-строителей сделано. 

1. Как раз хочу охватить CNC и применения в манипуляторах. "Первый блин" - 24В/4А на базе L298, но это ничего не значит. Надо платформенно-независимые вещи разрабатывать.


2. А как же : изначально заложил 4-20мА и step/dir/limit_switch. 

Еще PROFIBUS очень интересен. Надо вкурить подробнее.
dpss
Вот "отец - основатель" EtherCAT. http://www.beckhoff.com/ http://www.beckhoff.ru
Есть международная ассоциация www.ethercat.org
Самый быстрый интерфейс реального времени на основе эзернета.
PLC , декодер G кода , профиль движения, интерполяторы делаются программно с использовнием TwinCAT который
сделан из CODESYS.
_Pasha
Блин, занесло всех в эзернет! Ну нельзя сразу его закладывать! Рано еще. 
dpss
Цитата(_Pasha @ Feb 17 2009, 11:40) *
Блин, занесло всех в эзернет! Ну нельзя сразу его закладывать! Рано еще. 

Для кого рано? На самом деле не так страшен черт как его малюют. Зато сколько преимуществ. Одни готовые библиотеки трансформации координат чего стоят.
haker_fox
Цитата(_Pasha @ Feb 17 2009, 16:40) *
Блин, занесло всех в эзернет! Ну нельзя сразу его закладывать! Рано еще. 

Я тоже так считаю. Так что же выбрать в качестве пока еще физического интерфейса?
evgeny_ch
Цитата(_Pasha @ Feb 17 2009, 11:40) *
Блин, занесло всех в эзернет! Ну нельзя сразу его закладывать! Рано еще. 
Поздно, оптику надо, это же привод,
а не описная сеть.
Пмсм, рассуждая о системе команд, нужно отталкиваться от
ЦП контроллера. Специализированные процессоры для упр. электродвигатлями
уже имеют библиотеки и ПО, поставляемое производителем.
Далее автоматически получается функциональные возможности.
Особенности специализированных контроллеров для управления прецизионными электроприводами.
_Pasha
Цитата(dpss @ Feb 17 2009, 11:42) *
Для кого рано?

Пусть будет два девайса: мост эзернет в какой-нить RS485 либо Ether->PLC->[step/dir/Analogue] Но в одном флаконе - рановато

Цитата(evgeny_ch @ Feb 17 2009, 11:58) *
Поздно, оптику надо, это же привод,
а не описная сеть.

Тогда повторяю вопрос: каким выражением (алгебраическим, ессно, а не матерным) можно отобразить требования по максимальному времени доставки сообщения и получения ответа ???
dpss
Цитата(_Pasha @ Feb 17 2009, 12:03) *
Тогда повторяю вопрос: каким выражением (алгебраическим, ессно, а не матерным) можно отобразить требования по максимальному времени доставки сообщения и получения ответа ???

Можно ориентироваться на частоту с которой работает токовый регулятор в приводе. Частота обновления командного регистра положения 0.5 - 0.1
от частоты токового регулятора.
_Pasha
Цитата(arisov @ Feb 17 2009, 09:15) *
Вот здесь похожее обсуждалось http://www.cnczone.com/forums/showthread.php?t=42373

Цитата
affordable, Windows based, 6-axis Double Closed-Loop CNC controller. This device is literally a "brain" for your CNC machine. It acts as the focal point for incoming data and outbound control signals. It constantly corrects and adjusts your machine while carrying out G-Code instructions.


Мда-с... Зураб Церетели отдыхает на DIN-рейке smile.gif
evgeny_ch
Цитата(_Pasha @ Feb 17 2009, 12:03) *
...
Тогда повторяю вопрос: каким выражением (алгебраическим, ессно, а не матерным) можно отобразить требования по максимальному времени доставки сообщения и получения ответа ???
Временем реакции системы на самое быстрое событие, делённым на количество управляемых осей.
Тип интерфейса определяется вовсе не скоростью, пмсм. Есть ещё помехоустойчивость и пр. простые вещи.
_Pasha
Цитата(dpss @ Feb 17 2009, 12:18) *
Частота обновления командного регистра положения 0.5 - 0.1 от частоты токового регулятора.

О! Уже что-то очень ценное! Спасибо. Частота токового регулятора == длительность сервоцикла ? 
Огурцов
Цитата(evgeny_ch @ Feb 17 2009, 08:58) *
Поздно, оптику надо

Вот, пожайлуйста, еще одна причина делать rs422, но не что-нибудь еще.

Цитата(evgeny_ch @ Feb 17 2009, 08:58) *
Специализированные процессоры для упр. электродвигатлями
уже имеют библиотеки и ПО, поставляемое производителем.

Насколько сложнее будет сделать совместимый протокол, нежели свой ?
_Pasha
Цитата(evgeny_ch @ Feb 17 2009, 12:32) *
Временем реакции системы на самое быстрое событие, делённым на количество управляемых осей.

Нет, даже еще хуже: деленным на количество устройств в сегменте сети. Их может быть немного больше чем осей sad.gif Действительно, до фига большая скорость

Цитата(dpss @ Feb 17 2009, 12:18) *
Частота обновления командного регистра положения 0.5 - 0.1 от частоты токового регулятора.


Ну, допустим, как снизить частоту обновления, понятно всем: использовать макроязык с интерполяторами. Зачем апдейтить координату еще и с дисперсией времени доставки, когда можно ее хоть кусочно-линейно хоть сплайном интерполировать. А кто знает уже готовые устоявшиеся решения?
dpss
Цитата(evgeny_ch @ Feb 17 2009, 11:58) *
Поздно, оптику надо, это же привод,
а не описная сеть.

Можно использовать дешевый пластик POF . Есть программа MOST перевода автомобильной электроники на этот пластик.
http://www.pofto.com/ Аваго , Инфенион, Тайко собираются выпускать дешевые приемники и передатчики под этот стандарт.
haker_fox
Цитата(evgeny_ch @ Feb 17 2009, 16:58) *
Поздно, оптику надо, это же привод,
а не описная сеть.

А я воспринял Ваше сообщение, как иронию. Или неправильно воспринял?
_Pasha
Цитата(evgeny_ch @ Feb 16 2009, 22:19) *
Покопался в доках, можно почитать, как стандартизуют ПО для ПЛК.
Программирование ПЛК: языки МЭК 61131-3 и возможные альтернативы.

Теперь, если стремиться снизить требования к коммуникационному каналу, получается, что  рулят Techno IL и Techno ST

http://www.adastra.ru/products/overview/IEC61131/

ЗЫ: а если сервоцикл уложится в один период ШИМ? smile.gif Причем это будут честные 4 кГц wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.