oldm
Junior Member / Новичок
Участник № / Member № 723
отправлено / posted
Здраствуйте уважаемая служба техподдержки. Возникла необходимость в разработке драйвера, для оборудования неподдерживаемого ТМ. Оборудование - сервоусилитель от Mitsubishi Electric. Планируется подключать его напрямую к COM порту компьютера. С устройством можно работать по интерфейсам RS-422 и RS-232C. А вопрос у меня такой к Вам. В хелпе есть описание разработки драйверов для контроллеров и плат УСО. А для нужного мне устройства принципы и идеи разработки описанные там подойдут или может есть какие-либо тонкости, не описанные там. Спасибо за внимание.
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) Что за протокол обмена поддерживает данное устройство? 2) Для обмена по СОМ-порту Вам нужно будет писать драйвер для обмена с контроллером по последовательному интерфейсу - это драйвер TYPE11.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
oldm
Junior Member / Новичок
Участник № / Member № 723
отправлено / posted
Насколько я Вас понял можно воспользоваться шаблоном для драйвера обмена по последоаательному интерфейсу(в смысле ф-ции Prepare_xxx, Set_xxx и т.д.) и в соотвествии с протоколом обмена сервоусилителя запрограммировать эти самые функции. По поводу протокола обмена. Названия в документации на сервоусилитель протоколу нет, есть его описание.
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) Насчет типа драйвера - Вы поняли верно. 2) Посмотрите общий вид протокола - может он похож на какой-нибудь стандартный (например - ModBus)?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
oldm
Junior Member / Новичок
Участник № / Member № 723
отправлено / posted
В соотвествии с протоколом обмена чтобы установить данные операций позиционирования необходимо сделать следующее: -для скорости сформировать следующую посылку -> 0xA0 + 0x10 + [значение скорости в hex-виде]; -для расстояния следующую -> 0xA0 + 0x13 + [значение расстояния в hex-виде]. И т.д. тоесть для изменения/считывания каких-либо данных надо формировать разные посылки. Формирование посылки происходит в функции Set_xxx в переменную массив sbuf. Вот и возникает у меня вопрос такой - чтобы работать с разными управляемыми величинами сервоусилителя это в драйвере организовать как, не писать же под каждую величину свой драйвер.
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
А чем Вас не устраиват настройки канала, которые передаются в драйвер посредством структуры IA? Ведь именно они должны определять какую функцию должен выполнить драйвер при вызове его тем или иным каналом из базы каналов. Посмотрите, например, каналы подтипа КОНТР_1 - у них имеются настройки, определяющие их функциональность вот по этим настройкам в драйвере и определяется что нужно посылать или считывать с устройства.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |