реклама на сайте
подробности

 
 
> Система команд сервоконтроллера, обсудим?
_Pasha
сообщение Feb 16 2009, 13:23
Сообщение #1


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится. Думаю, может лучше подмножество G-кода огранизовать? Кто из сервостроителей имеет свое мнение на сей счет? Только не надо Siemens и т.п. цитировать - немножко уровень полулюбительский должен остаться. В идеале хочется, чтобы в конце обсуждения появился некий маленький "стандартик" на систему команд и применяемые интерфейсы и протоколы. Или организую RS-274D, если это никому не интересно. 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Feb 19 2009, 04:57
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Протокол 8-E-2


Эээ, я не очень понял, данные передаются по инициативе контроллера? Или запрашиваются мастером?

Цитата
надо ли в рамках бинарного потока сигналить об аварии или достаточно сделать это в текстовом виде?


Хотя бы флаг аварии надо передать. А расшифровку можно уже и потихоньку текстом забрать.

Но есть ли смысл реализовывать текстовый протокол вообще? Как по мне, так и не очень...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 19 2009, 06:39
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Rst7 @ Feb 19 2009, 08:57) *
Эээ, я не очень понял, данные передаются по инициативе контроллера? Или запрашиваются мастером?
Хотя бы флаг аварии надо передать. А расшифровку можно уже и потихоньку текстом забрать.
Но есть ли смысл реализовывать текстовый протокол вообще? Как по мне, так и не очень...

1. Мастер - инициатор обмена. Следовательно запрашиваются мастером

2. Какой нибудь MAGIC... вот: использовать несимметричность signed char, т.е в отдаваемом приращении 0x80 -ето туши свет smile.gif

3. Вы его еще не видели smile.gif 
PS текстовый - в первую очередь для возможности управлять, причем всем сегментом сети, из терминала. Отсюда некоторые особенности:
Код
1. Единица обработки команды - строка, заканч. 0x0d или 0x0a - настраивается
2. Команды широковещательные, адресные и может быть приватные сообщения между слейвами
3. широковещательные, адресные - идут от компа, читай - от юзера, поэтому для проверки правильности делаем эхо обратно
4. приваты - в конце добавляется CRC8, пусть слейвы между собой разбираются :)
*****Как это выглядит *****
команда назначения имени и адресу
assign x=0x04
девайс отвечает
@x: assign x=0x04 OK
Дальше что-то пишем ему
x: S+=20
@x: S+=20 OK
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Feb 19 2009, 06:56
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Если таки речь не про профибас: Текстовый режим плох по многим причинам. Сходу:
- не защищен (если не собираетесь заставить юзера руками считать crc)
- избыточен, раза в два примерно (а канал и так довольно узкий)
- требует для дешифрации больших ресурсов в слейве (особенно если давать командам осмысленные имена)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 19 2009, 08:34
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



- не защищен

Хочу сделать в рамках этого мини-языка несколько синонимов одних и тех же действий, чтобы юзер на свой страх и риск их применял.

Из предыдущего моего поста: x: S+=20 после получения команды можно сделать сразу эхо, а можно после выполнения smile.gif

- избыточен, раза в два примерно 

Почему в два? Гораздо больше, но тут упор на макроязык и всякие навороты по синхронному исполнению о них - позже

- требует для дешифрации больших ресурсов в слейве 
"На лету" ничего делаться не будет в текстовом режиме. Получил - сверился- выполнил - отчитался.
В бинарном режиме, по получении MAGIC 0x80, сигнализирующем об аварии, хост останавливает процесс элементарно - переходом в текст. Остальные - услышали MAGIC и стали, а для "особо понятливых" - сработает тайм-аут "потеря связи" по прекращению бинарного потока (планируеццо 3,5 символа) Кстати, тайм-аут в символах на полудуплексе ваще удобно делать - Dummy writes при выключенном драйвере 485

ЗЫ какой из меня парсер сообщений! smile.gif

Следующая "умная мысль". Структура строки

