This is topic Драйвер для сервоусилителя in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/18/t/000137.html

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


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2