Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: сервоприводы, что вообще надо знать, чтобы написать драйвер  (Прочитано 12664 раз)
0 Пользователей и 1 Гость смотрят эту тему.
iglo
Гость
« : 14-02-2007 13:48 » 

Предвижу много шуток по поводу вопроса, но..
В общем виде задача:
создать драйвер для некоторого устройства управляющего по RS232 парой серводвигателей несуществующего пока координатного стола.
Такой, чтобы можно было из под Corel или Acad рисовать векторные контуры, выбирая вместо принтера или плоттера это устройство.

Если такое возможно, подскажите, что нужно ОБЯЗАТЕЛЬНО ЗНАТЬ или неспеша изучить, чтобы понять как это делать?
И что нужно знать про это "некоторое устройство".
Вопрос о том, как из всего связанного с программирование, выделить только обязательно нужное для изучения.
Спасибо.

Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 14-02-2007 15:21 » 

Сначала разобраться с тем как Векторные пакеты отдают инфу драйверу.
Ознакомиться с правилами написания драйверов.
Дальше. Ознакомиться с написанием драйверов для принтера.
Изучить язык системы управления координатным столом
Написать драйвер принтера подключенного, через COM-порт.

Можно пойти по другому пути, чтобы не заморачиваться на Векторных пакетах, перехватывать обращение к, например, плоттеру и самомому уже обрабатывать, в общем-то стандартные посылки плоттеру, типа PENUP, PENDOWN, для чего нужно изучить язык плоттера
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
iglo
Гость
« Ответ #2 : 15-02-2007 05:35 » 

Спасибо,Sla.
Чем больше ответов получаем, тем больше вопросов возникает:
Общий План действий понятен. Драйвер типа - переводчик с языка на язык.
Теперь глубже.
Что нужно знать (какие языки, протоколы и что там еще бывает), чтобы суметь "разобраться с тем как векторные пакеты отдают инфу" и раскумекать, о чем таком говорится в "правилах написания драйверов"?
Язык системы управления координатным столом, чувствую, не должен быть сильно мудреным, а наподобие набора элементарных команд - влево-вправо и ручку вверх. А вот с векторными пакетами.....!
Без ассемблера, чую, не обойтись. А что еще?
А поскольку я только с VB малость знаком, то еще вопрос: В какой последовательности изучать языки? "Что на что ложИтся" лучше.




Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 15-02-2007 07:57 » 

iglo, проще начать с системы управления станком, все остальное само притянется, по ходу
Тем более, что ты "малость знаком" с ВБ, что вполне достаточно для написания программулины управления станком.
XYZ, смена инструмента - действительно элементарные опреации.
Но станок может понимать и более сложные команды, грубо говоря, нарисовать синусоиду или построить эвольвенту от точки к точке. Кроме того поймешь как работать с com-портом, связанного по RS232 с внешним девайсом.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
iglo
Гость
« Ответ #4 : 15-02-2007 08:17 » 

Запросил у дистрибюторов документацию и параллельно задал вопрос о языке, который понимает контроллер позиционирования. Подождем.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 15-02-2007 10:00 » 

а чего ждать?
установить драйвер какого-нибудь плоттера
Распечатать что-то на плоттер, только вывести в файл
посмотреть сам файлик, проанализировать его
написать программулину на ВБ, которая читает файл и выводит в com-port. Да тут работы - немерянно, а он собрался ждать Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
iglo
Гость
« Ответ #6 : 15-02-2007 11:44 » 

Очень понравилась идея.
Только я сейчас на работе, а тут не развернешься.
Буду пробовать дома. К тому времени может и пришлют чего про язык.
Заглянул в книжку "Программирование драйверов Windows" В.П. Солдатова, а там в предисловии:
"....
Прежде всего, разработчик драйвера должен владеть программированием на языке С (без расширений С++), поскольку описание синтаксиса и применения конструкций этого языка не рассматриваются в данной книге вовсе. Во-вторых, разработчик драйверов, пусть начинающий, должен иметь твердо сформировавшееся представление о программировании в многозадачной среде при интенсивном использовании многопоточности. Конечно же, указанные требования не столь объемны и могут быть выполнены в результате короткого "самообразовательного штурма", ..."
Поэтому нацелился сначала на "штурм", но в плоттерный файл обязательно загляну дома. Спасибо за подсказку. Даже руки зачесались.
Записан
aks68
Модератор

il
Offline Offline
Пол: Мужской

« Ответ #7 : 15-02-2007 20:52 » 

Добрый день!

Тут недавно попалась мне книга Дж. Вильямс "Программируемые роботы..." там как раз и описывается как сделать планшет (или как его там...), интерфейс, и прикрутить ПО. Правда автор с софтом сильно не заморачивался - взл CorelDraw и ещё что-то, выводящее на LPT, а больше налегал на железо. Короче на просторах ВЕБА она имеется в формате Дежавю. Поинтересуйтесь "в доме у Наты" Скромно так...

С уважением,
Акс.
Записан
iglo
Гость
« Ответ #8 : 16-02-2007 05:19 » 

aks68, большое спасибо, обязательно найду книжечку, очень интересно.
Записан
iglo
Гость
« Ответ #9 : 16-02-2007 05:27 » 

Sla, Глянул: acad с драйвером плоттера выводит при печати в файл что-то на HP-GL. Наверное по другому и не должно быть. Если бы контроллер перемещений (который они рекомендуют использовать к движкам) понимал этот HP-GL, похоже, что проблема бы вообще снялась.
Но пока мне не прислали даташиты по этой машинке.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 16-02-2007 07:22 » 

iglo, я и не сомневался по поводу HP-GL Улыбаюсь
Я бы не заморачивался на системном драйвере для управления станком. Можно и станок грохнуть и инструмент поломать.
Обратил бы внимание на парсер-оптимизатор для управления станком.
Объясню о чем речь.
Если взять плоттер, то можно увидеть, что траектория PENа не оптимальна: то в одном углу нарисует, то в другом, потом к центру ломанется. Кроме того, например рисовать квадрат можно слева-направо, справа-налево сверху-вниз, снизу-вверх, или же интерпретация таких команд как "рисовать окружность", "рисовать дугу".

Давно этим не занимался, может что-то и изменилось в этом плане

Вывод - получить файл, оптимизировать движение инструмента

С другой стороны, если станок имеет расширенную систему команд - то возможно нужно готовить файл для этого станка из программ рисования

В сторону, а как сказать Corellу - сменить инструмент?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines