Тема / Topic: Управление резервированием COM-портов
Dok222
Junior Member / Новичок
Участник № / Member № 6537
отправлено / posted
С помощью каких системных/диагностических переменных (или другого механизма) можно решать следующие задачи: - определять какой из двух взаиморезервируемых COM-портов используется в настоящий момент времени; - как принудительно переключить на использование основного/резервного COM-порта?
Сообщения / Posts 17 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Контроль функционирования и принудительное управление COM-портами осуществляется с помощью системной переменной @RS_on_off.
Если резервирование осуществляется с помощью собственной пользовательской программы, можно осуществлять переключение изменением атрибута C0 у каналов обмена по RS.
Если используется автоматическое резервирование COM-портов (см. "Редактор параметров COM-портов" "Назначение" = DRs_Master).
В любом случае эти функции относятся к COM-портам, которые инициализируются непосредственно в проекте узла.
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Dok222
Junior Member / Новичок
Участник № / Member № 6537
отправлено / posted
При восстановлении связи с виртуальным COM-портом (в моем случае COM3), пытаюсь инициализировать обмен по этому порту: в переменную @RS_Reinit (OUTPUT, Поле Параметр - 0) передаю значение 769 (0x301), но связь не восстанавливается. Пробовал открывать этот опрт в другом приложении - все в порядке, порт работает.
Сообщения / Posts 17 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Какой релиз используете? Ключ "DEBUGON=200" в файл *.cnf (описание в справке в параграфе "Приложения - Задание параметров работы мониторов") и смотреть полученные логи. Еще полезно будет сделать перехват по COM-порту.
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Dok222
Junior Member / Новичок
Участник № / Member № 6537
отправлено / posted
Никак не получается добиться работы.
Версия 6.09.
В папке узла создал файл TMcom_0.cnf: DEBUGON=200 END_OF_CNF /Пустая строка/
В файле tm6_log.txt ничего кроме событий запуска и остановки дополнительно не выводится 10:19:09 0000 00000000[198153] Start 10:29:25 0000 00000001[0] Stop
В файле <Имя_проекта>_<Номер_узла>.txt добавляется строка INF_RS:COM3 TRANSACTION=1544 ERROR=1451 TIME=615.832 BYTES=1395
Еще один момент - переменная @RS_on_off (INPUT, Параметр=1) не меняет свое значение в процессе работы профайлера. При старте корректно в битах индицирует работающие COM-порты, но при отключении порта, не меняет свое значение.
Сообщения / Posts 17 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Dok222
Junior Member / Новичок
Участник № / Member № 6537
отправлено / posted
К сожалению, по-прежнему, самостоятельно не получается решить данную проблему.
Сообщения / Posts 17 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Пришлите, пожалуйста, Ваш проект на адрес техподдержки и уточните, как создается виртуальный COM-порт и как Вы моделируете подключение и отключение COM-порта в реальном времени.
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Dok222
Junior Member / Новичок
Участник № / Member № 6537
отправлено / posted
Используется TM 6.09.2 профессиональная. В системе семь пар резервируемых виртуальных COM-портов: Moxa NPort (основной) ICP DAS VxComm (резервный).
При физическом разрыве RS-485 на любом из виртуальных COM-портов (NPort), переключение на резервный COM-порт (VxComm) происходит стабильно.
При последующем разрыве RS-485 на любом другом COM-порту, переключения не происходит. Т.е. на резерв переключается только первый разрываемый COM-порт.
Сообщения / Posts 17 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Подключите PortMon. Задайте в файле конфигурирования запуска узла *.cnf ключ DEBUGON=F0000210 Запустите проект и проведите описанные процедуры резервирования в двух парах COM-портов. Пришлите, пожалуйста, нам Ваш проект (с пояснениями, как реализуется механизм резервирования COM-портов), папку узла и протокол PortMon в полном объеме, относящемся к проведенному тесту (с выводом протокола в HEX-формате).
Сообщения / Posts 17335 | Из / From: Россия
| IP / IP: IP адрес / IP address |