This is topic Type11 на версии 5.15 без SP1 in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


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

Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Слетает DrawServ при недостоверности канала с драйвером Type11 на версии 5.15(без SP1).
5.12 - нормально.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
На код драйвера можно взглянуть?
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Отправил на hotline@adastra.ru t11s16.cpp и t11s16.h
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Получили, посмотрели, замечания по коду направили по E-mail.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Да, спасибо, замечания учли, но проблема осталась, причем проявилась и на других версиях ТМ, а не только на 5.15.
Видимо проблема все-же в драйвере, но пока определить не можем.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Берем таймаут на перепроверку.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Проблему обнаружили и устранили.
В нашем драйвере были ошибки, которые приводили к тому, что устройство иногда нам не отвечало, в результате чего возникала недостоверность в канале. По моему проекту недостоверность должна была приводить к переинициализации портов, для чего я в канал RS-reinit посылал FF, надеясь переинициализировать их все, как ранее делал на МикроМРВ.
Посылка в RS-reinit значения FF и приводит к краху DrawServ.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Вопрос - можно ли с целью ОДНОВРЕМЕННОЙ переинициализации нескольких портов использовать несколько каналов RS-reinit с разными значениями?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вы неправильно интерпретировали работу канала RS-reinit.
Этот канал реинициализирует только один COM-порт, номер которого Вы задаете.
Задавая 0xFF, Вы пытаетесь инициализировать 255-й порт. Ошибка объяснима.
Создать 2 канала RS-reinit можно. Но при одновременной подаче в них команд на реинициализацию отработает только один из них.
Поэтому смысла в создании нескольких таких каналов нет.
Надо через один канал последовательно (с паузой, м.б., 1-2 секунды) подавать команды реинициализации для нужных COM-портов.
В связи с этим есть смысл в Вашем драйвере определять, по какому порту пришла устойчивая недостоверность и реинициализировать только этот порт.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2