This is topic Влияние помех на работу пользовательского драйвера in forum Мониторы Реального Времени / Real Time Monitors at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Ситуация следующая, один и тот же проект запускается под коммерческим и бесплатным профайлером, среди оборудования есть устройство генерирующее сильные помехи. При кратковременном включении источника помех и последующем выключении в пользовательский драйвер из скады идет мусор. После перезапуска профайлера все снова работает нормально. Так происходит при запуске через коммерческий рантайм, при запуске в профайлере инструментальной среды после снятия помехи все работает нормально без перезапуска профайлера.
Подскажите как исправить ситуацию.
PS По уточненным данным такое происходит, только значительно реже, и без включения устройства дающего помехи.
[ 18.06.2010, 13:54: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Никакой разницы в работе с драйверами между профайлером инструментальной системы и коммерческим RTM того же формата нет. Какой именно пользовательский драйвер Вы используете? Возможно, что при высоком уровне помех COM-порт приходит в состояние, из которого он не может выйти без реинициализации. Эти факторы не зависят от Trace Mode 6. В Trace Mode 6 есть диагностическая переменная @RS_Reinit, с помощью которой можно провести реинициализацию COM-порта без перезагрузки RTM.
Posted by alex_kh1 (Участник № / Member № 3981) on :
И тем не менее проверили много раз, проблема появляется ТОЛЬКО в коммерческом профайлере. Могу выполнить любые действия которые требуются что бы вы убедились в том что это так.
Драйвер UniversalPLC_Type1, если вас интересует только тип.
Вряд ли дело в зависании порта посколку 1. Эффект только на коммерческим профайлере. 2. Эффект только на пользовательском драйвере на обоих обслуживаемых им портах, остальные 3 порта работают без проблем.
При этом в протоколе профайлера нет никаких сообщений о том что что-либо произошло, просто из Скады в драйвер передается мусор вместо запросов. Проверю что даст реинициализация порта, хотя использовать ее проблематично было бы.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если драйвер написан Вами, то работа с помехами и выставление флага недостоверности определяется самим драйвером. Если "мусор" проходит в канал, значит в драйвере полученный ответ не анализируется на наличие этого "мусора".
Об идентичности процедур работы с пользовательскими драйверами я говорю на основании общего кода соответствующих фрагментов в профайлере и RTM. Проверьте, пожалуйста, синхронизацию файлов ИС и RTM. Если Вы получали RTM релиза 6.06.3 на диске, там кроме дистрибутива должен быть дополнительный архив файлов, которые надо обновить в папке RTM после инталляции с дистрибутива.
Posted by alex_kh1 (Участник № / Member № 3981) on :
RTM был на диске, а ИС скачано с вашего сайта, так что определить идентичность не знаю как. Сейчас посмотрел удаленно содержимое диска, кроме 5 файлов инсталляции там вообще ничего нет, никаких архивов.
Том в устройстве E имеет метку RTM_DocS_Log_pr_ Серийный номер тома: D655-04E7
Драйвер получает мусор на второй функции, попрошу того кто его писал сформулировать почему в таком случае флаг не выставляется, я сам не совсем понял этих нюансов. Прверил реинициализацию, действительно порт начинает работать, но похоже работает нестабильно какое-то время и снова ситуация повторяется.
Posted by alex_kh1 (Участник № / Member № 3981) on :
Очень хотелось бы решить проблему апдейтом коммерческого профайлера, если у нас не все нужные файлы в самом деле.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вы можете скачать его с нашего сайта.
Сначала для верности релиз 6.06.2, а потом апдейт до версии 6.06.3
Posted by alex_kh1 (Участник № / Member № 3981) on :
Бесплатную IDE вижу где скачать, но рантайм не нахожу на сайте, тем более релиза 6.06.2 и обновления. Можете подсказать конкретную ссылку?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :