Cтранное дело, но у нас при работе с ТМ 6.51 тоже возникли проблемы с СОМ 10 ТМ при иниициализации этого порта пытается установить ему скорость в нуль, похоже, что ошибка с СОМ10 осталось ещё из пятого релиза, причем ошибка мало зависит от драйвера для драйвера ADAM 4070 "ВИНОВАТЫ" обычно 10,11 и 12 порты. для виртуального драйвера удаленного СОМ порта 20,21 и 23 ?? где то на форуме звучало,что если есть первый порт, то 10-ый работать не будет Так с какими портами можно работать а с какими нет?
Posted by Вяткин Н В (Участник № / Member № 1853) on :
Добрый день! Столкнулись с серьёзной проблемой по работе с СОМ портами, у нас, их на одном из узлов 12 штук пока, и ожидается увеличение их количества. Обнаружено следующее: при загрузке файла .DBB ещё до старта RTM инициализирует COM порты вот пример успешной инициализации, подсмотренной программой PORTMON: 40 0.00268107 rtcx.exe IOCTL_SERIAL_SET_BAUD_RATE AESPV1XP3 SUCCESS Rate: 4800
В сороковой строке, видно как успешно инициализировалось скорость у третьего СОМ порта, а вот неудачная инициализация:
Направляю Вам проект с 21 СОМ портом и драйвер эмуляции виртуального СОМ порта
, при помощи драйвера прошу Вас оттестировать ТМ без “железа”, согласно инструкции установите драйвер, при его помощи создайте на ПК 10 пар (итого 20 двадцать) виртуальных СОМ портов, со второго по двадцать первый, запустите PORTMON настройте его на “подгляд” всех портов в количестве 21(не забудьте родной для ПК первый).
И загрузите профайлер, при его загрузке происходит инициализация портов, просмотрите протокол инициализации в PORTMONе, Вы увидите, что часть СОМ портов проинициализировалось неправильно с нулевой скоростью( RTM можно не запускать, загрузить файл .dbb СОМ порты инициализируются к сожалению ещё до перехода RTM в состояние WORK, и затем просто закрыть RTM и все будет видно в протоколе PORTMON)
Драйвер ADAM4070, который используем мы, дает ошибку на попытку сделать скорость 0 (INVALID PARAMETER Rate: 0), виртуальный драйвер ошибки не даёт, но всё равно это видно (306 8:51:30 rtc.exe IOCTL_SERIAL_SET_BAUD_RATE Serial21 SUCCESS Rate: 0),
Для нас эта ошибка очень критична, прошу как можно скорее разобраться
Высылаю в Ваш адрес протоколы открытия и закрытия портов RTMом, проект, и виртуальный драйвер
Может быть, у Вас есть возможность протестировать Ваш ТМ с Вашими драйверами
Важно, что бы СОМ портов было бы достаточное количество, лучше бы все 32, на которые пока рассчитан ТМ, Как тестировался ТМ на 32 ПОРТА?
Есть ли протокол подгляда., сделанный в PORTMONе, ПОЛУЧЕННЫЙ ТОЛЬКО НА МОМЕНТ ИНИЦИАЛИЗАЦИИ?
Интересно бы на него поглядеть
Posted by Вяткин Н В (Участник № / Member № 1853) on :
Интересное наблюдение: если СОМ порты сгенерерованы подряд с 1-го по 27 и в ОС и в ТМ то неправильно инициализируются порты с номером 20 и выше если отсутствуют порты с номером 2 и 3 то порты с номером 1 и с 3-го по 29 инициализируются корректно может это поможет найти ошибку?!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У нас в профайлере пишет COM10 Win32 BuildCommDCB error (87). И так для всех портов выше 10. Это означает что функция API не отрабатывается. Это проблема в драйвере. Сейчас пробуем это обойти.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
СТРАННО, У НАС ЧАСТЬ ПОРТОВ БОЛЬШЕ 10 ПРЕКРАСНО РАБОТАЕТ, ЧАСТЬ НЕТ, И ДАЖЕ 10-ЫЙ РАБОТАЕТ ИНОГДА ХОРОШО. ПОДСКАЖИТЕ КУДА ПИШЕТ ПРОФАЙЛЕР? МЫ ТОЖЕ ПОСМОТРИМ. И ЧТО "ВИДИТ" У ВАС portmon?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Профайлер пишет в лог файл узла. Портмон пишет тоже самое, что и у Вас, а именно
Ошибка 87 показывает именно на то, что проблема с драйвером. При этом порт должен работать, если ему задать нужную скорость в настройках ОС.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
НЕ ПОНИМАЮ, ПОЧЕМУ ОШИБКА В ДРАЙВЕРЕ, ОПЕРАЦИЮ ОТКРыТИЯ СОМ ПОРТА СТАНДАРТНАЯ, ДА И ЛЮБАЯ ДРУГАЯ ПРОГРАММА, ПРОИЗВОДИТ ПРАВИЛЬНО И PORTMON это подтверждает, только тм "не может" правильно проинициализировать этот порт, так что проблема в ТМ а не в драйвере!!!! а то что Профайлер пишет в лог файл узла. Портмон пишет тоже самое потому что ТМ запрашивает инициализацию(скорость!!!!) неправильно, вот ему драйвер и отвечает "иди ты..."
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если под другими программами Вы подразумеваете HyperTerminal, то он не использует функции API. A Trace Mode использует. А так как этот драйвер не поддерживает какие-то функции API, то работа с ним значительно затрудняется.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
Виноват ТМ вот доказательство, прошу проверить стандартный СОМ порт за номером один можно сделать в рамках Виндос НОМЕРОМ 10 или 20 как Вам угодно, на той ОС , которая у Вас есть со всеми сом портами, затем запустить Ваш проект, то есть заменить сом 10 виртуальный на физический а физический сделать с номером виртуального и Вы получите тот же результат мы его получили 10 -ый физический порт не работает с ТМ!!!
Posted by Вяткин Н В (Участник № / Member № 1853) on :
не понял, чем закончилась наша дисскусия по поводу сом 10? На всякий случай подведу небольшой итог: ТМ прекрасно работает со стандартным драйвером СОМ локального порта встроенного в системную плату, если этот порт в системе зарегестрирован под номером один!!! Как только это(локальный!) порт будет зарегестрирован в системе под номером 10, то ТМ перестаёт его корректно инициализировать (пытается выдать ему скорость ноль) !!! Здесь нет никаких других программ только ТМ и драйвер СОМ порта, с которым ТМ в одном случае может "договориться" а в другом нет. Считаю, что в данном случае имеется ошибка в ТМ, ХОТЕЛОСЬ БЫ ПОЛУЧИТЬ ПОДТВЕРЖДЕНИЕ ЭТОГО И ОБЕЩАНИЕ ЕЁ ИСПРАВИТЬ В ПРИЕМЛЕМЫЕ СРОКИ
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проверили на плате с 8 физическими COM-портами (итого 10). При этом поставлены они были COM1, COM2, COM9, COM31, COM26, COM21, COM30, COM13, COM4, COM6. После запуска проекта, все порты определились корректно.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
ПОСТАВЬТЕ ПОРТЫ ПОДРЯД С СОМ1 ПО СОМ10 ПОЛАГАЮ,ЭТО НЕСЛОЖНО СДЕЛАТЬ!!
ДОБАВЬТЕ 20 ВИРТУАЛЬНЫХ ПОРТОВ, ДРАЙВЕР Я ВАМ ВЫСЛАЛ, ДЛЯ ТМ НЕТ РАЗНИЦЫ МЕЖДУ ФИЗИЧЕСКИМИ И ВИРТУАЛЬНЫМИ ПОРТАМИ, А ПРОВЕРИТЬ ЖЕЛАТЕЛЬНО ВСЕ 32, У ВАС СЕЙЧАС ЕСТЬ 10 ПОРТОВ ФИЗИЧЕСКИХ ДОБАВЬТЕ 20 ВИРТУАЛЬНЫХ ВИРТУАЛЬНЫЕ ПОРТЫ МОЖНО СДЕЛАТЬ С 1-ГО ПО 8-0Й, ОНИ БУДУТ ИНИЦИАЛИЗИРОВАТЬСЯ НОРМАЛЬНО БЕЗ ОШИБОК, А ФИЗИЧЕСКИЕ ПОРТЫ СДЕЛАТЬ С 9-ГО ПО 16-Й ВОТ НА ЧАСТИ ИЗ НИХ И БУДЕТ ОШИБКА ПРИ ЗАДАНИИ СКОРОСТИ
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Провели два экспиремента.
1) 1-8 порты виртуальные все OK 9-18 физические все OK 19-32 виртуальные все False
2) 1-18 виртуальные а) 1-9 OK б) 10-18 False 19-28 физические все OK 29-32 виртуальные все False
Как видите, все физические порты (с нормальными драйверами!!!!), где бы они не находились, определяются верно. Виртуальные порты с непонятными драйверами определяются только с 1 по 9 порт.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
У НАС 12 СОМ ПОРТОВ НА ADAM 4570. нормальные физические порты плюс свой 1 сом порт на материнской плате, итого 13 портов(наверное число несчастливое), так вот, для портов больше десяти, при равномерном заполнении, имеем False что делать не знаю, у Вас нет больше физических портов, так может Вы их в системе опишите, ведь для того что бы появился в системе порт для ADAM 4570, или его аналога(ИКОСА) например, не обязательно иметь сам порт( связь по сети может быть с ним разорвана, но порт описан в системе и быть в ней), таким образом Вы можете "набрать" все 32 порта, из которых часть в данный момент может быть "невидима" для ПК, ЭТО ВПОЛНЕ ВОЗМОЖНАЯ СИТУАЦИЯ, КОТОРУЮ ТМ ДОЛЖЕН ОБРАБАТЫВАТЬ КОРРЕКТНО попытайтесь пожалуйста
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Какой тип (производитель оборудования, версия драйверов)физических портов (с нормальными драйверами) Вы считаете нормальным? PS Возможно для обеспечения работоспособности ТМ МРВ нам придется подстраиваться под то "железо" с которым вы умеете работать.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы проверяли на плате Moxa PCI-168H.
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Moxa так же предлагает преобразователи последовательных интерфейсов в Ethernet - например NPort-5110/5130/5150, который поддерживает Real COM Mode (виртуальный COM-порт). Не будет ли проблем при работе ТМ МРВ с этими портами и драйверами?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы не тестировали эти преобразователи.
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Какие виртуальные COM-порты (производитель оборудования, версия драйверов) были вами протестированы?
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Вы не ответили на мой вопрос: Какие виртуальные COM-порты (производитель оборудования Advantech, IcpCon, Moxa, версия драйверов) были вами протестированы в Тrace Мode?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы не ставили задачу протестировать виртуальные порты на корректность их работы, начиная с COM10. Если Вы можете предоставить нам оборудование, мы с удовольствием его протестируем.
P.S. ВРЕМЯ ОТВЕТА НА ВОПРОС МОЖЕТ ДОСТИГАТЬ ДВУХ РАБОЧИХ ДНЕЙ!!
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Спасибо за ответ, но в данный момент я хотел бы узнать в принципе - теститровались ли виртуальные COM-порты в ТМ. Если да, то какого производителя. Вопрос не в корректности их работы с COM10, а выбора оборудования совместивмого с Trace Mode.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы тестировали плату Moxa DE-304 (аналог текущего NPort-5410), которая была любезно предоставлена пользователем для временного тестирования.
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Мы можем предоставить Вам оборудование для тестирования. Мы предоставим Вам канал для подключения по виртуальной частной сети (VPN)к нашей тестовой системе. Согласны ли Вы на такой вариант тестирования?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тестирование оборудования таким образом не целесообразно и не удобно
Posted by Андрей Мельников (Участник № / Member № 3046) on :
Объясните пожалуйста, в чем заключается не целесообразность и не удобство.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нам необходим постоянный доступ к устройству, и передача данных способом, которым Вы предлагаете, будет идти с огромными задержками и, возможно, потерями.