Здравствуйте. Пробую создать драйвер типа t13, для обмена с контроллером по протоколу, подобному протокалу ADAM-4000. Однако опыта программирования почти нет, поэтому хочу спросить, есть ли исходные коды какого-нибудь простого драйвера, чтоб можно было посмотреть рабочий пример?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В составе системы есть драйвер t13.dll, который описан в нашей документации. Создайте каналы для вызова этого драйвера и посмотрите, как он работает.
Posted by Гришечко А. (Участник № / Member № 2228) on :
Здравствуйте. Я создал в проекте канал типа OUTPUT подтипа ПУСТОЙ дополнением к подтипу R/W. Установил ненулевые значения настроек канала, задал начальное значение, но создание файла на диске E: не происходит, хотя так описано в примере.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Читайте более внимательно HELP. Вы сделали далеко не все, что нужно.
Posted by Гришечко А. (Участник № / Member № 2228) on :
Posted by Гришечко А. (Участник № / Member № 2228) on :
Для примера попроще взял тему подключение внешних алгоритмов FBD-блоков. Скомпиллировал в fbd0.dll листинг из примера, однако пользовательский блок не отображается в меню FBD.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Приведенные примеры неоднократно перепроверены и нами и пользователями. Они вполне работоспособны. Если исходный текст скомпилирован корректно и dll размещена в папке инструментальной системы, она должна быть видна в РБК в соответствующем разделе библиотеки функциональных блоков.
Posted by Гришечко А. (Участник № / Member № 2228) on :
Здравствуйте. Действительно, примерный драйвер t13.dll, поставляемый вместе с системой МРВ отлично работает, однако драйвер скомпиллированный из примера по хэлпу при запуске профайлера вызывает ошибку "Ошибка при выполении приложения-сервера (80080005)". Подскажите, какие должны быть объявления для вызываемых функций?
Posted by Гришечко А. (Участник № / Member № 2228) on :
Для работы я использую MS Visual Studio 2005.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
80080005 - сообщение от DCOM об ошибке "Server execution failed". Это означает, что PicRT не получает данных от Drawserv. Скорее всего, сервер при попытке выполнения программы, зависает. Связано это, видимо, с заменой штатной t13.dll Вашей программой. Штатная t13.dll скомпилирована по тому же исходнику, который вложен в HELP. Все соглашения и объявления есть в тексте.
У нас нет возможности сопровождать разработку драйверов пользователем. Описанный в документации интерфейс опробован неоднократно и является достаточным для квалифицированного программиста.