This is topic Управление резервированием COM-портов in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


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

Posted by Dok222 (Участник № / Member № 6537) on :
 
С помощью каких системных/диагностических переменных (или другого механизма) можно решать следующие задачи:
- определять какой из двух взаиморезервируемых COM-портов используется в настоящий момент времени;
- как принудительно переключить на использование основного/резервного COM-порта?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Контроль функционирования и принудительное управление COM-портами осуществляется с помощью системной переменной @RS_on_off.

Если резервирование осуществляется с помощью собственной пользовательской программы, можно осуществлять переключение изменением атрибута C0 у каналов обмена по RS.

Если используется автоматическое резервирование COM-портов (см. "Редактор параметров COM-портов" "Назначение" = DRs_Master).

В любом случае эти функции относятся к COM-портам, которые инициализируются непосредственно в проекте узла.
 
Posted by Dok222 (Участник № / Member № 6537) on :
 
При восстановлении связи с виртуальным COM-портом (в моем случае COM3), пытаюсь инициализировать обмен по этому порту:
в переменную @RS_Reinit (OUTPUT, Поле Параметр - 0) передаю значение 769 (0x301), но связь не восстанавливается.
Пробовал открывать этот опрт в другом приложении - все в порядке, порт работает.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Какой релиз используете?
Ключ "DEBUGON=200" в файл *.cnf (описание в справке в параграфе "Приложения - Задание параметров работы мониторов") и смотреть полученные логи.
Еще полезно будет сделать перехват по COM-порту.
 
Posted by Dok222 (Участник № / Member № 6537) on :
 
Никак не получается добиться работы.

Версия 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-порты, но при отключении порта, не меняет свое значение.
 
Posted by Dok222 (Участник № / Member № 6537) on :
 
К сожалению, по-прежнему, самостоятельно не получается решить данную проблему.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Пришлите, пожалуйста, Ваш проект на адрес техподдержки и уточните, как создается виртуальный COM-порт и как Вы моделируете подключение и отключение COM-порта в реальном времени.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ответ дан почтой.
 
Posted by Dok222 (Участник № / Member № 6537) on :
 
Используется TM 6.09.2 профессиональная.
В системе семь пар резервируемых виртуальных COM-портов: Moxa NPort (основной) ICP DAS VxComm (резервный).

При физическом разрыве RS-485 на любом из виртуальных COM-портов (NPort), переключение на резервный COM-порт (VxComm) происходит стабильно.

При последующем разрыве RS-485 на любом другом COM-порту, переключения не происходит. Т.е. на резерв переключается только первый разрываемый COM-порт.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Подключите PortMon. Задайте в файле конфигурирования запуска узла *.cnf ключ
DEBUGON=F0000210
Запустите проект и проведите описанные процедуры резервирования в двух парах COM-портов.
Пришлите, пожалуйста, нам Ваш проект (с пояснениями, как реализуется механизм резервирования COM-портов), папку узла и протокол PortMon в полном объеме, относящемся к проведенному тесту (с выводом протокола в HEX-формате).
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2