Код
[#<идентификатор потока>] [<имя устройства>:] [<команда1> [;<команда1>]]

идентификатор потока: число 1-99

имя устройства: идентификатор

команда1: семейство команд модификации регистров S,V,M,T


Идент. потока нужен для задания синхронного начала исполнения команд. 

По именам регистров: регистр момента предлагаю назвать M,а не T(torque) потому что иначе нечем назвать время



Еще вопрос из другой оперы: кто как считает ресурс/наработку сервака?

Имхо есть смысл считать отдельно:

Код
1. Моточасы, т.е. общее время в работе силовухи

2. Счетчик общего пробега

3. Время нахождения в режиме с ускорением
 



По поводу бинарного протокола: +статистика: общее число принятых пакетов, число подтвердженных. 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Pasha   Система команд сервоконтроллера   Feb 16 2009, 13:23
- - haker_fox   Цитата(_Pasha @ Feb 16 2009, 21:23) Добро...   Feb 16 2009, 14:40
|- - _Pasha   Цитата(haker_fox @ Feb 16 2009, 18:40) Па...   Feb 16 2009, 15:01
||- - evgeny_ch   Цитата(_Pasha @ Feb 16 2009, 19:01) ... Т...   Feb 16 2009, 15:15
||- - evgeny_ch   Цитата(_Pasha @ Feb 16 2009, 19:01) ... ...   Feb 16 2009, 19:19
||- - _Pasha   Цитата(evgeny_ch @ Feb 16 2009, 22:19) По...   Feb 17 2009, 10:11
|- - _Pasha   Цитата(haker_fox @ Feb 16 2009, 18:40) ка...   Feb 16 2009, 15:25
- - evgeny_ch   Цитата(_Pasha @ Feb 16 2009, 17:23) Добро...   Feb 16 2009, 14:55
- - arisov   А зачем всё это? Для полулюбительского уровня мне ...   Feb 16 2009, 15:08
|- - haker_fox   Цитата(arisov @ Feb 16 2009, 23:08) А зач...   Feb 16 2009, 15:27
|- - arisov   Цитата(haker_fox @ Feb 16 2009, 18:27) Ес...   Feb 16 2009, 15:36
|- - haker_fox   Цитата(arisov @ Feb 16 2009, 23:36) Дешёв...   Feb 16 2009, 15:47
- - arisov   А какой смысл применения своих команд, если это ни...   Feb 16 2009, 15:29
|- - haker_fox   Цитата(arisov @ Feb 16 2009, 23:29) А как...   Feb 16 2009, 15:41
|- - arisov   Цитата(haker_fox @ Feb 16 2009, 18:41) .....   Feb 16 2009, 15:44
- - _Pasha   TCP не надо: поголовно никто ставить не будет, а в...   Feb 16 2009, 15:35
- - arisov   Вот Screen из Mach.   Feb 16 2009, 15:47
|- - haker_fox   Цитата(arisov @ Feb 16 2009, 23:47) Вот S...   Feb 16 2009, 15:51
- - arisov   Можно выбирать тип интерфейса (протокола) LPT или ...   Feb 16 2009, 15:59
|- - haker_fox   Цитата(arisov @ Feb 16 2009, 23:59) Можно...   Feb 17 2009, 04:29
- - Rst7   ЦитатаTCP не надо: поголовно никто ставить не буде...   Feb 16 2009, 16:10
- - arisov   _Pasha а это будет коммерческая разработка или Ope...   Feb 16 2009, 16:24
- - Duhas   в принципе могут быть актуальны задание ускорения,...   Feb 16 2009, 17:35
- - arisov   Это уже не любительский получается. А в любительск...   Feb 16 2009, 18:47
- - Rst7   ЦитатаИ как я уже писал желательно с интерфейсом с...   Feb 16 2009, 19:09
- - arisov   Конечно было бы ещё лучше, просто выше писали о сл...   Feb 16 2009, 19:11
- - Rst7   ЦитатаКонечно было бы ещё лучше, просто выше писал...   Feb 16 2009, 19:41
|- - Огурцов   * гуд! * RS-274D на уровне приводов избыточен ...   Feb 16 2009, 20:49
- - _Pasha   Цитата(arisov @ Feb 16 2009, 19:36) Дешёв...   Feb 16 2009, 22:58
|- - dpss   До создания своего собственного физического интерф...   Feb 17 2009, 04:50
||- - haker_fox   Цитата(dpss @ Feb 17 2009, 12:50) Ваш при...   Feb 17 2009, 06:07
||- - Iptash   Step-dir это самый простой и надежный интерфейс, с...   Feb 17 2009, 07:05
|- - Огурцов   Цитата(_Pasha @ Feb 16 2009, 22:58) чтоб ...   Feb 17 2009, 07:11
- - slog   Ну вы тут наобсуждали. Аж волосья встают от ужасов...   Feb 17 2009, 05:52
|- - _Pasha   Цитата(slog @ Feb 17 2009, 09:52) А для ч...   Feb 17 2009, 07:14
|- - dpss   Вот "отец - основатель" EtherCAT. http:/...   Feb 17 2009, 07:56
- - arisov   Вот здесь похожее обсуждалось http://www.cnczone.c...   Feb 17 2009, 06:15
|- - _Pasha   Цитата(arisov @ Feb 17 2009, 09:15) Вот з...   Feb 17 2009, 09:29
- - _Pasha   Блин, занесло всех в эзернет! Ну нельзя сразу ...   Feb 17 2009, 08:40
|- - dpss   Цитата(_Pasha @ Feb 17 2009, 11:40) Блин,...   Feb 17 2009, 08:42
||- - _Pasha   Цитата(dpss @ Feb 17 2009, 11:42) Для ког...   Feb 17 2009, 09:03
||- - dpss   Цитата(_Pasha @ Feb 17 2009, 12:03) Тогда...   Feb 17 2009, 09:18
|||- - _Pasha   Цитата(dpss @ Feb 17 2009, 12:18) Частота...   Feb 17 2009, 09:33
||- - evgeny_ch   Цитата(_Pasha @ Feb 17 2009, 12:03) ... Т...   Feb 17 2009, 09:32
||- - _Pasha   Цитата(evgeny_ch @ Feb 17 2009, 12:32) Вр...   Feb 17 2009, 09:47
||- - dpss   Цитата(_Pasha @ Feb 17 2009, 12:47) Ну, д...   Feb 17 2009, 10:17
|- - haker_fox   Цитата(_Pasha @ Feb 17 2009, 16:40) Блин,...   Feb 17 2009, 08:55
|- - evgeny_ch   Цитата(_Pasha @ Feb 17 2009, 11:40) Блин,...   Feb 17 2009, 08:58
|- - Огурцов   Цитата(evgeny_ch @ Feb 17 2009, 08:58) По...   Feb 17 2009, 09:33
|- - dpss   Цитата(evgeny_ch @ Feb 17 2009, 11:58) По...   Feb 17 2009, 09:59
|- - haker_fox   Цитата(evgeny_ch @ Feb 17 2009, 16:58) По...   Feb 17 2009, 10:10
|- - evgeny_ch   Цитата(haker_fox @ Feb 17 2009, 13:10) А ...   Feb 17 2009, 12:02
- - arisov   Мне кажется «в дебри улезли». Изначально планирова...   Feb 17 2009, 11:15
- - khach   Коллеги, а кто нибудь может ответить на вопрос, ка...   Feb 17 2009, 11:28
|- - arisov   Цитата(khach @ Feb 17 2009, 14:28) ...при...   Feb 17 2009, 11:37
|- - _Pasha   Цитата(khach @ Feb 17 2009, 14:28) Коллег...   Feb 17 2009, 11:38
|- - khach   Цитата(_Pasha @ Feb 17 2009, 14:38) В иде...   Feb 17 2009, 11:47
|- - _Pasha   Цитата(khach @ Feb 17 2009, 15:47) Это ка...   Feb 17 2009, 11:53
|- - Iptash   Цитата(khach @ Feb 17 2009, 14:47) Это ка...   Feb 17 2009, 13:24
- - _Pasha   Цитата(dpss @ Feb 17 2009, 13:17) А как п...   Feb 17 2009, 11:34
- - Rst7   ЦитатаСразу говорю - просьба не пинать за этот пот...   Feb 17 2009, 13:18
|- - Огурцов   Mach, конечно, хорошо. Но в дефолтовом виде таки п...   Feb 17 2009, 14:47
|- - _Pasha   Цитата(Rst7 @ Feb 17 2009, 17:18) Как по ...   Feb 17 2009, 15:18
|- - Огурцов   Цитата(_Pasha @ Feb 17 2009, 16:18) +1 И ...   Feb 17 2009, 15:29
|- - _Pasha   Цитата(Огурцов @ Feb 17 2009, 18:29) Slp_...   Feb 17 2009, 15:33
||- - Огурцов   Цитата(_Pasha @ Feb 17 2009, 16:33) Не, я...   Feb 17 2009, 17:30
|- - dpss   Как говорится "все уже придумано до нас...   Feb 17 2009, 16:30
- - haker_fox   Что-то это меня настораживает: ЦитатаThe Home of M...   Feb 17 2009, 15:12
- - Rst7   ЦитатаИ еще синхронизацию как-то сделать бы. Синхр...   Feb 17 2009, 15:45
- - _Pasha   Получил платы, Ё-МОЁ. Таки умудрился накосячить. Е...   Feb 17 2009, 16:17
- - Rst7   ЦитатаЕсть еще вариант задания траекторий/профилей...   Feb 17 2009, 16:24
|- - _Pasha   Цитата(Rst7 @ Feb 17 2009, 19:24) Калькул...   Feb 17 2009, 16:34
- - Rst7   ЦитатаА может и не надо +1.   Feb 17 2009, 16:41
- - slog   Вам бы сначала определится что за сервоконтроллер ...   Feb 18 2009, 06:27
|- - _Pasha   Цитата(slog @ Feb 18 2009, 09:27) Вам бы ...   Feb 18 2009, 07:38
- - _Pasha   Так. В процесса курения инфы кое-что меняется. В о...   Feb 18 2009, 10:06
|- - dpss   Цитата(_Pasha @ Feb 18 2009, 13:06) Так. ...   Feb 18 2009, 10:56
- - slog   Если ты сможешь реализовать PROFIBUS без специальн...   Feb 18 2009, 10:27
- - _Pasha   Это что, сложно ??? ЗЫ: Не забывайте, что PROFID...   Feb 18 2009, 10:33
|- - slog   Цитата(_Pasha @ Feb 18 2009, 13:33) Это ч...   Feb 18 2009, 11:00
|- - _Pasha   Цитата(slog @ Feb 18 2009, 15:00) Смотря ...   Feb 18 2009, 11:34
- - slog   Манчестер там всегда. Не зависимо от физического у...   Feb 18 2009, 12:02
|- - _Pasha   Цитата(slog @ Feb 18 2009, 16:02) Мега пр...   Feb 18 2009, 12:20
|- - dpss   Цитата(slog @ Feb 18 2009, 15:02) Манчест...   Feb 18 2009, 12:43
- - Rst7   Цитатапоэтому для низкоуровневого потока данных до...   Feb 18 2009, 14:07
|- - _Pasha   Цитата(Rst7 @ Feb 18 2009, 18:07)  Если о...   Feb 18 2009, 14:21
||- - haker_fox   Цитата(_Pasha @ Feb 18 2009, 22:21) Профи...   Feb 18 2009, 14:44
||- - Огурцов   Цитата(_Pasha @ Feb 18 2009, 15:21) Профи...   Feb 18 2009, 15:18
|- - _Pasha   Цитата(Rst7 @ Feb 18 2009, 18:07) Если об...   Feb 19 2009, 04:31
- - slog   Цитата(_Pasha @ Feb 18 2009, 15:20) Флаги...   Feb 18 2009, 14:13
- - _Pasha   Дает возможность организовать изохронный канал плю...   Feb 18 2009, 15:00
|- - slog   Цитата(_Pasha @ Feb 18 2009, 18:00) Пугае...   Feb 18 2009, 15:22
- - slog   Прелесть PROFIBUS только в том, что сервоконтролле...   Feb 18 2009, 15:08
- - Rst7   И всеже еще раз призываю подумать над тем, какой с...   Feb 18 2009, 16:26
- - _Pasha   Добавил (текстовый режим): КодТолько для адресных...   Feb 19 2009, 09:48
- - Rst7   ЦитатаНа какую комбинацию клавиш лучше ввести эк...   Feb 19 2009, 09:56
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 01:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016